From b184aae12190da2eb8a0480da5982a7da1ea915a Mon Sep 17 00:00:00 2001 From: JM Santos Date: Wed, 5 Jul 2017 14:02:52 +0800 Subject: [PATCH 1/4] Autosize --- .../directives/ModelField/ModelField.js | 3 ++- .../directives/NgAutoSize/ng-autosize.js | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 client/common/directives/NgAutoSize/ng-autosize.js diff --git a/client/common/directives/ModelField/ModelField.js b/client/common/directives/ModelField/ModelField.js index 4d1fd1f2..1a35253c 100644 --- a/client/common/directives/ModelField/ModelField.js +++ b/client/common/directives/ModelField/ModelField.js @@ -12,6 +12,7 @@ angular.module('dashboard.directives.ModelField', [ 'dashboard.directives.ModelFieldMultiSelect', 'dashboard.directives.ModelFieldNumber', 'dashboard.directive.DateTimePicker', + 'dashboard.directive.AutoSize', 'ngCookies', 'ngSlider', 'ngSignaturePad', @@ -220,7 +221,7 @@ angular.module('dashboard.directives.ModelField', [ template = '\
\
{{ display.error }}
\ - \ + \
\ {{ display.description }} \  ({{ charsLeft }} characters left) \ diff --git a/client/common/directives/NgAutoSize/ng-autosize.js b/client/common/directives/NgAutoSize/ng-autosize.js new file mode 100644 index 00000000..a2688d27 --- /dev/null +++ b/client/common/directives/NgAutoSize/ng-autosize.js @@ -0,0 +1,25 @@ +// https://hassantariqblog.wordpress.com/2016/07/27/angularjs-textarea-auto-resize-directive + +angular.module('dashboard.directive.AutoSize', [ +]) + +.directive('autoSize', function($timeout, $window) { + return { + restrict: 'A', + link: function(scope, element, attrs) { + element.css({ 'height': 'auto', 'overflow-y': 'hidden' }); + $timeout(function() { + element.css('height', element[0].scrollHeight + 'px'); + }, 100); + + function update() { + element.css({ 'height': 'auto', 'overflow-y': 'hidden' }); + element.css('height', element[0].scrollHeight + 'px'); + } + + element.on('input', update); + element.on('load', update); + angular.element($window).bind('resize', update); + } + } +}); \ No newline at end of file From 451e5960abf451bf0870fde529d680b10f03633d Mon Sep 17 00:00:00 2001 From: Daniel Chang Date: Thu, 6 Jul 2017 14:07:00 -0700 Subject: [PATCH 2/4] Implemented min height for text area on autosize directive. --- .../directives/NgAutoSize/ng-autosize.js | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/client/common/directives/NgAutoSize/ng-autosize.js b/client/common/directives/NgAutoSize/ng-autosize.js index a2688d27..d76e2575 100644 --- a/client/common/directives/NgAutoSize/ng-autosize.js +++ b/client/common/directives/NgAutoSize/ng-autosize.js @@ -4,22 +4,27 @@ angular.module('dashboard.directive.AutoSize', [ ]) .directive('autoSize', function($timeout, $window) { - return { - restrict: 'A', - link: function(scope, element, attrs) { - element.css({ 'height': 'auto', 'overflow-y': 'hidden' }); - $timeout(function() { - element.css('height', element[0].scrollHeight + 'px'); - }, 100); + return { + restrict: 'A', + link: function(scope, element, attrs) { - function update() { - element.css({ 'height': 'auto', 'overflow-y': 'hidden' }); - element.css('height', element[0].scrollHeight + 'px'); - } + scope.minTextAreaHeight = 150; - element.on('input', update); - element.on('load', update); - angular.element($window).bind('resize', update); - } + element.css({ 'height': 'auto', 'overflow-y': 'hidden' }); + $timeout(function() { + var scrollHeight = element[0].scrollHeight; + var height = Math.max(scrollHeight, scope.minTextAreaHeight); + element.css('height', height + 'px'); + }, 100); + + function update() { + element.css({ 'height': 'auto', 'overflow-y': 'hidden' }); + element.css('height', element[0].scrollHeight + 'px'); + } + + element.on('input', update); + element.on('load', update); + angular.element($window).bind('resize', update); } + } }); \ No newline at end of file From fa067c07bb9f6cbd3c53138079f7647f55dac1a5 Mon Sep 17 00:00:00 2001 From: Daniel Chang Date: Thu, 6 Jul 2017 14:11:22 -0700 Subject: [PATCH 3/4] Grunt compile. --- dist/app.js | 6 +++--- dist/app.js.map | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/app.js b/dist/app.js index a43c9ec2..19249b00 100644 --- a/dist/app.js +++ b/dist/app.js @@ -7,8 +7,8 @@ */ angular.module("dashboard",["dashboard.Dashboard","dashboard.Login","dashboard.Register","dashboard.directives","dashboard.filters","dashboard.services.Cache","dashboard.services.Session","templates-app","templates-common","ui.router","oc.lazyLoad","ngCookies","ngAnimate","pascalprecht.translate"]).config(["$locationProvider","$stateProvider","$urlRouterProvider","$compileProvider","$qProvider","$translateProvider","Config",function(a,b,c,d,e,f,g){"ngInject";d.aHrefSanitizationWhitelist(/^\s*(http|https|ftp|mailto|tel|file|blo‌​b|data):/),c.otherwise("/login"),g.serverParams.disableRegistration&&c.when("/register","/login"),a.html5Mode(!0),f.useSanitizeValueStrategy("escape"),g.serverParams.translateUrl&&f.useUrlLoader(g.serverParams.translateUrl),g.serverParams.defaultLanguage&&f.fallbackLanguage(g.serverParams.defaultLanguage),b.state("public",{abstract:!0,template:""}).state("public.accessDenied",{url:"/access-denied",template:'

Access Denied

You are not authorized to access this page.

',data:{pageTitle:"Access Denied"}}),c.deferIntercept()}]).run(["$ocLazyLoad","$rootScope","$urlRouter","$injector","$translate","Config",function(a,b,c,d,e,f){"ngInject";f.serverParams.defaultLanguage&&e.use(f.serverParams.defaultLanguage),f.serverParams.translateUrl&&e.refresh();var g=!1;f.serverParams.customModules?a.load(f.serverParams.customModules).then(function(){g=!0,b.$broadcast("modulesLoaded"),Array.isArray(f.serverParams.injectOnStart)&&f.serverParams.injectOnStart.forEach(d.get)},function(a){console.log(a)}):g=!0,b.$on("$locationChangeSuccess",function(a){if(g)c.sync();else var d=b.$on("modulesLoaded",function(){c.sync(),d()})})}]).constant("constants",{TIMEOUT_INTERVAL:5e3,PUBLIC_STATE:"public",LOGIN_STATE:"public.login"}).controller("AppCtrl",["$scope","$location","$state","$rootScope","$timeout","$document","$cookies","SessionService","CacheService","Config","constants",function(a,b,c,d,e,f,g,h,i,j,k){"ngInject";d.$state=c,j.serverParams.gaTrackingId&&ga("create",j.serverParams.gaTrackingId,"auto"),d.$on("$stateChangeStart",function(a,b,d,e,f){var g=b.name;if(g=g.substr(g,g.indexOf(".")),!h.getAuthToken()&&g!=k.PUBLIC_STATE){var l={state:b,params:d};return i.set("desiredState",l),j.serverParams.loginState?c.go(j.serverParams.loginState):g!=k.PUBLIC_STATE&&c.go(k.LOGIN_STATE),void a.preventDefault()}h.isAuthorized(b,d)||(c.go("public.accessDenied"),a.preventDefault())}),a.$on("$stateChangeSuccess",function(b,c,d,e,f){angular.isDefined(c.data.pageTitle)&&(a.pageTitle=c.data.pageTitle)}),d.logOut=function(){h.getAuthToken()&&(i.reset(),h.logOut().then(function(a){j.serverParams.loginState?c.go(j.serverParams.loginState):c.go(k.LOGIN_STATE)}).catch(function(a){c.go(k.LOGIN_STATE)}))};var l=new Date;d.persistSession=function(){e.cancel(d.persistId),c.current.name.indexOf(k.PUBLIC_STATE)>-1||(l=new Date,new Date-l>k.TIMEOUT_INTERVAL?d.checkTimeout()&&g.put("lastActive",new Date):d.persistId=e(function(){d.checkTimeout()&&g.put("lastActive",new Date)},k.TIMEOUT_INTERVAL))},d.checkTimeout=function(){if(e.cancel(d.timeoutId),!g.get("lastActive"))return console.error("Session Timedout on another window/tab"),c.go(k.LOGIN_STATE),!1;var a=new Date(g.get("lastActive"));return new Date-a>j.serverParams.sessionTimeout?(d.logOut(),!1):(d.timeoutId=e(d.checkTimeout,k.TIMEOUT_INTERVAL),!0)},j.serverParams.sessionTimeout&&"localhost"!=b.host()&&(f.on("mousemove",function(){d.persistSession()}),f.on("touchmove",function(){d.persistSession()}),f.on("keydown",function(){d.persistSession()}))}]),angular.module("dashboard.Dashboard",["dashboard.Config","dashboard.Profile","dashboard.Dashboard.Model","dashboard.services.Dashboard","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard",{url:"/dashboard",controller:"DashboardCtrl",templateUrl:"app/dashboard/Dashboard.html",data:{pageTitle:"Dashboard"}}).state("portal",{url:"/portal",controller:"DashboardCtrl",templateUrl:"app/dashboard/Dashboard.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardCtrl",["$scope","$rootScope","$state","$stateParams","$location","$cookies","$modal","Config","DashboardService",function(a,b,c,d,e,f,g,h,i){"ngInject";var j=this;this.init=function(){a.toggleSideMenu=j.toggleSideMenu,a.hideSideMenu=j.hideSideMenu,a.editProfile=j.editProfile,a.logout=j.logout,a.locationPath=e.path(),a.username=f.get("username"),a.email=f.get("email"),a.userId=f.get("userId");try{a.userInfo=JSON.parse(f.get("session")),a.userInfo.user.roles=JSON.parse(f.get("roles"))}catch(a){console.error("Unable to parse $cookies.get(session)",a)}if(console.log("DashboardCtrl: $scope.userInfo",a.userInfo),a.title=h.serverParams.title||"Content Management System",a.nav=i.getNavigation(),"dashboard"==c.current.name&&h.serverParams.defaultNav){var b=i.getDefaultNav(a.nav,angular.copy(h.serverParams.defaultNav));b.state?c.go(b.state,b.params):c.go("dashboard.model.action."+b.route,b.params)}a.$watch(function(){return e.path()},function(){a.locationPath=e.path()}),a.$on("modelEditSaved",function(){a.modalInstance&&a.modalInstance.close()})},this.toggleSideMenu=function(){var a=$(".dashboard");a.hasClass("show-side-menu")?a.removeClass("show-side-menu"):a.addClass("show-side-menu")},this.hideSideMenu=function(){$(".dashboard").removeClass("show-side-menu")},this.editProfile=function(b){b&&b.preventDefault(),a.action={options:{model:h.serverParams.profileModel,key:h.serverParams.profileKey,id:f.get("userId"),hideDelete:!0}},a.modalInstance=g.open({templateUrl:"app/dashboard/profile/Profile.html",controller:"ProfileCtrl",size:"lg",scope:a})},this.logout=function(a){b.logOut(),a&&a.preventDefault()},j.init()}]),angular.module("dashboard.Alert",["ui.bootstrap","ui.bootstrap.modal"]).controller("AlertCtrl",["$scope","$modalInstance",function(a,b){"ngInject";function c(){a.isConfirm="confirm"==a.alertType}a.closeAlert=function(){b.close()},a.okAlert=function(){"function"==typeof a.okHandler&&a.okHandler(),b.close()},a.cancelAlert=function(){"function"==typeof a.cancelHandler&&a.cancelHandler(),b.close()},c()}]),angular.module("dashboard.Dashboard.Model",["dashboard.Dashboard.Model.Action","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model",{url:"/:model",controller:"DashboardModelCtrl",templateUrl:"app/dashboard/model/DashboardModel.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardModelCtrl",["$rootScope","$scope","$stateParams","Config",function(a,b,c,d){"ngInject";function e(){b.section=angular.copy(_.find(b.nav,{path:c.model}))}e()}]),angular.module("dashboard.Dashboard.Model.Action",["dashboard.Dashboard.Model.Edit","dashboard.Dashboard.Model.List","dashboard.Dashboard.Model.Sort","dashboard.Dashboard.Model.View","dashboard.Dashboard.Model.Nav","dashboard.Dashboard.Model.Definition","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action",{url:"/:action",controller:"DashboardModelActionCtrl",templateUrl:"app/dashboard/model/DashboardModelAction.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardModelActionCtrl",["$scope","$stateParams",function(a,b){"ngInject";function c(){a.section&&a.section.subnav&&(a.action=angular.copy(_.find(a.section.subnav,{label:b.action})))}c()}]),angular.module("dashboard.Dashboard.Model.Definition",["dashboard.Config","dashboard.services.Settings","ui.router","ui.bootstrap.modal"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.definition",{url:"/definition",templateUrl:"app/dashboard/model/definition/ModelDefinition.html",data:{pageTitle:"Settings - Model Definitions"}})}]).controller("ModelDefinitionCtrl",["$scope","$timeout","$state","$location","$modal","Config","SettingsService",function(a,b,c,d,e,f,g){"ngInject";a.clickSave=function(){}}]),angular.module("dashboard.Dashboard.Model.Edit",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","dashboard.directives.ModelField","dashboard.services.Cache","dashboard.services.GeneralModel","dashboard.services.FileUpload","ui.router","ui.bootstrap","ui.bootstrap.datepicker","ui.bootstrap.modal","ngCookies"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.edit",{url:"/edit/:id",templateUrl:"app/dashboard/model/edit/ModelEdit.html",data:{pageTitle:"Edit"}})}]).controller("ModelEditCtrl",["$rootScope","$scope","$cookies","$location","$stateParams","$state","$window","$modal","Config","GeneralModelService","FileUploadService","CacheService",function(a,b,c,d,e,f,g,h,i,j,k,l){"ngInject";function m(){if(b.hideSideMenu(),g.ga&&g.ga("send","pageview",{page:d.path()}),b.action||(b.action={}),b.action.options||(b.action.options={model:e.model,key:e.key}),b.model=angular.copy(i.serverParams.models[b.action.options.model]),b.action.options.key){var a=b.action.options.key;b.model.properties[a].display||(b.model.properties[a].display={}),b.model.properties[a].display.readonly=!0}if(b.action.options.readonly){var c=Object.keys(b.model.properties);for(var f in c){var a=c[f];b.model.properties[a].display||(b.model.properties[a].display={}),b.model.properties[a].display.readonly=!0}}if(b.isLoading=!0,b.data={},b.action.options.data){var c=Object.keys(b.action.options.data);for(var f in c){var a=c[f];b.data[a]=b.action.options.data[a]}}j.checkDefaultValues(b.model,b.data);var h=null;e.id&&e.id>0&&(h=e.id),b.action.options.id&&b.action.options.id>0&&(h=b.action.options.id),h?(b.isEdit=!0,b.modelDisplay=null,j.get(b.model.plural,h).then(function(a){a&&(b.data=a,n(),b.isLoading=!1)})):(n(),b.isEdit=!1,b.isLoading=!1),i.serverParams.strings||(i.serverParams.strings={}),b.saveButtonText=i.serverParams.strings.saveButton,b.deleteButtonText=i.serverParams.strings.deleteButton,b.deleteDialogText=i.serverParams.strings.deleteDiaglog?i.serverParams.strings.deleteDiaglog:"Are you sure you want to delete?",b.$on("saveModel",function(){b.clickSaveModel(b.data)}),b.$on("deleteModel",function(a,c){b.clickDeleteModel(b.data,c)}),b.$on("onModelSave",function(){b.clickSaveModel(b.data)}),b.$on("onModelDelete",function(a,c){b.clickDeleteModel(b.data,c)}),b.$watch("data",function(a,c){b.isLoading||b.$emit("onModelChange",{newData:a,oldData:c})},!0)}function n(){if(b.modelDisplay=b.model.display,b.action.options.display&&(b.modelDisplay=b.model[b.action.options.display]),!b.modelDisplay||0==b.modelDisplay.length){b.modelDisplay=[];var a=Object.keys(b.model.properties);for(var c in a){var d=a[c];b.modelDisplay.push(d),b.data[d]||(b.data[d]=null)}}b.$emit("onModelLoad",{data:b.data})}function o(c){var d=b.data[b.action.options.key];j.saveWithFiles(b.model.name,d,b.data).then(function(b){p&&p.close(),a.$broadcast("modelEditSaved"),c&&c(b)},function(a){if("object"==typeof a&&a.message)alert(a.message);else if("object"==typeof a&&a.error&&a.error.message)alert(a.error.message);else if("object"==typeof a&&a.code)switch(a.code){case"ER_DUP_ENTRY":alert("There was a duplicate entry found. Please make sure the entry is unique.")}else"object"==typeof a?alert(JSON.stringify(a)):alert(a);p&&p.close()},function(a){a.message&&(b.status=a.message),a.progress&&(b.progress=a.progress)})}var p=null;b.clickSaveModel=function(a){b.status="Saving...",b.progress=0,p=h.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:b}),o(function(a){l.clear(b.action.options.model),b.action.options&&b.action.options.returnAfterEdit?g.history.back():b.section?f.go(b.section.state?b.section.state:"dashboard.model.action.edit",{model:b.section.path,action:b.action.label,id:a[b.action.options.key]}):p&&p.close()})},b.clickDeleteModel=function(c,d){if(b.deleteDialogText=d&&d.deleteDialogText?d.deleteDialogText:b.deleteDialogText,confirm(b.deleteDialogText)){var e=c[b.action.options.key];b.model.options&&b.model.options.softDeleteProperty?(b.data[b.model.options.softDeleteProperty]=!0,o(function(){l.clear(b.action.options.model),g.history.back()})):j.remove(b.model.plural,e).then(function(c){a.$broadcast("modelDeleted"),l.clear(b.action.options.model),g.history.back()},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)})}},b.hasPermission=function(a){var d=null;if("object"==typeof a)d=a;else{var e=b.model.properties[a];d=e.display}if(!d)return!0;if(d.askIf){var f=Object.keys(d.askIf);for(var g in f){var e=f[g];if(b.data[e]!=d.askIf[e])return!1}}if(!d.roles)return!0;if(!c.get("roles"))return!1;var h=JSON.parse(c.get("roles"));for(var g in h){var i=h[g];if(d.roles.indexOf(i.name)>-1)return!0}return!1},m()}]),angular.module("dashboard.Dashboard.Model.Edit.SaveDialog",["ui.bootstrap","ui.bootstrap.progressbar","ui.bootstrap.modal"]).controller("ModelEditSaveDialogCtrl",["$scope","$modalInstance",function(a,b){"ngInject";function c(){}c()}]),angular.module("dashboard.Dashboard.Model.List",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","dashboard.services.Cache","dashboard.services.GeneralModel","dashboard.directives.ModelFieldReference","ui.router","ngCookies","ngGrid","googlechart"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.list",{url:"/list",templateUrl:"app/dashboard/model/list/ModelList.html",data:{pageTitle:"List"}})}]).controller("ModelListCtrl",["$scope","$cookies","$timeout","$state","$location","$window","$modal","Config","GeneralModelService","CacheService",function ModelListCtrl($scope,$cookies,$timeout,$state,$location,$window,$modal,Config,GeneralModelService,CacheService){"ngInject";function init(){$scope.isLoading=!0,$scope.moment=moment,$scope.columnCount=0,$scope.list=[],$scope.selected=[],$scope.columns=[],$scope.listTemplateUrl="",$scope.totalServerItems=0,$scope.isEditing=!1,$scope.searchFields=$scope.action.options.searchFields,$scope.action.options.sort?$scope.sortInfo=$scope.action.options.sort:$scope.sortInfo={fields:[$scope.action.options.key],directions:["ASC"]},$scope.filterOptions={filterText:"",useExternalFilter:"boolean"==typeof $scope.action.options.useExternalFilter&&$scope.action.options.useExternalFilter},$scope.pagingOptions={pageSizes:["25","50","100","250","500"],pageSize:$scope.action.options.pageSize?$scope.action.options.pageSize:"25",currentPage:1},$scope.sortInfo||($scope.sortInfo={}),$scope.sortInfo.columns||($scope.sortInfo.columns=[]),$scope.gridOptions={data:"list",enableColumnResize:!0,enableRowSelection:"boolean"!=typeof $scope.action.options.enableRowSelection||$scope.action.options.enableRowSelection,multiSelect:!1,enablePaging:!0,useExternalSorting:!0,showSelectionCheckbox:!1,sortInfo:$scope.sortInfo,showFooter:!0,showFilter:$scope.action.options.showFilter,headerRowHeight:44,footerRowHeight:44,totalServerItems:"totalServerItems",pagingOptions:$scope.pagingOptions,filterOptions:$scope.filterOptions,selectedItems:$scope.selected,rowHeight:$scope.action.options.rowHeight?$scope.action.options.rowHeight:44},$scope.hideSideMenu(),$window.ga&&$window.ga("send","pageview",{page:$location.path()}),$scope.gridContainerTopMargin=0,$scope.action.options.chart&&($scope.gridContainerTopMarginMax=$scope.action.options.chart.height+60,$scope.gridContainerTopMargin=$scope.gridContainerTopMarginMax,processChart()),window.ngGrid.i18n.en.ngTotalItemsLabel="Total Records: ",window.ngGrid.i18n.en.ngPageSizeLabel="Show: ",$scope.columns=getColumnDefinition(),$scope.gridOptions.columnDefs="columns",$scope.action.options.editable&&($scope.gridOptions.enableCellEdit=!0,$scope.gridOptions.enableCellEditOnFocus=!1,$scope.gridOptions.enableCellSelection=!0,$scope.gridOptions.enableRowSelection=!1),$scope.action.options.params||($scope.action.options.params={}),$scope.action.options.model&&($scope.model=Config.serverParams.models[$scope.action.options.model]),$scope.action.options.api?$scope.apiPath=$scope.action.options.api:$scope.action.options.model&&($scope.apiPath=$scope.model.plural),$scope.origApiPath=$scope.apiPath,addQueryStringParams(),$scope.getTotalServerItems(),$timeout(function(){$(".ngFooterPanel select").addClass("form-control"),$(".ngFooterPanel button").addClass("btn btn-default")}),$scope.$grid=$(".grid"),angular.element($window).bind("resize",function(){processWindowSize()}),$scope.$on("ngGridEventStartCellEdit",function(){startEdit()}),$scope.$on("ModelListLoadItems",function(a,b){b&&b.resetPaging&&($scope.pagingOptions.currentPage=1),$scope.getTotalServerItems()}),(/(iPad|iPhone|iPod|Android)/g.test(navigator.userAgent)||$scope.action.options.flexibleHeight)&&($scope.gridOptions.plugins=[new ngGridFlexibleHeightPlugin]),$scope.action.options.allowCSVExport&&($scope.gridOptions.plugins||($scope.gridOptions.plugins=[]),$scope.gridOptions.plugins.push(new ngGridCsvExportPlugin)),Config.serverParams.strings&&($scope.cancelButtonText=Config.serverParams.strings.cancelButton,$scope.saveButtonText=Config.serverParams.strings.saveButton)}function getColumnDefinition(){var a=$scope.action.options.columnRef,b=$scope.action.options.columns;if(a&&"object"==typeof a&&a.label)if(a.path){var c=_.find(Config.serverParams.nav,{path:a.path}),d=_.find(c.subnav,{label:a.label});b=d.options.columns}else{var d=_.find($scope.section.subnav,{label:a.label});b=d.options.columns}if((b=angular.copy(b))&&$cookies.get("roles")){var e=JSON.parse($cookies.get("roles"));if(e)for(var f=0;f-1){h=!0;break}}h||(b.splice(f,1),f--)}}}return b}function processWindowSize(){var a=$scope.$grid,b=$window.innerWidth,c=b/$scope.columnCount;c<90&&!a.hasClass("hide-optional")?(a.addClass("hide-optional"),$scope.columns=$scope.columns.filter(function(a){return!a.optional})):c>=90&&a.hasClass("hide-optional")&&(a.removeClass("hide-optional"),$scope.columns=$scope.columns=getColumnDefinition())}function addQueryStringParams(){var queryStringParams=$location.search();$scope.queryStringParams=queryStringParams,$scope.apiPath=$scope.origApiPath;var keys=Object.keys(queryStringParams);for(var i in keys){var key=keys[i];$scope.action.options.params[key]=queryStringParams[key],$scope.apiPath&&($scope.apiPath=$scope.apiPath.replace("{"+key+"}",queryStringParams[key]))}try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=$scope.apiPath.indexOf(searchString);startPos>-1;){var endPos=$scope.apiPath.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for $scope.apiPath");break}var sessionKey=$scope.apiPath.substring(startPos+1,endPos);$scope.apiPath=$scope.apiPath.slice(0,startPos)+eval(sessionKey)+$scope.apiPath.slice(endPos+1),startPos=$scope.apiPath.indexOf(searchString)}}catch(a){console.error(a)}var filterDescription=queryStringParams.filterDescription;if($scope.filterDescription=filterDescription?filterDescription:$scope.action.label,queryStringParams.pageSize&&($scope.pagingOptions.pageSize=queryStringParams.pageSize),queryStringParams.currentPage&&($scope.pagingOptions.currentPage=parseInt(queryStringParams.currentPage)),queryStringParams.sortInfo)try{var sortInfo=JSON.parse(queryStringParams.sortInfo);_.extend($scope.sortInfo,sortInfo)}catch(a){console.warn("There are errors with the querystring param 'pagingOptions'")}queryStringParams.search&&($scope.filterOptions.filterText=queryStringParams.search)}function setupPagination(){var a=angular.copy($scope.action.options.params);if(a&&a.filter&&a.filter.length>0)try{var b=JSON.parse(a.filter);if(b.limit=parseInt($scope.pagingOptions.pageSize),b.skip=($scope.pagingOptions.currentPage-1)*parseInt($scope.pagingOptions.pageSize),$scope.sortInfo.fields.length>0){b.order="";for(var c in $scope.sortInfo.fields){var d=$scope.sortInfo.fields[c],e=$scope.sortInfo.directions[c];e||(e="ASC"),parseInt(c)>0&&(b.order+=", "),b.order+=d+" "+e}}a.filter=JSON.stringify(b)}catch(a){console.error(a),alert("Error with list filter. Please contact administrator for assistance.")}else{if(a=_.extend(a,{"filter[limit]":parseInt($scope.pagingOptions.pageSize),"filter[skip]":($scope.pagingOptions.currentPage-1)*parseInt($scope.pagingOptions.pageSize)}),$scope.sortInfo.fields.length>0){var f="";for(var c in $scope.sortInfo.fields){var d=$scope.sortInfo.fields[c],e=$scope.sortInfo.directions[c];e||(e="ASC"),parseInt(c)>0&&(f+=", "),f+=d+" "+e}a=_.extend(a,{"filter[order]":f})}if($scope.searchFields&&$scope.gridOptions.filterOptions.filterText){a=GeneralModelService.queryStringParamsToJSON(a);var g=$scope.gridOptions.filterOptions.filterText;if("object"==typeof a.filter.where){var h=angular.copy(a.filter.where);a.filter.where={and:[]},_.forEach(h,function(b,c){var d={};d[c]=b,a.filter.where.and.push(d)});var i={or:[]};angular.forEach($scope.searchFields,function(a,b){var c="["+a+"][like]",d=_.set({},c,"%"+g+"%");i.or.push(d)}),a.filter.where.and.push(i)}else angular.forEach($scope.searchFields,function(b,c){var d="filter[where][or]["+c+"]["+b+"][like]";a=_.set(a,d,"%"+g+"%")})}}$location.search("pageSize",$scope.pagingOptions.pageSize),$location.search("currentPage",$scope.pagingOptions.currentPage);var j=angular.copy($scope.sortInfo);return delete j.columns,$location.search("sortInfo",JSON.stringify(j)),$location.replace(),addQueryStringParams(),a}function processChart(){$scope.action.options.chart.api&&GeneralModelService.list($scope.action.options.chart.api,{}).then(function(a){$scope.chart=$scope.action.options.chart,$scope.chart.data=a,$scope.chart.options||($scope.chart.options={}),$scope.chart.options.vAxis||($scope.chart.options.vAxis={}),$scope.chart.options.hAxis||($scope.chart.options.hAxis={}),$scope.chart.options.hAxis.textStyle||($scope.chart.options.hAxis.textStyle={}),$scope.chart.options.vAxis.textStyle||($scope.chart.options.vAxis.textStyle={}),$scope.chart.options.vAxis.gridlines||($scope.chart.options.vAxis.gridlines={}),$scope.chart.options.hAxis.textStyle.fontSize||($scope.chart.options.hAxis.textStyle.fontSize=11),$scope.chart.options.vAxis.textStyle.fontSize||($scope.chart.options.vAxis.textStyle.fontSize=11),$scope.chart.options.hAxis.textStyle.color||($scope.chart.options.hAxis.textStyle.color="#999"),$scope.chart.options.vAxis.textStyle.color||($scope.chart.options.vAxis.textStyle.color="#999"),$scope.chart.options.vAxis.baselineColor||($scope.chart.options.vAxis.baselineColor="#999"),$scope.chart.options.hAxis.baselineColor||($scope.chart.options.hAxis.baselineColor="#999"),$scope.chart.options.vAxis.gridlines.color||($scope.chart.options.vAxis.gridlines.color="#eee"),$scope.chart.options.hAxis.gridlines.color||($scope.chart.options.hAxis.gridlines.color="#eee")})}function startEdit(){$scope.isEditing||($scope.oldList=angular.copy($scope.list),$scope.isEditing=!0)}function endEdit(){$scope.isEditing&&($scope.isEditing=!1,$scope.oldList=void 0,$scope.loadItems())}var isFirstLoad=!0,modalInstance=null;$scope.getTotalServerItems=function(){var a=setupPagination();GeneralModelService.count($scope.apiPath,a).then(function(b){if(b){if("string"==typeof b)$scope.totalServerItems=b;else{b instanceof Array&&b.length>0&&(b=b[0]);var c=Object.keys(b);!b.count&&c.length>0&&(b.count=b[c[0]]),$scope.totalServerItems=b.count}$scope.loadItems(a)}},function(a){$scope.errorMessage="There was an error while loading...",console.error(a)})},$scope.loadItems=function(a){$scope.$emit("ModelListLoadItemsLoading"),a||(a=setupPagination());var b=CacheService.getKeyForAction($scope.action,a);if(!$scope.filterOptions.useExternalFilter&&CacheService.get(b))try{$scope.list=CacheService.get(b),$scope.columnCount=$scope.list.length>0?Object.keys($scope.list[0]).length:0,processWindowSize()}catch(a){console.warn("ModelList Cache is corupt for key = "+b)}$scope.isLoading=!0,GeneralModelService.list($scope.apiPath,a).then(function(a){a&&(void 0!==$scope.action.options.resultField&&void 0!==a[$scope.action.options.resultField]?$scope.list=a[$scope.action.options.resultField]:$scope.list=a,$scope.columnCount=$scope.list.length>0?Object.keys($scope.list[0]).length:0,$scope.filterOptions.useExternalFilter||CacheService.set(b,$scope.list),processWindowSize(),$scope.$emit("ModelListLoadItemsLoaded"),isFirstLoad=!1,$scope.isLoading=!1,$scope.loadAttempted=!0)},function(a){$scope.errorMessage="There was an error while loading...",console.error(a)})},$scope.hasButtonPermission=function(a){if(!a.roles)return!0;if(!$cookies.get("roles"))return!1;var b=JSON.parse($cookies.get("roles"));for(var c in b){var d=b[c];if(a.roles.indexOf(d.name)>-1)return!0}return!1},$scope.clickListButton=function(button){if(button.click)eval("$scope."+button.click);else if(button.route){if(button.options&&(button.options.model&&($scope.action.options.model=button.options.model),button.options.key&&($scope.action.options.key=button.options.key),button.options.display&&($scope.action.options.display=button.options.display),button.returnAfterEdit&&($scope.action.options.returnAfterEdit=button.returnAfterEdit),button.options.data)){var keys=Object.keys(button.options.data);for(var i in keys){var key=keys[i],value=button.options.data[key];value.lastIndexOf("{")>-1&&(value=value.substring(value.lastIndexOf("{")+1,value.lastIndexOf("}")),value=$scope.queryStringParams[value]),$scope.action.options.data||($scope.action.options.data={}),$scope.action.options.data[key]=value}}$state.go("dashboard.model.action."+button.route)}else if(button.path&&button.label){var section=_.find(Config.serverParams.nav,{path:button.path}),action=_.find(section.subnav,{label:button.label});$state.go("dashboard.model.action."+action.route,{model:section.path,action:action.label})}},$scope.clickAdd=function(){$scope.list&&$scope.list.length,$scope.list.push({}),startEdit()},$scope.clickSaveEdit=function(){if($scope.oldList){var deltaList=[];for(var i in $scope.list){var newRow=$scope.list[i],oldRow=$scope.oldList[i];if(newRow&&("object"!=typeof newRow||0!=Object.keys(newRow).length)&&0!=newRow.length&&(!oldRow||JSON.stringify(newRow)!=JSON.stringify(oldRow))){var rowKeys=Object.keys(newRow);for(var i in rowKeys){var key=rowKeys[i];newRow[key]&&"object"==typeof newRow[key]&&delete newRow[key]}if($scope.action.options.defaults){var keys=Object.keys($scope.action.options.defaults);for(var i in keys){var key=keys[i],property=$scope.action.options.defaults[key];!property||!property.foreceDefaultOnSave&&newRow[key]||(property.default?newRow[key]=property.default:property.evalDefault&&(newRow[key]=eval(property.evalDefault)))}}if($scope.action.options.columns)for(var i in $scope.action.options.columns){var column=$scope.action.options.columns[i];if(column.required&&!newRow[column.field])return void alert("Please fill in all required fields: "+column.displayName)}deltaList.push(newRow)}}var recordIndex=0;$scope.status="Saving...",$scope.progress=0,modalInstance=$modal.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:$scope});var saveRecord=function(a,b){var c=a[$scope.action.options.key];GeneralModelService.save($scope.action.options.model,c,a).then(function(a){b()},function(a){if("object"==typeof a&&a.message)alert(a.message);else if("object"==typeof a&&a.error&&a.error.message)alert(a.error.message);else if("object"==typeof a&&a.code)switch(a.code){case"ER_DUP_ENTRY":alert("There was a duplicate entry found. Please make sure the entry is unique.")}else"object"==typeof a?alert(JSON.stringify(a)):alert(a);b()})},saveNextRecord=function(){if(recordIndex>=deltaList.length)return $scope.status="Saved Successful",modalInstance&&modalInstance.close(),$scope.loadItems(),void endEdit();$scope.status="Saving "+(recordIndex+1)+" of "+deltaList.length,$scope.progress=(recordIndex+1)/deltaList.length,saveRecord(deltaList[recordIndex],function(){recordIndex++,saveNextRecord()})};saveNextRecord()}},$scope.clickCancelEdit=function(){confirm("Are you sure you want can cancel all changes?")&&endEdit()},$scope.deleteRowWithMessage=function(a,b){if(b)return void(confirm(b)&&$scope.deleteRow(a,!0));$scope.deleteRow(a)},$scope.deleteRow=function(a,b){if(!$scope.model||!$scope.model.plural)return void console.error("$scope.model or $scope.model.plural not found!");if(b||confirm("Are you sure you want to delete this item?")){var c=a.entity[$scope.action.options.key];c?$scope.model.options&&$scope.model.options.softDeleteProperty?(startEdit(),a.entity[$scope.model.options.softDeleteProperty]=!0,$scope.clickSaveEdit()):GeneralModelService.remove($scope.model.plural,c).then(function(b){$scope.list.splice(a.rowIndex,1)},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)}):$scope.list.splice(a.rowIndex,1)}},$scope.$watch("selected",function(a,b){a!==b&&a.length>0&&!$scope.action.options.editable&&($scope.action.options.selectedState?$state.go($scope.action.options.selectedState.stateName||"dashboard.model.action.edit",{model:$scope.action.options.selectedState.stateModel||$scope.section.path,key:$scope.action.options.key,action:$scope.action.options.selectedState.stateAction||$scope.action.label,id:a[0][$scope.action.options.selectedState.stateId||$scope.action.options.key]}):$state.go("dashboard.model.action.edit",{model:$scope.section.path,key:$scope.action.options.key,action:$scope.action.label,id:a[0][$scope.action.options.key]}))},!0),$scope.$watch("pagingOptions",function(a,b){a.currentPage==b.currentPage&&a.pageSize==b.pageSize||($scope.pagingOptions.pageSize=$scope.pagingOptions.pageSize.toString(),$scope.loadItems())},!0),$scope.$watch("gridOptions.$gridScope.filterText",_.debounce(function(a,b){a!=b&&$scope.$apply(function(){$scope.pagingOptions.currentPage=1,$scope.filterOptions.filterText=a,$scope.getTotalServerItems()})},250),!0),$scope.$watch("sortInfo",function(a,b){isFirstLoad||a===b||$scope.loadItems()},!0);var ngGridUnWatch=$scope.$watch("gridOptions.ngGrid",function(){if($scope.gridOptions.ngGrid){var a=$scope.gridOptions.ngGrid.$viewport;ngGridUnWatch(),$footerPanel=$(".ngFooterPanel"),$listContainer=$(".grid-container.list");var b=null,c=function(){$scope.gridOptions.$gridServices.DomUtilityService.RebuildGrid($scope.gridOptions.$gridScope,$scope.gridOptions.ngGrid)},d=function(d){var e=d.originalEvent.detail?-d.originalEvent.detail:d.originalEvent.wheelDelta/4,f=a.scrollTop();if(e<0){var f=a.scrollTop();0==f&&(f=-e),$scope.gridContainerTopMargin-f>0?($scope.gridContainerTopMargin-=f,a.height(a.height()+f),a.scrollTop(0)):(a.height(a.height()+$scope.gridContainerTopMargin),$scope.gridContainerTopMargin=0),$scope.gridOptions.$gridServices&&(clearTimeout(b),b=setTimeout(c,30))}else e>0&&(0==f&&$scope.gridContainerTopMargin<$scope.gridContainerTopMarginMax?(f=e,$scope.gridContainerTopMargin+=f,a.height(a.height()-f)):0==f&&($scope.gridContainerTopMargin=$scope.gridContainerTopMarginMax,a.height($footerPanel.offset().top-a.offset().top)));$scope.$digest()};(/(iPad|iPhone|iPod|Android)/g.test(navigator.userAgent)||$scope.action.options.flexibleHeight)&&($(".model-list .grid-container").addClass("flexible"),$(".model-list .grid").css({bottom:"auto"}),$(".model-list .ngFooterPanel").css({position:"static",bottom:"auto"})),$scope.action.options.chart&&(angular.element($window).bind("mousewheel",d),angular.element($window).bind("DOMMouseScroll",d)),$(".search .ngColMenu input").on("keyup",function(){$location.search("search",$(this).val()),$location.replace()})}});init()}]).filter("encodeURIComponent",function(){return window.encodeURIComponent}),angular.module("dashboard.Dashboard.Model.Nav",["dashboard.Config","dashboard.services.Settings","ui.router","ui.bootstrap.modal"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.nav",{url:"/config",templateUrl:"app/dashboard/model/nav/ModelNav.html",data:{ -pageTitle:"Settings - Navigation"}})}]).controller("ModelNavCtrl",["$scope","$timeout","$state","$location","$modal","Config","SettingsService",function(a,b,c,d,e,f,g){"ngInject";function h(){a.hideSideMenu(),k=angular.copy(f.serverParams.nav);var b=i(m),c=document.getElementById("navigation"),d={theme:"bootstrap3",iconlib:"fontawesome4",layout:"tree",startval:b,disable_properties:!1,disable_edit_json:!0,disable_delete_all:!0,disable_delete_last:!0,schema:{type:"array",title:"Navigation",format:"tabs",options:{disable_collapse:!0},items:{title:"Section",type:"object",headerTemplate:"{{self.label}}",id:"item",properties:{label:{title:"Label",type:"string",required:!0},path:{title:"Path",type:"string",required:!0},icon:{title:"Icon",type:"string",required:!0},subnav:{title:"Sub-Navigation",type:"array",required:!0,items:{title:"Sub Nav",headerTemplate:"{{self.label}}",type:"object",options:{collapsed:!0,disable_properties:!1},properties:{label:{title:"Label",type:"string",required:!0},className:{title:"ClassName",type:"string",required:!1},route:{title:"Route",type:"string",enum:["list","sort","edit","nav","definition"],required:!0},options:{type:"object",options:{disable_properties:!1},properties:{api:{tite:"API",type:"string"},eval:{tite:"eval",type:"string"},model:{title:"Model",type:"string"},key:{title:"Key",type:"string"},rowHeight:{title:"Row Height",type:"integer"},sortField:{title:"Sort Field",type:"string"},title:{title:"Title Field",description:"Field name to display when sorting",type:"string"},params:{type:"object",options:{collapsed:!0},properties:{filter:{title:"Filter",type:"string",format:"json"}}},columnRef:{title:"Column Reference",type:"object",options:{collapsed:!0,disable_properties:!1},properties:{path:{title:"Section Path",type:"string"},label:{title:"Subnav Label",type:"string"}}},columns:{title:"Columns",type:"array",items:{title:"column",type:"object",headerTemplate:"{{self.displayName}}",options:{collapsed:!0,disable_properties:!1},properties:{field:{title:"Field",type:"string",required:!0},displayName:{title:"Display Name",type:"string",required:!0},width:{title:"Width",type:"number"},headerClass:{title:"Header Class",type:"string"},cellClass:{title:"Cell Class",type:"string"},cellTemplate:{title:"Cell Template",type:"string",format:"html"},cellFilter:{title:"Cell Filter",type:"string"},minWidth:{type:"string"},maxWidth:{type:"string"},sortable:{title:"Sortable",type:"string"},resizable:{title:"Resizable",type:"string"}},defaultProperties:["field","displayName"]}}},defaultProperties:[]}}}},defaultSubNavIndex:{title:"Default Sub Nav",type:"string",watch:{subnav:"item.subnav"},enumSource:[{source:"subnav",title:"{{item.label}}",value:"{{i}}"}]}}}}};j=new JSONEditor(c,d),j.on("ready",function(){}),j.on("moveup",function(a){if("root"==a.row.parent.key){var b=k[m-1];k[m-1]=k[m],k[m]=b,m--,console.log("currentNavIndex = "+m)}}),j.on("movedown",function(a){if("root"==a.row.parent.key){var b=k[m+1];k[m+1]=k[m],k[m]=b,m++,console.log("currentNavIndex = "+m)}}),j.on("tabclick",function(a){var b=j.getEditor("root."+m);k[m]=b.getValue(),m=a.index,(b=j.getEditor("root."+m))&&b.setValue(k[m])})}function i(a){for(var b=angular.copy(k),c=0;cc[a.action.options.sortField]?-1:0}))})},a.moveUp=function(b){var c=a.list.indexOf(b);if(0!=c){var d=c-1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.moveDown=function(b){var c=a.list.indexOf(b);if(c!=a.list.length-1){var d=c+1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.edit=function(b){a.action.options.onEdit?a.action.options.onEdit(b[a.action.options.key]):c.go("dashboard.model.action.edit",{model:a.section.path,action:a.action.label,id:b[a.action.options.key]})},a.saveSort=function(){a.alertTitle="Saving...",a.alertMessage="Saving new sort order",a.allowAlertClose=!1,j=d.open({templateUrl:"app/dashboard/alert/Alert.html",controller:"AlertCtrl",size:"sm",scope:a});var b=[];for(var c in a.list){var e=a.list[c],f=e[a.action.options.key];b.unshift(f)}g.sort(a.action.options.model,a.action.options.key,a.action.options.sortField,b).then(function(b){a.alertMessage="Saved Successful!",a.allowAlertClose=!0},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)})},i()}]),angular.module("dashboard.Dashboard.Model.View",["dashboard.Config","dashboard.directives.ModelField","dashboard.services.GeneralModel","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.view",{url:"/view/:id",controller:"ModelViewCtrl",templateUrl:"app/dashboard/model/view/ModelView.html",data:{pageTitle:"View"}})}]).controller("ModelViewCtrl",["$scope","$stateParams","Config","GeneralModelService",function(a,b,c,d){"ngInject";function e(){d.get(a.model.model,b.id).then(function(b){a.data=b})}e()}]),angular.module("dashboard.Profile",["ui.bootstrap","ui.bootstrap.modal","dashboard.Dashboard.Model.Edit"]).controller("ProfileCtrl",["$scope","$modalInstance",function(a,b){function c(){}c()}]),angular.module("dashboard.Login",["dashboard.Config","dashboard.services.Cache","dashboard.services.Session","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.login",{url:"/login",controller:"LoginCtrl",templateUrl:"app/login/Login.html",data:{pageTitle:"Login"}})}]).controller("LoginCtrl",["$scope","$state","$window","Config","SessionService","CacheService",function(a,b,c,d,e,f){"ngInject";var g=this;this.init=function(){a.login={},a.clickLogin=g.clickLogin},this.clickLogin=function(){e.logIn(a.login.email,a.login.password).then(function(a){var c=f.get("desiredState");f.reset(),c?b.go(c.state.name,c.params):b.go("dashboard")}).catch(function(a){a&&a[0]&&a[0].error&&a[0].error.message?alert(a[0].error.message):alert("Invalid login.")})},g.init()}]),angular.module("dashboard.Register",["dashboard.Config","dashboard.services.Session","dashboard.services.User","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.register",{url:"/register",controller:"RegisterCtrl",templateUrl:"app/Register/Register.html",data:{pageTitle:"Register"}})}]).controller("RegisterCtrl",["$scope","Config","SessionService","UserService",function(a,b,c,d){"ngInject";function e(){}a.login={},a.register=function(){d.register(a.login.email,a.login.password).then(function(b){c.logIn(a.login.email,a.login.password).then(function(a){$state.go("dashboard")}).catch(function(a){alert("Error registering")})}).catch(function(a){alert("Error registering")})},e()}]),angular.module("dashboard.Config",[]).constant("Config",{apiBaseUrl:window.config.apiBaseUrl||"/api/",serverParams:window.config}),angular.module("dashboard.Utils",["dashboard.Config"]).service("Utils",["Config","$http","$q",function(a,b,c){"ngInject";var d={};this.apiCancel=function(a,b){var c=d[a+":"+b];c&&c.resolve&&c.resolve(),delete d[a+":"+b]},this.apiHelper=function(e,f,g,h){var i=c.defer();return h=h||{},h.method=e,"/"==f[0]?h.url=f:(a.apiBaseUrl&&"/"!=a.apiBaseUrl[a.apiBaseUrl.length-1]&&"/"!=f[f.length-1]&&(a.apiBaseUrl+="/"),h.url=a.apiBaseUrl+f),"POST"==e||"PUT"==e?h.data=g:h.params=g,d[e+":"+f]=i,h.timeout=i.promise,b(h).then(function(a){i.resolve(a.data)},function(a){i.reject(a.data)}),i.promise}}]),$.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},angular.module("dashboard.directive.DateTimePicker",[]).directive("dateTimePicker",["$rootScope",function(a){"ngInject";return{require:"?ngModel",restrict:"AE",scope:{control:"=",format:"@",ngFormat:"=ngFormat",ngTimeZone:"=ngTimeZone",defaultDate:"@",viewMode:"@",ngViewMode:"=ngViewMode",horizontal:"@",maxDate:"@",minDate:"@"},link:function(a,b,c,d){a.format||(a.format=a.ngFormat),a.viewMode||(a.viewMode=a.ngViewMode),d.$formatters.push(function(b){if(a.format||(a.format=a.ngFormat),b){var c=moment(b);return a.ngTimeZone&&c.tz&&(c=c.tz(a.ngTimeZone)),c.format(a.format)}}),a.defaultDate=a.defaultDate&&"string"==typeof a.defaultDate?a.defaultDate.replace(/"/g,""):a.defaultDate;var e={format:a.format,useCurrent:!1,defaultDate:a.defaultDate?moment(a.defaultDate).toDate():void 0,viewMode:a.viewMode,widgetPositioning:{horizontal:a.horizontal?a.horizontal:"auto"}};a.minDate&&(e.minDate=a.minDate),a.maxDate&&(e.maxDate=a.maxDate),b.datetimepicker(e),a.control||(a.control={}),a.control.show=function(){b.focus()},b.on("blur",function(){a.format||(a.format=a.ngFormat);var c=moment(b.val(),a.format);c.isValid()?d.$setViewValue(c):d.$setViewValue(null)})}}}]),angular.module("dashboard.directives.ModelField",["dashboard.directives.ModelFieldImage","dashboard.directives.ModelFieldVideo","dashboard.directives.ModelFieldFile","dashboard.directives.ModelFieldReference","dashboard.directives.ModelFieldReferenceSort","dashboard.directives.ModelFieldList","dashboard.directives.ModelFieldWYSIWYG","dashboard.directives.ModelFieldCanvas","dashboard.directives.ModelFieldLocation","dashboard.directives.ModelFieldPointsOfInterest","dashboard.directives.ModelFieldMultiSelect","dashboard.directives.ModelFieldNumber","dashboard.directive.DateTimePicker","ngCookies","ngSlider","ngSignaturePad","cwill747.phonenumber","monospaced.elastic"]).directive("modelFieldView",["$compile",function(a){"ngInject";function b(a){var b="";switch(a){default:b="{{ field.label }}: {{ data[field.name] }}"}return b}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel"},link:function(c,d,e){d.html(b(c.field.type)).show(),a(d.contents())(c)}}}]).directive("modelFieldEdit",["$compile",function(a){"ngInject";function b(a,b){var c="";switch(a){case"reference":c='
{{ display.error }}
{{ display.description }}
';break;case"reference-sort":c='
{{ display.error }}
{{ display.description }}
{{ display.description }}
';break;case"list":c='
{{ display.error }}
{{ display.description }}
{{ display.description }}
';break;case"file":c='
{{ display.error }}

{{ display.description }}
';break;case"image":c='
{{ display.error }}
{{ display.description }}
';break;case"video":c='
{{ display.error }}
{{ display.description }}
';break;case"datetime":c='
{{ display.error }}

{{ display.description }}
';break;case"multi-select":c='
{{ display.error }}
{{ display.description }}
';break;case"select":var d="key as value for (key, value) in display.options";b.property.display.options instanceof Array&&(d="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"value as value for value in display.options":"item.key as item.value disable when item.disabled for item in display.options"),c='
{{ display.error }}
{{ display.description }}
';break;case"radio":var e="(value, text) in display.options";b.property.display.options instanceof Array&&(e="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"text in display.options":"item in display.options"),c='
{{ display.error }}
{{ display.description }}
';break;case"slider":c='
{{ display.error }}
{{ display.description }}
';break;case"boolean":c='
{{ display.error }}
{{ display.description }}
';break;case"password":c='
{{ display.error }}
{{ display.description }}
';break;case"textarea":c='
{{ display.error }}
{{ display.description }}  ({{ charsLeft }} characters left)
';break;case"wysiwyg":case"WYSIWYG":c='
{{ display.error }}
{{ display.description }}
';break;case"draw":case"signature":c='
{{ display.error }}
{{ display.description }}
';break;case"location":c='
{{ display.error }}
{{ display.description }}
';break;case"poi":case"POI":c='
{{ display.error }}
{{ display.description }}
';break;case"number":c='
{{ display.error }}
{{ display.description }}
';break;case"phoneNumber":c='
{{ display.error }}
{{ display.description }}
';break;case"text":default:c='
{{ display.error }}
{{ display.description }}  ({{ charsLeft }} characters left)
'}return c}function c(a,b){var c=$(a).find("input");if(b&&c)for(var d in b)c.attr(d,b[d])}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel",ngError:"&"},link:function(d,e,f){function g(){if(d.onFieldError=h,null!==d.key&&"object"==typeof d.key&&(d.model.properties[d.key.property]||(d.model.properties[d.key.property]={}),d.model.properties[d.key.property].display=d.key,d.key=d.key.property),j={display:{type:"text"}},d.model.properties&&d.model.properties[d.key]&&(j=d.model.properties[d.key]),!j)return void console.log("ModelField link error: no property for model '"+d.model.name+"'; property key = '"+d.key+"' found!");if(!j.display||!j.display.type)switch(j.display||(j.display={}),j.type){case"date":case"Date":j.display.type="datetime";break;default:j.display.type="text"}i(j),d.data[d.key]||!j.default&&"number"!=typeof j.default||(d.data[d.key]=j.default),d.property=j,d.display=j.display,j.display.editTemplate?e.html(j.display.editTemplate).show():e.html(b(j.display.type,d)).show(),c(e,d.property.display.inputAttr),d.display.pattern&&"/"==d.display.pattern[0]&&"/"==d.display.pattern[d.display.pattern.length-1]&&(d.display.pattern=d.display.pattern.slice(1,d.display.pattern.length-2)),a(e.contents())(d)}function h(a){a&&a.message?j.display.error=a.message:delete j.display.error,d.ngError&&d.ngError({error:a})}function i(){if("text"===j.display.type||"textarea"===j.display.type){var a=d.data[d.key]?d.data[d.key].length:0;d.charsLeft=j.display.maxLength-a,d.lengthCheck=function(a){return d.charsLeft=j.display.maxLength-a.target.value.length,j.display.maxLength&&a.target.value.length>j.display.maxLength?(d.display.error="Text is longer than the maximum allowed length of "+d.display.maxLength+" characters.",void(d.ngError&&d.ngError({error:new Error(d.display.error)}))):j.display.maxLength&&a.target.value.length<=j.display.maxLength&&a.target.value.length>0?(delete d.display.error,delete d.display.errorCode,void(d.ngError&&d.ngError({error:null}))):void(0===a.target.value.length&&j.display.isRequired&&(d.display.error="This is a required field.",d.ngError&&d.ngError({error:new Error(d.display.error)})))}}if("file"==j.display.type&&d.data[d.key]){var b=d.data[d.key];if("object"==typeof b&&b.filename?b=b.filename:"object"==typeof b&&b.file&&(b=b.file.name),b){var c=b.toLowerCase().substring(b.length-4);".png"!=c&&".jpg"!=c&&"jpeg"!=c&&".bmp"!=c||(j=angular.copy(j),j.display.type="image")}}"datetime"==j.display.type&&(j.display.options||(j.display.options={}),j.display.options.format||(j.display.options.format="YYYY-MM-DD h:mm A")),!d.data[d.key]&&j.display.defaultValueUsingModelKey&&(d.data[d.key]=d.data[j.display.defaultValueUsingModelKey]),d.data[d.key]&&j.display.convertToLocalTime===!1&&(d.data[d.key]=d.data[d.key].substring(0,d.data[d.key].length-1)),"boolean"==j.display.type&&(d.check=function(a,b){var c=a[b];return void 0==c||null==c?j.display.default:(a[b]="1"==c||1==c,a[b])},"string"==typeof d.data[d.key]&&(d.data[d.key]=parseInt(d.data[d.key]))),"slider"==j.display.type&&(void 0!==d.data[d.key]&&null!=d.data[d.key]||(d.data[d.key]=j.display.options.from+";"+j.display.options.to))}var j;g()}}}]),angular.module("dashboard.directives.ModelFieldCanvas",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldCanvasView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldCanvasEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(){return' '}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d,e){b.isLoading=!0,b.signature={},b.clearCanvas=function(){var a=b.signature._canvas;a.width=a.width,b.data=null},b.$watch("signature._mouseButtonDown",function(){if(b.signature.fromDataURL&&b.isLoading){b.isLoading=!1;var a=new Image;a.setAttribute("crossOrigin","anonymous"),a.onload=function(){b.signature._canvas.getContext("2d").drawImage(a,0,0)},"object"==typeof b.data&&b.data.fileUrl?a.src=b.data.fileUrl:a.src=b.data}else if(b.signature.toDataURL){var c=b.signature.toDataURL();b.data=c}}),c.html(g()).show(),a(c.contents())(b)}}}]),angular.module("dashboard.directives.ModelFieldFile",["dashboard.services.GeneralModel"]).directive("modelFieldFileView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldFileEdit",["$compile","$document","$window","GeneralModelService","SessionService",function(a,b,c,d,e){"ngInject";return{restrict:"E", +pageTitle:"Settings - Navigation"}})}]).controller("ModelNavCtrl",["$scope","$timeout","$state","$location","$modal","Config","SettingsService",function(a,b,c,d,e,f,g){"ngInject";function h(){a.hideSideMenu(),k=angular.copy(f.serverParams.nav);var b=i(m),c=document.getElementById("navigation"),d={theme:"bootstrap3",iconlib:"fontawesome4",layout:"tree",startval:b,disable_properties:!1,disable_edit_json:!0,disable_delete_all:!0,disable_delete_last:!0,schema:{type:"array",title:"Navigation",format:"tabs",options:{disable_collapse:!0},items:{title:"Section",type:"object",headerTemplate:"{{self.label}}",id:"item",properties:{label:{title:"Label",type:"string",required:!0},path:{title:"Path",type:"string",required:!0},icon:{title:"Icon",type:"string",required:!0},subnav:{title:"Sub-Navigation",type:"array",required:!0,items:{title:"Sub Nav",headerTemplate:"{{self.label}}",type:"object",options:{collapsed:!0,disable_properties:!1},properties:{label:{title:"Label",type:"string",required:!0},className:{title:"ClassName",type:"string",required:!1},route:{title:"Route",type:"string",enum:["list","sort","edit","nav","definition"],required:!0},options:{type:"object",options:{disable_properties:!1},properties:{api:{tite:"API",type:"string"},eval:{tite:"eval",type:"string"},model:{title:"Model",type:"string"},key:{title:"Key",type:"string"},rowHeight:{title:"Row Height",type:"integer"},sortField:{title:"Sort Field",type:"string"},title:{title:"Title Field",description:"Field name to display when sorting",type:"string"},params:{type:"object",options:{collapsed:!0},properties:{filter:{title:"Filter",type:"string",format:"json"}}},columnRef:{title:"Column Reference",type:"object",options:{collapsed:!0,disable_properties:!1},properties:{path:{title:"Section Path",type:"string"},label:{title:"Subnav Label",type:"string"}}},columns:{title:"Columns",type:"array",items:{title:"column",type:"object",headerTemplate:"{{self.displayName}}",options:{collapsed:!0,disable_properties:!1},properties:{field:{title:"Field",type:"string",required:!0},displayName:{title:"Display Name",type:"string",required:!0},width:{title:"Width",type:"number"},headerClass:{title:"Header Class",type:"string"},cellClass:{title:"Cell Class",type:"string"},cellTemplate:{title:"Cell Template",type:"string",format:"html"},cellFilter:{title:"Cell Filter",type:"string"},minWidth:{type:"string"},maxWidth:{type:"string"},sortable:{title:"Sortable",type:"string"},resizable:{title:"Resizable",type:"string"}},defaultProperties:["field","displayName"]}}},defaultProperties:[]}}}},defaultSubNavIndex:{title:"Default Sub Nav",type:"string",watch:{subnav:"item.subnav"},enumSource:[{source:"subnav",title:"{{item.label}}",value:"{{i}}"}]}}}}};j=new JSONEditor(c,d),j.on("ready",function(){}),j.on("moveup",function(a){if("root"==a.row.parent.key){var b=k[m-1];k[m-1]=k[m],k[m]=b,m--,console.log("currentNavIndex = "+m)}}),j.on("movedown",function(a){if("root"==a.row.parent.key){var b=k[m+1];k[m+1]=k[m],k[m]=b,m++,console.log("currentNavIndex = "+m)}}),j.on("tabclick",function(a){var b=j.getEditor("root."+m);k[m]=b.getValue(),m=a.index,(b=j.getEditor("root."+m))&&b.setValue(k[m])})}function i(a){for(var b=angular.copy(k),c=0;cc[a.action.options.sortField]?-1:0}))})},a.moveUp=function(b){var c=a.list.indexOf(b);if(0!=c){var d=c-1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.moveDown=function(b){var c=a.list.indexOf(b);if(c!=a.list.length-1){var d=c+1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.edit=function(b){a.action.options.onEdit?a.action.options.onEdit(b[a.action.options.key]):c.go("dashboard.model.action.edit",{model:a.section.path,action:a.action.label,id:b[a.action.options.key]})},a.saveSort=function(){a.alertTitle="Saving...",a.alertMessage="Saving new sort order",a.allowAlertClose=!1,j=d.open({templateUrl:"app/dashboard/alert/Alert.html",controller:"AlertCtrl",size:"sm",scope:a});var b=[];for(var c in a.list){var e=a.list[c],f=e[a.action.options.key];b.unshift(f)}g.sort(a.action.options.model,a.action.options.key,a.action.options.sortField,b).then(function(b){a.alertMessage="Saved Successful!",a.allowAlertClose=!0},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)})},i()}]),angular.module("dashboard.Dashboard.Model.View",["dashboard.Config","dashboard.directives.ModelField","dashboard.services.GeneralModel","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.view",{url:"/view/:id",controller:"ModelViewCtrl",templateUrl:"app/dashboard/model/view/ModelView.html",data:{pageTitle:"View"}})}]).controller("ModelViewCtrl",["$scope","$stateParams","Config","GeneralModelService",function(a,b,c,d){"ngInject";function e(){d.get(a.model.model,b.id).then(function(b){a.data=b})}e()}]),angular.module("dashboard.Profile",["ui.bootstrap","ui.bootstrap.modal","dashboard.Dashboard.Model.Edit"]).controller("ProfileCtrl",["$scope","$modalInstance",function(a,b){function c(){}c()}]),angular.module("dashboard.Login",["dashboard.Config","dashboard.services.Cache","dashboard.services.Session","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.login",{url:"/login",controller:"LoginCtrl",templateUrl:"app/login/Login.html",data:{pageTitle:"Login"}})}]).controller("LoginCtrl",["$scope","$state","$window","Config","SessionService","CacheService",function(a,b,c,d,e,f){"ngInject";var g=this;this.init=function(){a.login={},a.clickLogin=g.clickLogin},this.clickLogin=function(){e.logIn(a.login.email,a.login.password).then(function(a){var c=f.get("desiredState");f.reset(),c?b.go(c.state.name,c.params):b.go("dashboard")}).catch(function(a){a&&a[0]&&a[0].error&&a[0].error.message?alert(a[0].error.message):alert("Invalid login.")})},g.init()}]),angular.module("dashboard.Register",["dashboard.Config","dashboard.services.Session","dashboard.services.User","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.register",{url:"/register",controller:"RegisterCtrl",templateUrl:"app/Register/Register.html",data:{pageTitle:"Register"}})}]).controller("RegisterCtrl",["$scope","Config","SessionService","UserService",function(a,b,c,d){"ngInject";function e(){}a.login={},a.register=function(){d.register(a.login.email,a.login.password).then(function(b){c.logIn(a.login.email,a.login.password).then(function(a){$state.go("dashboard")}).catch(function(a){alert("Error registering")})}).catch(function(a){alert("Error registering")})},e()}]),angular.module("dashboard.Config",[]).constant("Config",{apiBaseUrl:window.config.apiBaseUrl||"/api/",serverParams:window.config}),angular.module("dashboard.Utils",["dashboard.Config"]).service("Utils",["Config","$http","$q",function(a,b,c){"ngInject";var d={};this.apiCancel=function(a,b){var c=d[a+":"+b];c&&c.resolve&&c.resolve(),delete d[a+":"+b]},this.apiHelper=function(e,f,g,h){var i=c.defer();return h=h||{},h.method=e,"/"==f[0]?h.url=f:(a.apiBaseUrl&&"/"!=a.apiBaseUrl[a.apiBaseUrl.length-1]&&"/"!=f[f.length-1]&&(a.apiBaseUrl+="/"),h.url=a.apiBaseUrl+f),"POST"==e||"PUT"==e?h.data=g:h.params=g,d[e+":"+f]=i,h.timeout=i.promise,b(h).then(function(a){i.resolve(a.data)},function(a){i.reject(a.data)}),i.promise}}]),$.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},angular.module("dashboard.directive.DateTimePicker",[]).directive("dateTimePicker",["$rootScope",function(a){"ngInject";return{require:"?ngModel",restrict:"AE",scope:{control:"=",format:"@",ngFormat:"=ngFormat",ngTimeZone:"=ngTimeZone",defaultDate:"@",viewMode:"@",ngViewMode:"=ngViewMode",horizontal:"@",maxDate:"@",minDate:"@"},link:function(a,b,c,d){a.format||(a.format=a.ngFormat),a.viewMode||(a.viewMode=a.ngViewMode),d.$formatters.push(function(b){if(a.format||(a.format=a.ngFormat),b){var c=moment(b);return a.ngTimeZone&&c.tz&&(c=c.tz(a.ngTimeZone)),c.format(a.format)}}),a.defaultDate=a.defaultDate&&"string"==typeof a.defaultDate?a.defaultDate.replace(/"/g,""):a.defaultDate;var e={format:a.format,useCurrent:!1,defaultDate:a.defaultDate?moment(a.defaultDate).toDate():void 0,viewMode:a.viewMode,widgetPositioning:{horizontal:a.horizontal?a.horizontal:"auto"}};a.minDate&&(e.minDate=a.minDate),a.maxDate&&(e.maxDate=a.maxDate),b.datetimepicker(e),a.control||(a.control={}),a.control.show=function(){b.focus()},b.on("blur",function(){a.format||(a.format=a.ngFormat);var c=moment(b.val(),a.format);c.isValid()?d.$setViewValue(c):d.$setViewValue(null)})}}}]),angular.module("dashboard.directives.ModelField",["dashboard.directives.ModelFieldImage","dashboard.directives.ModelFieldVideo","dashboard.directives.ModelFieldFile","dashboard.directives.ModelFieldReference","dashboard.directives.ModelFieldReferenceSort","dashboard.directives.ModelFieldList","dashboard.directives.ModelFieldWYSIWYG","dashboard.directives.ModelFieldCanvas","dashboard.directives.ModelFieldLocation","dashboard.directives.ModelFieldPointsOfInterest","dashboard.directives.ModelFieldMultiSelect","dashboard.directives.ModelFieldNumber","dashboard.directive.DateTimePicker","dashboard.directive.AutoSize","ngCookies","ngSlider","ngSignaturePad","cwill747.phonenumber","monospaced.elastic"]).directive("modelFieldView",["$compile",function(a){"ngInject";function b(a){var b="";switch(a){default:b="{{ field.label }}: {{ data[field.name] }}"}return b}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel"},link:function(c,d,e){d.html(b(c.field.type)).show(),a(d.contents())(c)}}}]).directive("modelFieldEdit",["$compile",function(a){"ngInject";function b(a,b){var c="";switch(a){case"reference":c='
{{ display.error }}
{{ display.description }}
';break;case"reference-sort":c='
{{ display.error }}
{{ display.description }}
{{ display.description }}
';break;case"list":c='
{{ display.error }}
{{ display.description }}
{{ display.description }}
';break;case"file":c='
{{ display.error }}

{{ display.description }}
';break;case"image":c='
{{ display.error }}
{{ display.description }}
';break;case"video":c='
{{ display.error }}
{{ display.description }}
';break;case"datetime":c='
{{ display.error }}

{{ display.description }}
';break;case"multi-select":c='
{{ display.error }}
{{ display.description }}
';break;case"select":var d="key as value for (key, value) in display.options";b.property.display.options instanceof Array&&(d="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"value as value for value in display.options":"item.key as item.value disable when item.disabled for item in display.options"),c='
{{ display.error }}
{{ display.description }}
';break;case"radio":var e="(value, text) in display.options";b.property.display.options instanceof Array&&(e="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"text in display.options":"item in display.options"),c='
{{ display.error }}
{{ display.description }}
';break;case"slider":c='
{{ display.error }}
{{ display.description }}
';break;case"boolean":c='
{{ display.error }}
{{ display.description }}
';break;case"password":c='
{{ display.error }}
{{ display.description }}
';break;case"textarea":c='
{{ display.error }}
{{ display.description }}  ({{ charsLeft }} characters left)
';break;case"wysiwyg":case"WYSIWYG":c='
{{ display.error }}
{{ display.description }}
';break;case"draw":case"signature":c='
{{ display.error }}
{{ display.description }}
';break;case"location":c='
{{ display.error }}
{{ display.description }}
';break;case"poi":case"POI":c='
{{ display.error }}
{{ display.description }}
';break;case"number":c='
{{ display.error }}
{{ display.description }}
';break;case"phoneNumber":c='
{{ display.error }}
{{ display.description }}
';break;case"text":default:c='
{{ display.error }}
{{ display.description }}  ({{ charsLeft }} characters left)
'}return c}function c(a,b){var c=$(a).find("input");if(b&&c)for(var d in b)c.attr(d,b[d])}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel",ngError:"&"},link:function(d,e,f){function g(){if(d.onFieldError=h,null!==d.key&&"object"==typeof d.key&&(d.model.properties[d.key.property]||(d.model.properties[d.key.property]={}),d.model.properties[d.key.property].display=d.key,d.key=d.key.property),j={display:{type:"text"}},d.model.properties&&d.model.properties[d.key]&&(j=d.model.properties[d.key]),!j)return void console.log("ModelField link error: no property for model '"+d.model.name+"'; property key = '"+d.key+"' found!");if(!j.display||!j.display.type)switch(j.display||(j.display={}),j.type){case"date":case"Date":j.display.type="datetime";break;default:j.display.type="text"}i(j),d.data[d.key]||!j.default&&"number"!=typeof j.default||(d.data[d.key]=j.default),d.property=j,d.display=j.display,j.display.editTemplate?e.html(j.display.editTemplate).show():e.html(b(j.display.type,d)).show(),c(e,d.property.display.inputAttr),d.display.pattern&&"/"==d.display.pattern[0]&&"/"==d.display.pattern[d.display.pattern.length-1]&&(d.display.pattern=d.display.pattern.slice(1,d.display.pattern.length-2)),a(e.contents())(d)}function h(a){a&&a.message?j.display.error=a.message:delete j.display.error,d.ngError&&d.ngError({error:a})}function i(){if("text"===j.display.type||"textarea"===j.display.type){var a=d.data[d.key]?d.data[d.key].length:0;d.charsLeft=j.display.maxLength-a,d.lengthCheck=function(a){return d.charsLeft=j.display.maxLength-a.target.value.length,j.display.maxLength&&a.target.value.length>j.display.maxLength?(d.display.error="Text is longer than the maximum allowed length of "+d.display.maxLength+" characters.",void(d.ngError&&d.ngError({error:new Error(d.display.error)}))):j.display.maxLength&&a.target.value.length<=j.display.maxLength&&a.target.value.length>0?(delete d.display.error,delete d.display.errorCode,void(d.ngError&&d.ngError({error:null}))):void(0===a.target.value.length&&j.display.isRequired&&(d.display.error="This is a required field.",d.ngError&&d.ngError({error:new Error(d.display.error)})))}}if("file"==j.display.type&&d.data[d.key]){var b=d.data[d.key];if("object"==typeof b&&b.filename?b=b.filename:"object"==typeof b&&b.file&&(b=b.file.name),b){var c=b.toLowerCase().substring(b.length-4);".png"!=c&&".jpg"!=c&&"jpeg"!=c&&".bmp"!=c||(j=angular.copy(j),j.display.type="image")}}"datetime"==j.display.type&&(j.display.options||(j.display.options={}),j.display.options.format||(j.display.options.format="YYYY-MM-DD h:mm A")),!d.data[d.key]&&j.display.defaultValueUsingModelKey&&(d.data[d.key]=d.data[j.display.defaultValueUsingModelKey]),d.data[d.key]&&j.display.convertToLocalTime===!1&&(d.data[d.key]=d.data[d.key].substring(0,d.data[d.key].length-1)),"boolean"==j.display.type&&(d.check=function(a,b){var c=a[b];return void 0==c||null==c?j.display.default:(a[b]="1"==c||1==c,a[b])},"string"==typeof d.data[d.key]&&(d.data[d.key]=parseInt(d.data[d.key]))),"slider"==j.display.type&&(void 0!==d.data[d.key]&&null!=d.data[d.key]||(d.data[d.key]=j.display.options.from+";"+j.display.options.to))}var j;g()}}}]),angular.module("dashboard.directives.ModelFieldCanvas",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldCanvasView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldCanvasEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(){return' '}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d,e){b.isLoading=!0,b.signature={},b.clearCanvas=function(){var a=b.signature._canvas;a.width=a.width,b.data=null},b.$watch("signature._mouseButtonDown",function(){if(b.signature.fromDataURL&&b.isLoading){b.isLoading=!1;var a=new Image;a.setAttribute("crossOrigin","anonymous"),a.onload=function(){b.signature._canvas.getContext("2d").drawImage(a,0,0)},"object"==typeof b.data&&b.data.fileUrl?a.src=b.data.fileUrl:a.src=b.data}else if(b.signature.toDataURL){var c=b.signature.toDataURL();b.data=c}}),c.html(g()).show(),a(c.contents())(b)}}}]),angular.module("dashboard.directives.ModelFieldFile",["dashboard.services.GeneralModel"]).directive("modelFieldFileView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldFileEdit",["$compile","$document","$window","GeneralModelService","SessionService",function(a,b,c,d,e){"ngInject";return{restrict:"E", template:'   {{ filename }}  (download | preview)
Drop File Here
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(a,c,d){var e=a.$watch("data",function(b){if(b)if(e(),a.data&&a.data&&a.data.filename)a.filename=a.data.filename,a.fileUrl=a.data.fileUrl,a.previewUrl=a.data.previewUrl;else if("string"==typeof a.data){a.fileUrl=a.data.replace(/%2F/g,"/");var c=a.fileUrl.lastIndexOf("/");a.filename=a.fileUrl.substring(c+1)}else if("object"==typeof a.data.file){var d=a.options.path;a.data={path:d,file:a.data.file},a.filename=a.data.file.name,a.fileUrl=null,a.previewUrl=null}});a.getFileIcon=function(a){switch(a.substring(a.lastIndexOf(".")).toLowerCase()){case".txt":return"fa-file-text-o";case".doc":case".docx":return"fa-file-word-o";case".wav":case".mp3":case".aif":return"fa-file-audio-o";case".m4v":case".mov":case".mp4":case".avi":return"fa-file-video-o";case".jpg":case".jpeg":case".png":case".gif":case".bmp":case".tif":return"fa-file-image-o";case".xls":case".xlsx":return"fa-file-excel-o";case".ppt":case".pptx":return"fa-file-excel-o";case".pdf":return"fa-file-pdf-o";default:return"fa-file-o"}},a.onFileSelect=function(b){if(!(b.length<1)){var c=b[0],d=a.options.path;a.data={path:d,file:c},a.filename=c.name,a.fileUrl=null}},a.clear=function(b){b.preventDefault(),a.options.confirm&&!confirm("Are you sure you would like to clear the file?")||(a.data=null,a.filename=null,a.fileUrl=null)},b.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),b.on("dragover",function(a){a.preventDefault(),c.find(".file-drop").addClass("show")}),$(window).on("mouseleave",function(){c.find(".file-drop").removeClass("show")}),a.$on("$destroy",function(){b.off("drop"),b.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldImage",["dashboard.services.GeneralModel","dashboard.services.Image"]).directive("modelFieldImageView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldImageEdit",["$compile","$document","GeneralModelService","ImageService","SessionService","$timeout",function(a,b,c,d,e,f){"ngInject";return{restrict:"E",template:'
{{ uploadStatus }}
HTML5 Drop File is not supported!
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(a,e,g){var h=null;a.uploadStatus="Upload File";var i=a.$watch("data",function(b){if(b)if(i(),a.options&&a.options.model)c.get(a.options.model,b).then(function(b){b&&(a.imageUrl=b[a.options.urlKey],a.imageUrl||(a.imageUrl=b.mediumUrl),a.thumbnailUrl=a.imageUrl)});else if("string"==typeof b)if(a.imageUrl=b,a.thumbnailUrl=a.options.thumbnailUrl,a.thumbnailUrl){var d=new Image;d.onerror=function(){f(function(){a.thumbnailUrl=a.imageUrl})},d.src=a.thumbnailUrl}else a.thumbnailUrl=a.imageUrl;else"object"==typeof b&&(b.fileUrl&&(a.imageUrl=b.fileUrl),b.imageUrl&&(a.imageUrl=b.imageUrl),!a.imageUrl&&b.file&&j.readAsDataURL(b.file))}),j=new FileReader;j.onload=function(b){var c=a.options.path,e={path:c,file:h};a.modelData.__ModelFieldImageData||(a.modelData.__ModelFieldImageData={}),a.options&&a.options.urlKey?(a.modelData.__ModelFieldImageData[a.key]||(a.modelData.__ModelFieldImageData[a.key]={}),a.modelData.__ModelFieldImageData[a.key][a.options.urlKey]=e):a.modelData.__ModelFieldImageData[a.key]=e,d.fixOrientationWithDataURI(b.target.result,function(b,c){a.imageUrl=c,a.thumbnailUrl=c,e.file=a.dataURItoBlob(c),e.file.name=h.name,a.options&&a.options.export?(a.uploadStatus="Creatimg Image Sizes",a.exportImages(function(){a.uploadStatus="Upload File",a.$apply()})):a.options&&a.options.resize&&a.resizeImage(c,a.options.resize,function(a){e.file=a}),a.$apply()})},j.onerror=function(a){console.log(a)},a.clear=function(){a.options.confirm&&!confirm("Are you sure you would like to clear this photo?")||(a.data=null,a.modelData.__ModelFieldImageData&&a.modelData.__ModelFieldImageData[a.key]&&delete a.modelData.__ModelFieldImageData[a.key],delete a.imageUrl,delete a.thumbnailUrl)},a.onFileSelect=function(b){if(!(b.length<1)){h=b[0];var c=!1;a.options.extensions?a.options.extensions.forEach(function(a){h.type.match("image/"+a)&&(c=!0)}):c=!0,c?j.readAsDataURL(h):alert("File must be of the following file types ("+a.options.extensions.join(", ")+").")}},a.exportImages=function(b){var c=arguments[1];c||(c=0);var d=Object.keys(a.options.export);if(c>=d.length)return void b();var e=d[c],f=a.options.export[e];a.resizeImage(a.imageUrl,f,function(d){a.modelData.__ModelFieldImageData[a.key][e]=d,c++,a.exportImages(b,c)})},a.resizeImage=function(b,c,e){d.resize(b,c,function(b,c){e(a.dataURItoBlob(c))})},a.dataURItoBlob=function(a){var b;b=a.split(",")[0].indexOf("base64")>=0?atob(a.split(",")[1]):unescape(a.split(",")[1]);for(var c=a.split(",")[0].split(":")[1].split(";")[0],d=new Uint8Array(b.length),e=0;e
'),d=$('
');if(c.append(d),$("body").append(c),a.options.isLightbox){var e=Math.min(d.width()/b.width,d.height()/b.height),f=b.width*e,g=b.height*e;d.css({background:"no-repeat center center url("+a.imageUrl+")",backgroundSize:f+"px "+g+"px"})}else{var h=$('
'),i=$('
');d.append(h),d.append(i);var e=Math.min(h.width()/b.width,h.height()/b.height),j=b.width*e,k=b.height*e;h.css({background:"no-repeat center center url("+a.imageUrl+")",backgroundSize:j+"px "+k+"px"});var l=1;e=l;var m=b.width*e,n=b.height*e;i.css({background:"no-repeat center center url("+a.imageUrl+"), #111",backgroundSize:m+"px "+n+"px",border:"solid 1px #000"});var o="center",p="center",q=function(a){o=a.offsetX,p=a.offsetY,o||(o=a.pageX),p||(p=a.pageY),o-=h.width()/2-j/2,p-=h.height()/2-k/2,o*=-m/j,p*=-n/k,o+=i.width()/2,p+=i.height()/2,i.css({backgroundPosition:o+"px "+p+"px",backgroundSize:m+"px "+n+"px"})};h.on("mousemove",q),h.bind("mousewheel",function(a){var c=.01;a.originalEvent.wheelDelta/120>0&&e+c<=1.1*l?e+=c:e-c>=.1&&(e-=c),m=b.width*e,n=b.height*e,q(a)})}c.animate({backgroundColor:"rgba(0,0,0,0.65)"},600,function(){d.animate({opacity:1},300)}),d.click(function(){c.animate({opacity:0},300,function(){c.remove()})})},b.src=a.imageUrl}else{var c=e.find(".image-container");c.width()<=160?c.animate({width:"400px",height:"400px"},300):c.animate({width:"160px",height:"160px"},300)}},b.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),b.on("dragover",function(a){a.preventDefault(),e.find(".image-drop").addClass("show-upload"),e.find(".input[type=file]").addClass("show-upload"),e.find(".button-menu").addClass("hide-menu")}),$(window).on("mouseleave",function(){e.find(".image-drop").removeClass("show-upload"),e.find(".input[type=file]").removeClass("show-upload"),e.find(".button-menu").removeClass("hide-menu")}),a.$on("$destroy",function(){b.off("drop"),b.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldList",["dashboard.Config","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldListView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldListEdit",["$compile","$cookies","$timeout","Config","GeneralModelService",function(a,b,c,d,e){"ngInject";function f(a){return' '}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d){b.list||(b.list=[]),b.options.addLabel||(b.options.addLabel="Add Item"),b.sortableOptions={placeholder:"sortable-placeholder",update:self.updateData,disabled:b.disabled},b.setData=function(){"object"==b.options.output?b.data=b.list:b.data=JSON.stringify(b.list)},b.addItem=function(){b.list.push({}),b.setData()},b.removeItem=function(a){b.list[a];b.list.splice(a,1),b.setData()},b.updateData=function(){b.setData()};b.$watchCollection("[data, options, modelData]",function(a){if(b.data&&b.options)if(b.data instanceof Array)b.list=b.data;else try{b.list=JSON.parse(b.data)}catch(a){b.list=[],console.error("ModelFieldList failed to parse scope.data",a)}});c.html(f(b.options.key)).show(),a(c.contents())(b)}}}]),angular.module("dashboard.directives.ModelFieldLocation",["dashboard.services.Location","ui.bootstrap","dashboard.services.GeneralModel"]).directive("modelFieldLocationView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldLocationEdit",["$compile","$q","LocationService",function(a,b,c){"ngInject";function d(){var a=b.defer();if(angular.element("#google_maps").length)return a.resolve(),a.promise;var c=document.createElement("script");return c.onload=function(){a.resolve()},c.id="google_maps",c.type="text/javascript",c.src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places",document.getElementsByTagName("head")[0].appendChild(c),a.promise}function e(){return'
Loading your location...
{{geocodeError}}
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,f,g){function h(){b.isMapLoading=!1,b.isLoaded=!0,k=new google.maps.Map(angular.element("#map_canvas")[0],{center:b.location,zoom:12}),i()}function i(){j()}function j(){if(b.data)if(m){var a=new google.maps.LatLng(b.data.lat,b.data.lng);m.setPosition(a),m.setMap(k),k.setCenter(a)}else{var c="2F76EE";m=new google.maps.Marker({position:b.location,map:k,icon:new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|"+c,new google.maps.Size(21,34),new google.maps.Point(0,0),new google.maps.Point(10,34)),draggable:!0,tooltip:"Current location"}),google.maps.event.addListener(m,"dragend",function(){var a={lat:m.position.lat(),lng:m.position.lng()};b.data=a,b.$digest()})}}var k,l,m,n;b.isMapLoading=!0,b.isLoaded=!1,b.geocodeSearch={value:""},b.geocodeError=null,b.showGeocode=!1,d().then(function(){l=new google.maps.Geocoder,b.showGeocode=!1,b.property.display.options&&b.property.display.options.allowGeocode&&(b.showGeocode=!0);b.property.display.options&&b.property.display.options.query&&b.property.display.options.query,f.html(e()).show(),a(f.contents())(b),b.data?(n=b.data,b.location=angular.copy(b.data),h()):c.currentLocation().then(function(a){var c={lat:a.latitude,lng:a.longitude};n=c,b.data=c,h()}),b.$watch("data",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())}),b.$watch("data.lat",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())}),b.$watch("data.lng",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())})},function(){console.error("Error loading Google Maps")}),b.doGeocode=function(){b.geocodeError=null,b.geocodeSearch.value?l.geocode({address:b.geocodeSearch.value},function(a,c){c==google.maps.GeocoderStatus.OK?b.$apply(function(){var c={lat:a[0].geometry.location.lat(),lng:a[0].geometry.location.lng()};b.data=c,h()}):c===google.maps.GeocoderStatus.OVER_QUERY_LIMIT?console.log("Geocode was not successful for the following reason: "+c):c===google.maps.GeocoderStatus.ZERO_RESULTS?(b.geocodeError="Couldn't match the specified query with a geopoint",b.$digest(),console.log("Geocode was not successful for the following reason: "+c)):console.log("Geocode was not successful for the following reason:"+c)}):alert("Please enter the address of a location to geocode.")},b.clearSearch=function(){b.hasSearched=!1},b.revertValue=function(){n&&(b.data=n)}}}}]),angular.module("dashboard.directives.ModelFieldMultiSelect",[]).directive("modelFieldMultiSelect",["$compile",function(a){"ngInject";function b(){return'
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(c,d,e,f){function g(){c.multiSelectOptions=[],c.selected=[],k||(k={}),k.display||(k.display={}),h(),i(),c.clickMultiSelectCheckbox=j,d.html(b()).show(),a(d.contents())(c)}function h(){var a=c.options||k.display.options;"string"==typeof a&&(a=a.indexOf("\n")>-1?a.split("\n"):a.split(","));var b=k.display.key||"key",d=k.display.value||"value";if(Array.isArray(a))for(var e in a){var f=a[e];if("string"==typeof f){var g={key:f,value:f};c.multiSelectOptions.push(g)}else if(f&&"object"==typeof f){var h=f[b]||e,g={key:h,value:f[d],item:f};c.multiSelectOptions.push(g)}}else if(a&&"object"==typeof a){var i=Object.keys(a);for(var j in i){var h=i[j],g={key:h,value:a[h]};c.multiSelectOptions.push(g)}}}function i(){if(void 0===k.display.output){var a=c.options||k.display.options;k.display.output=a instanceof Array?"comma":"object"}if("string"==typeof c.data){c.data||(c.data="");var b=c.data.split('","');for(var d in b){var e=b[d];'"'==e[0]&&(e=e.substring(1,e.length)),'"'==e[e.length-1]&&(e=e.substring(0,e.length-1));var f=_.findIndex(c.multiSelectOptions,{key:e});f>-1&&(c.selected[f]=!0)}}else if(Array.isArray(c.data)){c.data||(c.data=[]);for(var d in c.data){var g=c.data[d],f=_.findIndex(c.multiSelectOptions,{key:g});f>-1&&(c.selected[f]=!0)}}else if(c.data&&"object"==typeof c.data){c.data||(c.data={});var h=Object.keys(c.data);for(var i in h){var j=h[i],f=_.findIndex(c.multiSelectOptions,{key:j});f>-1&&(c.selected[f]=!0)}}}function j(a,b){var d="array"===k.display.output?[]:"object"===k.display.output?{}:"";for(var e in c.selected)if(c.selected[e]){var f=c.multiSelectOptions[e];switch(k.display.output){case"object":d[f.key]=f.value;break;case"comma":d+='"'+f.key+'",';break;case"array":d.push(b.item||b.key)}}"comma"===k.display.output&&d.length>0&&(d=d.substring(0,d.length-1)),c.data=d}var k=c.property;g()}}}]),angular.module("dashboard.directives.ModelFieldNumber",[]).directive("modelFieldNumber",["$compile","$filter",function(a,b){"ngInject";function c(){return''}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled",required:"=ngRequired",ngError:"&"},link:function(d,e,f,g){function h(){k||(k={}),k.display||(k.display={}),void 0===k.display.scaleValue&&(k.display.scaleValue=0),d.checkNumber=i,d.validateAndParseNumbers=j,k.display.allowDecimal===!0&&(d.data=b("decimalWithScale")(d.data,k.display.scaleValue)),e.html(c()).show(),a(e.contents())(d)}function i(a){var b=0;if(document.selection){var c=document.selection.createRange();c.moveStart("character",-a.target.value.length),b=c.text.length}else(a.target.selectionStart||0===a.target.selectionStart)&&(b=a.target.selectionStart);var d=a.target.value;if("string"==typeof d){var e=d.indexOf(".");if(!(e===-1||e>=b)){var f=d.split(".");if(!(f.length<1))return f[1].length>=k.display.scaleValue?void a.preventDefault():void 0}}}function j(a){if((""===a.target.value||null===a.target.value)&&!a.target.validity.badInput)return void(d.ngError&&k.display.isRequired?d.ngError({error:new Error("This is a required field.")}):d.ngError&&d.ngError({error:null}));if(k.display.allowDecimal===!0){var c=b("decimalWithScale")(a.target.value,k.display.scaleValue);if(isNaN(c)&&d.ngError)return void d.ngError({error:new Error("Please enter a valid integer")});d.data=c}else if(k.display.allowDecimal===!1){if(isNaN(_.round(a.target.value))||isNaN(parseInt(a.target.value)))return void(d.ngError&&d.ngError({error:new Error("Please enter a valid integer")}));var e=_.round(a.target.value,0);d.data=e}if(!isNaN(parseFloat(a.target.value))){if(void 0!==k.display.minValue&&k.display.minValue>parseFloat(a.target.value))return void(d.ngError&&d.ngError({error:new Error("Value is less than the minimum allowed value ("+k.display.minValue+").")}));if(void 0!==k.display.maxValue&&k.display.maxValue{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldPointsOfInterestEdit",["$compile","$cookies","$timeout","$modal","$http","$q","$window","Config","GeneralModelService","LocationService",function(a,b,c,d,e,f,g,h,i,j){"ngInject";function k(a){var b=f.defer();if(angular.element("#google_maps").length)return b.resolve(),b.promise;var c=document.createElement("script");return c.onload=function(){b.resolve()},c.id="google_maps",c.type="text/javascript",c.src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places",a&&(c.src+="&key="+a),document.getElementsByTagName("head")[0].appendChild(c),b.promise}function l(a){return a.replace(/ /g,"_").toLowerCase()}function m(){return' \t\t\t
Search results are loading...
\t\t\t
\t\t\t \t\t\t \t\t\t\t\t\t\t\t\t \t\t\t{{searchError}}\t\t\t\t\t\t \t\t\t
\t\t\t
    \t\t\t\t
  • \t\t\t\t\t
    {{ $index + 1 }}. {{ item.name }}
    \t\t\t\t\t\t{{item.formatted_address}} \t\t\t\t\t
    \t\t\t\t\t\t \t\t\t\t\t\t \t\t\t\t\t
    \t\t\t\t
  • \t\t\t
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d){function e(){b.isMapLoading=!1,b.isLoaded=!0,q=new google.maps.Map(document.getElementById("map_canvas"),{center:b.request.location,zoom:s}),f()}function f(){g()}function g(){b.clearSearch();var a=jQuery.extend(!0,{},b.request);a.radius=.5*a.radius,new google.maps.places.PlacesService(q).textSearch(a,function(a,c){c==google.maps.places.PlacesServiceStatus.OK?(h(a),b.boundaries.length>0&&p(),b.markers.length>0&&i(),j(),n(),o(),b.$digest()):console.log("search was not successful for the following reason: "+c)})}function h(a){u&&u.close();for(var c=0;c{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldReferenceEdit",["$compile","$cookies","Config","GeneralModelService",function($compile,$cookies,Config,GeneralModelService){"ngInject";function getTemplate(a,b,c){return a?' '+b+' '+c+" ":' '+b+' '+c+" "}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled",rowData:"=ngRowData",textOutputPath:"=ngTextOutputPath",onModelChanged:"&onModelChanged",appendToBody:"=appendToBody"},link:function(scope,element,attrs){function replaceSessionVariables(string){if("string"!=typeof string)return string;try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for string");break} -var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}function mergeArray(a,b){for(var c in a){var d=a[c];b.indexOf(d)==-1&&b.push(d)}}function assignJunctionMeta(){if(scope.options.junctionMeta)for(var a in scope.selected.items){var b=scope.selected.items[a];b.junctionMeta=scope.options.junctionMeta}}scope.moment=moment,scope.isFirstTimeLoad=!0,scope.selected={},scope.selected.items=[],scope.selected.item=null,scope.list=[],scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c,{preventCancel:!0}).then(function(a){if(a){if(scope.list=a,scope.options.allowInsert){var b={};b[scope.options.searchField]="[Add New Item]",scope.list.push(b)}if(scope.options.allowClear){var b={};b[scope.options.searchField]="[clear]",scope.list.unshift(b)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){if(scope.modelData&&scope.modelData&&scope.options&&scope.options.multiple){if(!scope.property.display.sourceModel)return unwatch(),void(scope.modelData[scope.property.display.options.relationship]&&(scope.selected.items=scope.modelData[scope.property.display.options.relationship],assignJunctionMeta(),scope.list=scope.selected.items));var b=Config.serverParams.models[scope.property.display.sourceModel],c=Config.serverParams.models[scope.options.model],d=b.plural,e=(c.plural,scope.modelData[scope.property.display.sourceKey]);if(!e)return;unwatch();var f={};if(scope.options.junctionMeta){var g=Object.keys(scope.options.junctionMeta);for(var h in g){var i=g[h];f["filter[where]["+i+"]"]=scope.options.junctionMeta[i]}}GeneralModelService.getMany(d,e,scope.options.relationship,f,{preventCancel:!0}).then(function(a){if(a)if(scope.options.api&&a.length>0){var b={filter:{where:{}}};b.filter.where[scope.options.key]={inq:[]};for(var c in a){var d=a[c];b.filter.where[scope.options.key].inq.push(d[scope.options.key])}apiPath=replaceSessionVariables(scope.options.api),GeneralModelService.list(apiPath,b,{preventCancel:!0}).then(function(a){a&&(scope.selected.items=a,assignJunctionMeta(),scope.list=a)})}else scope.selected.items=a,assignJunctionMeta(),scope.list=a})}else if(scope.data&&scope.options&&scope.options.model){var j=Config.serverParams.models[scope.options.model];GeneralModelService.get(j.plural,scope.data).then(function(a){a&&(scope.selected.item=a,assignJunctionMeta(),scope.list=[scope.selected.item],scope.onModelChanged&&scope.onModelChanged({$item:scope.selected.item}))},function(a){if(scope.options.allowInsert){var b={};b[scope.options.key]=scope.data,b[scope.options.searchField]=scope.data,scope.selected.item=b,assignJunctionMeta(),scope.list.push(b)}})}});scope.onSelect=function(a,b){if(scope.options.multiple){if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.key]=c}assignJunctionMeta(),scope.modelData[scope.options.relationship]?mergeArray(scope.selected.items,scope.modelData[scope.options.relationship]):scope.modelData[scope.options.relationship]=scope.selected.items}else{scope.data=a[scope.options.key],scope.rowData&&(scope.rowData[scope.options.key]=scope.data),scope.$emit("onModelFieldReferenceSelect",scope.modelData,scope.key,a);var d=a[scope.options.searchField];if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();scope.data=c;var e={};e[scope.options.key]=c,e[scope.options.searchField]=c,scope.selected.item=e,scope.list.push(e)}else a&&"[clear]"==a[scope.options.searchField]&&(scope.data=null,d="");if(scope.rowData&&scope.textOutputPath&&a[scope.options.searchField])if(scope.textOutputPath.indexOf(".")>-1){for(var f=scope.textOutputPath.split("."),g=scope.rowData,h=0;h-1&&(scope.selected.items.splice(c,1),assignJunctionMeta()),scope.modelData[scope.options.relationship]){if(scope.options.key&&a[scope.options.key]){var d={};d[scope.options.key]=a[scope.options.key];var c=_.findIndex(scope.modelData[scope.options.relationship],d);c>-1&&scope.modelData[scope.options.relationship].splice(c,1)}var c=scope.modelData[scope.options.relationship].indexOf(a);c>-1&&scope.modelData[scope.options.relationship].splice(c,1),mergeArray(scope.selected.items,scope.modelData[scope.options.relationship])}else scope.modelData[scope.options.relationship]=scope.selected.items}else scope.data=null},scope.$on("ngGridEventStartCellEdit",function(){element.find("button").trigger("click"),element.find("input.ui-select-search").focus()}),element.html(getTemplate(scope.options.multiple,scope.options.matchTemplate,scope.options.choiceTemplate)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldReferenceSort",["dashboard.Config","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldReferenceSortView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldReferenceSortEdit",["$compile","$cookies","$timeout","Config","GeneralModelService",function($compile,$cookies,$timeout,Config,GeneralModelService){"ngInject";function getTemplate(a,b,c,d){var e="(index, item) in selectedList";return d||(e+=" track by item."+a),' '+b+' '+c+'
  • '+c+'
'}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(scope,element,attrs){function replaceSessionVariables(string){if("string"!=typeof string)return string;try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for string");break}var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}scope.selected={},scope.selected.item=null,scope.list=[],scope.selectedList=[],scope.sortableOptions={placeholder:"sortable-placeholder",disabled:scope.disabled},scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c).then(function(a){if(a){scope.list=a;for(var b in scope.selectedList){var c=scope.selectedList[b],d={};d[scope.options.key]=c[scope.options.key];var e=_.find(scope.list,d);e&&scope.list.splice(scope.list.indexOf(e),1)}if(scope.options.allowInsert){var f={};f[scope.options.searchField]=scope.options.insertText?scope.options.insertText:"[Add New Item]",scope.list.push(f)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){scope.data&&scope.options&&scope.options.model&&(unwatch(),scope.selectedList=scope.data)});scope.onSelect=function(a,b){if(scope.$emit("onModelFieldReferenceSortSelect",scope.modelData,scope.key,a),!a[scope.options.key]&&a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.options.key]=c,a[scope.options.searchField]=c}_.find(scope.selectedList,function(b){return b[scope.options.key]===a[scope.options.key]||b.name&&a.name&&b.name.toLowerCase()===a.name.toLowerCase()})||(scope.selectedList.push(a),scope.data=scope.selectedList),$timeout(function(){delete scope.selected.item})},scope.removeItem=function(a){var b=scope.selectedList[a];scope.selectedList.splice(a,1),scope.list.push(b)},element.html(getTemplate(scope.options.key,scope.options.matchTemplate,scope.options.choiceTemplate,scope.options.allowInsert)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldVideo",["dashboard.services.GeneralModel"]).directive("modelFieldVideoView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldVideoEdit",["$sce","$compile","$document","GeneralModelService","SessionService",function(a,b,c,d,e){"ngInject";return{restrict:"E",template:'
Upload a Video File
{{ uploadStatus }}
HTML5 Drop File is not supported!
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(b,d,e){var f=null;b.uploadStatus="Upload File";var g=b.$watch("data",function(c){c&&(g(),"string"==typeof c?b.videoUrl=a.trustAsResourceUrl(c):"object"==typeof c&&(c.fileUrl&&(b.videoUrl=a.trustAsResourceUrl(c.fileUrl)),c.videoUrl&&(b.videoUrl=a.trustAsResourceUrl(c.videoUrl))))}),h=new FileReader;h.onload=function(c){b.videoUrl=a.trustAsResourceUrl(c.target.result),b.$apply()},h.onerror=function(a){console.error(a)},b.clear=function(){b.data=null,delete b.videoUrl},b.onFileSelect=function(a){if(!(a.length<1)){f=a[0];var c=b.options.path;b.data={path:c,file:f},h.readAsDataURL(f)}},c.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),c.on("dragover",function(a){a.preventDefault(),d.find(".image-drop").addClass("show-upload"),d.find(".input[type=file]").addClass("show-upload"),d.find(".button-menu").addClass("hide-menu")}),$(window).on("mouseleave",function(){d.find(".image-drop").removeClass("show-upload"),d.find(".input[type=file]").removeClass("show-upload"),d.find(".button-menu").removeClass("hide-menu")}),b.$on("$destroy",function(){c.off("drop"),c.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldWYSIWYG",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldWysiwygView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldWysiwygEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(a){var b="";if(a.options&&a.options.fonts)for(var c=a.options.fonts,d=0;d"+c[d]+"";return'
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,e,h){function i(){b.isEditingCode=!1,b.toggleDropdown=l,b.onFileSelect=m,b.toggleCodeEdit=n,c.html(g(b)).show(),a(c.contents())(b),j(),k(),p=ace.edit(c.find(".code-editor")[0]),p.getSession().setMode("ace/mode/html"),$(c).find(".wysiwyg-toolbar [data-role=magic-overlay]").each(function(){var a=$(this);$(a.data("target"));a.css({opacity:0,position:"absolute",width:"40px",height:"34px",top:"0",left:"0"})}),h.$render=function(){o.html(h.$viewValue||"")},o.bind("blur keyup change",function(){b.$apply(function(){h.$setViewValue(o.html())})}),p.on("blur",function(){h.$setViewValue(p.getValue()),o.html(h.$viewValue)})}function j(){var a=$(".wysiwyg-editor"),d=0;a&&a.length>0&&(d=a.length),o=angular.element(c).find(".wysiwyg-editor");var e="wysiwyg-editor-"+d,f="editor"+d+"-toolbar";o.attr("id",e);var g=angular.element(c).find(".wysiwyg-toolbar");g.attr("data-role",f),g.attr("data-target","#"+e),b.disabled||o.wysiwyg({toolbarSelector:"[data-role="+f+"]",hotKeys:{},dragAndDropImages:!1})}function k(){var a=angular.element(c).find(".font-color-picker");a&&a.spectrum({flat:!0,cancelText:"",clickoutFiresChange:!1,preferredFormat:"rgb",showInput:!0,change:function(a){$(this).closest(".dropdown").find(".color-sample").css({backgroundColor:a.toHexString()}),o.focus(),document.execCommand("foreColor",0,a.toHexString()),$(this).parent(".menu").removeClass("open")}})}function l(a){var b=$(a.currentTarget).parent().find(".menu");b.hasClass("open")?b.removeClass("open"):b.addClass("open")}function m(a){if(b.options.allowImageUpload&&0!=a.length){b.status="Uploading Image",b.progress=0;var c=d.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:b});f.uploadFile(a[0],b.options.imagePath).then(function(a){b.status="Upload Complete",document.execCommand("insertimage",0,a.fileUrl),c.close()},function(a){console.error(a),b.status="There was an error uploading the image. Please contact an Administrator."},function(a){b.progress=a})}}function n(){if(b.isEditingCode=!b.isEditingCode,b.isEditingCode){var a=o[0].innerHTML;a=html_beautify(a,{indent_size:2}),h.$setViewValue(a),p.setValue(a)}else h.$setViewValue(p.getValue()),o.html(h.$viewValue)}var o,p;i()}}}]),angular.module("dashboard.directives",[]),angular.module("dashboard.filters",[]).filter("decimalWithScale",function(){"ngInject";return function(a,b){if(void 0===a)return"";value=a+"";var c=value.indexOf(".");c===-1?value+=".0":0===c&&(value="0"+value);var d=value.split(".");if(d.length>1){if(d[0]&&0!==d[0].length||(d[0]=0),isNaN(parseInt(d[0])))return NaN;if(value=parseInt(d[0])+".",null!==d[1].match(/[\D]/))return NaN;if(d[1].length>b?value+=d[1].substring(0,b):value+=d[1],d[1].length0){var f=this.restrictMenuItems(e.subnav);if(f&&(e.subnav=f,null!==e.defaultSubNavIndex&&void 0!==e.defaultSubNavIndex&&e.subnav[e.defaultSubNavIndex]&&e.subnav[e.defaultSubNavIndex].hidden))for(var g in e.subnav){var h=e.subnav[g];if(c.hasAccess(d,h)&&!h.hidden){e.defaultSubNavIndex=parseInt(g);break}}}}else e.hidden=!0}return a},this.hasAccess=function(a,b){if(!(b.hasOwnProperty("roles")&&b.roles instanceof Array))return!0;for(var c in a)if(b.roles.indexOf(a[c].name)>-1)return!0;return!1}}]),angular.module("dashboard.services.FileUpload",["dashboard.Config","dashboard.Utils","ngCookies","angularFileUpload"]).service("FileUploadService",["$cookies","$q","$upload","Config","Utils",function(a,b,c,d,e){"ngInject";var f=this;this.getS3Credentials=function(b,c){var f={access_token:a.get("accessToken"),path:b,fileType:c,r:(new Date).getTime()};return e.apiHelper("GET",d.serverParams.cmsBaseUrl+"/aws/s3/credentials",f)},this.getFileUploadData=function(a){return{key:a.uniqueFilePath,AWSAccessKeyId:a.AWSAccessKeyId,acl:"public-read",policy:a.policy,signature:a.signature,success_action_status:"201","Cache-Control":"max-age=31536000"}},this.uploadFile=function(a,d){("string"==typeof a||a instanceof String&&0==a.indexOf("data:"))&&(a=f.dataURItoBlob(a));var e="";a.type?e=a.type:a.name&&(e=f.detectMimeTypeByExt(a.name));var g=b.defer();return f.getS3Credentials(d,e?e:"").then(function(b){c.upload({url:b.uploadUrl,method:"POST",data:f.getFileUploadData(b),file:a}).progress(function(b){var c=b.position/a.size;g.notify(c)}).success(function(b){var c,d=(new DOMParser).parseFromString(b,"text/xml");try{c=d.evaluate("/PostResponse/Location",d,null,XPathResult.STRING_TYPE,null).stringValue}catch(a){for(var e=d.documentElement.childNodes,f=0;f0)return d++,e=0,void f.uploadImages(a,d,e,h,i);l=r}else{var s=Object.keys(r);if(e>=s.length)return d++,e=0,void f.uploadImages(a,d,e,h,i);k=s[e],r[k]&&r[k].file?(g=r[k].path,l=r[k].file):l=r[k]}h||(h={});for(var o=0;o=0?atob(a.split(",")[1]):unescape(a.split(",")[1]);for(var c=a.split(",")[0].split(":")[1].split(";")[0],d=new Uint8Array(b.length),e=0;e0){var b=a.split(".").pop();if(b.length>0){return{"3dm":"x-world/x-3dmf","3dmf":"x-world/x-3dmf",a:"application/octet-stream",aab:"application/x-authorware-bin",aam:"application/x-authorware-map",aas:"application/x-authorware-seg",abc:"text/vnd.abc",acgi:"text/html",afl:"video/animaflex",ai:"application/postscript",aif:"audio/aiff",aifc:"audio/aiff",aiff:"audio/aiff",aim:"application/x-aim",aip:"text/x-audiosoft-intra",ani:"application/x-navi-animation",aos:"application/x-nokia-9000-communicator-add-on-software",aps:"application/mime",arc:"application/octet-stream",arj:"application/arj",art:"image/x-jg",asf:"video/x-ms-asf",asm:"text/x-asm",asp:"text/asp",asx:"application/x-mplayer2",au:"audio/basic",avi:"application/x-troff-msvideo",avs:"video/avs-video",bcpio:"application/x-bcpio",bin:"application/mac-binary",bm:"image/bmp",bmp:"image/bmp",boo:"application/book",book:"application/book",boz:"application/x-bzip2",bsh:"application/x-bsh",bz:"application/x-bzip",bz2:"application/x-bzip2",c:"text/plain","c++":"text/plain",cat:"application/vnd.ms-pki.seccat",cc:"text/plain",ccad:"application/clariscad",cco:"application/x-cocoa",cdf:"application/cdf",cer:"application/pkix-cert",cha:"application/x-chat",chat:"application/x-chat",class:"application/java",com:"application/octet-stream",conf:"text/plain",cpio:"application/x-cpio",cpp:"text/x-c",cpt:"application/mac-compactpro",crl:"application/pkcs-crl",crt:"application/pkix-cert",csh:"application/x-csh",css:"application/x-pointplus",cxx:"text/plain",dcr:"application/x-director",deepv:"application/x-deepv",def:"text/plain",der:"application/x-x509-ca-cert",dif:"video/x-dv",dir:"application/x-director",dl:"video/dl",doc:"application/msword",dot:"application/msword",dp:"application/commonground",drw:"application/drafting",dump:"application/octet-stream",dv:"video/x-dv",dvi:"application/x-dvi",dwf:"drawing/x-dwf (old)",dwg:"application/acad",dxf:"application/dxf",dxr:"application/x-director",el:"text/x-script.elisp",elc:"application/x-bytecode.elisp (compiled elisp)",env:"application/x-envoy",eps:"application/postscript",es:"application/x-esrehber",etx:"text/x-setext",evy:"application/envoy",exe:"application/octet-stream",f:"text/plain",f77:"text/x-fortran",f90:"text/plain",fdf:"application/vnd.fdf",fif:"application/fractals",fli:"video/fli",flo:"image/florian",flx:"text/vnd.fmi.flexstor",fmf:"video/x-atomic3d-feature",for:"text/plain",fpx:"image/vnd.fpx",frl:"application/freeloader",funk:"audio/make",g:"text/plain",g3:"image/g3fax",gif:"image/gif",gl:"video/gl",gsd:"audio/x-gsm",gsm:"audio/x-gsm",gsp:"application/x-gsp",gss:"application/x-gss",gtar:"application/x-gtar",gz:"application/x-compressed",gzip:"application/x-gzip",h:"text/plain",hdf:"application/x-hdf",help:"application/x-helpfile",hgl:"application/vnd.hp-hpgl",hh:"text/plain",hlb:"text/x-script",hlp:"application/hlp",hpg:"application/vnd.hp-hpgl",hpgl:"application/vnd.hp-hpgl",hqx:"application/binhex",hta:"application/hta",htc:"text/x-component",htm:"text/html",html:"text/html",htmls:"text/html",htt:"text/webviewhtml",htx:"text/html",ice:"x-conference/x-cooltalk",ico:"image/x-icon",idc:"text/plain",ief:"image/ief",iefs:"image/ief",iges:"application/iges",igs:"application/iges",ima:"application/x-ima",imap:"application/x-httpd-imap",inf:"application/inf",ins:"application/x-internett-signup",ip:"application/x-ip2",isu:"video/x-isvideo",it:"audio/it",iv:"application/x-inventor",ivr:"i-world/i-vrml",ivy:"application/x-livescreen",jam:"audio/x-jam",jav:"text/plain",java:"text/plain",jcm:"application/x-java-commerce",jfif:"image/jpeg","jfif-tbnl":"image/jpeg",jpe:"image/jpeg",jpeg:"image/jpeg",jpg:"image/jpeg",jps:"image/x-jps",js:"application/x-javascript",jut:"image/jutvision",kar:"audio/midi",ksh:"application/x-ksh",la:"audio/nspaudio",lam:"audio/x-liveaudio",latex:"application/x-latex",lha:"application/lha",lhx:"application/octet-stream",list:"text/plain",lma:"audio/nspaudio",log:"text/plain",lsp:"application/x-lisp",lst:"text/plain",lsx:"text/x-la-asf",ltx:"application/x-latex",lzh:"application/octet-stream",lzx:"application/lzx",m:"text/plain",m1v:"video/mpeg",m2a:"audio/mpeg",m2v:"video/mpeg",m3u:"audio/x-mpequrl",man:"application/x-troff-man",map:"application/x-navimap",mar:"text/plain",mbd:"application/mbedlet", -mc$:"application/x-magic-cap-package-1.0",mcd:"application/mcad",mcf:"image/vasa",mcp:"application/netmc",me:"application/x-troff-me",mht:"message/rfc822",mhtml:"message/rfc822",mid:"application/x-midi",midi:"application/x-midi",mif:"application/x-frame",mime:"message/rfc822",mjf:"audio/x-vnd.audioexplosion.mjuicemediafile",mjpg:"video/x-motion-jpeg",mm:"application/base64",mme:"application/base64",mod:"audio/mod",moov:"video/quicktime",mov:"video/quicktime",movie:"video/x-sgi-movie",mp2:"audio/mpeg",mp3:"audio/mpeg3",mpa:"audio/mpeg",mpc:"application/x-project",mpe:"video/mpeg",mpeg:"video/mpeg",mpg:"audio/mpeg",mpga:"audio/mpeg",mpp:"application/vnd.ms-project",mpt:"application/x-project",mpv:"application/x-project",mpx:"application/x-project",mrc:"application/marc",ms:"application/x-troff-ms",mv:"video/x-sgi-movie",my:"audio/make",mzz:"application/x-vnd.audioexplosion.mzz",nap:"image/naplps",naplps:"image/naplps",nc:"application/x-netcdf",ncm:"application/vnd.nokia.configuration-message",nif:"image/x-niff",niff:"image/x-niff",nix:"application/x-mix-transfer",nsc:"application/x-conference",nvd:"application/x-navidoc",o:"application/octet-stream",oda:"application/oda",omc:"application/x-omc",omcd:"application/x-omcdatamaker",omcr:"application/x-omcregerator",p:"text/x-pascal",p10:"application/pkcs10",p12:"application/pkcs-12",p7a:"application/x-pkcs7-signature",p7c:"application/pkcs7-mime",p7m:"application/pkcs7-mime",p7r:"application/x-pkcs7-certreqresp",p7s:"application/pkcs7-signature",part:"application/pro_eng",pas:"text/pascal",pbm:"image/x-portable-bitmap",pcl:"application/vnd.hp-pcl",pct:"image/x-pict",pcx:"image/x-pcx",pdb:"chemical/x-pdb",pdf:"application/pdf",pfunk:"audio/make",pgm:"image/x-portable-graymap",pic:"image/pict",pict:"image/pict",pkg:"application/x-newton-compatible-pkg",pko:"application/vnd.ms-pki.pko",pl:"text/plain",plx:"application/x-pixclscript",pm:"image/x-xpixmap",pm4:"application/x-pagemaker",pm5:"application/x-pagemaker",png:"image/png",pnm:"application/x-portable-anymap",pot:"application/mspowerpoint",pov:"model/x-pov",ppa:"application/vnd.ms-powerpoint",ppm:"image/x-portable-pixmap",pps:"application/mspowerpoint",ppt:"application/mspowerpoint",ppz:"application/mspowerpoint",pre:"application/x-freelance",prt:"application/pro_eng",ps:"application/postscript",psd:"application/octet-stream",pvu:"paleovu/x-pv",pwz:"application/vnd.ms-powerpoint",py:"text/x-script.phyton",pyc:"application/x-bytecode.python",qcp:"audio/vnd.qcelp",qd3:"x-world/x-3dmf",qd3d:"x-world/x-3dmf",qif:"image/x-quicktime",qt:"video/quicktime",qtc:"video/x-qtc",qti:"image/x-quicktime",qtif:"image/x-quicktime",ra:"audio/x-pn-realaudio",ram:"audio/x-pn-realaudio",ras:"application/x-cmu-raster",rast:"image/cmu-raster",rexx:"text/x-script.rexx",rf:"image/vnd.rn-realflash",rgb:"image/x-rgb",rm:"application/vnd.rn-realmedia",rmi:"audio/mid",rmm:"audio/x-pn-realaudio",rmp:"audio/x-pn-realaudio",rng:"application/ringing-tones",rnx:"application/vnd.rn-realplayer",roff:"application/x-troff",rp:"image/vnd.rn-realpix",rpm:"audio/x-pn-realaudio-plugin",rt:"text/richtext",rtf:"application/rtf",rtx:"application/rtf",rv:"video/vnd.rn-realvideo",s:"text/x-asm",s3m:"audio/s3m",saveme:"application/octet-stream",sbk:"application/x-tbook",scm:"application/x-lotusscreencam",sdml:"text/plain",sdp:"application/sdp",sdr:"application/sounder",sea:"application/sea",set:"application/set",sgm:"text/sgml",sgml:"text/sgml",sh:"application/x-bsh",shar:"application/x-bsh",shtml:"text/html",sid:"audio/x-psid",sit:"application/x-sit",skd:"application/x-koan",skm:"application/x-koan",skp:"application/x-koan",skt:"application/x-koan",sl:"application/x-seelogo",smi:"application/smil",smil:"application/smil",snd:"audio/basic",sol:"application/solids",spc:"application/x-pkcs7-certificates",spl:"application/futuresplash",spr:"application/x-sprite",sprite:"application/x-sprite",src:"application/x-wais-source",ssi:"text/x-server-parsed-html",ssm:"application/streamingmedia",sst:"application/vnd.ms-pki.certstore",step:"application/step",stl:"application/sla",stp:"application/step",sv4cpio:"application/x-sv4cpio",sv4crc:"application/x-sv4crc",svf:"image/vnd.dwg",svr:"application/x-world",swf:"application/x-shockwave-flash",t:"application/x-troff",talk:"text/x-speech",tar:"application/x-tar",tbk:"application/toolbook",tcl:"application/x-tcl",tcsh:"text/x-script.tcsh",tex:"application/x-tex",texi:"application/x-texinfo",texinfo:"application/x-texinfo",text:"application/plain",tgz:"application/gnutar",tif:"image/tiff",tiff:"image/tiff",tr:"application/x-troff",tsi:"audio/tsp-audio",tsp:"application/dsptype",tsv:"text/tab-separated-values",turbot:"image/florian",txt:"text/plain",uil:"text/x-uil",uni:"text/uri-list",unis:"text/uri-list",unv:"application/i-deas",uri:"text/uri-list",uris:"text/uri-list",ustar:"application/x-ustar",uu:"application/octet-stream",uue:"text/x-uuencode",vcd:"application/x-cdlink",vcs:"text/x-vcalendar",vda:"application/vda",vdo:"video/vdo",vew:"application/groupwise",viv:"video/vivo",vivo:"video/vivo",vmd:"application/vocaltec-media-desc",vmf:"application/vocaltec-media-file",voc:"audio/voc",vos:"video/vosaic",vox:"audio/voxware",vqe:"audio/x-twinvq-plugin",vqf:"audio/x-twinvq",vql:"audio/x-twinvq-plugin",vrml:"application/x-vrml",vrt:"x-world/x-vrt",vsd:"application/x-visio",vst:"application/x-visio",vsw:"application/x-visio",w60:"application/wordperfect6.0",w61:"application/wordperfect6.1",w6w:"application/msword",wav:"audio/wav",wb1:"application/x-qpro",wbmp:"image/vnd.wap.wbmp",web:"application/vnd.xara",wiz:"application/msword",wk1:"application/x-123",wmf:"windows/metafile",wml:"text/vnd.wap.wml",wmlc:"application/vnd.wap.wmlc",wmls:"text/vnd.wap.wmlscript",wmlsc:"application/vnd.wap.wmlscriptc",word:"application/msword",wp:"application/wordperfect",wp5:"application/wordperfect",wp6:"application/wordperfect",wpd:"application/wordperfect",wq1:"application/x-lotus",wri:"application/mswrite",wrl:"application/x-world",wrz:"model/vrml",wsc:"text/scriplet",wsrc:"application/x-wais-source",wtk:"application/x-wintalk",xbm:"image/x-xbitmap",xdr:"video/x-amt-demorun",xgz:"xgl/drawing",xif:"image/vnd.xiff",xl:"application/excel",xla:"application/excel",xlb:"application/excel",xlc:"application/excel",xld:"application/excel",xlk:"application/excel",xll:"application/excel",xlm:"application/excel",xls:"application/excel",xlt:"application/excel",xlv:"application/excel",xlw:"application/excel",xm:"audio/xm",xml:"application/xml",xmz:"xgl/movie",xpix:"application/x-vnd.ls-xpix",xpm:"image/x-xpixmap","x-png":"image/png",xsr:"video/x-amt-showrun",xwd:"image/x-xwd",xyz:"chemical/x-pdb",z:"application/x-compress",zip:"application/x-compressed",zoo:"application/octet-stream",zsh:"text/x-script.zsh"}[b]}}return""}}]),angular.module("dashboard.services.GeneralModel",["dashboard.services.FileUpload","dashboard.Config","dashboard.Utils","ngCookies"]).service("GeneralModelService",["$cookies","$q","Config","Utils","FileUploadService",function($cookies,$q,Config,Utils,FileUploadService){"ngInject";var self=this;this.list=function(a,b,c){var a=a+(a.indexOf("?")>-1?"&":"?")+"access_token="+$cookies.get("accessToken");return c&&c.preventCancel||Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.count=function(a,b){a.indexOf("?")>-1&&(a=a.substr(0,a.indexOf("?")));var c=Object.keys(b);for(var d in c){var e=c[d];e.indexOf("filter[where]")>-1?(newKey=e.replace("filter[where]","where"),b[newKey]=b[e]):"filter"==e&&(b.where=b.filter.where)}return a=a+"/count?access_token="+$cookies.get("accessToken"),Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.get=function(a,b,c){var d=a+"/"+b+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("GET",d,c)},this.getMany=function(a,b,c,d,e){var f=a+"/"+b+"/"+c,g=f+"?access_token="+$cookies.get("accessToken");return e&&e.preventCancel||Utils.apiCancel("GET",g),Utils.apiHelper("GET",g,d)},this.sort=function(a,b,c,d){var e=Config.serverParams.cmsBaseUrl+"/model/sort?access_token="+$cookies.accessToken,f={model:a,key:b,sortField:c,sortData:d};return Utils.apiHelper("POST",e,f)},this.remove=function(a,b){var c=a;return b&&(c=c+"/"+b),c+="?access_token="+$cookies.get("accessToken"),Utils.apiHelper("DELETE",c,{})},this.post=function(a,b){var c=a+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("POST",c,b)},this.save=function(a,b,c){var d=Config.serverParams.cmsBaseUrl+"/model/save";return c.__model=a,c.__id=b,c.__accessToken=$cookies.get("accessToken"),Utils.apiHelper("PUT",d,c)},this.saveWithFiles=function(a,b,c){var d=Config.serverParams.models[a],e=$q.defer(),f=function(a){var b=0,d=Object.keys(c),f=function(){if(b>=d.length)return void a();var g=d[b],h=c[g];h&&"object"==typeof h&&h.file?(e.notify({message:"Uploading file: "+h.file.name}),FileUploadService.uploadFile(h.file,h.path).then(function(a){c[g]=a.fileUrl,b++,f()},function(a){"object"==typeof a&&a.error?e.reject("The file being uploaded is not an accepted file type for this patient form. Please contact a system administrator for assistance."):e.reject(a)},function(a){e.notify({progress:a})})):(b++,f())};f()};return function(a){c.__ModelFieldImageData?(e.notify({message:"Uploading image file(s)",progress:0}),FileUploadService.uploadImages(c.__ModelFieldImageData).then(function(b){self.assignImageFileMetaData(d,c,b),e.notify({message:"Saving...",progress:0}),a()},function(a){console.log(a),e.reject(a)},function(a){e.notify({progress:a})})):a()}(function(){f(function(){self.checkDefaultValues(d,c),self.save(a,b,c).then(function(a){e.resolve(a)},function(a){e.reject(a)})})}),e.promise},this.assignImageFileMetaData=function(a,b,c){var d=Object.keys(c);for(var e in d){var f=d[e],g=a.properties[f],h=g.display.options;if(h&&h.model&&h.relationship){b[h.relationship]||(b[h.relationship]={});var i=b[h.relationship];b[f]&&(i[h.key]=b[f]),i[h.urlKey]=c[f][h.urlKey];var j=Object.keys(h.export);for(var k in j){var l=j[k];i[l]=c[f][l]}if(b.__ModelFieldImageData[f]&&b.__ModelFieldImageData[f][h.urlKey]){var m=b.__ModelFieldImageData[f][h.urlKey],n=m?m.file:{};i.filename=n.name}else i.filename="unknown";if(h.meta){var o=Object.keys(h.meta);for(var p in o){var q=o[p];i[q]=h.meta[q]}}}else b[f]=c[f]}delete b.__ModelFieldImageData},this.checkDefaultValues=function(modelDef,data){var keys=Object.keys(modelDef.properties);for(var i in keys){var key=keys[i],property=modelDef.properties[key];property&&property.display&&(void 0===data[key]||null==data[key]||property.display.forceDefaultOnSave)&&(void 0!==property.default&&(data[key]=property.default),void 0!==property.display.evalDefault&&(data[key]=eval(property.display.evalDefault)))}},this.queryStringParamsToJSON=function(a){var b={};return _.forEach(a,function(a,c){b=_.set(b,c,a)}),b}}]),angular.module("dashboard.services.Image",[]).service("ImageService",["$q",function(a){"ngInject";var b=this;this.resize=function(a,c,d){b.loadImageURI(a,function(a,e){if(a)return d(a);EXIF.getData(e,function(a){var f=document.createElement("canvas"),g=f.getContext("2d"),h=EXIF.getTag(this,"Orientation");c||(c={});var i=c.width?c.width:e.width,j=c.height?c.height:e.height;switch(c.aspect?c.aspect:"fit"){case"stretch":f.width=i,f.height=j;break;case"fill":f.width=i,f.height=j;var k=Math.max(i/e.width,j/e.height);i=e.width*k,j=e.height*k;break;case"fit":default:var k=Math.min(i/e.width,j/e.height);k>1&&(k=1),i=e.width*k,j=e.height*k,f.width=i,f.height=j}g.save(),b.setOrientation(f,g,i,j,h),g.drawImage(e,0,0,i,j),g.restore(),d(null,f.toDataURL("image/jpeg",.8))})})},this.fixOrientationWithDataURI=function(a,c){b.resize(a,{},c)},this.setOrientation=function(a,b,c,d,e){switch(e){case 2:b.translate(c,0),b.scale(-1,1);break;case 3:b.translate(c,d),b.rotate(Math.PI);break;case 4:b.translate(0,d),b.scale(1,-1);break;case 5:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.scale(1,-1);break;case 6:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(0,-d);break;case 7:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(c,-d),b.scale(-1,1);break;case 8:a.width=d,a.height=c,b.rotate(-.5*Math.PI),b.translate(-c,0)}},this.loadImageURI=function(a,b){var c=new Image;c.onload=function(){b(null,c)},c.onerror=function(a){b(a)},c.src=a}}]),angular.module("dashboard.services.Location",["dashboard.Config","dashboard.Utils"]).service("LocationService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";var e=c.defer();this.currentLocation=function(){return navigator.geolocation?navigator.geolocation.getCurrentPosition(function(a){d.$apply(function(){e.resolve(a.coords)})},function(a){e.reject(a)}):e.reject("location services not allowed"),e.promise}}]),angular.module("dashboard.services.Session",["dashboard.Utils","dashboard.services.User","ngCookies"]).service("SessionService",["$cookies","$cookieStore","$q","UserService","Config","Utils","DashboardService",function(a,b,c,d,e,f,g){"ngInject";function h(){var b=a.get("session");b&&(j=JSON.parse(b))}var i=this,j=null;this.logIn=function(b,d,e){var g="Users";return config.authModel&&(g=config.authModel),f.apiHelper("POST",g+"/login?include=user",{email:b,password:d,options:e}).then(function(a){return i.setSession(a)}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.logOut=function(){var c="Users";config.authModel&&(c=config.authModel);var d=a.get("accessToken");return b.remove("username"),b.remove("userId"),b.remove("accessToken"),b.remove("roles"),b.remove("session"),b.remove("lastActive"),f.apiHelper("POST",c+"/logout?access_token="+d)},this.setSession=function(b){var d="Users";return config.authModel&&(d=config.authModel),f.apiHelper("GET",d+"/"+b.userId+"/Roles?access_token="+b.id).then(function(c){return a.put("lastActive",new Date),j=b,a.put("username",b.user.username),a.put("userId",b.userId),a.put("accessToken",b.id),a.put("session",JSON.stringify(j)),a.put("roles",JSON.stringify(c)),b}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.getAuthToken=function(){return j&&j.id},this.put=function(b,c){var d=JSON.parse(a.get("session"));d[b]=c,a.put("session",JSON.stringify(d))},this.get=function(b){return JSON.parse(a.get("session"))[b]},this.isAuthorized=function(b,c){if(_.startsWith(b.name,"public"))return!0;var d=g.getNavigation(),e=b.name,f=c.model,h=c.action,i=angular.fromJson(a.get("roles"));if(_.isEmpty(f)){var j=_.find(d,{state:e});if(j)return g.hasAccess(i,j)}else{var j=_.find(d,{path:f});if(j){if(!g.hasAccess(i,j))return!1;if(_.isArray(j.subnav)&&!_.isEmpty(h)){var k=_.find(j.subnav,{label:h});if(k)return g.hasAccess(i,k)}}}var l=b.data.roles;return!(!_.isEmpty(l)&&_.isArray(l))||g.hasAccess(i,{roles:l})},h()}]),angular.module("dashboard.services.Settings",["dashboard.Config","dashboard.Utils","ngCookies"]).service("SettingsService",["$cookies","Config","Utils",function(a,b,c){"ngInject";this.saveNav=function(d){var e=b.serverParams.cmsBaseUrl+"/settings/config/nav?access_token="+a.get("accessToken");return c.apiHelper("POST",e,d)}}]),angular.module("dashboard.services.User",["dashboard.Config","dashboard.Utils"]).service("UserService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";this.register=function(a,c){var d="Users";return config.authModel&&(d=config.authModel),b.apiHelper("POST",d,{email:a,password:c})}}]),window,window.angular; +var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}function mergeArray(a,b){for(var c in a){var d=a[c];b.indexOf(d)==-1&&b.push(d)}}function assignJunctionMeta(){if(scope.options.junctionMeta)for(var a in scope.selected.items){var b=scope.selected.items[a];b.junctionMeta=scope.options.junctionMeta}}scope.moment=moment,scope.isFirstTimeLoad=!0,scope.selected={},scope.selected.items=[],scope.selected.item=null,scope.list=[],scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c,{preventCancel:!0}).then(function(a){if(a){if(scope.list=a,scope.options.allowInsert){var b={};b[scope.options.searchField]="[Add New Item]",scope.list.push(b)}if(scope.options.allowClear){var b={};b[scope.options.searchField]="[clear]",scope.list.unshift(b)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){if(scope.modelData&&scope.modelData&&scope.options&&scope.options.multiple){if(!scope.property.display.sourceModel)return unwatch(),void(scope.modelData[scope.property.display.options.relationship]&&(scope.selected.items=scope.modelData[scope.property.display.options.relationship],assignJunctionMeta(),scope.list=scope.selected.items));var b=Config.serverParams.models[scope.property.display.sourceModel],c=Config.serverParams.models[scope.options.model],d=b.plural,e=(c.plural,scope.modelData[scope.property.display.sourceKey]);if(!e)return;unwatch();var f={};if(scope.options.junctionMeta){var g=Object.keys(scope.options.junctionMeta);for(var h in g){var i=g[h];f["filter[where]["+i+"]"]=scope.options.junctionMeta[i]}}GeneralModelService.getMany(d,e,scope.options.relationship,f,{preventCancel:!0}).then(function(a){if(a)if(scope.options.api&&a.length>0){var b={filter:{where:{}}};b.filter.where[scope.options.key]={inq:[]};for(var c in a){var d=a[c];b.filter.where[scope.options.key].inq.push(d[scope.options.key])}apiPath=replaceSessionVariables(scope.options.api),GeneralModelService.list(apiPath,b,{preventCancel:!0}).then(function(a){a&&(scope.selected.items=a,assignJunctionMeta(),scope.list=a)})}else scope.selected.items=a,assignJunctionMeta(),scope.list=a})}else if(scope.data&&scope.options&&scope.options.model){var j=Config.serverParams.models[scope.options.model];GeneralModelService.get(j.plural,scope.data).then(function(a){a&&(scope.selected.item=a,assignJunctionMeta(),scope.list=[scope.selected.item],scope.onModelChanged&&scope.onModelChanged({$item:scope.selected.item}))},function(a){if(scope.options.allowInsert){var b={};b[scope.options.key]=scope.data,b[scope.options.searchField]=scope.data,scope.selected.item=b,assignJunctionMeta(),scope.list.push(b)}})}});scope.onSelect=function(a,b){if(scope.options.multiple){if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.key]=c}assignJunctionMeta(),scope.modelData[scope.options.relationship]?mergeArray(scope.selected.items,scope.modelData[scope.options.relationship]):scope.modelData[scope.options.relationship]=scope.selected.items}else{scope.data=a[scope.options.key],scope.rowData&&(scope.rowData[scope.options.key]=scope.data),scope.$emit("onModelFieldReferenceSelect",scope.modelData,scope.key,a);var d=a[scope.options.searchField];if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();scope.data=c;var e={};e[scope.options.key]=c,e[scope.options.searchField]=c,scope.selected.item=e,scope.list.push(e)}else a&&"[clear]"==a[scope.options.searchField]&&(scope.data=null,d="");if(scope.rowData&&scope.textOutputPath&&a[scope.options.searchField])if(scope.textOutputPath.indexOf(".")>-1){for(var f=scope.textOutputPath.split("."),g=scope.rowData,h=0;h-1&&(scope.selected.items.splice(c,1),assignJunctionMeta()),scope.modelData[scope.options.relationship]){if(scope.options.key&&a[scope.options.key]){var d={};d[scope.options.key]=a[scope.options.key];var c=_.findIndex(scope.modelData[scope.options.relationship],d);c>-1&&scope.modelData[scope.options.relationship].splice(c,1)}var c=scope.modelData[scope.options.relationship].indexOf(a);c>-1&&scope.modelData[scope.options.relationship].splice(c,1),mergeArray(scope.selected.items,scope.modelData[scope.options.relationship])}else scope.modelData[scope.options.relationship]=scope.selected.items}else scope.data=null},scope.$on("ngGridEventStartCellEdit",function(){element.find("button").trigger("click"),element.find("input.ui-select-search").focus()}),element.html(getTemplate(scope.options.multiple,scope.options.matchTemplate,scope.options.choiceTemplate)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldReferenceSort",["dashboard.Config","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldReferenceSortView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldReferenceSortEdit",["$compile","$cookies","$timeout","Config","GeneralModelService",function($compile,$cookies,$timeout,Config,GeneralModelService){"ngInject";function getTemplate(a,b,c,d){var e="(index, item) in selectedList";return d||(e+=" track by item."+a),' '+b+' '+c+'
  • '+c+'
'}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(scope,element,attrs){function replaceSessionVariables(string){if("string"!=typeof string)return string;try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for string");break}var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}scope.selected={},scope.selected.item=null,scope.list=[],scope.selectedList=[],scope.sortableOptions={placeholder:"sortable-placeholder",disabled:scope.disabled},scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c).then(function(a){if(a){scope.list=a;for(var b in scope.selectedList){var c=scope.selectedList[b],d={};d[scope.options.key]=c[scope.options.key];var e=_.find(scope.list,d);e&&scope.list.splice(scope.list.indexOf(e),1)}if(scope.options.allowInsert){var f={};f[scope.options.searchField]=scope.options.insertText?scope.options.insertText:"[Add New Item]",scope.list.push(f)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){scope.data&&scope.options&&scope.options.model&&(unwatch(),scope.selectedList=scope.data)});scope.onSelect=function(a,b){if(scope.$emit("onModelFieldReferenceSortSelect",scope.modelData,scope.key,a),!a[scope.options.key]&&a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.options.key]=c,a[scope.options.searchField]=c}_.find(scope.selectedList,function(b){return b[scope.options.key]===a[scope.options.key]||b.name&&a.name&&b.name.toLowerCase()===a.name.toLowerCase()})||(scope.selectedList.push(a),scope.data=scope.selectedList),$timeout(function(){delete scope.selected.item})},scope.removeItem=function(a){var b=scope.selectedList[a];scope.selectedList.splice(a,1),scope.list.push(b)},element.html(getTemplate(scope.options.key,scope.options.matchTemplate,scope.options.choiceTemplate,scope.options.allowInsert)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldVideo",["dashboard.services.GeneralModel"]).directive("modelFieldVideoView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldVideoEdit",["$sce","$compile","$document","GeneralModelService","SessionService",function(a,b,c,d,e){"ngInject";return{restrict:"E",template:'
Upload a Video File
{{ uploadStatus }}
HTML5 Drop File is not supported!
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(b,d,e){var f=null;b.uploadStatus="Upload File";var g=b.$watch("data",function(c){c&&(g(),"string"==typeof c?b.videoUrl=a.trustAsResourceUrl(c):"object"==typeof c&&(c.fileUrl&&(b.videoUrl=a.trustAsResourceUrl(c.fileUrl)),c.videoUrl&&(b.videoUrl=a.trustAsResourceUrl(c.videoUrl))))}),h=new FileReader;h.onload=function(c){b.videoUrl=a.trustAsResourceUrl(c.target.result),b.$apply()},h.onerror=function(a){console.error(a)},b.clear=function(){b.data=null,delete b.videoUrl},b.onFileSelect=function(a){if(!(a.length<1)){f=a[0];var c=b.options.path;b.data={path:c,file:f},h.readAsDataURL(f)}},c.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),c.on("dragover",function(a){a.preventDefault(),d.find(".image-drop").addClass("show-upload"),d.find(".input[type=file]").addClass("show-upload"),d.find(".button-menu").addClass("hide-menu")}),$(window).on("mouseleave",function(){d.find(".image-drop").removeClass("show-upload"),d.find(".input[type=file]").removeClass("show-upload"),d.find(".button-menu").removeClass("hide-menu")}),b.$on("$destroy",function(){c.off("drop"),c.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldWYSIWYG",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldWysiwygView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldWysiwygEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(a){var b="";if(a.options&&a.options.fonts)for(var c=a.options.fonts,d=0;d"+c[d]+"";return'
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,e,h){function i(){b.isEditingCode=!1,b.toggleDropdown=l,b.onFileSelect=m,b.toggleCodeEdit=n,c.html(g(b)).show(),a(c.contents())(b),j(),k(),p=ace.edit(c.find(".code-editor")[0]),p.getSession().setMode("ace/mode/html"),$(c).find(".wysiwyg-toolbar [data-role=magic-overlay]").each(function(){var a=$(this);$(a.data("target"));a.css({opacity:0,position:"absolute",width:"40px",height:"34px",top:"0",left:"0"})}),h.$render=function(){o.html(h.$viewValue||"")},o.bind("blur keyup change",function(){b.$apply(function(){h.$setViewValue(o.html())})}),p.on("blur",function(){h.$setViewValue(p.getValue()),o.html(h.$viewValue)})}function j(){var a=$(".wysiwyg-editor"),d=0;a&&a.length>0&&(d=a.length),o=angular.element(c).find(".wysiwyg-editor");var e="wysiwyg-editor-"+d,f="editor"+d+"-toolbar";o.attr("id",e);var g=angular.element(c).find(".wysiwyg-toolbar");g.attr("data-role",f),g.attr("data-target","#"+e),b.disabled||o.wysiwyg({toolbarSelector:"[data-role="+f+"]",hotKeys:{},dragAndDropImages:!1})}function k(){var a=angular.element(c).find(".font-color-picker");a&&a.spectrum({flat:!0,cancelText:"",clickoutFiresChange:!1,preferredFormat:"rgb",showInput:!0,change:function(a){$(this).closest(".dropdown").find(".color-sample").css({backgroundColor:a.toHexString()}),o.focus(),document.execCommand("foreColor",0,a.toHexString()),$(this).parent(".menu").removeClass("open")}})}function l(a){var b=$(a.currentTarget).parent().find(".menu");b.hasClass("open")?b.removeClass("open"):b.addClass("open")}function m(a){if(b.options.allowImageUpload&&0!=a.length){b.status="Uploading Image",b.progress=0;var c=d.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:b});f.uploadFile(a[0],b.options.imagePath).then(function(a){b.status="Upload Complete",document.execCommand("insertimage",0,a.fileUrl),c.close()},function(a){console.error(a),b.status="There was an error uploading the image. Please contact an Administrator."},function(a){b.progress=a})}}function n(){if(b.isEditingCode=!b.isEditingCode,b.isEditingCode){var a=o[0].innerHTML;a=html_beautify(a,{indent_size:2}),h.$setViewValue(a),p.setValue(a)}else h.$setViewValue(p.getValue()),o.html(h.$viewValue)}var o,p;i()}}}]),angular.module("dashboard.directive.AutoSize",[]).directive("autoSize",["$timeout","$window",function(a,b){return{restrict:"A",link:function(c,d,e){function f(){d.css({height:"auto","overflow-y":"hidden"}),d.css("height",d[0].scrollHeight+"px")}c.minTextAreaHeight=150,d.css({height:"auto","overflow-y":"hidden"}),a(function(){var a=d[0].scrollHeight,b=Math.max(a,c.minTextAreaHeight);d.css("height",b+"px")},100),d.on("input",f),d.on("load",f),angular.element(b).bind("resize",f)}}}]),angular.module("dashboard.directives",[]),angular.module("dashboard.filters",[]).filter("decimalWithScale",function(){"ngInject";return function(a,b){if(void 0===a)return"";value=a+"";var c=value.indexOf(".");c===-1?value+=".0":0===c&&(value="0"+value);var d=value.split(".");if(d.length>1){if(d[0]&&0!==d[0].length||(d[0]=0),isNaN(parseInt(d[0])))return NaN;if(value=parseInt(d[0])+".",null!==d[1].match(/[\D]/))return NaN;if(d[1].length>b?value+=d[1].substring(0,b):value+=d[1],d[1].length0){var f=this.restrictMenuItems(e.subnav);if(f&&(e.subnav=f,null!==e.defaultSubNavIndex&&void 0!==e.defaultSubNavIndex&&e.subnav[e.defaultSubNavIndex]&&e.subnav[e.defaultSubNavIndex].hidden))for(var g in e.subnav){var h=e.subnav[g];if(c.hasAccess(d,h)&&!h.hidden){e.defaultSubNavIndex=parseInt(g);break}}}}else e.hidden=!0}return a},this.hasAccess=function(a,b){if(!(b.hasOwnProperty("roles")&&b.roles instanceof Array))return!0;for(var c in a)if(b.roles.indexOf(a[c].name)>-1)return!0;return!1}}]),angular.module("dashboard.services.FileUpload",["dashboard.Config","dashboard.Utils","ngCookies","angularFileUpload"]).service("FileUploadService",["$cookies","$q","$upload","Config","Utils",function(a,b,c,d,e){"ngInject";var f=this;this.getS3Credentials=function(b,c){var f={access_token:a.get("accessToken"),path:b,fileType:c,r:(new Date).getTime()};return e.apiHelper("GET",d.serverParams.cmsBaseUrl+"/aws/s3/credentials",f)},this.getFileUploadData=function(a){return{key:a.uniqueFilePath,AWSAccessKeyId:a.AWSAccessKeyId,acl:"public-read",policy:a.policy,signature:a.signature,success_action_status:"201","Cache-Control":"max-age=31536000"}},this.uploadFile=function(a,d){("string"==typeof a||a instanceof String&&0==a.indexOf("data:"))&&(a=f.dataURItoBlob(a));var e="";a.type?e=a.type:a.name&&(e=f.detectMimeTypeByExt(a.name));var g=b.defer();return f.getS3Credentials(d,e?e:"").then(function(b){c.upload({url:b.uploadUrl,method:"POST",data:f.getFileUploadData(b),file:a}).progress(function(b){var c=b.position/a.size;g.notify(c)}).success(function(b){var c,d=(new DOMParser).parseFromString(b,"text/xml");try{c=d.evaluate("/PostResponse/Location",d,null,XPathResult.STRING_TYPE,null).stringValue}catch(a){for(var e=d.documentElement.childNodes,f=0;f0)return d++,e=0,void f.uploadImages(a,d,e,h,i);l=r}else{var s=Object.keys(r);if(e>=s.length)return d++,e=0,void f.uploadImages(a,d,e,h,i);k=s[e],r[k]&&r[k].file?(g=r[k].path,l=r[k].file):l=r[k]}h||(h={});for(var o=0;o=0?atob(a.split(",")[1]):unescape(a.split(",")[1]);for(var c=a.split(",")[0].split(":")[1].split(";")[0],d=new Uint8Array(b.length),e=0;e0){var b=a.split(".").pop();if(b.length>0){return{"3dm":"x-world/x-3dmf","3dmf":"x-world/x-3dmf",a:"application/octet-stream",aab:"application/x-authorware-bin",aam:"application/x-authorware-map",aas:"application/x-authorware-seg",abc:"text/vnd.abc",acgi:"text/html",afl:"video/animaflex",ai:"application/postscript",aif:"audio/aiff",aifc:"audio/aiff",aiff:"audio/aiff",aim:"application/x-aim",aip:"text/x-audiosoft-intra",ani:"application/x-navi-animation",aos:"application/x-nokia-9000-communicator-add-on-software",aps:"application/mime",arc:"application/octet-stream",arj:"application/arj",art:"image/x-jg",asf:"video/x-ms-asf",asm:"text/x-asm",asp:"text/asp",asx:"application/x-mplayer2",au:"audio/basic",avi:"application/x-troff-msvideo",avs:"video/avs-video",bcpio:"application/x-bcpio",bin:"application/mac-binary",bm:"image/bmp",bmp:"image/bmp",boo:"application/book",book:"application/book",boz:"application/x-bzip2",bsh:"application/x-bsh",bz:"application/x-bzip",bz2:"application/x-bzip2",c:"text/plain","c++":"text/plain",cat:"application/vnd.ms-pki.seccat",cc:"text/plain",ccad:"application/clariscad",cco:"application/x-cocoa",cdf:"application/cdf",cer:"application/pkix-cert",cha:"application/x-chat",chat:"application/x-chat",class:"application/java",com:"application/octet-stream",conf:"text/plain",cpio:"application/x-cpio",cpp:"text/x-c",cpt:"application/mac-compactpro",crl:"application/pkcs-crl",crt:"application/pkix-cert",csh:"application/x-csh",css:"application/x-pointplus",cxx:"text/plain",dcr:"application/x-director",deepv:"application/x-deepv",def:"text/plain",der:"application/x-x509-ca-cert",dif:"video/x-dv",dir:"application/x-director",dl:"video/dl",doc:"application/msword",dot:"application/msword",dp:"application/commonground",drw:"application/drafting",dump:"application/octet-stream",dv:"video/x-dv",dvi:"application/x-dvi",dwf:"drawing/x-dwf (old)",dwg:"application/acad",dxf:"application/dxf",dxr:"application/x-director",el:"text/x-script.elisp",elc:"application/x-bytecode.elisp (compiled elisp)",env:"application/x-envoy",eps:"application/postscript",es:"application/x-esrehber",etx:"text/x-setext",evy:"application/envoy",exe:"application/octet-stream",f:"text/plain",f77:"text/x-fortran",f90:"text/plain",fdf:"application/vnd.fdf",fif:"application/fractals",fli:"video/fli",flo:"image/florian",flx:"text/vnd.fmi.flexstor",fmf:"video/x-atomic3d-feature",for:"text/plain",fpx:"image/vnd.fpx",frl:"application/freeloader",funk:"audio/make",g:"text/plain",g3:"image/g3fax",gif:"image/gif",gl:"video/gl",gsd:"audio/x-gsm",gsm:"audio/x-gsm",gsp:"application/x-gsp",gss:"application/x-gss",gtar:"application/x-gtar",gz:"application/x-compressed",gzip:"application/x-gzip",h:"text/plain",hdf:"application/x-hdf",help:"application/x-helpfile",hgl:"application/vnd.hp-hpgl",hh:"text/plain",hlb:"text/x-script",hlp:"application/hlp",hpg:"application/vnd.hp-hpgl",hpgl:"application/vnd.hp-hpgl",hqx:"application/binhex",hta:"application/hta",htc:"text/x-component",htm:"text/html",html:"text/html",htmls:"text/html",htt:"text/webviewhtml",htx:"text/html",ice:"x-conference/x-cooltalk",ico:"image/x-icon",idc:"text/plain",ief:"image/ief",iefs:"image/ief",iges:"application/iges",igs:"application/iges",ima:"application/x-ima",imap:"application/x-httpd-imap",inf:"application/inf",ins:"application/x-internett-signup",ip:"application/x-ip2",isu:"video/x-isvideo",it:"audio/it",iv:"application/x-inventor",ivr:"i-world/i-vrml",ivy:"application/x-livescreen",jam:"audio/x-jam",jav:"text/plain",java:"text/plain",jcm:"application/x-java-commerce",jfif:"image/jpeg","jfif-tbnl":"image/jpeg",jpe:"image/jpeg",jpeg:"image/jpeg",jpg:"image/jpeg",jps:"image/x-jps",js:"application/x-javascript",jut:"image/jutvision",kar:"audio/midi",ksh:"application/x-ksh",la:"audio/nspaudio", +lam:"audio/x-liveaudio",latex:"application/x-latex",lha:"application/lha",lhx:"application/octet-stream",list:"text/plain",lma:"audio/nspaudio",log:"text/plain",lsp:"application/x-lisp",lst:"text/plain",lsx:"text/x-la-asf",ltx:"application/x-latex",lzh:"application/octet-stream",lzx:"application/lzx",m:"text/plain",m1v:"video/mpeg",m2a:"audio/mpeg",m2v:"video/mpeg",m3u:"audio/x-mpequrl",man:"application/x-troff-man",map:"application/x-navimap",mar:"text/plain",mbd:"application/mbedlet",mc$:"application/x-magic-cap-package-1.0",mcd:"application/mcad",mcf:"image/vasa",mcp:"application/netmc",me:"application/x-troff-me",mht:"message/rfc822",mhtml:"message/rfc822",mid:"application/x-midi",midi:"application/x-midi",mif:"application/x-frame",mime:"message/rfc822",mjf:"audio/x-vnd.audioexplosion.mjuicemediafile",mjpg:"video/x-motion-jpeg",mm:"application/base64",mme:"application/base64",mod:"audio/mod",moov:"video/quicktime",mov:"video/quicktime",movie:"video/x-sgi-movie",mp2:"audio/mpeg",mp3:"audio/mpeg3",mpa:"audio/mpeg",mpc:"application/x-project",mpe:"video/mpeg",mpeg:"video/mpeg",mpg:"audio/mpeg",mpga:"audio/mpeg",mpp:"application/vnd.ms-project",mpt:"application/x-project",mpv:"application/x-project",mpx:"application/x-project",mrc:"application/marc",ms:"application/x-troff-ms",mv:"video/x-sgi-movie",my:"audio/make",mzz:"application/x-vnd.audioexplosion.mzz",nap:"image/naplps",naplps:"image/naplps",nc:"application/x-netcdf",ncm:"application/vnd.nokia.configuration-message",nif:"image/x-niff",niff:"image/x-niff",nix:"application/x-mix-transfer",nsc:"application/x-conference",nvd:"application/x-navidoc",o:"application/octet-stream",oda:"application/oda",omc:"application/x-omc",omcd:"application/x-omcdatamaker",omcr:"application/x-omcregerator",p:"text/x-pascal",p10:"application/pkcs10",p12:"application/pkcs-12",p7a:"application/x-pkcs7-signature",p7c:"application/pkcs7-mime",p7m:"application/pkcs7-mime",p7r:"application/x-pkcs7-certreqresp",p7s:"application/pkcs7-signature",part:"application/pro_eng",pas:"text/pascal",pbm:"image/x-portable-bitmap",pcl:"application/vnd.hp-pcl",pct:"image/x-pict",pcx:"image/x-pcx",pdb:"chemical/x-pdb",pdf:"application/pdf",pfunk:"audio/make",pgm:"image/x-portable-graymap",pic:"image/pict",pict:"image/pict",pkg:"application/x-newton-compatible-pkg",pko:"application/vnd.ms-pki.pko",pl:"text/plain",plx:"application/x-pixclscript",pm:"image/x-xpixmap",pm4:"application/x-pagemaker",pm5:"application/x-pagemaker",png:"image/png",pnm:"application/x-portable-anymap",pot:"application/mspowerpoint",pov:"model/x-pov",ppa:"application/vnd.ms-powerpoint",ppm:"image/x-portable-pixmap",pps:"application/mspowerpoint",ppt:"application/mspowerpoint",ppz:"application/mspowerpoint",pre:"application/x-freelance",prt:"application/pro_eng",ps:"application/postscript",psd:"application/octet-stream",pvu:"paleovu/x-pv",pwz:"application/vnd.ms-powerpoint",py:"text/x-script.phyton",pyc:"application/x-bytecode.python",qcp:"audio/vnd.qcelp",qd3:"x-world/x-3dmf",qd3d:"x-world/x-3dmf",qif:"image/x-quicktime",qt:"video/quicktime",qtc:"video/x-qtc",qti:"image/x-quicktime",qtif:"image/x-quicktime",ra:"audio/x-pn-realaudio",ram:"audio/x-pn-realaudio",ras:"application/x-cmu-raster",rast:"image/cmu-raster",rexx:"text/x-script.rexx",rf:"image/vnd.rn-realflash",rgb:"image/x-rgb",rm:"application/vnd.rn-realmedia",rmi:"audio/mid",rmm:"audio/x-pn-realaudio",rmp:"audio/x-pn-realaudio",rng:"application/ringing-tones",rnx:"application/vnd.rn-realplayer",roff:"application/x-troff",rp:"image/vnd.rn-realpix",rpm:"audio/x-pn-realaudio-plugin",rt:"text/richtext",rtf:"application/rtf",rtx:"application/rtf",rv:"video/vnd.rn-realvideo",s:"text/x-asm",s3m:"audio/s3m",saveme:"application/octet-stream",sbk:"application/x-tbook",scm:"application/x-lotusscreencam",sdml:"text/plain",sdp:"application/sdp",sdr:"application/sounder",sea:"application/sea",set:"application/set",sgm:"text/sgml",sgml:"text/sgml",sh:"application/x-bsh",shar:"application/x-bsh",shtml:"text/html",sid:"audio/x-psid",sit:"application/x-sit",skd:"application/x-koan",skm:"application/x-koan",skp:"application/x-koan",skt:"application/x-koan",sl:"application/x-seelogo",smi:"application/smil",smil:"application/smil",snd:"audio/basic",sol:"application/solids",spc:"application/x-pkcs7-certificates",spl:"application/futuresplash",spr:"application/x-sprite",sprite:"application/x-sprite",src:"application/x-wais-source",ssi:"text/x-server-parsed-html",ssm:"application/streamingmedia",sst:"application/vnd.ms-pki.certstore",step:"application/step",stl:"application/sla",stp:"application/step",sv4cpio:"application/x-sv4cpio",sv4crc:"application/x-sv4crc",svf:"image/vnd.dwg",svr:"application/x-world",swf:"application/x-shockwave-flash",t:"application/x-troff",talk:"text/x-speech",tar:"application/x-tar",tbk:"application/toolbook",tcl:"application/x-tcl",tcsh:"text/x-script.tcsh",tex:"application/x-tex",texi:"application/x-texinfo",texinfo:"application/x-texinfo",text:"application/plain",tgz:"application/gnutar",tif:"image/tiff",tiff:"image/tiff",tr:"application/x-troff",tsi:"audio/tsp-audio",tsp:"application/dsptype",tsv:"text/tab-separated-values",turbot:"image/florian",txt:"text/plain",uil:"text/x-uil",uni:"text/uri-list",unis:"text/uri-list",unv:"application/i-deas",uri:"text/uri-list",uris:"text/uri-list",ustar:"application/x-ustar",uu:"application/octet-stream",uue:"text/x-uuencode",vcd:"application/x-cdlink",vcs:"text/x-vcalendar",vda:"application/vda",vdo:"video/vdo",vew:"application/groupwise",viv:"video/vivo",vivo:"video/vivo",vmd:"application/vocaltec-media-desc",vmf:"application/vocaltec-media-file",voc:"audio/voc",vos:"video/vosaic",vox:"audio/voxware",vqe:"audio/x-twinvq-plugin",vqf:"audio/x-twinvq",vql:"audio/x-twinvq-plugin",vrml:"application/x-vrml",vrt:"x-world/x-vrt",vsd:"application/x-visio",vst:"application/x-visio",vsw:"application/x-visio",w60:"application/wordperfect6.0",w61:"application/wordperfect6.1",w6w:"application/msword",wav:"audio/wav",wb1:"application/x-qpro",wbmp:"image/vnd.wap.wbmp",web:"application/vnd.xara",wiz:"application/msword",wk1:"application/x-123",wmf:"windows/metafile",wml:"text/vnd.wap.wml",wmlc:"application/vnd.wap.wmlc",wmls:"text/vnd.wap.wmlscript",wmlsc:"application/vnd.wap.wmlscriptc",word:"application/msword",wp:"application/wordperfect",wp5:"application/wordperfect",wp6:"application/wordperfect",wpd:"application/wordperfect",wq1:"application/x-lotus",wri:"application/mswrite",wrl:"application/x-world",wrz:"model/vrml",wsc:"text/scriplet",wsrc:"application/x-wais-source",wtk:"application/x-wintalk",xbm:"image/x-xbitmap",xdr:"video/x-amt-demorun",xgz:"xgl/drawing",xif:"image/vnd.xiff",xl:"application/excel",xla:"application/excel",xlb:"application/excel",xlc:"application/excel",xld:"application/excel",xlk:"application/excel",xll:"application/excel",xlm:"application/excel",xls:"application/excel",xlt:"application/excel",xlv:"application/excel",xlw:"application/excel",xm:"audio/xm",xml:"application/xml",xmz:"xgl/movie",xpix:"application/x-vnd.ls-xpix",xpm:"image/x-xpixmap","x-png":"image/png",xsr:"video/x-amt-showrun",xwd:"image/x-xwd",xyz:"chemical/x-pdb",z:"application/x-compress",zip:"application/x-compressed",zoo:"application/octet-stream",zsh:"text/x-script.zsh"}[b]}}return""}}]),angular.module("dashboard.services.GeneralModel",["dashboard.services.FileUpload","dashboard.Config","dashboard.Utils","ngCookies"]).service("GeneralModelService",["$cookies","$q","Config","Utils","FileUploadService",function($cookies,$q,Config,Utils,FileUploadService){"ngInject";var self=this;this.list=function(a,b,c){var a=a+(a.indexOf("?")>-1?"&":"?")+"access_token="+$cookies.get("accessToken");return c&&c.preventCancel||Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.count=function(a,b){a.indexOf("?")>-1&&(a=a.substr(0,a.indexOf("?")));var c=Object.keys(b);for(var d in c){var e=c[d];e.indexOf("filter[where]")>-1?(newKey=e.replace("filter[where]","where"),b[newKey]=b[e]):"filter"==e&&(b.where=b.filter.where)}return a=a+"/count?access_token="+$cookies.get("accessToken"),Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.get=function(a,b,c){var d=a+"/"+b+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("GET",d,c)},this.getMany=function(a,b,c,d,e){var f=a+"/"+b+"/"+c,g=f+"?access_token="+$cookies.get("accessToken");return e&&e.preventCancel||Utils.apiCancel("GET",g),Utils.apiHelper("GET",g,d)},this.sort=function(a,b,c,d){var e=Config.serverParams.cmsBaseUrl+"/model/sort?access_token="+$cookies.accessToken,f={model:a,key:b,sortField:c,sortData:d};return Utils.apiHelper("POST",e,f)},this.remove=function(a,b){var c=a;return b&&(c=c+"/"+b),c+="?access_token="+$cookies.get("accessToken"),Utils.apiHelper("DELETE",c,{})},this.post=function(a,b){var c=a+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("POST",c,b)},this.save=function(a,b,c){var d=Config.serverParams.cmsBaseUrl+"/model/save";return c.__model=a,c.__id=b,c.__accessToken=$cookies.get("accessToken"),Utils.apiHelper("PUT",d,c)},this.saveWithFiles=function(a,b,c){var d=Config.serverParams.models[a],e=$q.defer(),f=function(a){var b=0,d=Object.keys(c),f=function(){if(b>=d.length)return void a();var g=d[b],h=c[g];h&&"object"==typeof h&&h.file?(e.notify({message:"Uploading file: "+h.file.name}),FileUploadService.uploadFile(h.file,h.path).then(function(a){c[g]=a.fileUrl,b++,f()},function(a){"object"==typeof a&&a.error?e.reject("The file being uploaded is not an accepted file type for this patient form. Please contact a system administrator for assistance."):e.reject(a)},function(a){e.notify({progress:a})})):(b++,f())};f()};return function(a){c.__ModelFieldImageData?(e.notify({message:"Uploading image file(s)",progress:0}),FileUploadService.uploadImages(c.__ModelFieldImageData).then(function(b){self.assignImageFileMetaData(d,c,b),e.notify({message:"Saving...",progress:0}),a()},function(a){console.log(a),e.reject(a)},function(a){e.notify({progress:a})})):a()}(function(){f(function(){self.checkDefaultValues(d,c),self.save(a,b,c).then(function(a){e.resolve(a)},function(a){e.reject(a)})})}),e.promise},this.assignImageFileMetaData=function(a,b,c){var d=Object.keys(c);for(var e in d){var f=d[e],g=a.properties[f],h=g.display.options;if(h&&h.model&&h.relationship){b[h.relationship]||(b[h.relationship]={});var i=b[h.relationship];b[f]&&(i[h.key]=b[f]),i[h.urlKey]=c[f][h.urlKey];var j=Object.keys(h.export);for(var k in j){var l=j[k];i[l]=c[f][l]}if(b.__ModelFieldImageData[f]&&b.__ModelFieldImageData[f][h.urlKey]){var m=b.__ModelFieldImageData[f][h.urlKey],n=m?m.file:{};i.filename=n.name}else i.filename="unknown";if(h.meta){var o=Object.keys(h.meta);for(var p in o){var q=o[p];i[q]=h.meta[q]}}}else b[f]=c[f]}delete b.__ModelFieldImageData},this.checkDefaultValues=function(modelDef,data){var keys=Object.keys(modelDef.properties);for(var i in keys){var key=keys[i],property=modelDef.properties[key];property&&property.display&&(void 0===data[key]||null==data[key]||property.display.forceDefaultOnSave)&&(void 0!==property.default&&(data[key]=property.default),void 0!==property.display.evalDefault&&(data[key]=eval(property.display.evalDefault)))}},this.queryStringParamsToJSON=function(a){var b={};return _.forEach(a,function(a,c){b=_.set(b,c,a)}),b}}]),angular.module("dashboard.services.Image",[]).service("ImageService",["$q",function(a){"ngInject";var b=this;this.resize=function(a,c,d){b.loadImageURI(a,function(a,e){if(a)return d(a);EXIF.getData(e,function(a){var f=document.createElement("canvas"),g=f.getContext("2d"),h=EXIF.getTag(this,"Orientation");c||(c={});var i=c.width?c.width:e.width,j=c.height?c.height:e.height;switch(c.aspect?c.aspect:"fit"){case"stretch":f.width=i,f.height=j;break;case"fill":f.width=i,f.height=j;var k=Math.max(i/e.width,j/e.height);i=e.width*k,j=e.height*k;break;case"fit":default:var k=Math.min(i/e.width,j/e.height);k>1&&(k=1),i=e.width*k,j=e.height*k,f.width=i,f.height=j}g.save(),b.setOrientation(f,g,i,j,h),g.drawImage(e,0,0,i,j),g.restore(),d(null,f.toDataURL("image/jpeg",.8))})})},this.fixOrientationWithDataURI=function(a,c){b.resize(a,{},c)},this.setOrientation=function(a,b,c,d,e){switch(e){case 2:b.translate(c,0),b.scale(-1,1);break;case 3:b.translate(c,d),b.rotate(Math.PI);break;case 4:b.translate(0,d),b.scale(1,-1);break;case 5:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.scale(1,-1);break;case 6:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(0,-d);break;case 7:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(c,-d),b.scale(-1,1);break;case 8:a.width=d,a.height=c,b.rotate(-.5*Math.PI),b.translate(-c,0)}},this.loadImageURI=function(a,b){var c=new Image;c.onload=function(){b(null,c)},c.onerror=function(a){b(a)},c.src=a}}]),angular.module("dashboard.services.Location",["dashboard.Config","dashboard.Utils"]).service("LocationService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";var e=c.defer();this.currentLocation=function(){return navigator.geolocation?navigator.geolocation.getCurrentPosition(function(a){d.$apply(function(){e.resolve(a.coords)})},function(a){e.reject(a)}):e.reject("location services not allowed"),e.promise}}]),angular.module("dashboard.services.Session",["dashboard.Utils","dashboard.services.User","ngCookies"]).service("SessionService",["$cookies","$cookieStore","$q","UserService","Config","Utils","DashboardService",function(a,b,c,d,e,f,g){"ngInject";function h(){var b=a.get("session");b&&(j=JSON.parse(b))}var i=this,j=null;this.logIn=function(b,d,e){var g="Users";return config.authModel&&(g=config.authModel),f.apiHelper("POST",g+"/login?include=user",{email:b,password:d,options:e}).then(function(a){return i.setSession(a)}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.logOut=function(){var c="Users";config.authModel&&(c=config.authModel);var d=a.get("accessToken");return b.remove("username"),b.remove("userId"),b.remove("accessToken"),b.remove("roles"),b.remove("session"),b.remove("lastActive"),f.apiHelper("POST",c+"/logout?access_token="+d)},this.setSession=function(b){var d="Users";return config.authModel&&(d=config.authModel),f.apiHelper("GET",d+"/"+b.userId+"/Roles?access_token="+b.id).then(function(c){return a.put("lastActive",new Date),j=b,a.put("username",b.user.username),a.put("userId",b.userId),a.put("accessToken",b.id),a.put("session",JSON.stringify(j)),a.put("roles",JSON.stringify(c)),b}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.getAuthToken=function(){return j&&j.id},this.put=function(b,c){var d=JSON.parse(a.get("session"));d[b]=c,a.put("session",JSON.stringify(d))},this.get=function(b){return JSON.parse(a.get("session"))[b]},this.isAuthorized=function(b,c){if(_.startsWith(b.name,"public"))return!0;var d=g.getNavigation(),e=b.name,f=c.model,h=c.action,i=angular.fromJson(a.get("roles"));if(_.isEmpty(f)){var j=_.find(d,{state:e});if(j)return g.hasAccess(i,j)}else{var j=_.find(d,{path:f});if(j){if(!g.hasAccess(i,j))return!1;if(_.isArray(j.subnav)&&!_.isEmpty(h)){var k=_.find(j.subnav,{label:h});if(k)return g.hasAccess(i,k)}}}var l=b.data.roles;return!(!_.isEmpty(l)&&_.isArray(l))||g.hasAccess(i,{roles:l})},h()}]),angular.module("dashboard.services.Settings",["dashboard.Config","dashboard.Utils","ngCookies"]).service("SettingsService",["$cookies","Config","Utils",function(a,b,c){"ngInject";this.saveNav=function(d){var e=b.serverParams.cmsBaseUrl+"/settings/config/nav?access_token="+a.get("accessToken");return c.apiHelper("POST",e,d)}}]),angular.module("dashboard.services.User",["dashboard.Config","dashboard.Utils"]).service("UserService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";this.register=function(a,c){var d="Users";return config.authModel&&(d=config.authModel),b.apiHelper("POST",d,{email:a,password:c})}}]),window,window.angular; //# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/dist/app.js.map b/dist/app.js.map index 5206d6a3..c4c7ae67 100644 --- a/dist/app.js.map +++ b/dist/app.js.map @@ -1 +1 @@ -{"version":3,"sources":["app.js"],"names":["angular","module","config","$locationProvider","$stateProvider","$urlRouterProvider","$compileProvider","$qProvider","$translateProvider","Config","aHrefSanitizationWhitelist","otherwise","serverParams","disableRegistration","when","html5Mode","useSanitizeValueStrategy","translateUrl","useUrlLoader","defaultLanguage","fallbackLanguage","state","abstract","template","url","data","pageTitle","deferIntercept","run","$ocLazyLoad","$rootScope","$urlRouter","$injector","$translate","use","refresh","modulesLoaded","customModules","load","then","$broadcast","Array","isArray","injectOnStart","forEach","get","error","console","log","$on","e","sync","listener","constant","TIMEOUT_INTERVAL","PUBLIC_STATE","LOGIN_STATE","controller","$scope","$location","$state","$timeout","$document","$cookies","SessionService","CacheService","constants","gaTrackingId","ga","event","toState","toParams","fromState","fromParams","toStateName","name","substr","indexOf","getAuthToken","desiredState","params","set","loginState","go","preventDefault","isAuthorized","isDefined","logOut","reset","result","catch","lastPersistDate","Date","persistSession","cancel","persistId","current","checkTimeout","put","timeoutId","lastActiveDate","sessionTimeout","host","on","templateUrl","$stateParams","$modal","DashboardService","self","this","init","toggleSideMenu","hideSideMenu","editProfile","logout","locationPath","path","username","email","userId","userInfo","JSON","parse","user","roles","title","nav","getNavigation","defaultNav","getDefaultNav","copy","route","$watch","modalInstance","close","$dashboard","$","hasClass","removeClass","addClass","$event","action","options","model","profileModel","key","profileKey","id","hideDelete","open","size","scope","$modalInstance","isConfirm","alertType","closeAlert","okAlert","okHandler","cancelAlert","cancelHandler","section","_","find","subnav","label","SettingsService","clickSave","$window","GeneralModelService","FileUploadService","page","models","properties","display","readonly","keys","Object","i","isLoading","checkDefaultValues","isEdit","modelDisplay","plural","response","layoutModelDisplay","strings","saveButtonText","saveButton","deleteButtonText","deleteButton","deleteDialogText","deleteDiaglog","clickSaveModel","formParams","clickDeleteModel","newData","oldData","$emit","length","push","save","callback","saveWithFiles","message","alert","code","stringify","status","progress","clear","returnAfterEdit","history","back","confirm","softDeleteProperty","remove","hasPermission","displayInfo","property","askIf","userRoles","role","ModelListCtrl","moment","columnCount","list","selected","columns","listTemplateUrl","totalServerItems","isEditing","searchFields","sort","sortInfo","fields","directions","filterOptions","filterText","useExternalFilter","pagingOptions","pageSizes","pageSize","currentPage","gridOptions","enableColumnResize","enableRowSelection","multiSelect","enablePaging","useExternalSorting","showSelectionCheckbox","showFooter","showFilter","headerRowHeight","footerRowHeight","selectedItems","rowHeight","gridContainerTopMargin","chart","gridContainerTopMarginMax","height","processChart","window","ngGrid","i18n","ngTotalItemsLabel","ngPageSizeLabel","getColumnDefinition","columnDefs","editable","enableCellEdit","enableCellEditOnFocus","enableCellSelection","api","apiPath","origApiPath","addQueryStringParams","getTotalServerItems","$grid","element","bind","processWindowSize","startEdit","resetPaging","test","navigator","userAgent","flexibleHeight","plugins","ngGridFlexibleHeightPlugin","allowCSVExport","ngGridCsvExportPlugin","cancelButtonText","cancelButton","columnRef","column","isRoleFound","r","splice","windowWidth","innerWidth","averageColumnWidth","filter","optional","queryStringParams","search","replace","session","searchString","startPos","endPos","sessionKey","substring","slice","eval","filterDescription","parseInt","extend","warn","setupPagination","limit","skip","order","field","direction","filter[limit]","filter[skip]","sortOrder","filter[order]","queryStringParamsToJSON","where","and","v","k","item","orFilter","or","idx","searchFilter","vAxis","hAxis","textStyle","gridlines","fontSize","color","baselineColor","oldList","endEdit","undefined","loadItems","isFirstLoad","count","errorMessage","cacheKey","getKeyForAction","resultField","loadAttempted","hasButtonPermission","button","clickListButton","click","value","lastIndexOf","clickAdd","clickSaveEdit","deltaList","newRow","oldRow","rowKeys","defaults","foreceDefaultOnSave","evalDefault","required","displayName","recordIndex","saveRecord","record","saveNextRecord","clickCancelEdit","deleteRowWithMessage","row","msg","deleteRow","bypassPrompt","entity","rowIndex","newVal","oldVal","selectedState","stateName","stateModel","stateAction","stateId","toString","debounce","$apply","ngGridUnWatch","$viewport","$footerPanel","$listContainer","rebuildTimeout","rebuildGrid","$gridServices","DomUtilityService","RebuildGrid","$gridScope","handleScrollEvent","originalEvent","detail","wheelDelta","scrollY","scrollTop","clearTimeout","setTimeout","offset","top","$digest","css","bottom","position","val","encodeURIComponent","modifiedNav","filterNav","currentNavIndex","document","getElementById","theme","iconlib","layout","startval","disable_properties","disable_edit_json","disable_delete_all","disable_delete_last","schema","type","format","disable_collapse","items","headerTemplate","icon","collapsed","className","enum","tite","sortField","description","width","headerClass","cellClass","cellTemplate","cellFilter","minWidth","maxWidth","sortable","resizable","defaultProperties","defaultSubNavIndex","watch","enumSource","source","jsonEditor","JSONEditor","parent","temp","getEditor","getValue","index","setValue","alertTitle","alertMessage","allowAlertClose","saveNav","a","b","moveUp","from","to","moveDown","edit","onEdit","saveSort","newOrder","unshift","login","clickLogin","logIn","password","UserService","register","apiBaseUrl","service","$http","$q","apiRequests","apiCancel","method","canceller","resolve","apiHelper","deferred","defer","timeout","promise","reject","swap","elem","args","ret","old","style","apply","directive","require","restrict","control","ngFormat","ngTimeZone","defaultDate","viewMode","ngViewMode","horizontal","maxDate","minDate","link","attrs","ngModel","$formatters","date","tz","useCurrent","toDate","widgetPositioning","datetimepicker","show","focus","dateValue","isValid","$setViewValue","$compile","getTemplate","html","contents","ngOptions","ngRepeat","addInputAttributes","inputAttr","$input","attr","ngError","onFieldError","initFieldType","editTemplate","pattern","charsLeft","maxLength","lengthCheck","target","Error","errorCode","isRequired","filename","file","extension","toLowerCase","defaultValueUsingModelKey","convertToLocalTime","check","default","disabled","modelData","signature","clearCanvas","canvas","_canvas","fromDataURL","image","Image","setAttribute","onload","getContext","drawImage","fileUrl","src","toDataURL","dataUrl","unwatch","previewUrl","pos","s3Path","getFileIcon","onFileSelect","$files","selectedFile","nodeName","off","ImageService","uploadStatus","imageUrl","urlKey","thumbnailUrl","onerror","fileReader","readAsDataURL","FileReader","imageData","__ModelFieldImageData","fixOrientationWithDataURI","dataURI","dataURItoBlob","export","exportImages","resize","resizeImage","blob","isAllowed","extensions","match","join","arguments","exportKey","settings","byteString","split","atob","unescape","mimeString","ia","Uint8Array","charCodeAt","Blob","imageClick","isLightbox","isLightboxWithZoom","$container","append","scale","Math","min","background","backgroundSize","$thumbnail","$zoom","thumbnailWidth","thumbnailHeight","maxScale","zoomWidth","zoomHeight","border","x","y","positionImage","offsetX","offsetY","pageX","pageY","backgroundPosition","increment","animate","backgroundColor","opacity","$imageContainer","addLabel","sortableOptions","placeholder","update","updateData","setData","output","addItem","removeItem","$watchCollection","results","LocationService","loadScript","googleMapsApiJS","createElement","getElementsByTagName","appendChild","initMap","isMapLoading","isLoaded","map","google","maps","Map","center","location","zoom","initialize","initSelectedMarker","selectedMarker","LatLng","lat","lng","setPosition","setMap","setCenter","pinColor","Marker","MarkerImage","Size","Point","draggable","tooltip","addListener","geocoder","originalValue","geocodeSearch","geocodeError","showGeocode","Geocoder","allowGeocode","query","currentLocation","pointLocation","latitude","longitude","valueChanged","doGeocode","geocode","address","GeocoderStatus","OK","geometry","OVER_QUERY_LIMIT","ZERO_RESULTS","clearSearch","hasSearched","revertValue","multiSelectOptions","initOptions","initData","clickMultiSelectCheckbox","keyOverride","valueOverride","option","findIndex","selectedOption","$filter","scaleValue","checkNumber","validateAndParseNumbers","allowDecimal","cursorPosition","selection","range","createRange","moveStart","text","selectionStart","indexOfDecimal","valueComponents","validity","badInput","decimalString","isNaN","round","roundedValue","parseFloat","minValue","maxValue","googleApiKey","convertStringToGoogleTypeFormat","str","request","initQuery","jQuery","radius","places","PlacesService","textSearch","PlacesServiceStatus","createMarkers","boundaries","clearOverlays","markers","removeMarkers","createCircle","displayMarkers","listSearchResults","infowindow","searchResults","marker","markerLocation","getPosition","setContent","getClickedMarker","circle","Circle","fillOpacity","fillColor","bounds","LatLngBounds","spherical","computeDistanceBetween","displayedMarkers","fitBounds","searchError","displayedSearchResults","placeId","perviouslySavedLatLng","requestQuery","milesToMeters","miles","placeType","googleType","zipCode","InfoWindow","doSearch","reverseGeocode","coordinates","resultPlaceId","place_id","getAdditionPlaceInformation","checked","getSelectResultData","placeRequest","getDetails","place","address_components","types","short_name","phoneNumber","formatted_phone_number","formatted_address","updateInfoWindow","checkedLocation","updateSelection","selectedIdx","multiple","matchTemplate","choiceTemplate","rowData","textOutputPath","onModelChanged","appendToBody","replaceSessionVariables","string","mergeArray","fromArray","toArray","assignJunctionMeta","junctionMeta","selectedItem","isFirstTimeLoad","refreshChoices","searchField","filters","preventCancel","allowInsert","addNewItem","allowClear","defaultIndex","onSelect","sourceModel","relationship","referenceModel","sourceModelName","sourceId","sourceKey","getMany","inq","$item","newItem","textValue","obj","onRemove","trigger","repeatExpression","selectedList","insertText","$sce","videoUrl","trustAsResourceUrl","fontsList","fonts","isEditingCode","toggleDropdown","toggleCodeEdit","initWysiwygEditor","initColorPicker","codeEditor","ace","getSession","setMode","each","overlay","left","$render","$wysiwyg","$viewValue","instances","instanceIdx","editorId","toolbarId","$toolbar","wysiwyg","toolbarSelector","hotKeys","dragAndDropImages","$colorPicker","spectrum","flat","cancelText","clickoutFiresChange","preferredFormat","showInput","change","closest","toHexString","execCommand","$element","currentTarget","allowImageUpload","uploadFile","imagePath","htmlCode","innerHTML","html_beautify","indent_size","number","NaN","KEY_DELIMITER","localStorage","getItem","setItem","regex","RegExp","_roles","_nav","fromJson","isEmpty","isEqual","restrictMenuItems","navList","hidden","menus","menu","hasAccess","hasOwnProperty","subItems","subNavIndex","$upload","Utils","getS3Credentials","fileType","access_token","getTime","cmsBaseUrl","getFileUploadData","credentials","uniqueFilePath","AWSAccessKeyId","acl","policy","success_action_status","Cache-Control","String","detectMimeTypeByExt","upload","uploadUrl","notify","success","locationUrl","xmldoc","DOMParser","parseFromString","evaluate","XPathResult","STRING_TYPE","stringValue","documentElement","childNodes","node","firstChild","nodeValue","uploadFilePath","uploadImages","imageFiles","fileIndex","exportIndex","imageUploadResults","fileKey","currentUploadedSize","totalUploadSize","imageFile","fileKeys","exports","exportKeys","fkey","ekey","ext","pop","3dm","3dmf","aab","aam","aas","abc","acgi","afl","ai","aif","aifc","aiff","aim","aip","ani","aos","aps","arc","arj","art","asf","asm","asp","asx","au","avi","avs","bcpio","bin","bm","bmp","boo","book","boz","bsh","bz","bz2","c","c++","cat","cc","ccad","cco","cdf","cer","cha","chat","class","com","conf","cpio","cpp","cpt","crl","crt","csh","cxx","dcr","deepv","def","der","dif","dir","dl","doc","dot","dp","drw","dump","dv","dvi","dwf","dwg","dxf","dxr","el","elc","env","eps","es","etx","evy","exe","f","f77","f90","fdf","fif","fli","flo","flx","fmf","for","fpx","frl","funk","g","g3","gif","gl","gsd","gsm","gsp","gss","gtar","gz","gzip","h","hdf","help","hgl","hh","hlb","hlp","hpg","hpgl","hqx","hta","htc","htm","htmls","htt","htx","ice","ico","idc","ief","iefs","iges","igs","ima","imap","inf","ins","ip","isu","it","iv","ivr","ivy","jam","jav","java","jcm","jfif","jfif-tbnl","jpe","jpeg","jpg","jps","js","jut","kar","ksh","la","lam","latex","lha","lhx","lma","lsp","lst","lsx","ltx","lzh","lzx","m","m1v","m2a","m2v","m3u","man","mar","mbd","mc$","mcd","mcf","mcp","me","mht","mhtml","mid","midi","mif","mime","mjf","mjpg","mm","mme","mod","moov","mov","movie","mp2","mp3","mpa","mpc","mpe","mpeg","mpg","mpga","mpp","mpt","mpv","mpx","mrc","ms","mv","my","mzz","nap","naplps","nc","ncm","nif","niff","nix","nsc","nvd","o","oda","omc","omcd","omcr","p","p10","p12","p7a","p7c","p7m","p7r","p7s","part","pas","pbm","pcl","pct","pcx","pdb","pdf","pfunk","pgm","pic","pict","pkg","pko","pl","plx","pm","pm4","pm5","png","pnm","pot","pov","ppa","ppm","pps","ppt","ppz","pre","prt","ps","psd","pvu","pwz","py","pyc","qcp","qd3","qd3d","qif","qt","qtc","qti","qtif","ra","ram","ras","rast","rexx","rf","rgb","rm","rmi","rmm","rmp","rng","rnx","roff","rp","rpm","rt","rtf","rtx","rv","s","s3m","saveme","sbk","scm","sdml","sdp","sdr","sea","sgm","sgml","sh","shar","shtml","sid","sit","skd","skm","skp","skt","sl","smi","smil","snd","sol","spc","spl","spr","sprite","ssi","ssm","sst","step","stl","stp","sv4cpio","sv4crc","svf","svr","swf","t","talk","tar","tbk","tcl","tcsh","tex","texi","texinfo","tgz","tif","tiff","tr","tsi","tsp","tsv","turbot","txt","uil","uni","unis","unv","uri","uris","ustar","uu","uue","vcd","vcs","vda","vdo","vew","viv","vivo","vmd","vmf","voc","vos","vox","vqe","vqf","vql","vrml","vrt","vsd","vst","vsw","w60","w61","w6w","wav","wb1","wbmp","web","wiz","wk1","wmf","wml","wmlc","wmls","wmlsc","word","wp","wp5","wp6","wpd","wq1","wri","wrl","wrz","wsc","wsrc","wtk","xbm","xdr","xgz","xif","xl","xla","xlb","xlc","xld","xlk","xll","xlm","xls","xlt","xlv","xlw","xm","xml","xmz","xpix","xpm","x-png","xsr","xwd","xyz","z","zip","zoo","zsh","newKey","sortData","accessToken","post","__model","__id","__accessToken","modelDef","uploadFiles","nextFile","assignImageFileMetaData","fieldKey","mediaRelationshipModel","j","fileInfo","meta","metaKeys","metaKey","forceDefaultOnSave","json","loadImageURI","EXIF","getData","exif","context","orientation","getTag","aspect","max","setOrientation","restore","translate","rotate","PI","d","geolocation","getCurrentPosition","coords","$cookieStore","sessionStr","authModel","setSession","startsWith","found","ctrlRoles"],"mappings":"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","file":"app.js"} \ No newline at end of file +{"version":3,"sources":["app.js"],"names":["angular","module","config","$locationProvider","$stateProvider","$urlRouterProvider","$compileProvider","$qProvider","$translateProvider","Config","aHrefSanitizationWhitelist","otherwise","serverParams","disableRegistration","when","html5Mode","useSanitizeValueStrategy","translateUrl","useUrlLoader","defaultLanguage","fallbackLanguage","state","abstract","template","url","data","pageTitle","deferIntercept","run","$ocLazyLoad","$rootScope","$urlRouter","$injector","$translate","use","refresh","modulesLoaded","customModules","load","then","$broadcast","Array","isArray","injectOnStart","forEach","get","error","console","log","$on","e","sync","listener","constant","TIMEOUT_INTERVAL","PUBLIC_STATE","LOGIN_STATE","controller","$scope","$location","$state","$timeout","$document","$cookies","SessionService","CacheService","constants","gaTrackingId","ga","event","toState","toParams","fromState","fromParams","toStateName","name","substr","indexOf","getAuthToken","desiredState","params","set","loginState","go","preventDefault","isAuthorized","isDefined","logOut","reset","result","catch","lastPersistDate","Date","persistSession","cancel","persistId","current","checkTimeout","put","timeoutId","lastActiveDate","sessionTimeout","host","on","templateUrl","$stateParams","$modal","DashboardService","self","this","init","toggleSideMenu","hideSideMenu","editProfile","logout","locationPath","path","username","email","userId","userInfo","JSON","parse","user","roles","title","nav","getNavigation","defaultNav","getDefaultNav","copy","route","$watch","modalInstance","close","$dashboard","$","hasClass","removeClass","addClass","$event","action","options","model","profileModel","key","profileKey","id","hideDelete","open","size","scope","$modalInstance","isConfirm","alertType","closeAlert","okAlert","okHandler","cancelAlert","cancelHandler","section","_","find","subnav","label","SettingsService","clickSave","$window","GeneralModelService","FileUploadService","page","models","properties","display","readonly","keys","Object","i","isLoading","checkDefaultValues","isEdit","modelDisplay","plural","response","layoutModelDisplay","strings","saveButtonText","saveButton","deleteButtonText","deleteButton","deleteDialogText","deleteDiaglog","clickSaveModel","formParams","clickDeleteModel","newData","oldData","$emit","length","push","save","callback","saveWithFiles","message","alert","code","stringify","status","progress","clear","returnAfterEdit","history","back","confirm","softDeleteProperty","remove","hasPermission","displayInfo","property","askIf","userRoles","role","ModelListCtrl","moment","columnCount","list","selected","columns","listTemplateUrl","totalServerItems","isEditing","searchFields","sort","sortInfo","fields","directions","filterOptions","filterText","useExternalFilter","pagingOptions","pageSizes","pageSize","currentPage","gridOptions","enableColumnResize","enableRowSelection","multiSelect","enablePaging","useExternalSorting","showSelectionCheckbox","showFooter","showFilter","headerRowHeight","footerRowHeight","selectedItems","rowHeight","gridContainerTopMargin","chart","gridContainerTopMarginMax","height","processChart","window","ngGrid","i18n","ngTotalItemsLabel","ngPageSizeLabel","getColumnDefinition","columnDefs","editable","enableCellEdit","enableCellEditOnFocus","enableCellSelection","api","apiPath","origApiPath","addQueryStringParams","getTotalServerItems","$grid","element","bind","processWindowSize","startEdit","resetPaging","test","navigator","userAgent","flexibleHeight","plugins","ngGridFlexibleHeightPlugin","allowCSVExport","ngGridCsvExportPlugin","cancelButtonText","cancelButton","columnRef","column","isRoleFound","r","splice","windowWidth","innerWidth","averageColumnWidth","filter","optional","queryStringParams","search","replace","session","searchString","startPos","endPos","sessionKey","substring","slice","eval","filterDescription","parseInt","extend","warn","setupPagination","limit","skip","order","field","direction","filter[limit]","filter[skip]","sortOrder","filter[order]","queryStringParamsToJSON","where","and","v","k","item","orFilter","or","idx","searchFilter","vAxis","hAxis","textStyle","gridlines","fontSize","color","baselineColor","oldList","endEdit","undefined","loadItems","isFirstLoad","count","errorMessage","cacheKey","getKeyForAction","resultField","loadAttempted","hasButtonPermission","button","clickListButton","click","value","lastIndexOf","clickAdd","clickSaveEdit","deltaList","newRow","oldRow","rowKeys","defaults","foreceDefaultOnSave","evalDefault","required","displayName","recordIndex","saveRecord","record","saveNextRecord","clickCancelEdit","deleteRowWithMessage","row","msg","deleteRow","bypassPrompt","entity","rowIndex","newVal","oldVal","selectedState","stateName","stateModel","stateAction","stateId","toString","debounce","$apply","ngGridUnWatch","$viewport","$footerPanel","$listContainer","rebuildTimeout","rebuildGrid","$gridServices","DomUtilityService","RebuildGrid","$gridScope","handleScrollEvent","originalEvent","detail","wheelDelta","scrollY","scrollTop","clearTimeout","setTimeout","offset","top","$digest","css","bottom","position","val","encodeURIComponent","modifiedNav","filterNav","currentNavIndex","document","getElementById","theme","iconlib","layout","startval","disable_properties","disable_edit_json","disable_delete_all","disable_delete_last","schema","type","format","disable_collapse","items","headerTemplate","icon","collapsed","className","enum","tite","sortField","description","width","headerClass","cellClass","cellTemplate","cellFilter","minWidth","maxWidth","sortable","resizable","defaultProperties","defaultSubNavIndex","watch","enumSource","source","jsonEditor","JSONEditor","parent","temp","getEditor","getValue","index","setValue","alertTitle","alertMessage","allowAlertClose","saveNav","a","b","moveUp","from","to","moveDown","edit","onEdit","saveSort","newOrder","unshift","login","clickLogin","logIn","password","UserService","register","apiBaseUrl","service","$http","$q","apiRequests","apiCancel","method","canceller","resolve","apiHelper","deferred","defer","timeout","promise","reject","swap","elem","args","ret","old","style","apply","directive","require","restrict","control","ngFormat","ngTimeZone","defaultDate","viewMode","ngViewMode","horizontal","maxDate","minDate","link","attrs","ngModel","$formatters","date","tz","useCurrent","toDate","widgetPositioning","datetimepicker","show","focus","dateValue","isValid","$setViewValue","$compile","getTemplate","html","contents","ngOptions","ngRepeat","addInputAttributes","inputAttr","$input","attr","ngError","onFieldError","initFieldType","editTemplate","pattern","charsLeft","maxLength","lengthCheck","target","Error","errorCode","isRequired","filename","file","extension","toLowerCase","defaultValueUsingModelKey","convertToLocalTime","check","default","disabled","modelData","signature","clearCanvas","canvas","_canvas","fromDataURL","image","Image","setAttribute","onload","getContext","drawImage","fileUrl","src","toDataURL","dataUrl","unwatch","previewUrl","pos","s3Path","getFileIcon","onFileSelect","$files","selectedFile","nodeName","off","ImageService","uploadStatus","imageUrl","urlKey","thumbnailUrl","onerror","fileReader","readAsDataURL","FileReader","imageData","__ModelFieldImageData","fixOrientationWithDataURI","dataURI","dataURItoBlob","export","exportImages","resize","resizeImage","blob","isAllowed","extensions","match","join","arguments","exportKey","settings","byteString","split","atob","unescape","mimeString","ia","Uint8Array","charCodeAt","Blob","imageClick","isLightbox","isLightboxWithZoom","$container","append","scale","Math","min","background","backgroundSize","$thumbnail","$zoom","thumbnailWidth","thumbnailHeight","maxScale","zoomWidth","zoomHeight","border","x","y","positionImage","offsetX","offsetY","pageX","pageY","backgroundPosition","increment","animate","backgroundColor","opacity","$imageContainer","addLabel","sortableOptions","placeholder","update","updateData","setData","output","addItem","removeItem","$watchCollection","results","LocationService","loadScript","googleMapsApiJS","createElement","getElementsByTagName","appendChild","initMap","isMapLoading","isLoaded","map","google","maps","Map","center","location","zoom","initialize","initSelectedMarker","selectedMarker","LatLng","lat","lng","setPosition","setMap","setCenter","pinColor","Marker","MarkerImage","Size","Point","draggable","tooltip","addListener","geocoder","originalValue","geocodeSearch","geocodeError","showGeocode","Geocoder","allowGeocode","query","currentLocation","pointLocation","latitude","longitude","valueChanged","doGeocode","geocode","address","GeocoderStatus","OK","geometry","OVER_QUERY_LIMIT","ZERO_RESULTS","clearSearch","hasSearched","revertValue","multiSelectOptions","initOptions","initData","clickMultiSelectCheckbox","keyOverride","valueOverride","option","findIndex","selectedOption","$filter","scaleValue","checkNumber","validateAndParseNumbers","allowDecimal","cursorPosition","selection","range","createRange","moveStart","text","selectionStart","indexOfDecimal","valueComponents","validity","badInput","decimalString","isNaN","round","roundedValue","parseFloat","minValue","maxValue","googleApiKey","convertStringToGoogleTypeFormat","str","request","initQuery","jQuery","radius","places","PlacesService","textSearch","PlacesServiceStatus","createMarkers","boundaries","clearOverlays","markers","removeMarkers","createCircle","displayMarkers","listSearchResults","infowindow","searchResults","marker","markerLocation","getPosition","setContent","getClickedMarker","circle","Circle","fillOpacity","fillColor","bounds","LatLngBounds","spherical","computeDistanceBetween","displayedMarkers","fitBounds","searchError","displayedSearchResults","placeId","perviouslySavedLatLng","requestQuery","milesToMeters","miles","placeType","googleType","zipCode","InfoWindow","doSearch","reverseGeocode","coordinates","resultPlaceId","place_id","getAdditionPlaceInformation","checked","getSelectResultData","placeRequest","getDetails","place","address_components","types","short_name","phoneNumber","formatted_phone_number","formatted_address","updateInfoWindow","checkedLocation","updateSelection","selectedIdx","multiple","matchTemplate","choiceTemplate","rowData","textOutputPath","onModelChanged","appendToBody","replaceSessionVariables","string","mergeArray","fromArray","toArray","assignJunctionMeta","junctionMeta","selectedItem","isFirstTimeLoad","refreshChoices","searchField","filters","preventCancel","allowInsert","addNewItem","allowClear","defaultIndex","onSelect","sourceModel","relationship","referenceModel","sourceModelName","sourceId","sourceKey","getMany","inq","$item","newItem","textValue","obj","onRemove","trigger","repeatExpression","selectedList","insertText","$sce","videoUrl","trustAsResourceUrl","fontsList","fonts","isEditingCode","toggleDropdown","toggleCodeEdit","initWysiwygEditor","initColorPicker","codeEditor","ace","getSession","setMode","each","overlay","left","$render","$wysiwyg","$viewValue","instances","instanceIdx","editorId","toolbarId","$toolbar","wysiwyg","toolbarSelector","hotKeys","dragAndDropImages","$colorPicker","spectrum","flat","cancelText","clickoutFiresChange","preferredFormat","showInput","change","closest","toHexString","execCommand","$element","currentTarget","allowImageUpload","uploadFile","imagePath","htmlCode","innerHTML","html_beautify","indent_size","overflow-y","scrollHeight","minTextAreaHeight","max","number","NaN","KEY_DELIMITER","localStorage","getItem","setItem","regex","RegExp","_roles","_nav","fromJson","isEmpty","isEqual","restrictMenuItems","navList","hidden","menus","menu","hasAccess","hasOwnProperty","subItems","subNavIndex","$upload","Utils","getS3Credentials","fileType","access_token","getTime","cmsBaseUrl","getFileUploadData","credentials","uniqueFilePath","AWSAccessKeyId","acl","policy","success_action_status","Cache-Control","String","detectMimeTypeByExt","upload","uploadUrl","notify","success","locationUrl","xmldoc","DOMParser","parseFromString","evaluate","XPathResult","STRING_TYPE","stringValue","documentElement","childNodes","node","firstChild","nodeValue","uploadFilePath","uploadImages","imageFiles","fileIndex","exportIndex","imageUploadResults","fileKey","currentUploadedSize","totalUploadSize","imageFile","fileKeys","exports","exportKeys","fkey","ekey","ext","pop","3dm","3dmf","aab","aam","aas","abc","acgi","afl","ai","aif","aifc","aiff","aim","aip","ani","aos","aps","arc","arj","art","asf","asm","asp","asx","au","avi","avs","bcpio","bin","bm","bmp","boo","book","boz","bsh","bz","bz2","c","c++","cat","cc","ccad","cco","cdf","cer","cha","chat","class","com","conf","cpio","cpp","cpt","crl","crt","csh","cxx","dcr","deepv","def","der","dif","dir","dl","doc","dot","dp","drw","dump","dv","dvi","dwf","dwg","dxf","dxr","el","elc","env","eps","es","etx","evy","exe","f","f77","f90","fdf","fif","fli","flo","flx","fmf","for","fpx","frl","funk","g","g3","gif","gl","gsd","gsm","gsp","gss","gtar","gz","gzip","h","hdf","help","hgl","hh","hlb","hlp","hpg","hpgl","hqx","hta","htc","htm","htmls","htt","htx","ice","ico","idc","ief","iefs","iges","igs","ima","imap","inf","ins","ip","isu","it","iv","ivr","ivy","jam","jav","java","jcm","jfif","jfif-tbnl","jpe","jpeg","jpg","jps","js","jut","kar","ksh","la","lam","latex","lha","lhx","lma","lsp","lst","lsx","ltx","lzh","lzx","m","m1v","m2a","m2v","m3u","man","mar","mbd","mc$","mcd","mcf","mcp","me","mht","mhtml","mid","midi","mif","mime","mjf","mjpg","mm","mme","mod","moov","mov","movie","mp2","mp3","mpa","mpc","mpe","mpeg","mpg","mpga","mpp","mpt","mpv","mpx","mrc","ms","mv","my","mzz","nap","naplps","nc","ncm","nif","niff","nix","nsc","nvd","o","oda","omc","omcd","omcr","p","p10","p12","p7a","p7c","p7m","p7r","p7s","part","pas","pbm","pcl","pct","pcx","pdb","pdf","pfunk","pgm","pic","pict","pkg","pko","pl","plx","pm","pm4","pm5","png","pnm","pot","pov","ppa","ppm","pps","ppt","ppz","pre","prt","ps","psd","pvu","pwz","py","pyc","qcp","qd3","qd3d","qif","qt","qtc","qti","qtif","ra","ram","ras","rast","rexx","rf","rgb","rm","rmi","rmm","rmp","rng","rnx","roff","rp","rpm","rt","rtf","rtx","rv","s","s3m","saveme","sbk","scm","sdml","sdp","sdr","sea","sgm","sgml","sh","shar","shtml","sid","sit","skd","skm","skp","skt","sl","smi","smil","snd","sol","spc","spl","spr","sprite","ssi","ssm","sst","step","stl","stp","sv4cpio","sv4crc","svf","svr","swf","t","talk","tar","tbk","tcl","tcsh","tex","texi","texinfo","tgz","tif","tiff","tr","tsi","tsp","tsv","turbot","txt","uil","uni","unis","unv","uri","uris","ustar","uu","uue","vcd","vcs","vda","vdo","vew","viv","vivo","vmd","vmf","voc","vos","vox","vqe","vqf","vql","vrml","vrt","vsd","vst","vsw","w60","w61","w6w","wav","wb1","wbmp","web","wiz","wk1","wmf","wml","wmlc","wmls","wmlsc","word","wp","wp5","wp6","wpd","wq1","wri","wrl","wrz","wsc","wsrc","wtk","xbm","xdr","xgz","xif","xl","xla","xlb","xlc","xld","xlk","xll","xlm","xls","xlt","xlv","xlw","xm","xml","xmz","xpix","xpm","x-png","xsr","xwd","xyz","z","zip","zoo","zsh","newKey","sortData","accessToken","post","__model","__id","__accessToken","modelDef","uploadFiles","nextFile","assignImageFileMetaData","fieldKey","mediaRelationshipModel","j","fileInfo","meta","metaKeys","metaKey","forceDefaultOnSave","json","loadImageURI","EXIF","getData","exif","context","orientation","getTag","aspect","setOrientation","restore","translate","rotate","PI","d","geolocation","getCurrentPosition","coords","$cookieStore","sessionStr","authModel","setSession","startsWith","found","ctrlRoles"],"mappings":"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","file":"app.js"} \ No newline at end of file From b3b1257be40bb8a81f5d75dd72e8e82504e883bf Mon Sep 17 00:00:00 2001 From: Daniel Chang Date: Fri, 8 Sep 2017 17:24:41 -0700 Subject: [PATCH 4/4] Grunt compile-prod --- dist/app.js | 12 ++--- dist/app.js.map | 2 +- dist/vendor.js | 114 ++++++++++++++++++++++----------------------- dist/vendor.js.map | 2 +- 4 files changed, 65 insertions(+), 65 deletions(-) diff --git a/dist/app.js b/dist/app.js index 316ca9b4..5eb48a4d 100644 --- a/dist/app.js +++ b/dist/app.js @@ -1,14 +1,14 @@ /** - * isbx-loopback-cms - v0.1.2 - 2017-08-30 + * isbx-loopback-cms - v0.1.2 - 2017-09-08 * * * Copyright (c) 2017 ISBX * Licensed MIT <> */ -angular.module("dashboard",["dashboard.Dashboard","dashboard.Login","dashboard.Register","dashboard.directives","dashboard.filters","dashboard.services.Cache","dashboard.services.Session","templates-app","templates-common","ui.router","oc.lazyLoad","ngCookies","ngAnimate","pascalprecht.translate"]).config(["$locationProvider","$stateProvider","$urlRouterProvider","$compileProvider","$qProvider","$translateProvider","Config",function(a,b,c,d,e,f,g){"ngInject";d.aHrefSanitizationWhitelist(/^\s*(http|https|ftp|mailto|tel|file|blo‌​b|data):/),c.otherwise("/login"),g.serverParams.disableRegistration&&c.when("/register","/login"),a.html5Mode(!0),f.useSanitizeValueStrategy("escape"),g.serverParams.translateUrl&&f.useUrlLoader(g.serverParams.translateUrl),g.serverParams.defaultLanguage&&f.fallbackLanguage(g.serverParams.defaultLanguage),b.state("public",{abstract:!0,template:""}).state("public.accessDenied",{url:"/access-denied",template:'

Access Denied

You are not authorized to access this page.

',data:{pageTitle:"Access Denied"}}),c.deferIntercept()}]).run(["$ocLazyLoad","$rootScope","$urlRouter","$injector","$translate","Config",function(a,b,c,d,e,f){"ngInject";f.serverParams.defaultLanguage&&e.use(f.serverParams.defaultLanguage),f.serverParams.translateUrl&&e.refresh();var g=!1;f.serverParams.customModules?a.load(f.serverParams.customModules).then(function(){g=!0,b.$broadcast("modulesLoaded"),Array.isArray(f.serverParams.injectOnStart)&&f.serverParams.injectOnStart.forEach(d.get)},function(a){console.log(a)}):g=!0,b.$on("$locationChangeSuccess",function(a){if(g)c.sync();else var d=b.$on("modulesLoaded",function(){c.sync(),d()})})}]).constant("constants",{TIMEOUT_INTERVAL:5e3,PUBLIC_STATE:"public",LOGIN_STATE:"public.login"}).controller("AppCtrl",["$scope","$location","$state","$rootScope","$timeout","$document","$cookies","SessionService","CacheService","Config","constants",function(a,b,c,d,e,f,g,h,i,j,k){"ngInject";d.$state=c,j.serverParams.gaTrackingId&&ga("create",j.serverParams.gaTrackingId,"auto"),d.$on("$stateChangeStart",function(a,b,d,e,f){var g=b.name;if(g=g.substr(g,g.indexOf(".")),!h.getAuthToken()&&g!=k.PUBLIC_STATE){var l={state:b,params:d};return i.set("desiredState",l),j.serverParams.loginState?c.go(j.serverParams.loginState):g!=k.PUBLIC_STATE&&c.go(k.LOGIN_STATE),void a.preventDefault()}h.isAuthorized(b,d)||(c.go("public.accessDenied"),a.preventDefault())}),a.$on("$stateChangeSuccess",function(b,c,d,e,f){angular.isDefined(c.data.pageTitle)&&(a.pageTitle=c.data.pageTitle)}),d.logOut=function(){h.getAuthToken()&&(i.reset(),h.logOut().then(function(a){j.serverParams.loginState?c.go(j.serverParams.loginState):c.go(k.LOGIN_STATE)}).catch(function(a){c.go(k.LOGIN_STATE)}))};var l=new Date;d.persistSession=function(){e.cancel(d.persistId),c.current.name.indexOf(k.PUBLIC_STATE)>-1||(l=new Date,new Date-l>k.TIMEOUT_INTERVAL?d.checkTimeout()&&g.put("lastActive",new Date):d.persistId=e(function(){d.checkTimeout()&&g.put("lastActive",new Date)},k.TIMEOUT_INTERVAL))},d.checkTimeout=function(){if(e.cancel(d.timeoutId),!g.get("lastActive"))return console.error("Session Timedout on another window/tab"),c.go(k.LOGIN_STATE),!1;var a=new Date(g.get("lastActive"));return new Date-a>j.serverParams.sessionTimeout?(d.logOut(),!1):(d.timeoutId=e(d.checkTimeout,k.TIMEOUT_INTERVAL),!0)},j.serverParams.sessionTimeout&&"localhost"!=b.host()&&(f.on("mousemove",function(){d.persistSession()}),f.on("touchmove",function(){d.persistSession()}),f.on("keydown",function(){d.persistSession()}))}]),angular.module("dashboard.Dashboard",["dashboard.Config","dashboard.Profile","dashboard.Dashboard.Model","dashboard.services.Dashboard","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard",{url:"/dashboard",controller:"DashboardCtrl",templateUrl:"app/dashboard/Dashboard.html",data:{pageTitle:"Dashboard"}}).state("portal",{url:"/portal",controller:"DashboardCtrl",templateUrl:"app/dashboard/Dashboard.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardCtrl",["$scope","$rootScope","$state","$stateParams","$location","$cookies","$modal","Config","DashboardService",function(a,b,c,d,e,f,g,h,i){"ngInject";var j=this;this.init=function(){a.toggleSideMenu=j.toggleSideMenu,a.hideSideMenu=j.hideSideMenu,a.editProfile=j.editProfile,a.logout=j.logout,a.locationPath=e.path(),a.username=f.get("username"),a.email=f.get("email"),a.userId=f.get("userId");try{a.userInfo=JSON.parse(f.get("session")),a.userInfo.user.roles=JSON.parse(f.get("roles"))}catch(a){console.error("Unable to parse $cookies.get(session)",a)}if(console.log("DashboardCtrl: $scope.userInfo",a.userInfo),a.title=h.serverParams.title||"Content Management System",a.nav=i.getNavigation(),"dashboard"==c.current.name&&h.serverParams.defaultNav){var b=i.getDefaultNav(a.nav,angular.copy(h.serverParams.defaultNav));b.state?c.go(b.state,b.params):c.go("dashboard.model.action."+b.route,b.params)}a.$watch(function(){return e.path()},function(){a.locationPath=e.path()}),a.$on("modelEditSaved",function(){a.modalInstance&&a.modalInstance.close()})},this.toggleSideMenu=function(){var a=$(".dashboard");a.hasClass("show-side-menu")?a.removeClass("show-side-menu"):a.addClass("show-side-menu")},this.hideSideMenu=function(){$(".dashboard").removeClass("show-side-menu")},this.editProfile=function(b){b&&b.preventDefault(),a.action={options:{model:h.serverParams.profileModel,key:h.serverParams.profileKey,id:f.get("userId"),hideDelete:!0}},a.modalInstance=g.open({templateUrl:"app/dashboard/profile/Profile.html",controller:"ProfileCtrl",size:"lg",scope:a})},this.logout=function(a){b.logOut(),a&&a.preventDefault()},j.init()}]),angular.module("dashboard.Alert",["ui.bootstrap","ui.bootstrap.modal"]).controller("AlertCtrl",["$scope","$modalInstance",function(a,b){"ngInject";function c(){a.isConfirm="confirm"==a.alertType}a.closeAlert=function(){b.close()},a.okAlert=function(){"function"==typeof a.okHandler&&a.okHandler(),b.close()},a.cancelAlert=function(){"function"==typeof a.cancelHandler&&a.cancelHandler(),b.close()},c()}]),angular.module("dashboard.Dashboard.Model",["dashboard.Dashboard.Model.Action","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model",{url:"/:model",controller:"DashboardModelCtrl",templateUrl:"app/dashboard/model/DashboardModel.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardModelCtrl",["$rootScope","$scope","$stateParams","Config",function(a,b,c,d){"ngInject";function e(){b.section=angular.copy(_.find(b.nav,{path:c.model}))}e()}]),angular.module("dashboard.Dashboard.Model.Action",["dashboard.Dashboard.Model.Edit","dashboard.Dashboard.Model.List","dashboard.Dashboard.Model.Sort","dashboard.Dashboard.Model.View","dashboard.Dashboard.Model.Nav","dashboard.Dashboard.Model.Definition","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action",{url:"/:action",controller:"DashboardModelActionCtrl",templateUrl:"app/dashboard/model/DashboardModelAction.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardModelActionCtrl",["$scope","$stateParams",function(a,b){"ngInject";function c(){a.section&&a.section.subnav&&(a.action=angular.copy(_.find(a.section.subnav,{label:b.action})))}c()}]),angular.module("dashboard.Dashboard.Model.Definition",["dashboard.Config","dashboard.services.Settings","ui.router","ui.bootstrap.modal"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.definition",{url:"/definition",templateUrl:"app/dashboard/model/definition/ModelDefinition.html",data:{pageTitle:"Settings - Model Definitions"}})}]).controller("ModelDefinitionCtrl",["$scope","$timeout","$state","$location","$modal","Config","SettingsService",function(a,b,c,d,e,f,g){"ngInject";a.clickSave=function(){}}]),angular.module("dashboard.Dashboard.Model.Edit",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","dashboard.directives.ModelField","dashboard.services.Cache","dashboard.services.GeneralModel","dashboard.services.FileUpload","ui.router","ui.bootstrap","ui.bootstrap.datepicker","ui.bootstrap.modal","ngCookies"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.edit",{url:"/edit/:id",templateUrl:"app/dashboard/model/edit/ModelEdit.html",data:{pageTitle:"Edit"}})}]).controller("ModelEditCtrl",["$rootScope","$scope","$cookies","$location","$stateParams","$state","$window","$modal","Config","GeneralModelService","FileUploadService","CacheService",function(a,b,c,d,e,f,g,h,i,j,k,l){"ngInject";function m(){if(b.hideSideMenu(),g.ga&&g.ga("send","pageview",{page:d.path()}),b.action||(b.action={}),b.action.options||(b.action.options={model:e.model,key:e.key}),b.model=angular.copy(i.serverParams.models[b.action.options.model]),b.action.options.key){var a=b.action.options.key;b.model.properties[a].display||(b.model.properties[a].display={}),b.model.properties[a].display.readonly=!0}if(b.action.options.readonly){var c=Object.keys(b.model.properties);for(var f in c){var a=c[f];b.model.properties[a].display||(b.model.properties[a].display={}),b.model.properties[a].display.readonly=!0}}if(b.isLoading=!0,b.data={},b.action.options.data){var c=Object.keys(b.action.options.data);for(var f in c){var a=c[f];b.data[a]=b.action.options.data[a]}}j.checkDefaultValues(b.model,b.data);var h=null;e.id&&e.id>0&&(h=e.id),b.action.options.id&&b.action.options.id>0&&(h=b.action.options.id),h?(b.isEdit=!0,b.modelDisplay=null,j.get(b.model.plural,h).then(function(a){a&&(b.data=a,n(),b.isLoading=!1)})):(n(),b.isEdit=!1,b.isLoading=!1),i.serverParams.strings||(i.serverParams.strings={}),b.saveButtonText=i.serverParams.strings.saveButton,b.deleteButtonText=i.serverParams.strings.deleteButton,b.deleteDialogText=i.serverParams.strings.deleteDiaglog?i.serverParams.strings.deleteDiaglog:"Are you sure you want to delete?",b.$on("saveModel",function(){b.clickSaveModel(b.data)}),b.$on("deleteModel",function(a,c){b.clickDeleteModel(b.data,c)}),b.$on("onModelSave",function(){b.clickSaveModel(b.data)}),b.$on("onModelDelete",function(a,c){b.clickDeleteModel(b.data,c)}),b.$watch("data",function(a,c){b.isLoading||b.$emit("onModelChange",{newData:a,oldData:c})},!0)}function n(){if(b.modelDisplay=b.model.display,b.action.options.display&&(b.modelDisplay=b.model[b.action.options.display]),!b.modelDisplay||0==b.modelDisplay.length){b.modelDisplay=[];var a=Object.keys(b.model.properties);for(var c in a){var d=a[c];b.modelDisplay.push(d),b.data[d]||(b.data[d]=null)}}b.$emit("onModelLoad",{data:b.data})}function o(c){var d=b.data[b.action.options.key];j.saveWithFiles(b.model.name,d,b.data).then(function(b){p&&p.close(),a.$broadcast("modelEditSaved"),c&&c(b)},function(a){if("object"==typeof a&&a.message)alert(a.message);else if("object"==typeof a&&a.error&&a.error.message)alert(a.error.message);else if("object"==typeof a&&a.code)switch(a.code){case"ER_DUP_ENTRY":alert("There was a duplicate entry found. Please make sure the entry is unique.")}else"object"==typeof a?alert(JSON.stringify(a)):alert(a);p&&p.close()},function(a){a.message&&(b.status=a.message),a.progress&&(b.progress=a.progress)})}var p=null;b.clickSaveModel=function(a){b.status="Saving...",b.progress=0,p=h.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:b}),o(function(a){l.clear(b.action.options.model),b.action.options&&b.action.options.returnAfterEdit?g.history.back():b.section?f.go(b.section.state?b.section.state:"dashboard.model.action.edit",{model:b.section.path,action:b.action.label,id:a[b.action.options.key]}):p&&p.close()})},b.clickDeleteModel=function(c,d){if(b.deleteDialogText=d&&d.deleteDialogText?d.deleteDialogText:b.deleteDialogText,confirm(b.deleteDialogText)){var e=c[b.action.options.key];b.model.options&&b.model.options.softDeleteProperty?(b.data[b.model.options.softDeleteProperty]=!0,o(function(){l.clear(b.action.options.model),g.history.back()})):j.remove(b.model.plural,e).then(function(c){a.$broadcast("modelDeleted"),l.clear(b.action.options.model),g.history.back()},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)})}},b.hasPermission=function(a){var d=null;if("object"==typeof a)d=a;else{var e=b.model.properties[a];d=e.display}if(!d)return!0;if(d.askIf){var f=Object.keys(d.askIf);for(var g in f){var e=f[g];if(b.data[e]!=d.askIf[e])return!1}}if(!d.roles)return!0;if(!c.get("roles"))return!1;var h=JSON.parse(c.get("roles"));for(var g in h){var i=h[g];if(d.roles.indexOf(i.name)>-1)return!0}return!1},m()}]),angular.module("dashboard.Dashboard.Model.Edit.SaveDialog",["ui.bootstrap","ui.bootstrap.progressbar","ui.bootstrap.modal"]).controller("ModelEditSaveDialogCtrl",["$scope","$modalInstance",function(a,b){"ngInject";function c(){}c()}]),angular.module("dashboard.Dashboard.Model.List",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","dashboard.services.Cache","dashboard.services.GeneralModel","dashboard.directives.ModelFieldReference","ui.router","ngCookies","ngGrid","googlechart"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.list",{url:"/list",templateUrl:"app/dashboard/model/list/ModelList.html",data:{pageTitle:"List"}})}]).controller("ModelListCtrl",["$scope","$cookies","$timeout","$state","$location","$window","$modal","Config","GeneralModelService","CacheService",function ModelListCtrl($scope,$cookies,$timeout,$state,$location,$window,$modal,Config,GeneralModelService,CacheService){"ngInject";function init(){$scope.isLoading=!0,$scope.moment=moment,$scope.columnCount=0,$scope.list=[],$scope.selected=[],$scope.columns=[],$scope.listTemplateUrl="",$scope.totalServerItems=0,$scope.isEditing=!1,$scope.searchFields=$scope.action.options.searchFields,$scope.action.options.sort?$scope.sortInfo=$scope.action.options.sort:$scope.sortInfo={fields:[$scope.action.options.key],directions:["ASC"]},$scope.filterOptions={filterText:"",useExternalFilter:"boolean"==typeof $scope.action.options.useExternalFilter&&$scope.action.options.useExternalFilter},$scope.pagingOptions={pageSizes:["25","50","100","250","500"],pageSize:$scope.action.options.pageSize?$scope.action.options.pageSize:"25",currentPage:1},$scope.sortInfo||($scope.sortInfo={}),$scope.sortInfo.columns||($scope.sortInfo.columns=[]),$scope.gridOptions={data:"list",enableColumnResize:!0,enableRowSelection:"boolean"!=typeof $scope.action.options.enableRowSelection||$scope.action.options.enableRowSelection,multiSelect:!1,enablePaging:!0,useExternalSorting:!0,showSelectionCheckbox:!1,sortInfo:$scope.sortInfo,showFooter:!0,showFilter:$scope.action.options.showFilter,headerRowHeight:44,footerRowHeight:44,totalServerItems:"totalServerItems",pagingOptions:$scope.pagingOptions,filterOptions:$scope.filterOptions,selectedItems:$scope.selected,rowHeight:$scope.action.options.rowHeight?$scope.action.options.rowHeight:44},$scope.hideSideMenu(),$window.ga&&$window.ga("send","pageview",{page:$location.path()}),$scope.gridContainerTopMargin=0,$scope.action.options.chart&&($scope.gridContainerTopMarginMax=$scope.action.options.chart.height+60,$scope.gridContainerTopMargin=$scope.gridContainerTopMarginMax,processChart()),window.ngGrid.i18n.en.ngTotalItemsLabel="Total Records: ",window.ngGrid.i18n.en.ngPageSizeLabel="Show: ",$scope.columns=getColumnDefinition(),$scope.gridOptions.columnDefs="columns",$scope.action.options.editable&&($scope.gridOptions.enableCellEdit=!0,$scope.gridOptions.enableCellEditOnFocus=!1,$scope.gridOptions.enableCellSelection=!0,$scope.gridOptions.enableRowSelection=!1),$scope.action.options.params||($scope.action.options.params={}),$scope.action.options.model&&($scope.model=Config.serverParams.models[$scope.action.options.model]),$scope.action.options.api?$scope.apiPath=$scope.action.options.api:$scope.action.options.model&&($scope.apiPath=$scope.model.plural),$scope.origApiPath=$scope.apiPath,addQueryStringParams(),$scope.getTotalServerItems(),$timeout(function(){$(".ngFooterPanel select").addClass("form-control"),$(".ngFooterPanel button").addClass("btn btn-default")}),$scope.$grid=$(".grid"),angular.element($window).bind("resize",function(){processWindowSize()}),$scope.$on("ngGridEventStartCellEdit",function(){startEdit()}),$scope.$on("ModelListLoadItems",function(a,b){b&&b.resetPaging&&($scope.pagingOptions.currentPage=1),$scope.getTotalServerItems()}),(/(iPad|iPhone|iPod|Android)/g.test(navigator.userAgent)||$scope.action.options.flexibleHeight)&&($scope.gridOptions.plugins=[new ngGridFlexibleHeightPlugin]),$scope.action.options.allowCSVExport&&($scope.gridOptions.plugins||($scope.gridOptions.plugins=[]),$scope.gridOptions.plugins.push(new ngGridCsvExportPlugin)),Config.serverParams.strings&&($scope.cancelButtonText=Config.serverParams.strings.cancelButton,$scope.saveButtonText=Config.serverParams.strings.saveButton)}function getColumnDefinition(){var a=$scope.action.options.columnRef,b=$scope.action.options.columns;if(a&&"object"==typeof a&&a.label)if(a.path){var c=_.find(Config.serverParams.nav,{path:a.path}),d=_.find(c.subnav,{label:a.label});b=d.options.columns}else{var d=_.find($scope.section.subnav,{label:a.label});b=d.options.columns}if((b=angular.copy(b))&&$cookies.get("roles")){var e=JSON.parse($cookies.get("roles"));if(e)for(var f=0;f-1){h=!0;break}}h||(b.splice(f,1),f--)}}}return b}function processWindowSize(){var a=$scope.$grid,b=$window.innerWidth,c=b/$scope.columnCount;c<90&&!a.hasClass("hide-optional")?(a.addClass("hide-optional"),$scope.columns=$scope.columns.filter(function(a){return!a.optional})):c>=90&&a.hasClass("hide-optional")&&(a.removeClass("hide-optional"),$scope.columns=$scope.columns=getColumnDefinition())}function addQueryStringParams(){var queryStringParams=$location.search();$scope.queryStringParams=queryStringParams,$scope.apiPath=$scope.origApiPath;var keys=Object.keys(queryStringParams);for(var i in keys){var key=keys[i];$scope.action.options.params[key]=queryStringParams[key],$scope.apiPath&&($scope.apiPath=$scope.apiPath.replace("{"+key+"}",queryStringParams[key]))}try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=$scope.apiPath.indexOf(searchString);startPos>-1;){var endPos=$scope.apiPath.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for $scope.apiPath");break}var sessionKey=$scope.apiPath.substring(startPos+1,endPos);$scope.apiPath=$scope.apiPath.slice(0,startPos)+eval(sessionKey)+$scope.apiPath.slice(endPos+1),startPos=$scope.apiPath.indexOf(searchString)}}catch(a){console.error(a)}var filterDescription=queryStringParams.filterDescription;if($scope.filterDescription=filterDescription?filterDescription:$scope.action.label,queryStringParams.pageSize&&($scope.pagingOptions.pageSize=queryStringParams.pageSize),queryStringParams.currentPage&&($scope.pagingOptions.currentPage=parseInt(queryStringParams.currentPage)),queryStringParams.sortInfo)try{var sortInfo=JSON.parse(queryStringParams.sortInfo);_.extend($scope.sortInfo,sortInfo)}catch(a){console.warn("There are errors with the querystring param 'pagingOptions'")}queryStringParams.search&&($scope.filterOptions.filterText=queryStringParams.search)}function setupPagination(){var a=angular.copy($scope.action.options.params);if(a&&a.filter&&a.filter.length>0)try{var b=JSON.parse(a.filter);if(b.limit=parseInt($scope.pagingOptions.pageSize),b.skip=($scope.pagingOptions.currentPage-1)*parseInt($scope.pagingOptions.pageSize),$scope.sortInfo.fields.length>0){b.order="";for(var c in $scope.sortInfo.fields){var d=$scope.sortInfo.fields[c],e=$scope.sortInfo.directions[c];e||(e="ASC"),parseInt(c)>0&&(b.order+=", "),b.order+=d+" "+e}}a.filter=JSON.stringify(b)}catch(a){console.error(a),alert("Error with list filter. Please contact administrator for assistance.")}else{if(a=_.extend(a,{"filter[limit]":parseInt($scope.pagingOptions.pageSize),"filter[skip]":($scope.pagingOptions.currentPage-1)*parseInt($scope.pagingOptions.pageSize)}),$scope.sortInfo.fields.length>0){var f="";for(var c in $scope.sortInfo.fields){var d=$scope.sortInfo.fields[c],e=$scope.sortInfo.directions[c];e||(e="ASC"),parseInt(c)>0&&(f+=", "),f+=d+" "+e}a=_.extend(a,{"filter[order]":f})}if($scope.searchFields&&$scope.gridOptions.filterOptions.filterText){a=GeneralModelService.queryStringParamsToJSON(a);var g=$scope.gridOptions.filterOptions.filterText;if("object"==typeof a.filter.where){var h=angular.copy(a.filter.where);a.filter.where={and:[]},_.forEach(h,function(b,c){var d={};d[c]=b,a.filter.where.and.push(d)});var i={or:[]};angular.forEach($scope.searchFields,function(a,b){var c="["+a+"][like]",d=_.set({},c,"%"+g+"%");i.or.push(d)}),a.filter.where.and.push(i)}else angular.forEach($scope.searchFields,function(b,c){var d="filter[where][or]["+c+"]["+b+"][like]";a=_.set(a,d,"%"+g+"%")})}}$location.search("pageSize",$scope.pagingOptions.pageSize),$location.search("currentPage",$scope.pagingOptions.currentPage);var j=angular.copy($scope.sortInfo);return delete j.columns,$location.search("sortInfo",JSON.stringify(j)),$location.replace(),addQueryStringParams(),a}function processChart(){$scope.action.options.chart.api&&GeneralModelService.list($scope.action.options.chart.api,{}).then(function(a){$scope.chart=$scope.action.options.chart,$scope.chart.data=a,$scope.chart.options||($scope.chart.options={}),$scope.chart.options.vAxis||($scope.chart.options.vAxis={}),$scope.chart.options.hAxis||($scope.chart.options.hAxis={}),$scope.chart.options.hAxis.textStyle||($scope.chart.options.hAxis.textStyle={}),$scope.chart.options.vAxis.textStyle||($scope.chart.options.vAxis.textStyle={}),$scope.chart.options.vAxis.gridlines||($scope.chart.options.vAxis.gridlines={}),$scope.chart.options.hAxis.textStyle.fontSize||($scope.chart.options.hAxis.textStyle.fontSize=11),$scope.chart.options.vAxis.textStyle.fontSize||($scope.chart.options.vAxis.textStyle.fontSize=11),$scope.chart.options.hAxis.textStyle.color||($scope.chart.options.hAxis.textStyle.color="#999"),$scope.chart.options.vAxis.textStyle.color||($scope.chart.options.vAxis.textStyle.color="#999"),$scope.chart.options.vAxis.baselineColor||($scope.chart.options.vAxis.baselineColor="#999"),$scope.chart.options.hAxis.baselineColor||($scope.chart.options.hAxis.baselineColor="#999"),$scope.chart.options.vAxis.gridlines.color||($scope.chart.options.vAxis.gridlines.color="#eee"),$scope.chart.options.hAxis.gridlines.color||($scope.chart.options.hAxis.gridlines.color="#eee")})}function startEdit(){$scope.isEditing||($scope.oldList=angular.copy($scope.list),$scope.isEditing=!0)}function endEdit(){$scope.isEditing&&($scope.isEditing=!1,$scope.oldList=void 0,$scope.loadItems())}var isFirstLoad=!0,modalInstance=null;$scope.getTotalServerItems=function(){var a=setupPagination();GeneralModelService.count($scope.apiPath,a).then(function(b){if(b){if("string"==typeof b)$scope.totalServerItems=b;else{b instanceof Array&&b.length>0&&(b=b[0]);var c=Object.keys(b);!b.count&&c.length>0&&(b.count=b[c[0]]),$scope.totalServerItems=b.count}$scope.loadItems(a)}},function(a){$scope.errorMessage="There was an error while loading...",console.error(a)})},$scope.loadItems=function(a){$scope.$emit("ModelListLoadItemsLoading"),a||(a=setupPagination());var b=CacheService.getKeyForAction($scope.action,a);if(!$scope.filterOptions.useExternalFilter&&CacheService.get(b))try{$scope.list=CacheService.get(b),$scope.columnCount=$scope.list.length>0?Object.keys($scope.list[0]).length:0,processWindowSize()}catch(a){console.warn("ModelList Cache is corupt for key = "+b)}$scope.isLoading=!0,GeneralModelService.list($scope.apiPath,a).then(function(a){a&&(void 0!==$scope.action.options.resultField&&void 0!==a[$scope.action.options.resultField]?$scope.list=a[$scope.action.options.resultField]:$scope.list=a,$scope.columnCount=$scope.list.length>0?Object.keys($scope.list[0]).length:0,$scope.filterOptions.useExternalFilter||CacheService.set(b,$scope.list),processWindowSize(),$scope.$emit("ModelListLoadItemsLoaded"),isFirstLoad=!1,$scope.isLoading=!1,$scope.loadAttempted=!0)},function(a){$scope.errorMessage="There was an error while loading...",console.error(a)})},$scope.hasButtonPermission=function(a){if(!a.roles)return!0;if(!$cookies.get("roles"))return!1;var b=JSON.parse($cookies.get("roles"));for(var c in b){var d=b[c];if(a.roles.indexOf(d.name)>-1)return!0}return!1},$scope.clickListButton=function(button){if(button.click)eval("$scope."+button.click);else if(button.route){if(button.options&&(button.options.model&&($scope.action.options.model=button.options.model),button.options.key&&($scope.action.options.key=button.options.key),button.options.display&&($scope.action.options.display=button.options.display),button.returnAfterEdit&&($scope.action.options.returnAfterEdit=button.returnAfterEdit),button.options.data)){var keys=Object.keys(button.options.data);for(var i in keys){var key=keys[i],value=button.options.data[key];value.lastIndexOf("{")>-1&&(value=value.substring(value.lastIndexOf("{")+1,value.lastIndexOf("}")),value=$scope.queryStringParams[value]),$scope.action.options.data||($scope.action.options.data={}),$scope.action.options.data[key]=value}}$state.go("dashboard.model.action."+button.route)}else if(button.path&&button.label){var section=_.find(Config.serverParams.nav,{path:button.path}),action=_.find(section.subnav,{label:button.label});$state.go("dashboard.model.action."+action.route,{model:section.path,action:action.label})}},$scope.clickAdd=function(){$scope.list&&$scope.list.length,$scope.list.push({}),startEdit()},$scope.clickSaveEdit=function(){if($scope.oldList){var deltaList=[];for(var i in $scope.list){var newRow=$scope.list[i],oldRow=$scope.oldList[i];if(newRow&&("object"!=typeof newRow||0!=Object.keys(newRow).length)&&0!=newRow.length&&(!oldRow||JSON.stringify(newRow)!=JSON.stringify(oldRow))){var rowKeys=Object.keys(newRow);for(var i in rowKeys){var key=rowKeys[i];newRow[key]&&"object"==typeof newRow[key]&&delete newRow[key]}if($scope.action.options.defaults){var keys=Object.keys($scope.action.options.defaults);for(var i in keys){var key=keys[i],property=$scope.action.options.defaults[key];!property||!property.foreceDefaultOnSave&&newRow[key]||(property.default?newRow[key]=property.default:property.evalDefault&&(newRow[key]=eval(property.evalDefault)))}}if($scope.action.options.columns)for(var i in $scope.action.options.columns){var column=$scope.action.options.columns[i];if(column.required&&!newRow[column.field])return void alert("Please fill in all required fields: "+column.displayName)}deltaList.push(newRow)}}var recordIndex=0;$scope.status="Saving...",$scope.progress=0,modalInstance=$modal.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:$scope});var saveRecord=function(a,b){var c=a[$scope.action.options.key];GeneralModelService.save($scope.action.options.model,c,a).then(function(a){b()},function(a){if("object"==typeof a&&a.message)alert(a.message);else if("object"==typeof a&&a.error&&a.error.message)alert(a.error.message);else if("object"==typeof a&&a.code)switch(a.code){case"ER_DUP_ENTRY":alert("There was a duplicate entry found. Please make sure the entry is unique.")}else"object"==typeof a?alert(JSON.stringify(a)):alert(a);b()})},saveNextRecord=function(){if(recordIndex>=deltaList.length)return $scope.status="Saved Successful",modalInstance&&modalInstance.close(),$scope.loadItems(),void endEdit();$scope.status="Saving "+(recordIndex+1)+" of "+deltaList.length,$scope.progress=(recordIndex+1)/deltaList.length,saveRecord(deltaList[recordIndex],function(){recordIndex++,saveNextRecord()})};saveNextRecord()}},$scope.clickCancelEdit=function(){confirm("Are you sure you want can cancel all changes?")&&endEdit()},$scope.deleteRowWithMessage=function(a,b){if(b)return void(confirm(b)&&$scope.deleteRow(a,!0));$scope.deleteRow(a)},$scope.deleteRow=function(a,b){if(!$scope.model||!$scope.model.plural)return void console.error("$scope.model or $scope.model.plural not found!");if(b||confirm("Are you sure you want to delete this item?")){var c=a.entity[$scope.action.options.key];c?$scope.model.options&&$scope.model.options.softDeleteProperty?(startEdit(),a.entity[$scope.model.options.softDeleteProperty]=!0,$scope.clickSaveEdit()):GeneralModelService.remove($scope.model.plural,c).then(function(b){$scope.list.splice(a.rowIndex,1)},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)}):$scope.list.splice(a.rowIndex,1)}},$scope.$watch("selected",function(a,b){a!==b&&a.length>0&&!$scope.action.options.editable&&($scope.action.options.selectedState?$state.go($scope.action.options.selectedState.stateName||"dashboard.model.action.edit",{model:$scope.action.options.selectedState.stateModel||$scope.section.path,key:$scope.action.options.key,action:$scope.action.options.selectedState.stateAction||$scope.action.label,id:a[0][$scope.action.options.selectedState.stateId||$scope.action.options.key]}):$state.go("dashboard.model.action.edit",{model:$scope.section.path,key:$scope.action.options.key,action:$scope.action.label,id:a[0][$scope.action.options.key]}))},!0),$scope.$watch("pagingOptions",function(a,b){a.currentPage==b.currentPage&&a.pageSize==b.pageSize||($scope.pagingOptions.pageSize=$scope.pagingOptions.pageSize.toString(),$scope.loadItems())},!0),$scope.$watch("gridOptions.$gridScope.filterText",_.debounce(function(a,b){a!=b&&$scope.$apply(function(){$scope.pagingOptions.currentPage=1,$scope.filterOptions.filterText=a,$scope.getTotalServerItems()})},250),!0),$scope.$watch("sortInfo",function(a,b){isFirstLoad||a===b||$scope.loadItems()},!0);var ngGridUnWatch=$scope.$watch("gridOptions.ngGrid",function(){if($scope.gridOptions.ngGrid){var a=$scope.gridOptions.ngGrid.$viewport;ngGridUnWatch(),$footerPanel=$(".ngFooterPanel"),$listContainer=$(".grid-container.list");var b=null,c=function(){$scope.gridOptions.$gridServices.DomUtilityService.RebuildGrid($scope.gridOptions.$gridScope,$scope.gridOptions.ngGrid)},d=function(d){var e=d.originalEvent.detail?-d.originalEvent.detail:d.originalEvent.wheelDelta/4,f=a.scrollTop();if(e<0){var f=a.scrollTop();0==f&&(f=-e),$scope.gridContainerTopMargin-f>0?($scope.gridContainerTopMargin-=f,a.height(a.height()+f),a.scrollTop(0)):(a.height(a.height()+$scope.gridContainerTopMargin),$scope.gridContainerTopMargin=0),$scope.gridOptions.$gridServices&&(clearTimeout(b),b=setTimeout(c,30))}else e>0&&(0==f&&$scope.gridContainerTopMargin<$scope.gridContainerTopMarginMax?(f=e,$scope.gridContainerTopMargin+=f,a.height(a.height()-f)):0==f&&($scope.gridContainerTopMargin=$scope.gridContainerTopMarginMax,a.height($footerPanel.offset().top-a.offset().top)));$scope.$digest()};(/(iPad|iPhone|iPod|Android)/g.test(navigator.userAgent)||$scope.action.options.flexibleHeight)&&($(".model-list .grid-container").addClass("flexible"),$(".model-list .grid").css({bottom:"auto"}),$(".model-list .ngFooterPanel").css({position:"static",bottom:"auto"})),$scope.action.options.chart&&(angular.element($window).bind("mousewheel",d),angular.element($window).bind("DOMMouseScroll",d)),$(".search .ngColMenu input").on("keyup",function(){$location.search("search",$(this).val()),$location.replace()})}});init()}]).filter("encodeURIComponent",function(){return window.encodeURIComponent}),angular.module("dashboard.Dashboard.Model.Nav",["dashboard.Config","dashboard.services.Settings","ui.router","ui.bootstrap.modal"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.nav",{url:"/config",templateUrl:"app/dashboard/model/nav/ModelNav.html",data:{ -pageTitle:"Settings - Navigation"}})}]).controller("ModelNavCtrl",["$scope","$timeout","$state","$location","$modal","Config","SettingsService",function(a,b,c,d,e,f,g){"ngInject";function h(){a.hideSideMenu(),k=angular.copy(f.serverParams.nav);var b=i(m),c=document.getElementById("navigation"),d={theme:"bootstrap3",iconlib:"fontawesome4",layout:"tree",startval:b,disable_properties:!1,disable_edit_json:!0,disable_delete_all:!0,disable_delete_last:!0,schema:{type:"array",title:"Navigation",format:"tabs",options:{disable_collapse:!0},items:{title:"Section",type:"object",headerTemplate:"{{self.label}}",id:"item",properties:{label:{title:"Label",type:"string",required:!0},path:{title:"Path",type:"string",required:!0},icon:{title:"Icon",type:"string",required:!0},subnav:{title:"Sub-Navigation",type:"array",required:!0,items:{title:"Sub Nav",headerTemplate:"{{self.label}}",type:"object",options:{collapsed:!0,disable_properties:!1},properties:{label:{title:"Label",type:"string",required:!0},className:{title:"ClassName",type:"string",required:!1},route:{title:"Route",type:"string",enum:["list","sort","edit","nav","definition"],required:!0},options:{type:"object",options:{disable_properties:!1},properties:{api:{tite:"API",type:"string"},eval:{tite:"eval",type:"string"},model:{title:"Model",type:"string"},key:{title:"Key",type:"string"},rowHeight:{title:"Row Height",type:"integer"},sortField:{title:"Sort Field",type:"string"},title:{title:"Title Field",description:"Field name to display when sorting",type:"string"},params:{type:"object",options:{collapsed:!0},properties:{filter:{title:"Filter",type:"string",format:"json"}}},columnRef:{title:"Column Reference",type:"object",options:{collapsed:!0,disable_properties:!1},properties:{path:{title:"Section Path",type:"string"},label:{title:"Subnav Label",type:"string"}}},columns:{title:"Columns",type:"array",items:{title:"column",type:"object",headerTemplate:"{{self.displayName}}",options:{collapsed:!0,disable_properties:!1},properties:{field:{title:"Field",type:"string",required:!0},displayName:{title:"Display Name",type:"string",required:!0},width:{title:"Width",type:"number"},headerClass:{title:"Header Class",type:"string"},cellClass:{title:"Cell Class",type:"string"},cellTemplate:{title:"Cell Template",type:"string",format:"html"},cellFilter:{title:"Cell Filter",type:"string"},minWidth:{type:"string"},maxWidth:{type:"string"},sortable:{title:"Sortable",type:"string"},resizable:{title:"Resizable",type:"string"}},defaultProperties:["field","displayName"]}}},defaultProperties:[]}}}},defaultSubNavIndex:{title:"Default Sub Nav",type:"string",watch:{subnav:"item.subnav"},enumSource:[{source:"subnav",title:"{{item.label}}",value:"{{i}}"}]}}}}};j=new JSONEditor(c,d),j.on("ready",function(){}),j.on("moveup",function(a){if("root"==a.row.parent.key){var b=k[m-1];k[m-1]=k[m],k[m]=b,m--,console.log("currentNavIndex = "+m)}}),j.on("movedown",function(a){if("root"==a.row.parent.key){var b=k[m+1];k[m+1]=k[m],k[m]=b,m++,console.log("currentNavIndex = "+m)}}),j.on("tabclick",function(a){var b=j.getEditor("root."+m);k[m]=b.getValue(),m=a.index,(b=j.getEditor("root."+m))&&b.setValue(k[m])})}function i(a){for(var b=angular.copy(k),c=0;cc[a.action.options.sortField]?-1:0}))})},a.moveUp=function(b){var c=a.list.indexOf(b);if(0!=c){var d=c-1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.moveDown=function(b){var c=a.list.indexOf(b);if(c!=a.list.length-1){var d=c+1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.edit=function(b){a.action.options.onEdit?a.action.options.onEdit(b[a.action.options.key]):c.go("dashboard.model.action.edit",{model:a.section.path,action:a.action.label,id:b[a.action.options.key]})},a.saveSort=function(){a.alertTitle="Saving...",a.alertMessage="Saving new sort order",a.allowAlertClose=!1,j=d.open({templateUrl:"app/dashboard/alert/Alert.html",controller:"AlertCtrl",size:"sm",scope:a});var b=[];for(var c in a.list){var e=a.list[c],f=e[a.action.options.key];b.unshift(f)}g.sort(a.action.options.model,a.action.options.key,a.action.options.sortField,b).then(function(b){a.alertMessage="Saved Successful!",a.allowAlertClose=!0},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)})},i()}]),angular.module("dashboard.Dashboard.Model.View",["dashboard.Config","dashboard.directives.ModelField","dashboard.services.GeneralModel","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.view",{url:"/view/:id",controller:"ModelViewCtrl",templateUrl:"app/dashboard/model/view/ModelView.html",data:{pageTitle:"View"}})}]).controller("ModelViewCtrl",["$scope","$stateParams","Config","GeneralModelService",function(a,b,c,d){"ngInject";function e(){d.get(a.model.model,b.id).then(function(b){a.data=b})}e()}]),angular.module("dashboard.Profile",["ui.bootstrap","ui.bootstrap.modal","dashboard.Dashboard.Model.Edit"]).controller("ProfileCtrl",["$scope","$modalInstance",function(a,b){function c(){}c()}]),angular.module("dashboard.Login",["dashboard.Config","dashboard.services.Cache","dashboard.services.Session","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.login",{url:"/login",controller:"LoginCtrl",templateUrl:"app/login/Login.html",data:{pageTitle:"Login"}})}]).controller("LoginCtrl",["$scope","$state","$window","Config","SessionService","CacheService",function(a,b,c,d,e,f){"ngInject";var g=this;this.init=function(){a.login={},a.clickLogin=g.clickLogin},this.clickLogin=function(){e.logIn(a.login.email,a.login.password).then(function(a){var c=f.get("desiredState");f.reset(),c?b.go(c.state.name,c.params):b.go("dashboard")}).catch(function(a){a&&a[0]&&a[0].error&&a[0].error.message?alert(a[0].error.message):alert("Invalid login.")})},g.init()}]),angular.module("dashboard.Register",["dashboard.Config","dashboard.services.Session","dashboard.services.User","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.register",{url:"/register",controller:"RegisterCtrl",templateUrl:"app/Register/Register.html",data:{pageTitle:"Register"}})}]).controller("RegisterCtrl",["$scope","Config","SessionService","UserService",function(a,b,c,d){"ngInject";function e(){}a.login={},a.register=function(){d.register(a.login.email,a.login.password).then(function(b){c.logIn(a.login.email,a.login.password).then(function(a){$state.go("dashboard")}).catch(function(a){alert("Error registering")})}).catch(function(a){alert("Error registering")})},e()}]),angular.module("dashboard.Config",[]).constant("Config",{apiBaseUrl:window.config.apiBaseUrl||"/api/",serverParams:window.config}),angular.module("dashboard.Utils",["dashboard.Config"]).service("Utils",["Config","$http","$q",function(a,b,c){"ngInject";var d={};this.apiCancel=function(a,b){var c=d[a+":"+b];c&&c.resolve&&c.resolve(),delete d[a+":"+b]},this.apiHelper=function(e,f,g,h){var i=c.defer();return h=h||{},h.method=e,"/"==f[0]?h.url=f:(a.apiBaseUrl&&"/"!=a.apiBaseUrl[a.apiBaseUrl.length-1]&&"/"!=f[f.length-1]&&(a.apiBaseUrl+="/"),h.url=a.apiBaseUrl+f),"POST"==e||"PUT"==e?h.data=g:h.params=g,d[e+":"+f]=i,h.timeout=i.promise,b(h).then(function(a){i.resolve(a.data)},function(a){i.reject(a.data)}),i.promise}}]),$.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},angular.module("dashboard.directive.DateTimePicker",[]).directive("dateTimePicker",["$rootScope",function(a){"ngInject";return{require:"?ngModel",restrict:"AE",scope:{control:"=",format:"@",ngFormat:"=ngFormat",ngTimeZone:"=ngTimeZone",defaultDate:"@",viewMode:"@",ngViewMode:"=ngViewMode",horizontal:"@",maxDate:"@",minDate:"@"},link:function(a,b,c,d){a.format||(a.format=a.ngFormat),a.viewMode||(a.viewMode=a.ngViewMode),d.$formatters.push(function(b){if(a.format||(a.format=a.ngFormat),b){var c=moment(b);return a.ngTimeZone&&c.tz&&(c=c.tz(a.ngTimeZone)),c.format(a.format)}}),a.defaultDate=a.defaultDate&&"string"==typeof a.defaultDate?a.defaultDate.replace(/"/g,""):a.defaultDate;var e={format:a.format,useCurrent:!1,defaultDate:a.defaultDate?moment(a.defaultDate).toDate():void 0,viewMode:a.viewMode,widgetPositioning:{horizontal:a.horizontal?a.horizontal:"auto"}};a.minDate&&(e.minDate=a.minDate),a.maxDate&&(e.maxDate=a.maxDate),b.datetimepicker(e),a.control||(a.control={}),a.control.show=function(){b.focus()},b.on("blur",function(){a.format||(a.format=a.ngFormat);var c=moment(b.val(),a.format);c.isValid()?d.$setViewValue(c):d.$setViewValue(null)})}}}]),angular.module("dashboard.directives.ModelField",["dashboard.directives.ModelFieldImage","dashboard.directives.ModelFieldVideo","dashboard.directives.ModelFieldFile","dashboard.directives.ModelFieldReference","dashboard.directives.ModelFieldReferenceSort","dashboard.directives.ModelFieldList","dashboard.directives.ModelFieldWYSIWYG","dashboard.directives.ModelFieldCanvas","dashboard.directives.ModelFieldLocation","dashboard.directives.ModelFieldPointsOfInterest","dashboard.directives.ModelFieldMultiSelect","dashboard.directives.ModelFieldNumber","dashboard.directive.DateTimePicker","dashboard.directive.AutoSize","ngCookies","ngSlider","ngSignaturePad","cwill747.phonenumber","monospaced.elastic"]).directive("modelFieldView",["$compile",function(a){"ngInject";function b(a){var b="";switch(a){default:b="{{ field.label }}: {{ data[field.name] }}"}return b}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel"},link:function(c,d,e){d.html(b(c.field.type)).show(),a(d.contents())(c)}}}]).directive("modelFieldEdit",["$compile",function(a){"ngInject";function b(a,b){var c="";switch(a){case"reference":c='
{{ display.error }}
{{ display.description }}
';break;case"reference-sort":c='
{{ display.error }}
{{ display.description }}
{{ display.description }}
';break;case"list":c='
{{ display.error }}
{{ display.description }}
{{ display.description }}
';break;case"file":c='
{{ display.error }}

{{ display.description }}
';break;case"image":c='
{{ display.error }}
{{ display.description }}
';break;case"video":c='
{{ display.error }}
{{ display.description }}
';break;case"datetime":c='
{{ display.error }}

{{ display.description }}
';break;case"multi-select":c='
{{ display.error }}
{{ display.description }}
';break;case"select":var d="key as value for (key, value) in display.options";b.property.display.options instanceof Array&&(d="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"value as value for value in display.options":"item.key as item.value disable when item.disabled for item in display.options"),c='
{{ display.error }}
{{ display.description }}
';break;case"radio":var e="(value, text) in display.options";b.property.display.options instanceof Array&&(e="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"text in display.options":"item in display.options"),c='
{{ display.error }}
{{ display.description }}
';break;case"slider":c='
{{ display.error }}
{{ display.description }}
';break;case"boolean":c='
{{ display.error }}
{{ display.description }}
';break;case"password":c='
{{ display.error }}
{{ display.description }}
';break;case"textarea":c='
{{ display.error }}
{{ display.description }}  ({{ charsLeft }} characters left)
';break;case"wysiwyg":case"WYSIWYG":c='
{{ display.error }}
{{ display.description }}
';break;case"draw":case"signature":c='
{{ display.error }}
{{ display.description }}
';break;case"location":c='
{{ display.error }}
{{ display.description }}
';break;case"poi":case"POI":c='
{{ display.error }}
{{ display.description }}
';break;case"number":c='
{{ display.error }}
{{ display.description }}
';break;case"phoneNumber":c='
{{ display.error }}
{{ display.description }}
';break;case"text":default:c='
{{ display.error }}
{{ display.description }}  ({{ charsLeft }} characters left)
'}return c}function c(a,b){var c=$(a).find("input");if(b&&c)for(var d in b)c.attr(d,b[d])}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel",ngError:"&"},link:function(d,e,f){function g(){if(d.onFieldError=h,null!==d.key&&"object"==typeof d.key&&(d.model.properties[d.key.property]||(d.model.properties[d.key.property]={}),d.model.properties[d.key.property].display=d.key,d.key=d.key.property),j={display:{type:"text"}},d.model.properties&&d.model.properties[d.key]&&(j=d.model.properties[d.key]),!j)return void console.log("ModelField link error: no property for model '"+d.model.name+"'; property key = '"+d.key+"' found!");if(!j.display||!j.display.type)switch(j.display||(j.display={}),j.type){case"date":case"Date":j.display.type="datetime";break;default:j.display.type="text"}i(j),d.data[d.key]||!j.default&&"number"!=typeof j.default||(d.data[d.key]=j.default),d.property=j,d.display=j.display,j.display.editTemplate?e.html(j.display.editTemplate).show():e.html(b(j.display.type,d)).show(),c(e,d.property.display.inputAttr),d.display.pattern&&"/"==d.display.pattern[0]&&"/"==d.display.pattern[d.display.pattern.length-1]&&(d.display.pattern=d.display.pattern.slice(1,d.display.pattern.length-2)),a(e.contents())(d)}function h(a){a&&a.message?j.display.error=a.message:delete j.display.error,d.ngError&&d.ngError({error:a})}function i(){if("text"===j.display.type||"textarea"===j.display.type){var a=d.data[d.key]?d.data[d.key].length:0;d.charsLeft=j.display.maxLength-a,d.lengthCheck=function(a){return d.charsLeft=j.display.maxLength-a.target.value.length,j.display.maxLength&&a.target.value.length>j.display.maxLength?(d.display.error="Text is longer than the maximum allowed length of "+d.display.maxLength+" characters.",void(d.ngError&&d.ngError({error:new Error(d.display.error)}))):j.display.maxLength&&a.target.value.length<=j.display.maxLength&&a.target.value.length>0?(delete d.display.error,delete d.display.errorCode,void(d.ngError&&d.ngError({error:null}))):void(0===a.target.value.length&&j.display.isRequired&&(d.display.error="This is a required field.",d.ngError&&d.ngError({error:new Error(d.display.error)})))}}if("file"==j.display.type&&d.data[d.key]){var b=d.data[d.key];if("object"==typeof b&&b.filename?b=b.filename:"object"==typeof b&&b.file&&(b=b.file.name),b){var c=b.toLowerCase().substring(b.length-4);".png"!=c&&".jpg"!=c&&"jpeg"!=c&&".bmp"!=c||(j=angular.copy(j),j.display.type="image")}}"datetime"==j.display.type&&(j.display.options||(j.display.options={}),j.display.options.format||(j.display.options.format="YYYY-MM-DD h:mm A")),!d.data[d.key]&&j.display.defaultValueUsingModelKey&&(d.data[d.key]=d.data[j.display.defaultValueUsingModelKey]),d.data[d.key]&&j.display.convertToLocalTime===!1&&(d.data[d.key]=d.data[d.key].substring(0,d.data[d.key].length-1)),"boolean"==j.display.type&&(d.check=function(a,b){var c=a[b];return void 0==c||null==c?j.display.default:(a[b]="1"==c||1==c,a[b])},"string"==typeof d.data[d.key]&&(d.data[d.key]=parseInt(d.data[d.key]))),"slider"==j.display.type&&(void 0!==d.data[d.key]&&null!=d.data[d.key]||(d.data[d.key]=j.display.options.from+";"+j.display.options.to))}var j;g()}}}]),angular.module("dashboard.directives.ModelFieldCanvas",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldCanvasView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldCanvasEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(){return' '}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d,e){b.isLoading=!0,b.signature={},b.clearCanvas=function(){var a=b.signature._canvas;a.width=a.width,b.data=null},b.$watch("signature._mouseButtonDown",function(){if(b.signature.fromDataURL&&b.isLoading){b.isLoading=!1;var a=new Image;a.setAttribute("crossOrigin","anonymous"),a.onload=function(){b.signature._canvas.getContext("2d").drawImage(a,0,0)},"object"==typeof b.data&&b.data.fileUrl?a.src=b.data.fileUrl:a.src=b.data}else if(b.signature.toDataURL){var c=b.signature.toDataURL();b.data=c}}),c.html(g()).show(),a(c.contents())(b)}}}]),angular.module("dashboard.directives.ModelFieldFile",["dashboard.services.GeneralModel"]).directive("modelFieldFileView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldFileEdit",["$compile","$document","$window","GeneralModelService","SessionService",function(a,b,c,d,e){"ngInject";return{restrict:"E", -template:'   {{ filename }}  (download | preview)
Drop File Here
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(a,c,d){var e=a.$watch("data",function(b){if(b)if(e(),a.data&&a.data&&a.data.filename)a.filename=a.data.filename,a.fileUrl=a.data.fileUrl,a.previewUrl=a.data.previewUrl;else if("string"==typeof a.data){a.fileUrl=a.data.replace(/%2F/g,"/");var c=a.fileUrl.lastIndexOf("/");a.filename=a.fileUrl.substring(c+1)}else if("object"==typeof a.data.file){var d=a.options.path;a.data={path:d,file:a.data.file},a.filename=a.data.file.name,a.fileUrl=null,a.previewUrl=null}});a.getFileIcon=function(a){switch(a.substring(a.lastIndexOf(".")).toLowerCase()){case".txt":return"fa-file-text-o";case".doc":case".docx":return"fa-file-word-o";case".wav":case".mp3":case".aif":return"fa-file-audio-o";case".m4v":case".mov":case".mp4":case".avi":return"fa-file-video-o";case".jpg":case".jpeg":case".png":case".gif":case".bmp":case".tif":return"fa-file-image-o";case".xls":case".xlsx":return"fa-file-excel-o";case".ppt":case".pptx":return"fa-file-excel-o";case".pdf":return"fa-file-pdf-o";default:return"fa-file-o"}},a.onFileSelect=function(b){if(!(b.length<1)){var c=b[0],d=a.options.path;a.data={path:d,file:c},a.filename=c.name,a.fileUrl=null}},a.clear=function(b){b.preventDefault(),a.options.confirm&&!confirm("Are you sure you would like to clear the file?")||(a.data=null,a.filename=null,a.fileUrl=null)},b.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),b.on("dragover",function(a){a.preventDefault(),c.find(".file-drop").addClass("show")}),$(window).on("mouseleave",function(){c.find(".file-drop").removeClass("show")}),a.$on("$destroy",function(){b.off("drop"),b.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldImage",["dashboard.services.GeneralModel","dashboard.services.Image"]).directive("modelFieldImageView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldImageEdit",["$compile","$document","GeneralModelService","ImageService","SessionService","$timeout",function(a,b,c,d,e,f){"ngInject";return{restrict:"E",template:'
{{ uploadStatus }}
HTML5 Drop File is not supported!
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(a,e,g){var h=null;a.uploadStatus="Upload File";var i=a.$watch("data",function(b){if(b)if(i(),a.options&&a.options.model)c.get(a.options.model,b).then(function(b){b&&(a.imageUrl=b[a.options.urlKey],a.imageUrl||(a.imageUrl=b.mediumUrl),a.thumbnailUrl=a.imageUrl)});else if("string"==typeof b)if(a.imageUrl=b,a.thumbnailUrl=a.options.thumbnailUrl,a.thumbnailUrl){var d=new Image;d.onerror=function(){f(function(){a.thumbnailUrl=a.imageUrl})},d.src=a.thumbnailUrl}else a.thumbnailUrl=a.imageUrl;else"object"==typeof b&&(b.fileUrl&&(a.imageUrl=b.fileUrl),b.imageUrl&&(a.imageUrl=b.imageUrl),!a.imageUrl&&b.file&&j.readAsDataURL(b.file))}),j=new FileReader;j.onload=function(b){var c=a.options.path,e={path:c,file:h};a.modelData.__ModelFieldImageData||(a.modelData.__ModelFieldImageData={}),a.options&&a.options.urlKey?(a.modelData.__ModelFieldImageData[a.key]||(a.modelData.__ModelFieldImageData[a.key]={}),a.modelData.__ModelFieldImageData[a.key][a.options.urlKey]=e):a.modelData.__ModelFieldImageData[a.key]=e,d.fixOrientationWithDataURI(b.target.result,function(b,c){a.imageUrl=c,a.thumbnailUrl=c,e.file=a.dataURItoBlob(c),e.file.name=h.name,a.options&&a.options.export?(a.uploadStatus="Creatimg Image Sizes",a.exportImages(function(){a.uploadStatus="Upload File",a.$apply()})):a.options&&a.options.resize&&a.resizeImage(c,a.options.resize,function(a){e.file=a}),a.$apply()})},j.onerror=function(a){console.log(a)},a.clear=function(){a.options.confirm&&!confirm("Are you sure you would like to clear this photo?")||(a.data=null,a.modelData.__ModelFieldImageData&&a.modelData.__ModelFieldImageData[a.key]&&delete a.modelData.__ModelFieldImageData[a.key],delete a.imageUrl,delete a.thumbnailUrl)},a.onFileSelect=function(b){if(!(b.length<1)){h=b[0];var c=!1;a.options.extensions?a.options.extensions.forEach(function(a){h.type.match("image/"+a)&&(c=!0)}):c=!0,c?j.readAsDataURL(h):alert("File must be of the following file types ("+a.options.extensions.join(", ")+").")}},a.exportImages=function(b){var c=arguments[1];c||(c=0);var d=Object.keys(a.options.export);if(c>=d.length)return void b();var e=d[c],f=a.options.export[e];a.resizeImage(a.imageUrl,f,function(d){a.modelData.__ModelFieldImageData[a.key][e]=d,c++,a.exportImages(b,c)})},a.resizeImage=function(b,c,e){d.resize(b,c,function(b,c){e(a.dataURItoBlob(c))})},a.dataURItoBlob=function(a){var b;b=a.split(",")[0].indexOf("base64")>=0?atob(a.split(",")[1]):unescape(a.split(",")[1]);for(var c=a.split(",")[0].split(":")[1].split(";")[0],d=new Uint8Array(b.length),e=0;e
'),d=$('
');if(c.append(d),$("body").append(c),a.options.isLightbox){var e=Math.min(d.width()/b.width,d.height()/b.height),f=b.width*e,g=b.height*e;d.css({background:"no-repeat center center url("+a.imageUrl+")",backgroundSize:f+"px "+g+"px"})}else{var h=$('
'),i=$('
');d.append(h),d.append(i);var e=Math.min(h.width()/b.width,h.height()/b.height),j=b.width*e,k=b.height*e;h.css({background:"no-repeat center center url("+a.imageUrl+")",backgroundSize:j+"px "+k+"px"});var l=1;e=l;var m=b.width*e,n=b.height*e;i.css({background:"no-repeat center center url("+a.imageUrl+"), #111",backgroundSize:m+"px "+n+"px",border:"solid 1px #000"});var o="center",p="center",q=function(a){o=a.offsetX,p=a.offsetY,o||(o=a.pageX),p||(p=a.pageY),o-=h.width()/2-j/2,p-=h.height()/2-k/2,o*=-m/j,p*=-n/k,o+=i.width()/2,p+=i.height()/2,i.css({backgroundPosition:o+"px "+p+"px",backgroundSize:m+"px "+n+"px"})};h.on("mousemove",q),h.bind("mousewheel",function(a){var c=.01;a.originalEvent.wheelDelta/120>0&&e+c<=1.1*l?e+=c:e-c>=.1&&(e-=c),m=b.width*e,n=b.height*e,q(a)})}c.animate({backgroundColor:"rgba(0,0,0,0.65)"},600,function(){d.animate({opacity:1},300)}),d.click(function(){c.animate({opacity:0},300,function(){c.remove()})})},b.src=a.imageUrl}else{var c=e.find(".image-container");c.width()<=160?c.animate({width:"400px",height:"400px"},300):c.animate({width:"160px",height:"160px"},300)}},b.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),b.on("dragover",function(a){a.preventDefault(),e.find(".image-drop").addClass("show-upload"),e.find(".input[type=file]").addClass("show-upload"),e.find(".button-menu").addClass("hide-menu")}),$(window).on("mouseleave",function(){e.find(".image-drop").removeClass("show-upload"),e.find(".input[type=file]").removeClass("show-upload"),e.find(".button-menu").removeClass("hide-menu")}),a.$on("$destroy",function(){b.off("drop"),b.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldList",["dashboard.Config","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldListView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldListEdit",["$compile","$cookies","$timeout","Config","GeneralModelService",function(a,b,c,d,e){"ngInject";function f(a){return'
'}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d){b.list||(b.list=[]),b.options.addLabel||(b.options.addLabel="Add Item"),b.sortableOptions={placeholder:"sortable-placeholder",update:self.updateData,disabled:b.disabled},b.setData=function(){"object"==b.options.output?b.data=b.list:b.data=JSON.stringify(b.list)},b.addItem=function(){b.list.push({}),b.setData()},b.removeItem=function(a){b.list[a];b.list.splice(a,1),b.setData()},b.updateData=function(){b.setData()};b.$watchCollection("[data, options, modelData]",function(a){if(b.data&&b.options)if(b.data instanceof Array)b.list=b.data;else try{b.list=JSON.parse(b.data)}catch(a){b.list=[],console.error("ModelFieldList failed to parse scope.data",a)}});c.html(f(b.options.key)).show(),a(c.contents())(b)}}}]),angular.module("dashboard.directives.ModelFieldLocation",["dashboard.services.Location","ui.bootstrap","dashboard.services.GeneralModel"]).directive("modelFieldLocationView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldLocationEdit",["$compile","$q","LocationService",function(a,b,c){"ngInject";function d(){var a=b.defer();if(angular.element("#google_maps").length)return a.resolve(),a.promise;var c=document.createElement("script");return c.onload=function(){a.resolve()},c.id="google_maps",c.type="text/javascript",c.src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places",document.getElementsByTagName("head")[0].appendChild(c),a.promise}function e(){return'
Loading your location...
{{geocodeError}}
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,f,g){function h(){b.isMapLoading=!1,b.isLoaded=!0,k=new google.maps.Map(angular.element("#map_canvas")[0],{center:b.location,zoom:12}),i()}function i(){j()}function j(){if(b.data)if(m){var a=new google.maps.LatLng(b.data.lat,b.data.lng);m.setPosition(a),m.setMap(k),k.setCenter(a)}else{var c="2F76EE";m=new google.maps.Marker({position:b.location,map:k,icon:new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|"+c,new google.maps.Size(21,34),new google.maps.Point(0,0),new google.maps.Point(10,34)),draggable:!0,tooltip:"Current location"}),google.maps.event.addListener(m,"dragend",function(){var a={lat:m.position.lat(),lng:m.position.lng()};b.data=a,b.$digest()})}}var k,l,m,n;b.isMapLoading=!0,b.isLoaded=!1,b.geocodeSearch={value:""},b.geocodeError=null,b.showGeocode=!1,d().then(function(){l=new google.maps.Geocoder,b.showGeocode=!1,b.property.display.options&&b.property.display.options.allowGeocode&&(b.showGeocode=!0);b.property.display.options&&b.property.display.options.query&&b.property.display.options.query,f.html(e()).show(),a(f.contents())(b),b.data?(n=b.data,b.location=angular.copy(b.data),h()):c.currentLocation().then(function(a){var c={lat:a.latitude,lng:a.longitude};n=c,b.data=c,h()}),b.$watch("data",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())}),b.$watch("data.lat",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())}),b.$watch("data.lng",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())})},function(){console.error("Error loading Google Maps")}),b.doGeocode=function(){b.geocodeError=null,b.geocodeSearch.value?l.geocode({address:b.geocodeSearch.value},function(a,c){c==google.maps.GeocoderStatus.OK?b.$apply(function(){var c={lat:a[0].geometry.location.lat(),lng:a[0].geometry.location.lng()};b.data=c,h()}):c===google.maps.GeocoderStatus.OVER_QUERY_LIMIT?console.log("Geocode was not successful for the following reason: "+c):c===google.maps.GeocoderStatus.ZERO_RESULTS?(b.geocodeError="Couldn't match the specified query with a geopoint",b.$digest(),console.log("Geocode was not successful for the following reason: "+c)):console.log("Geocode was not successful for the following reason:"+c)}):alert("Please enter the address of a location to geocode.")},b.clearSearch=function(){b.hasSearched=!1},b.revertValue=function(){n&&(b.data=n)}}}}]),angular.module("dashboard.directives.ModelFieldMultiSelect",[]).directive("modelFieldMultiSelect",["$compile",function(a){"ngInject";function b(){return'
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(c,d,e,f){function g(){c.multiSelectOptions=[],c.selected=[],k||(k={}),k.display||(k.display={}),h(),i(),c.clickMultiSelectCheckbox=j,d.html(b()).show(),a(d.contents())(c)}function h(){var a=c.options||k.display.options;"string"==typeof a&&(a=a.indexOf("\n")>-1?a.split("\n"):a.split(","));var b=k.display.key||"key",d=k.display.value||"value";if(Array.isArray(a))for(var e in a){var f=a[e];if("string"==typeof f){var g={key:f,value:f};c.multiSelectOptions.push(g)}else if(f&&"object"==typeof f){var h=f[b]||e,g={key:h,value:f[d],item:f};c.multiSelectOptions.push(g)}}else if(a&&"object"==typeof a){var i=Object.keys(a);for(var j in i){var h=i[j],g={key:h,value:a[h]};c.multiSelectOptions.push(g)}}}function i(){if(void 0===k.display.output){var a=c.options||k.display.options;k.display.output=a instanceof Array?"comma":"object"}if("string"==typeof c.data){c.data||(c.data="");var b=c.data.split('","');for(var d in b){var e=b[d];'"'==e[0]&&(e=e.substring(1,e.length)),'"'==e[e.length-1]&&(e=e.substring(0,e.length-1));var f=_.findIndex(c.multiSelectOptions,{key:e});f>-1&&(c.selected[f]=!0)}}else if(Array.isArray(c.data)){c.data||(c.data=[]);for(var d in c.data){var g=c.data[d],f=_.findIndex(c.multiSelectOptions,{key:g});f>-1&&(c.selected[f]=!0)}}else if(c.data&&"object"==typeof c.data){c.data||(c.data={});var h=Object.keys(c.data);for(var i in h){var j=h[i],f=_.findIndex(c.multiSelectOptions,{key:j});f>-1&&(c.selected[f]=!0)}}}function j(a,b){var d="array"===k.display.output?[]:"object"===k.display.output?{}:"";for(var e in c.selected)if(c.selected[e]){var f=c.multiSelectOptions[e];switch(k.display.output){case"object":d[f.key]=f.value;break;case"comma":d+='"'+f.key+'",';break;case"array":d.push(b.item||b.key)}}"comma"===k.display.output&&d.length>0&&(d=d.substring(0,d.length-1)),c.data=d}var k=c.property;g()}}}]),angular.module("dashboard.directives.ModelFieldNumber",[]).directive("modelFieldNumber",["$compile","$filter",function(a,b){"ngInject";function c(){return''}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled",required:"=ngRequired",ngError:"&"},link:function(d,e,f,g){function h(){k||(k={}),k.display||(k.display={}),void 0===k.display.scaleValue&&(k.display.scaleValue=0),d.checkNumber=i,d.validateAndParseNumbers=j,k.display.allowDecimal===!0&&(d.data=b("decimalWithScale")(d.data,k.display.scaleValue)),e.html(c()).show(),a(e.contents())(d)}function i(a){var b=0;if(document.selection){var c=document.selection.createRange();c.moveStart("character",-a.target.value.length),b=c.text.length}else(a.target.selectionStart||0===a.target.selectionStart)&&(b=a.target.selectionStart);var d=a.target.value;if("string"==typeof d){var e=d.indexOf(".");if(!(e===-1||e>=b)){var f=d.split(".");if(!(f.length<1))return f[1].length>=k.display.scaleValue?void a.preventDefault():void 0}}}function j(a){if((""===a.target.value||null===a.target.value)&&!a.target.validity.badInput)return void(d.ngError&&k.display.isRequired?d.ngError({error:new Error("This is a required field.")}):d.ngError&&d.ngError({error:null}));if(k.display.allowDecimal===!0){var c=b("decimalWithScale")(a.target.value,k.display.scaleValue);if(isNaN(c)&&d.ngError)return void d.ngError({error:new Error("Please enter a valid integer")});d.data=c}else if(k.display.allowDecimal===!1){if(isNaN(_.round(a.target.value))||isNaN(parseInt(a.target.value)))return void(d.ngError&&d.ngError({error:new Error("Please enter a valid integer")}));var e=_.round(a.target.value,0);d.data=e}if(!isNaN(parseFloat(a.target.value))){if(void 0!==k.display.minValue&&k.display.minValue>parseFloat(a.target.value))return void(d.ngError&&d.ngError({error:new Error("Value is less than the minimum allowed value ("+k.display.minValue+").")}));if(void 0!==k.display.maxValue&&k.display.maxValue{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldPointsOfInterestEdit",["$compile","$cookies","$timeout","$modal","$http","$q","$window","Config","GeneralModelService","LocationService",function(a,b,c,d,e,f,g,h,i,j){"ngInject";function k(a){var b=f.defer();if(angular.element("#google_maps").length)return b.resolve(),b.promise;var c=document.createElement("script");return c.onload=function(){b.resolve()},c.id="google_maps",c.type="text/javascript",c.src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places",a&&(c.src+="&key="+a),document.getElementsByTagName("head")[0].appendChild(c),b.promise}function l(a){return a.replace(/ /g,"_").toLowerCase()}function m(){return' \t\t\t
Search results are loading...
\t\t\t
\t\t\t \t\t\t \t\t\t\t\t\t\t\t\t \t\t\t{{searchError}}\t\t\t\t\t\t \t\t\t
\t\t\t
    \t\t\t\t
  • \t\t\t\t\t
    {{ $index + 1 }}. {{ item.name }}
    \t\t\t\t\t\t{{item.formatted_address}} \t\t\t\t\t
    \t\t\t\t\t\t \t\t\t\t\t\t \t\t\t\t\t
    \t\t\t\t
  • \t\t\t
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d){function e(){b.isMapLoading=!1,b.isLoaded=!0,q=new google.maps.Map(document.getElementById("map_canvas"),{center:b.request.location,zoom:s}),f()}function f(){g()}function g(){b.clearSearch();var a=jQuery.extend(!0,{},b.request);a.radius=.5*a.radius,new google.maps.places.PlacesService(q).textSearch(a,function(a,c){c==google.maps.places.PlacesServiceStatus.OK?(h(a),b.boundaries.length>0&&p(),b.markers.length>0&&i(),j(),n(),o(),b.$digest()):console.log("search was not successful for the following reason: "+c)})}function h(a){u&&u.close();for(var c=0;c{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldReferenceEdit",["$compile","$cookies","Config","GeneralModelService",function($compile,$cookies,Config,GeneralModelService){"ngInject";function getTemplate(a,b,c){return a?' '+b+' '+c+" ":' '+b+' '+c+" "}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled",rowData:"=ngRowData",textOutputPath:"=ngTextOutputPath",onModelChanged:"&onModelChanged",appendToBody:"=appendToBody"},link:function(scope,element,attrs){function replaceSessionVariables(string){if("string"!=typeof string)return string;try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for string");break} -var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}function mergeArray(a,b){for(var c in a){var d=a[c];b.indexOf(d)==-1&&b.push(d)}}function assignJunctionMeta(){if(scope.options.junctionMeta)for(var a in scope.selected.items){var b=scope.selected.items[a];b.junctionMeta=scope.options.junctionMeta}}scope.moment=moment,scope.isFirstTimeLoad=!0,scope.selected={},scope.selected.items=[],scope.selected.item=null,scope.list=[],scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c,{preventCancel:!0}).then(function(a){if(a){if(scope.list=a,scope.options.allowInsert){var b={};b[scope.options.searchField]="[Add New Item]",scope.list.push(b)}if(scope.options.allowClear){var b={};b[scope.options.searchField]="[clear]",scope.list.unshift(b)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){if(scope.modelData&&scope.modelData&&scope.options&&scope.options.multiple){if(!scope.property.display.sourceModel)return unwatch(),void(scope.modelData[scope.property.display.options.relationship]&&(scope.selected.items=scope.modelData[scope.property.display.options.relationship],assignJunctionMeta(),scope.list=scope.selected.items));var b=Config.serverParams.models[scope.property.display.sourceModel],c=Config.serverParams.models[scope.options.model],d=b.plural,e=(c.plural,scope.modelData[scope.property.display.sourceKey]);if(!e)return;unwatch();var f={};if(scope.options.junctionMeta){var g=Object.keys(scope.options.junctionMeta);for(var h in g){var i=g[h];f["filter[where]["+i+"]"]=scope.options.junctionMeta[i]}}GeneralModelService.getMany(d,e,scope.options.relationship,f,{preventCancel:!0}).then(function(a){if(a)if(scope.options.api&&a.length>0){var b={filter:{where:{}}};b.filter.where[scope.options.key]={inq:[]};for(var c in a){var d=a[c];b.filter.where[scope.options.key].inq.push(d[scope.options.key])}apiPath=replaceSessionVariables(scope.options.api),GeneralModelService.list(apiPath,b,{preventCancel:!0}).then(function(a){a&&(scope.selected.items=a,assignJunctionMeta(),scope.list=a)})}else scope.selected.items=a,assignJunctionMeta(),scope.list=a})}else if(scope.data&&scope.options&&scope.options.model){var j=Config.serverParams.models[scope.options.model];GeneralModelService.get(j.plural,scope.data).then(function(a){a&&(scope.selected.item=a,assignJunctionMeta(),scope.list=[scope.selected.item],scope.onModelChanged&&scope.onModelChanged({$item:scope.selected.item}))},function(a){if(scope.options.allowInsert){var b={};b[scope.options.key]=scope.data,b[scope.options.searchField]=scope.data,scope.selected.item=b,assignJunctionMeta(),scope.list.push(b)}})}});scope.onSelect=function(a,b){if(scope.options.multiple){if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.key]=c}assignJunctionMeta(),scope.modelData[scope.options.relationship]?mergeArray(scope.selected.items,scope.modelData[scope.options.relationship]):scope.modelData[scope.options.relationship]=scope.selected.items}else{scope.data=a[scope.options.key],scope.rowData&&(scope.rowData[scope.options.key]=scope.data),scope.$emit("onModelFieldReferenceSelect",scope.modelData,scope.key,a);var d=a[scope.options.searchField];if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();scope.data=c;var e={};e[scope.options.key]=c,e[scope.options.searchField]=c,scope.selected.item=e,scope.list.push(e)}else a&&"[clear]"==a[scope.options.searchField]&&(scope.data=null,d="");if(scope.rowData&&scope.textOutputPath&&a[scope.options.searchField])if(scope.textOutputPath.indexOf(".")>-1){for(var f=scope.textOutputPath.split("."),g=scope.rowData,h=0;h-1&&(scope.selected.items.splice(c,1),assignJunctionMeta()),scope.modelData[scope.options.relationship]){if(scope.options.key&&a[scope.options.key]){var d={};d[scope.options.key]=a[scope.options.key];var c=_.findIndex(scope.modelData[scope.options.relationship],d);c>-1&&scope.modelData[scope.options.relationship].splice(c,1)}var c=scope.modelData[scope.options.relationship].indexOf(a);c>-1&&scope.modelData[scope.options.relationship].splice(c,1),mergeArray(scope.selected.items,scope.modelData[scope.options.relationship])}else scope.modelData[scope.options.relationship]=scope.selected.items}else scope.data=null},scope.$on("ngGridEventStartCellEdit",function(){element.find("button").trigger("click"),element.find("input.ui-select-search").focus()}),element.html(getTemplate(scope.options.multiple,scope.options.matchTemplate,scope.options.choiceTemplate)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldReferenceSort",["dashboard.Config","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldReferenceSortView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldReferenceSortEdit",["$compile","$cookies","$timeout","Config","GeneralModelService",function($compile,$cookies,$timeout,Config,GeneralModelService){"ngInject";function getTemplate(a,b,c,d){var e="(index, item) in selectedList";return d||(e+=" track by item."+a),' '+b+' '+c+'
  • '+c+'
'}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(scope,element,attrs){function replaceSessionVariables(string){if("string"!=typeof string)return string;try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for string");break}var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(endPos==-1){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}scope.selected={},scope.selected.item=null,scope.list=[],scope.selectedList=[],scope.sortableOptions={placeholder:"sortable-placeholder",disabled:scope.disabled},scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c).then(function(a){if(a){scope.list=a;for(var b in scope.selectedList){var c=scope.selectedList[b],d={};d[scope.options.key]=c[scope.options.key];var e=_.find(scope.list,d);e&&scope.list.splice(scope.list.indexOf(e),1)}if(scope.options.allowInsert){var f={};f[scope.options.searchField]=scope.options.insertText?scope.options.insertText:"[Add New Item]",scope.list.push(f)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){scope.data&&scope.options&&scope.options.model&&(unwatch(),scope.selectedList=scope.data)});scope.onSelect=function(a,b){if(scope.$emit("onModelFieldReferenceSortSelect",scope.modelData,scope.key,a),!a[scope.options.key]&&a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.options.key]=c,a[scope.options.searchField]=c}_.find(scope.selectedList,function(b){return b[scope.options.key]===a[scope.options.key]||b.name&&a.name&&b.name.toLowerCase()===a.name.toLowerCase()})||(scope.selectedList.push(a),scope.data=scope.selectedList),$timeout(function(){delete scope.selected.item})},scope.removeItem=function(a){var b=scope.selectedList[a];scope.selectedList.splice(a,1),scope.list.push(b)},element.html(getTemplate(scope.options.key,scope.options.matchTemplate,scope.options.choiceTemplate,scope.options.allowInsert)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldVideo",["dashboard.services.GeneralModel"]).directive("modelFieldVideoView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldVideoEdit",["$sce","$compile","$document","GeneralModelService","SessionService",function(a,b,c,d,e){"ngInject";return{restrict:"E",template:'
Upload a Video File
{{ uploadStatus }}
HTML5 Drop File is not supported!
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(b,d,e){var f=null;b.uploadStatus="Upload File";var g=b.$watch("data",function(c){c&&(g(),"string"==typeof c?b.videoUrl=a.trustAsResourceUrl(c):"object"==typeof c&&(c.fileUrl&&(b.videoUrl=a.trustAsResourceUrl(c.fileUrl)),c.videoUrl&&(b.videoUrl=a.trustAsResourceUrl(c.videoUrl))))}),h=new FileReader;h.onload=function(c){b.videoUrl=a.trustAsResourceUrl(c.target.result),b.$apply()},h.onerror=function(a){console.error(a)},b.clear=function(){b.data=null,delete b.videoUrl},b.onFileSelect=function(a){if(!(a.length<1)){f=a[0];var c=b.options.path;b.data={path:c,file:f},h.readAsDataURL(f)}},c.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),c.on("dragover",function(a){a.preventDefault(),d.find(".image-drop").addClass("show-upload"),d.find(".input[type=file]").addClass("show-upload"),d.find(".button-menu").addClass("hide-menu")}),$(window).on("mouseleave",function(){d.find(".image-drop").removeClass("show-upload"),d.find(".input[type=file]").removeClass("show-upload"),d.find(".button-menu").removeClass("hide-menu")}),b.$on("$destroy",function(){c.off("drop"),c.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldWYSIWYG",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldWysiwygView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldWysiwygEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(a){var b="";if(a.options&&a.options.fonts)for(var c=a.options.fonts,d=0;d"+c[d]+"";return'
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,e,h){function i(){b.isEditingCode=!1,b.toggleDropdown=l,b.onFileSelect=m,b.toggleCodeEdit=n,c.html(g(b)).show(),a(c.contents())(b),j(),k(),p=ace.edit(c.find(".code-editor")[0]),p.getSession().setMode("ace/mode/html"),$(c).find(".wysiwyg-toolbar [data-role=magic-overlay]").each(function(){var a=$(this);$(a.data("target"));a.css({opacity:0,position:"absolute",width:"40px",height:"34px",top:"0",left:"0"})}),h.$render=function(){o.html(h.$viewValue||"")},o.bind("blur keyup change",function(){b.$apply(function(){h.$setViewValue(o.html())})}),p.on("blur",function(){h.$setViewValue(p.getValue()),o.html(h.$viewValue)})}function j(){var a=$(".wysiwyg-editor"),d=0;a&&a.length>0&&(d=a.length),o=angular.element(c).find(".wysiwyg-editor");var e="wysiwyg-editor-"+d,f="editor"+d+"-toolbar";o.attr("id",e);var g=angular.element(c).find(".wysiwyg-toolbar");g.attr("data-role",f),g.attr("data-target","#"+e),b.disabled||o.wysiwyg({toolbarSelector:"[data-role="+f+"]",hotKeys:{},dragAndDropImages:!1})}function k(){var a=angular.element(c).find(".font-color-picker");a&&a.spectrum({flat:!0,cancelText:"",clickoutFiresChange:!1,preferredFormat:"rgb",showInput:!0,change:function(a){$(this).closest(".dropdown").find(".color-sample").css({backgroundColor:a.toHexString()}),o.focus(),document.execCommand("foreColor",0,a.toHexString()),$(this).parent(".menu").removeClass("open")}})}function l(a){var b=$(a.currentTarget).parent().find(".menu");b.hasClass("open")?b.removeClass("open"):b.addClass("open")}function m(a){if(b.options.allowImageUpload&&0!=a.length){b.status="Uploading Image",b.progress=0;var c=d.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:b});f.uploadFile(a[0],b.options.imagePath).then(function(a){b.status="Upload Complete",document.execCommand("insertimage",0,a.fileUrl),c.close()},function(a){console.error(a),b.status="There was an error uploading the image. Please contact an Administrator."},function(a){b.progress=a})}}function n(){if(b.isEditingCode=!b.isEditingCode,b.isEditingCode){var a=o[0].innerHTML;a=html_beautify(a,{indent_size:2}),h.$setViewValue(a),p.setValue(a)}else h.$setViewValue(p.getValue()),o.html(h.$viewValue)}var o,p;i()}}}]),angular.module("dashboard.directive.AutoSize",[]).directive("autoSize",["$timeout","$window",function(a,b){return{restrict:"A",link:function(c,d,e){function f(){d.css({height:"auto","overflow-y":"hidden"}),d.css("height",d[0].scrollHeight+"px")}c.minTextAreaHeight=150,d.css({height:"auto","overflow-y":"hidden"}),a(function(){var a=d[0].scrollHeight,b=Math.max(a,c.minTextAreaHeight);d.css("height",b+"px")},100),d.on("input",f),d.on("load",f),angular.element(b).bind("resize",f)}}}]),angular.module("dashboard.directives",[]),angular.module("dashboard.filters",[]).filter("decimalWithScale",function(){"ngInject";return function(a,b){if(void 0===a)return"";value=a+"";var c=value.indexOf(".");c===-1?value+=".0":0===c&&(value="0"+value);var d=value.split(".");if(d.length>1){if(d[0]&&0!==d[0].length||(d[0]=0),isNaN(parseInt(d[0])))return NaN;if(value=parseInt(d[0])+".",null!==d[1].match(/[\D]/))return NaN;if(d[1].length>b?value+=d[1].substring(0,b):value+=d[1],d[1].length0){var f=this.restrictMenuItems(e.subnav);if(f&&(e.subnav=f,null!==e.defaultSubNavIndex&&void 0!==e.defaultSubNavIndex&&e.subnav[e.defaultSubNavIndex]&&e.subnav[e.defaultSubNavIndex].hidden))for(var g in e.subnav){var h=e.subnav[g];if(c.hasAccess(d,h)&&!h.hidden){e.defaultSubNavIndex=parseInt(g);break}}}}else e.hidden=!0}return a},this.hasAccess=function(a,b){if(!(b.hasOwnProperty("roles")&&b.roles instanceof Array))return!0;for(var c in a)if(b.roles.indexOf(a[c].name)>-1)return!0;return!1}}]),angular.module("dashboard.services.FileUpload",["dashboard.Config","dashboard.Utils","ngCookies","angularFileUpload"]).service("FileUploadService",["$cookies","$q","$upload","Config","Utils",function(a,b,c,d,e){"ngInject";var f=this;this.getS3Credentials=function(b,c){var f={access_token:a.get("accessToken"),path:b,fileType:c,r:(new Date).getTime()};return e.apiHelper("GET",d.serverParams.cmsBaseUrl+"/aws/s3/credentials",f)},this.getFileUploadData=function(a){return{key:a.uniqueFilePath,AWSAccessKeyId:a.AWSAccessKeyId,acl:"public-read",policy:a.policy,signature:a.signature,success_action_status:"201","Cache-Control":"max-age=31536000"}},this.uploadFile=function(a,d){("string"==typeof a||a instanceof String&&0==a.indexOf("data:"))&&(a=f.dataURItoBlob(a));var e="";a.type?e=a.type:a.name&&(e=f.detectMimeTypeByExt(a.name));var g=b.defer();return f.getS3Credentials(d,e?e:"").then(function(b){c.upload({url:b.uploadUrl,method:"POST",data:f.getFileUploadData(b),file:a}).progress(function(b){var c=b.position/a.size;g.notify(c)}).success(function(b){var c,d=(new DOMParser).parseFromString(b,"text/xml");try{c=d.evaluate("/PostResponse/Location",d,null,XPathResult.STRING_TYPE,null).stringValue}catch(a){for(var e=d.documentElement.childNodes,f=0;f0)return d++,e=0,void f.uploadImages(a,d,e,h,i);l=r}else{var s=Object.keys(r);if(e>=s.length)return d++,e=0,void f.uploadImages(a,d,e,h,i);k=s[e],r[k]&&r[k].file?(g=r[k].path,l=r[k].file):l=r[k]}h||(h={});for(var o=0;o=0?atob(a.split(",")[1]):unescape(a.split(",")[1]);for(var c=a.split(",")[0].split(":")[1].split(";")[0],d=new Uint8Array(b.length),e=0;e0){var b=a.split(".").pop();if(b.length>0){return{"3dm":"x-world/x-3dmf","3dmf":"x-world/x-3dmf",a:"application/octet-stream",aab:"application/x-authorware-bin",aam:"application/x-authorware-map",aas:"application/x-authorware-seg",abc:"text/vnd.abc",acgi:"text/html",afl:"video/animaflex",ai:"application/postscript",aif:"audio/aiff",aifc:"audio/aiff",aiff:"audio/aiff",aim:"application/x-aim",aip:"text/x-audiosoft-intra",ani:"application/x-navi-animation",aos:"application/x-nokia-9000-communicator-add-on-software",aps:"application/mime",arc:"application/octet-stream",arj:"application/arj",art:"image/x-jg",asf:"video/x-ms-asf",asm:"text/x-asm",asp:"text/asp",asx:"application/x-mplayer2",au:"audio/basic",avi:"application/x-troff-msvideo",avs:"video/avs-video",bcpio:"application/x-bcpio",bin:"application/mac-binary",bm:"image/bmp",bmp:"image/bmp",boo:"application/book",book:"application/book",boz:"application/x-bzip2",bsh:"application/x-bsh",bz:"application/x-bzip",bz2:"application/x-bzip2",c:"text/plain","c++":"text/plain",cat:"application/vnd.ms-pki.seccat",cc:"text/plain",ccad:"application/clariscad",cco:"application/x-cocoa",cdf:"application/cdf",cer:"application/pkix-cert",cha:"application/x-chat",chat:"application/x-chat",class:"application/java",com:"application/octet-stream",conf:"text/plain",cpio:"application/x-cpio",cpp:"text/x-c",cpt:"application/mac-compactpro",crl:"application/pkcs-crl",crt:"application/pkix-cert",csh:"application/x-csh",css:"application/x-pointplus",cxx:"text/plain",dcr:"application/x-director",deepv:"application/x-deepv",def:"text/plain",der:"application/x-x509-ca-cert",dif:"video/x-dv",dir:"application/x-director",dl:"video/dl",doc:"application/msword",dot:"application/msword",dp:"application/commonground",drw:"application/drafting",dump:"application/octet-stream",dv:"video/x-dv",dvi:"application/x-dvi",dwf:"drawing/x-dwf (old)",dwg:"application/acad",dxf:"application/dxf",dxr:"application/x-director",el:"text/x-script.elisp",elc:"application/x-bytecode.elisp (compiled elisp)",env:"application/x-envoy",eps:"application/postscript",es:"application/x-esrehber",etx:"text/x-setext",evy:"application/envoy",exe:"application/octet-stream",f:"text/plain",f77:"text/x-fortran",f90:"text/plain",fdf:"application/vnd.fdf",fif:"application/fractals",fli:"video/fli",flo:"image/florian",flx:"text/vnd.fmi.flexstor",fmf:"video/x-atomic3d-feature",for:"text/plain",fpx:"image/vnd.fpx",frl:"application/freeloader",funk:"audio/make",g:"text/plain",g3:"image/g3fax",gif:"image/gif",gl:"video/gl",gsd:"audio/x-gsm",gsm:"audio/x-gsm",gsp:"application/x-gsp",gss:"application/x-gss",gtar:"application/x-gtar",gz:"application/x-compressed",gzip:"application/x-gzip",h:"text/plain",hdf:"application/x-hdf",help:"application/x-helpfile",hgl:"application/vnd.hp-hpgl",hh:"text/plain",hlb:"text/x-script",hlp:"application/hlp",hpg:"application/vnd.hp-hpgl",hpgl:"application/vnd.hp-hpgl",hqx:"application/binhex",hta:"application/hta",htc:"text/x-component",htm:"text/html",html:"text/html",htmls:"text/html",htt:"text/webviewhtml",htx:"text/html",ice:"x-conference/x-cooltalk",ico:"image/x-icon",idc:"text/plain",ief:"image/ief",iefs:"image/ief",iges:"application/iges",igs:"application/iges",ima:"application/x-ima",imap:"application/x-httpd-imap",inf:"application/inf",ins:"application/x-internett-signup",ip:"application/x-ip2",isu:"video/x-isvideo",it:"audio/it",iv:"application/x-inventor",ivr:"i-world/i-vrml",ivy:"application/x-livescreen",jam:"audio/x-jam",jav:"text/plain",java:"text/plain",jcm:"application/x-java-commerce",jfif:"image/jpeg","jfif-tbnl":"image/jpeg",jpe:"image/jpeg",jpeg:"image/jpeg",jpg:"image/jpeg",jps:"image/x-jps",js:"application/x-javascript",jut:"image/jutvision",kar:"audio/midi",ksh:"application/x-ksh",la:"audio/nspaudio", -lam:"audio/x-liveaudio",latex:"application/x-latex",lha:"application/lha",lhx:"application/octet-stream",list:"text/plain",lma:"audio/nspaudio",log:"text/plain",lsp:"application/x-lisp",lst:"text/plain",lsx:"text/x-la-asf",ltx:"application/x-latex",lzh:"application/octet-stream",lzx:"application/lzx",m:"text/plain",m1v:"video/mpeg",m2a:"audio/mpeg",m2v:"video/mpeg",m3u:"audio/x-mpequrl",man:"application/x-troff-man",map:"application/x-navimap",mar:"text/plain",mbd:"application/mbedlet",mc$:"application/x-magic-cap-package-1.0",mcd:"application/mcad",mcf:"image/vasa",mcp:"application/netmc",me:"application/x-troff-me",mht:"message/rfc822",mhtml:"message/rfc822",mid:"application/x-midi",midi:"application/x-midi",mif:"application/x-frame",mime:"message/rfc822",mjf:"audio/x-vnd.audioexplosion.mjuicemediafile",mjpg:"video/x-motion-jpeg",mm:"application/base64",mme:"application/base64",mod:"audio/mod",moov:"video/quicktime",mov:"video/quicktime",movie:"video/x-sgi-movie",mp2:"audio/mpeg",mp3:"audio/mpeg3",mpa:"audio/mpeg",mpc:"application/x-project",mpe:"video/mpeg",mpeg:"video/mpeg",mpg:"audio/mpeg",mpga:"audio/mpeg",mpp:"application/vnd.ms-project",mpt:"application/x-project",mpv:"application/x-project",mpx:"application/x-project",mrc:"application/marc",ms:"application/x-troff-ms",mv:"video/x-sgi-movie",my:"audio/make",mzz:"application/x-vnd.audioexplosion.mzz",nap:"image/naplps",naplps:"image/naplps",nc:"application/x-netcdf",ncm:"application/vnd.nokia.configuration-message",nif:"image/x-niff",niff:"image/x-niff",nix:"application/x-mix-transfer",nsc:"application/x-conference",nvd:"application/x-navidoc",o:"application/octet-stream",oda:"application/oda",omc:"application/x-omc",omcd:"application/x-omcdatamaker",omcr:"application/x-omcregerator",p:"text/x-pascal",p10:"application/pkcs10",p12:"application/pkcs-12",p7a:"application/x-pkcs7-signature",p7c:"application/pkcs7-mime",p7m:"application/pkcs7-mime",p7r:"application/x-pkcs7-certreqresp",p7s:"application/pkcs7-signature",part:"application/pro_eng",pas:"text/pascal",pbm:"image/x-portable-bitmap",pcl:"application/vnd.hp-pcl",pct:"image/x-pict",pcx:"image/x-pcx",pdb:"chemical/x-pdb",pdf:"application/pdf",pfunk:"audio/make",pgm:"image/x-portable-graymap",pic:"image/pict",pict:"image/pict",pkg:"application/x-newton-compatible-pkg",pko:"application/vnd.ms-pki.pko",pl:"text/plain",plx:"application/x-pixclscript",pm:"image/x-xpixmap",pm4:"application/x-pagemaker",pm5:"application/x-pagemaker",png:"image/png",pnm:"application/x-portable-anymap",pot:"application/mspowerpoint",pov:"model/x-pov",ppa:"application/vnd.ms-powerpoint",ppm:"image/x-portable-pixmap",pps:"application/mspowerpoint",ppt:"application/mspowerpoint",ppz:"application/mspowerpoint",pre:"application/x-freelance",prt:"application/pro_eng",ps:"application/postscript",psd:"application/octet-stream",pvu:"paleovu/x-pv",pwz:"application/vnd.ms-powerpoint",py:"text/x-script.phyton",pyc:"application/x-bytecode.python",qcp:"audio/vnd.qcelp",qd3:"x-world/x-3dmf",qd3d:"x-world/x-3dmf",qif:"image/x-quicktime",qt:"video/quicktime",qtc:"video/x-qtc",qti:"image/x-quicktime",qtif:"image/x-quicktime",ra:"audio/x-pn-realaudio",ram:"audio/x-pn-realaudio",ras:"application/x-cmu-raster",rast:"image/cmu-raster",rexx:"text/x-script.rexx",rf:"image/vnd.rn-realflash",rgb:"image/x-rgb",rm:"application/vnd.rn-realmedia",rmi:"audio/mid",rmm:"audio/x-pn-realaudio",rmp:"audio/x-pn-realaudio",rng:"application/ringing-tones",rnx:"application/vnd.rn-realplayer",roff:"application/x-troff",rp:"image/vnd.rn-realpix",rpm:"audio/x-pn-realaudio-plugin",rt:"text/richtext",rtf:"application/rtf",rtx:"application/rtf",rv:"video/vnd.rn-realvideo",s:"text/x-asm",s3m:"audio/s3m",saveme:"application/octet-stream",sbk:"application/x-tbook",scm:"application/x-lotusscreencam",sdml:"text/plain",sdp:"application/sdp",sdr:"application/sounder",sea:"application/sea",set:"application/set",sgm:"text/sgml",sgml:"text/sgml",sh:"application/x-bsh",shar:"application/x-bsh",shtml:"text/html",sid:"audio/x-psid",sit:"application/x-sit",skd:"application/x-koan",skm:"application/x-koan",skp:"application/x-koan",skt:"application/x-koan",sl:"application/x-seelogo",smi:"application/smil",smil:"application/smil",snd:"audio/basic",sol:"application/solids",spc:"application/x-pkcs7-certificates",spl:"application/futuresplash",spr:"application/x-sprite",sprite:"application/x-sprite",src:"application/x-wais-source",ssi:"text/x-server-parsed-html",ssm:"application/streamingmedia",sst:"application/vnd.ms-pki.certstore",step:"application/step",stl:"application/sla",stp:"application/step",sv4cpio:"application/x-sv4cpio",sv4crc:"application/x-sv4crc",svf:"image/vnd.dwg",svr:"application/x-world",swf:"application/x-shockwave-flash",t:"application/x-troff",talk:"text/x-speech",tar:"application/x-tar",tbk:"application/toolbook",tcl:"application/x-tcl",tcsh:"text/x-script.tcsh",tex:"application/x-tex",texi:"application/x-texinfo",texinfo:"application/x-texinfo",text:"application/plain",tgz:"application/gnutar",tif:"image/tiff",tiff:"image/tiff",tr:"application/x-troff",tsi:"audio/tsp-audio",tsp:"application/dsptype",tsv:"text/tab-separated-values",turbot:"image/florian",txt:"text/plain",uil:"text/x-uil",uni:"text/uri-list",unis:"text/uri-list",unv:"application/i-deas",uri:"text/uri-list",uris:"text/uri-list",ustar:"application/x-ustar",uu:"application/octet-stream",uue:"text/x-uuencode",vcd:"application/x-cdlink",vcs:"text/x-vcalendar",vda:"application/vda",vdo:"video/vdo",vew:"application/groupwise",viv:"video/vivo",vivo:"video/vivo",vmd:"application/vocaltec-media-desc",vmf:"application/vocaltec-media-file",voc:"audio/voc",vos:"video/vosaic",vox:"audio/voxware",vqe:"audio/x-twinvq-plugin",vqf:"audio/x-twinvq",vql:"audio/x-twinvq-plugin",vrml:"application/x-vrml",vrt:"x-world/x-vrt",vsd:"application/x-visio",vst:"application/x-visio",vsw:"application/x-visio",w60:"application/wordperfect6.0",w61:"application/wordperfect6.1",w6w:"application/msword",wav:"audio/wav",wb1:"application/x-qpro",wbmp:"image/vnd.wap.wbmp",web:"application/vnd.xara",wiz:"application/msword",wk1:"application/x-123",wmf:"windows/metafile",wml:"text/vnd.wap.wml",wmlc:"application/vnd.wap.wmlc",wmls:"text/vnd.wap.wmlscript",wmlsc:"application/vnd.wap.wmlscriptc",word:"application/msword",wp:"application/wordperfect",wp5:"application/wordperfect",wp6:"application/wordperfect",wpd:"application/wordperfect",wq1:"application/x-lotus",wri:"application/mswrite",wrl:"application/x-world",wrz:"model/vrml",wsc:"text/scriplet",wsrc:"application/x-wais-source",wtk:"application/x-wintalk",xbm:"image/x-xbitmap",xdr:"video/x-amt-demorun",xgz:"xgl/drawing",xif:"image/vnd.xiff",xl:"application/excel",xla:"application/excel",xlb:"application/excel",xlc:"application/excel",xld:"application/excel",xlk:"application/excel",xll:"application/excel",xlm:"application/excel",xls:"application/excel",xlt:"application/excel",xlv:"application/excel",xlw:"application/excel",xm:"audio/xm",xml:"application/xml",xmz:"xgl/movie",xpix:"application/x-vnd.ls-xpix",xpm:"image/x-xpixmap","x-png":"image/png",xsr:"video/x-amt-showrun",xwd:"image/x-xwd",xyz:"chemical/x-pdb",z:"application/x-compress",zip:"application/x-compressed",zoo:"application/octet-stream",zsh:"text/x-script.zsh"}[b]}}return""}}]),angular.module("dashboard.services.GeneralModel",["dashboard.services.FileUpload","dashboard.Config","dashboard.Utils","ngCookies"]).service("GeneralModelService",["$cookies","$q","Config","Utils","FileUploadService",function($cookies,$q,Config,Utils,FileUploadService){"ngInject";var self=this;this.list=function(a,b,c){var a=a+(a.indexOf("?")>-1?"&":"?")+"access_token="+$cookies.get("accessToken");return c&&c.preventCancel||Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.count=function(a,b){a.indexOf("?")>-1&&(a=a.substr(0,a.indexOf("?")));var c=Object.keys(b);for(var d in c){var e=c[d];e.indexOf("filter[where]")>-1?(newKey=e.replace("filter[where]","where"),b[newKey]=b[e]):"filter"==e&&(b.where=b.filter.where)}return a=a+"/count?access_token="+$cookies.get("accessToken"),Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.get=function(a,b,c){var d=a+"/"+b+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("GET",d,c)},this.getMany=function(a,b,c,d,e){var f=a+"/"+b+"/"+c,g=f+"?access_token="+$cookies.get("accessToken");return e&&e.preventCancel||Utils.apiCancel("GET",g),Utils.apiHelper("GET",g,d)},this.sort=function(a,b,c,d){var e=Config.serverParams.cmsBaseUrl+"/model/sort?access_token="+$cookies.accessToken,f={model:a,key:b,sortField:c,sortData:d};return Utils.apiHelper("POST",e,f)},this.remove=function(a,b){var c=a;return b&&(c=c+"/"+b),c+="?access_token="+$cookies.get("accessToken"),Utils.apiHelper("DELETE",c,{})},this.post=function(a,b){var c=a+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("POST",c,b)},this.save=function(a,b,c){var d=Config.serverParams.cmsBaseUrl+"/model/save";return c.__model=a,c.__id=b,c.__accessToken=$cookies.get("accessToken"),Utils.apiHelper("PUT",d,c)},this.saveWithFiles=function(a,b,c){var d=Config.serverParams.models[a],e=$q.defer(),f=function(a){var b=0,d=Object.keys(c),f=function(){if(b>=d.length)return void a();var g=d[b],h=c[g];h&&"object"==typeof h&&h.file?(e.notify({message:"Uploading file: "+h.file.name}),FileUploadService.uploadFile(h.file,h.path).then(function(a){c[g]=a.fileUrl,b++,f()},function(a){"object"==typeof a&&a.error?e.reject("The file being uploaded is not an accepted file type for this patient form. Please contact a system administrator for assistance."):e.reject(a)},function(a){e.notify({progress:a})})):(b++,f())};f()};return function(a){c.__ModelFieldImageData?(e.notify({message:"Uploading image file(s)",progress:0}),FileUploadService.uploadImages(c.__ModelFieldImageData).then(function(b){self.assignImageFileMetaData(d,c,b),e.notify({message:"Saving...",progress:0}),a()},function(a){console.log(a),e.reject(a)},function(a){e.notify({progress:a})})):a()}(function(){f(function(){self.checkDefaultValues(d,c),self.save(a,b,c).then(function(a){e.resolve(a)},function(a){e.reject(a)})})}),e.promise},this.assignImageFileMetaData=function(a,b,c){var d=Object.keys(c);for(var e in d){var f=d[e],g=a.properties[f],h=g.display.options;if(h&&h.model&&h.relationship){b[h.relationship]||(b[h.relationship]={});var i=b[h.relationship];b[f]&&(i[h.key]=b[f]),i[h.urlKey]=c[f][h.urlKey];var j=Object.keys(h.export);for(var k in j){var l=j[k];i[l]=c[f][l]}if(b.__ModelFieldImageData[f]&&b.__ModelFieldImageData[f][h.urlKey]){var m=b.__ModelFieldImageData[f][h.urlKey],n=m?m.file:{};i.filename=n.name}else i.filename="unknown";if(h.meta){var o=Object.keys(h.meta);for(var p in o){var q=o[p];i[q]=h.meta[q]}}}else b[f]=c[f]}delete b.__ModelFieldImageData},this.checkDefaultValues=function(modelDef,data){var keys=Object.keys(modelDef.properties);for(var i in keys){var key=keys[i],property=modelDef.properties[key];property&&property.display&&(void 0===data[key]||null==data[key]||property.display.forceDefaultOnSave)&&(void 0!==property.default&&(data[key]=property.default),void 0!==property.display.evalDefault&&(data[key]=eval(property.display.evalDefault)))}},this.queryStringParamsToJSON=function(a){var b={};return _.forEach(a,function(a,c){b=_.set(b,c,a)}),b}}]),angular.module("dashboard.services.Image",[]).service("ImageService",["$q",function(a){"ngInject";var b=this;this.resize=function(a,c,d){b.loadImageURI(a,function(a,e){if(a)return d(a);EXIF.getData(e,function(a){var f=document.createElement("canvas"),g=f.getContext("2d"),h=EXIF.getTag(this,"Orientation");c||(c={});var i=c.width?c.width:e.width,j=c.height?c.height:e.height;switch(c.aspect?c.aspect:"fit"){case"stretch":f.width=i,f.height=j;break;case"fill":f.width=i,f.height=j;var k=Math.max(i/e.width,j/e.height);i=e.width*k,j=e.height*k;break;case"fit":default:var k=Math.min(i/e.width,j/e.height);k>1&&(k=1),i=e.width*k,j=e.height*k,f.width=i,f.height=j}g.save(),b.setOrientation(f,g,i,j,h),g.drawImage(e,0,0,i,j),g.restore(),d(null,f.toDataURL("image/jpeg",.8))})})},this.fixOrientationWithDataURI=function(a,c){b.resize(a,{},c)},this.setOrientation=function(a,b,c,d,e){switch(e){case 2:b.translate(c,0),b.scale(-1,1);break;case 3:b.translate(c,d),b.rotate(Math.PI);break;case 4:b.translate(0,d),b.scale(1,-1);break;case 5:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.scale(1,-1);break;case 6:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(0,-d);break;case 7:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(c,-d),b.scale(-1,1);break;case 8:a.width=d,a.height=c,b.rotate(-.5*Math.PI),b.translate(-c,0)}},this.loadImageURI=function(a,b){var c=new Image;c.onload=function(){b(null,c)},c.onerror=function(a){b(a)},c.src=a}}]),angular.module("dashboard.services.Location",["dashboard.Config","dashboard.Utils"]).service("LocationService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";var e=c.defer();this.currentLocation=function(){return navigator.geolocation?navigator.geolocation.getCurrentPosition(function(a){d.$apply(function(){e.resolve(a.coords)})},function(a){e.reject(a)}):e.reject("location services not allowed"),e.promise}}]),angular.module("dashboard.services.Session",["dashboard.Utils","dashboard.services.User","ngCookies"]).service("SessionService",["$cookies","$cookieStore","$q","UserService","Config","Utils","DashboardService",function(a,b,c,d,e,f,g){"ngInject";function h(){var b=a.get("session");b&&(j=JSON.parse(b))}var i=this,j=null;this.logIn=function(b,d,e){var g="Users";return config.authModel&&(g=config.authModel),f.apiHelper("POST",g+"/login?include=user",{email:b,password:d,options:e}).then(function(a){return i.setSession(a)}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.logOut=function(){var c="Users";config.authModel&&(c=config.authModel);var d=a.get("accessToken");return b.remove("username"),b.remove("userId"),b.remove("accessToken"),b.remove("roles"),b.remove("session"),b.remove("lastActive"),f.apiHelper("POST",c+"/logout?access_token="+d)},this.setSession=function(b){var d="Users";return config.authModel&&(d=config.authModel),f.apiHelper("GET",d+"/"+b.userId+"/Roles?access_token="+b.id).then(function(c){return a.put("lastActive",new Date),j=b,a.put("username",b.user.username),a.put("userId",b.userId),a.put("accessToken",b.id),a.put("session",JSON.stringify(j)),a.put("roles",JSON.stringify(c)),b}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.getAuthToken=function(){return j&&j.id},this.put=function(b,c){var d=JSON.parse(a.get("session"));d[b]=c,a.put("session",JSON.stringify(d))},this.get=function(b){return JSON.parse(a.get("session"))[b]},this.isAuthorized=function(b,c){if(_.startsWith(b.name,"public"))return!0;var d=g.getNavigation(),e=b.name,f=c.model,h=c.action,i=angular.fromJson(a.get("roles"));if(_.isEmpty(f)){var j=_.find(d,{state:e});if(j)return g.hasAccess(i,j)}else{var j=_.find(d,{path:f});if(j){if(!g.hasAccess(i,j))return!1;if(_.isArray(j.subnav)&&!_.isEmpty(h)){var k=_.find(j.subnav,{label:h});if(k)return g.hasAccess(i,k)}}}var l=b.data.roles;return!(!_.isEmpty(l)&&_.isArray(l))||g.hasAccess(i,{roles:l})},h()}]),angular.module("dashboard.services.Settings",["dashboard.Config","dashboard.Utils","ngCookies"]).service("SettingsService",["$cookies","Config","Utils",function(a,b,c){"ngInject";this.saveNav=function(d){var e=b.serverParams.cmsBaseUrl+"/settings/config/nav?access_token="+a.get("accessToken");return c.apiHelper("POST",e,d)}}]),angular.module("dashboard.services.User",["dashboard.Config","dashboard.Utils"]).service("UserService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";this.register=function(a,c){var d="Users";return config.authModel&&(d=config.authModel),b.apiHelper("POST",d,{email:a,password:c})}}]),window,window.angular; +angular.module("dashboard",["dashboard.Dashboard","dashboard.Login","dashboard.Register","dashboard.directives","dashboard.filters","dashboard.services.Cache","dashboard.services.Session","templates-app","templates-common","ui.router","oc.lazyLoad","ngCookies","ngAnimate","pascalprecht.translate"]).config(["$locationProvider","$stateProvider","$urlRouterProvider","$compileProvider","$qProvider","$translateProvider","Config",function(a,b,c,d,e,f,g){"ngInject";d.aHrefSanitizationWhitelist(/^\s*(http|https|ftp|mailto|tel|file|blo‌​b|data):/),c.otherwise("/login"),g.serverParams.disableRegistration&&c.when("/register","/login"),a.html5Mode(!0),f.useSanitizeValueStrategy("escape"),g.serverParams.translateUrl&&f.useUrlLoader(g.serverParams.translateUrl),g.serverParams.defaultLanguage&&f.fallbackLanguage(g.serverParams.defaultLanguage),b.state("public",{abstract:!0,template:""}).state("public.accessDenied",{url:"/access-denied",template:'

Access Denied

You are not authorized to access this page.

',data:{pageTitle:"Access Denied"}}),c.deferIntercept()}]).run(["$ocLazyLoad","$rootScope","$urlRouter","$injector","$translate","Config",function(a,b,c,d,e,f){"ngInject";f.serverParams.defaultLanguage&&e.use(f.serverParams.defaultLanguage),f.serverParams.translateUrl&&e.refresh();var g=!1;f.serverParams.customModules?a.load(f.serverParams.customModules).then(function(){g=!0,b.$broadcast("modulesLoaded"),Array.isArray(f.serverParams.injectOnStart)&&f.serverParams.injectOnStart.forEach(d.get)},function(a){console.log(a)}):g=!0,b.$on("$locationChangeSuccess",function(a){if(g)c.sync();else var d=b.$on("modulesLoaded",function(){c.sync(),d()})})}]).constant("constants",{TIMEOUT_INTERVAL:5e3,PUBLIC_STATE:"public",LOGIN_STATE:"public.login"}).controller("AppCtrl",["$scope","$location","$state","$rootScope","$timeout","$document","$cookies","SessionService","CacheService","Config","constants",function(a,b,c,d,e,f,g,h,i,j,k){"ngInject";d.$state=c,j.serverParams.gaTrackingId&&ga("create",j.serverParams.gaTrackingId,"auto"),d.$on("$stateChangeStart",function(a,b,d,e,f){var g=b.name;if(g=g.substr(g,g.indexOf(".")),!h.getAuthToken()&&g!=k.PUBLIC_STATE){var l={state:b,params:d};return i.set("desiredState",l),j.serverParams.loginState?c.go(j.serverParams.loginState):g!=k.PUBLIC_STATE&&c.go(k.LOGIN_STATE),void a.preventDefault()}h.isAuthorized(b,d)||(c.go("public.accessDenied"),a.preventDefault())}),a.$on("$stateChangeSuccess",function(b,c,d,e,f){angular.isDefined(c.data.pageTitle)&&(a.pageTitle=c.data.pageTitle)}),d.logOut=function(){h.getAuthToken()&&(i.reset(),h.logOut().then(function(a){j.serverParams.loginState?c.go(j.serverParams.loginState):c.go(k.LOGIN_STATE)}).catch(function(a){c.go(k.LOGIN_STATE)}))};var l=new Date;d.persistSession=function(){e.cancel(d.persistId),c.current.name.indexOf(k.PUBLIC_STATE)>-1||(l=new Date,new Date-l>k.TIMEOUT_INTERVAL?d.checkTimeout()&&g.put("lastActive",new Date):d.persistId=e(function(){d.checkTimeout()&&g.put("lastActive",new Date)},k.TIMEOUT_INTERVAL))},d.checkTimeout=function(){if(e.cancel(d.timeoutId),!g.get("lastActive"))return console.error("Session Timedout on another window/tab"),c.go(k.LOGIN_STATE),!1;var a=new Date(g.get("lastActive"));return new Date-a>j.serverParams.sessionTimeout?(d.logOut(),!1):(d.timeoutId=e(d.checkTimeout,k.TIMEOUT_INTERVAL),!0)},j.serverParams.sessionTimeout&&"localhost"!=b.host()&&(f.on("mousemove",function(){d.persistSession()}),f.on("touchmove",function(){d.persistSession()}),f.on("keydown",function(){d.persistSession()}))}]),angular.module("dashboard.Alert",["ui.bootstrap","ui.bootstrap.modal"]).controller("AlertCtrl",["$scope","$modalInstance",function(a,b){"ngInject";a.closeAlert=function(){b.close()},a.okAlert=function(){"function"==typeof a.okHandler&&a.okHandler(),b.close()},a.cancelAlert=function(){"function"==typeof a.cancelHandler&&a.cancelHandler(),b.close()},function(){a.isConfirm="confirm"==a.alertType}()}]),angular.module("dashboard.Dashboard",["dashboard.Config","dashboard.Profile","dashboard.Dashboard.Model","dashboard.services.Dashboard","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard",{url:"/dashboard",controller:"DashboardCtrl",templateUrl:"app/dashboard/Dashboard.html",data:{pageTitle:"Dashboard"}}).state("portal",{url:"/portal",controller:"DashboardCtrl",templateUrl:"app/dashboard/Dashboard.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardCtrl",["$scope","$rootScope","$state","$stateParams","$location","$cookies","$modal","Config","DashboardService",function(a,b,c,d,e,f,g,h,i){"ngInject";var j=this;this.init=function(){a.toggleSideMenu=j.toggleSideMenu,a.hideSideMenu=j.hideSideMenu,a.editProfile=j.editProfile,a.logout=j.logout,a.locationPath=e.path(),a.username=f.get("username"),a.email=f.get("email"),a.userId=f.get("userId");try{a.userInfo=JSON.parse(f.get("session")),a.userInfo.user.roles=JSON.parse(f.get("roles"))}catch(a){console.error("Unable to parse $cookies.get(session)",a)}if(a.title=h.serverParams.title||"Content Management System",a.nav=i.getNavigation(),"dashboard"==c.current.name&&h.serverParams.defaultNav){var b=i.getDefaultNav(a.nav,angular.copy(h.serverParams.defaultNav));b.state?c.go(b.state,b.params):c.go("dashboard.model.action."+b.route,b.params)}a.$watch(function(){return e.path()},function(){a.locationPath=e.path()}),a.$on("modelEditSaved",function(){a.modalInstance&&a.modalInstance.close()})},this.toggleSideMenu=function(){var a=$(".dashboard");a.hasClass("show-side-menu")?a.removeClass("show-side-menu"):a.addClass("show-side-menu")},this.hideSideMenu=function(){$(".dashboard").removeClass("show-side-menu")},this.editProfile=function(b){b&&b.preventDefault(),a.action={options:{model:h.serverParams.profileModel,key:h.serverParams.profileKey,id:f.get("userId"),hideDelete:!0}},a.modalInstance=g.open({templateUrl:"app/dashboard/profile/Profile.html",controller:"ProfileCtrl",size:"lg",scope:a})},this.logout=function(a){b.logOut(),a&&a.preventDefault()},j.init()}]),angular.module("dashboard.Dashboard.Model",["dashboard.Dashboard.Model.Action","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model",{url:"/:model",controller:"DashboardModelCtrl",templateUrl:"app/dashboard/model/DashboardModel.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardModelCtrl",["$rootScope","$scope","$stateParams","Config",function(a,b,c,d){"ngInject";!function(){b.section=angular.copy(_.find(b.nav,{path:c.model}))}()}]),angular.module("dashboard.Dashboard.Model.Action",["dashboard.Dashboard.Model.Edit","dashboard.Dashboard.Model.List","dashboard.Dashboard.Model.Sort","dashboard.Dashboard.Model.View","dashboard.Dashboard.Model.Nav","dashboard.Dashboard.Model.Definition","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action",{url:"/:action",controller:"DashboardModelActionCtrl",templateUrl:"app/dashboard/model/DashboardModelAction.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardModelActionCtrl",["$scope","$stateParams",function(a,b){"ngInject";!function(){a.section&&a.section.subnav&&(a.action=angular.copy(_.find(a.section.subnav,{label:b.action})))}()}]),angular.module("dashboard.Dashboard.Model.Definition",["dashboard.Config","dashboard.services.Settings","ui.router","ui.bootstrap.modal"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.definition",{url:"/definition",templateUrl:"app/dashboard/model/definition/ModelDefinition.html",data:{pageTitle:"Settings - Model Definitions"}})}]).controller("ModelDefinitionCtrl",["$scope","$timeout","$state","$location","$modal","Config","SettingsService",function(a,b,c,d,e,f,g){"ngInject";a.clickSave=function(){}}]),angular.module("dashboard.Dashboard.Model.Edit",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","dashboard.directives.ModelField","dashboard.services.Cache","dashboard.services.GeneralModel","dashboard.services.FileUpload","dashboard.filters.locale","ui.router","ui.bootstrap","ui.bootstrap.datepicker","ui.bootstrap.modal","ngCookies"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.edit",{url:"/edit/:id",templateUrl:"app/dashboard/model/edit/ModelEdit.html",data:{pageTitle:"Edit"}})}]).constant("modelEditConstants",{keys:{save:"button.save",delete:"button.delete",confirmMessage:"button.delete.confirm"},defaults:{save:"Save",delete:"Delete",confirmMessage:"Are you sure you want to delete this record?"}}).controller("ModelEditCtrl",["$rootScope","$scope","$cookies","$location","$stateParams","$state","$window","$modal","$filter","Config","GeneralModelService","FileUploadService","CacheService","modelEditConstants","$translate",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){"ngInject";function p(){if(b.modelDisplay=b.model.display,b.action.options.display&&(b.modelDisplay=b.model[b.action.options.display]),!b.modelDisplay||0==b.modelDisplay.length){b.modelDisplay=[];var a=Object.keys(b.model.properties);for(var c in a){var d=a[c];b.modelDisplay.push(d),b.data[d]||(b.data[d]=null)}}b.$emit("onModelLoad",{data:b.data})}function q(c){var d=b.data[b.action.options.key];k.saveWithFiles(b.model.name,d,b.data).then(function(b){t&&t.close(),a.$broadcast("modelEditSaved"),c&&c(b)},r,s)}function r(b){if(a.$broadcast("modelEditSaveFailed",{error:b}),_.isPlainObject(b))if("string"==typeof b.translate&&b.translate.length>0){var c=o.instant(b.translate);c===b.translate&&(c=b.message),alert(c)}else b.code||b.message?("ER_DUP_ENTRY"===b.code&&(b.message="There was a duplicate entry found. Please make sure the entry is unique."),alert(b.message)):b.error?r(b.error):alert(angular.toJson(b));else alert(b);t&&t.close()}function s(a){if(_.isPlainObject(a)){if(a.translate){var c=o.instant(a.translate,a.params);b.status=c===a.translate?a.message:c}else a.message&&(b.status=a.message);a.progress&&(b.progress=a.progress)}}var t=null;b.clickSaveModel=function(a){s({message:"Saving",translate:"cms.status.saving",progress:0}),t=h.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:b}),q(function(a){m.clear(b.action.options.model),b.action.options&&b.action.options.returnAfterEdit?g.history.back():b.section?f.go(b.section.state?b.section.state:"dashboard.model.action.edit",{model:b.section.path,action:b.action.label,id:a[b.action.options.key]}):t&&t.close()})},b.clickDeleteModel=function(c,d){if(b.deleteDialogText=d&&d.deleteDialogText?d.deleteDialogText:b.deleteDialogText,confirm(b.deleteDialogText)){var e=c[b.action.options.key];b.model.options&&b.model.options.softDeleteProperty?(b.data[b.model.options.softDeleteProperty]=!0,q(function(){m.clear(b.action.options.model),g.history.back()})):k.remove(b.model.plural,e).then(function(c){a.$broadcast("modelDeleted"),m.clear(b.action.options.model),g.history.back()},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)})}},b.hasPermission=function(a){var d=null;if("object"==typeof a)d=a;else{var e=b.model.properties[a];d=e.display}if(!d)return!0;if(d.askIf){var f=Object.keys(d.askIf);for(var g in f){var e=f[g];if(b.data[e]!=d.askIf[e])return!1}}if(!d.roles)return!0;if(!c.get("roles"))return!1;var h=JSON.parse(c.get("roles"));for(var g in h){var i=h[g];if(d.roles.indexOf(i.name)>-1)return!0}return!1},function(){if(b.hideSideMenu(),g.ga&&g.ga("send","pageview",{page:d.path()}),b.action||(b.action={}),b.action.options||(b.action.options={model:e.model,key:e.key}),b.model=angular.copy(j.serverParams.models[b.action.options.model]),b.action.options.key){var a=b.action.options.key;b.model.properties[a].display||(b.model.properties[a].display={}),b.model.properties[a].display.readonly=!0}var c=o.use();if(b.locale=i("iso-639-1")(c),_.forEach(b.model.properties,function(a){if(a.display||(a.display={}),a.display.options||(a.display.options={}),b.action.options.readonly&&(a.display.readonly=!0),"string"==typeof a.type)switch(a.type.toLowerCase()){case"date":case"datetime":a.display.options.locale=b.locale}}),b.isLoading=!0,b.data={},b.action.options.data){var f=Object.keys(b.action.options.data);for(var h in f){var a=f[h];b.data[a]=b.action.options.data[a]}}k.checkDefaultValues(b.model,b.data);var l=null;e.id&&e.id>0&&(l=e.id),b.action.options.id&&b.action.options.id>0&&(l=b.action.options.id),l?(b.isEdit=!0,b.modelDisplay=null,k.get(b.model.plural,l).then(function(a){a&&(b.data=a,p(),b.isLoading=!1)})):(p(),b.isEdit=!1,b.isLoading=!1),o([n.keys.save,n.keys.delete,n.keys.confirmMessage]).then(function(a){b.saveButtonText=a[n.keys.save]==n.keys.save?n.defaults.save:a[n.keys.save],b.deleteButtonText=a[n.keys.delete]==n.keys.delete?n.defaults.delete:a[n.keys.delete],b.deleteDialogText=a[n.keys.confirmMessage]==n.keys.confirmMessage?n.defaults.confirmMessage:a[n.keys.confirmMessage]},function(a){b.saveButtonText=n.defaults.save,b.deleteButtonText=n.defaults.delete,b.deleteDialogText=n.defaults.confirmMessage}),b.$on("saveModel",function(){b.clickSaveModel(b.data)}),b.$on("deleteModel",function(a,c){b.clickDeleteModel(b.data,c)}),b.$on("onModelSave",function(){b.clickSaveModel(b.data)}),b.$on("onModelDelete",function(a,c){b.clickDeleteModel(b.data,c)}),b.$watchCollection("data",function(a,c){b.isLoading||b.$emit("onModelChange",{newData:a,oldData:c})})}()}]),angular.module("dashboard.Dashboard.Model.Edit.SaveDialog",["ui.bootstrap","ui.bootstrap.progressbar","ui.bootstrap.modal"]).controller("ModelEditSaveDialogCtrl",["$scope","$modalInstance","$translate",function(a,b,c){"ngInject";!function(){a.statusLabel="Status",c("cms.status").then(function(b){"string"==typeof b&&b.length>0&&"cms.status"!==b&&(a.statusLabel=b)},function(a){console.log("Failed to translate cms.status",a)})}()}]),angular.module("dashboard.Dashboard.Model.List",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","dashboard.services.Cache","dashboard.services.GeneralModel","dashboard.directives.ModelFieldReference","ui.router","ngCookies","ngGrid","googlechart"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.list",{url:"/list",templateUrl:"app/dashboard/model/list/ModelList.html",data:{pageTitle:"List"}})}]).controller("ModelListCtrl",["$scope","$cookies","$timeout","$state","$location","$window","$modal","Config","GeneralModelService","CacheService",function ModelListCtrl($scope,$cookies,$timeout,$state,$location,$window,$modal,Config,GeneralModelService,CacheService){"ngInject";function init(){$scope.isLoading=!0,$scope.moment=moment,$scope.columnCount=0,$scope.list=[],$scope.selected=[],$scope.columns=[],$scope.listTemplateUrl="",$scope.totalServerItems=0,$scope.isEditing=!1,$scope.searchFields=$scope.action.options.searchFields,$scope.action.options.sort?$scope.sortInfo=$scope.action.options.sort:$scope.sortInfo={fields:[$scope.action.options.key],directions:["ASC"]},$scope.filterOptions={filterText:"",useExternalFilter:"boolean"==typeof $scope.action.options.useExternalFilter&&$scope.action.options.useExternalFilter},$scope.pagingOptions={pageSizes:["25","50","100","250","500"],pageSize:$scope.action.options.pageSize?$scope.action.options.pageSize:"25",currentPage:1},$scope.sortInfo||($scope.sortInfo={}),$scope.sortInfo.columns||($scope.sortInfo.columns=[]),$scope.gridOptions={data:"list",enableColumnResize:!0,enableRowSelection:"boolean"!=typeof $scope.action.options.enableRowSelection||$scope.action.options.enableRowSelection,multiSelect:!1,enablePaging:!0,useExternalSorting:!0,showSelectionCheckbox:!1,sortInfo:$scope.sortInfo,showFooter:!0,showFilter:$scope.action.options.showFilter,headerRowHeight:44,footerRowHeight:44,totalServerItems:"totalServerItems",pagingOptions:$scope.pagingOptions,filterOptions:$scope.filterOptions,selectedItems:$scope.selected,rowHeight:$scope.action.options.rowHeight?$scope.action.options.rowHeight:44},$scope.hideSideMenu(),$window.ga&&$window.ga("send","pageview",{page:$location.path()}),$scope.gridContainerTopMargin=0,$scope.action.options.chart&&($scope.gridContainerTopMarginMax=$scope.action.options.chart.height+60,$scope.gridContainerTopMargin=$scope.gridContainerTopMarginMax,processChart()),window.ngGrid.i18n.en.ngTotalItemsLabel="Total Records: ",window.ngGrid.i18n.en.ngPageSizeLabel="Show: ",$scope.columns=getColumnDefinition(),$scope.gridOptions.columnDefs="columns",$scope.action.options.editable&&($scope.gridOptions.enableCellEdit=!0,$scope.gridOptions.enableCellEditOnFocus=!1,$scope.gridOptions.enableCellSelection=!0,$scope.gridOptions.enableRowSelection=!1),$scope.action.options.params||($scope.action.options.params={}),$scope.action.options.model&&($scope.model=Config.serverParams.models[$scope.action.options.model]),$scope.action.options.api?$scope.apiPath=$scope.action.options.api:$scope.action.options.model&&($scope.apiPath=$scope.model.plural),$scope.origApiPath=$scope.apiPath,addQueryStringParams(),$scope.getTotalServerItems(),$timeout(function(){$(".ngFooterPanel select").addClass("form-control"),$(".ngFooterPanel button").addClass("btn btn-default")}),$scope.$grid=$(".grid"),angular.element($window).bind("resize",function(){processWindowSize()}),$scope.$on("ngGridEventStartCellEdit",function(){startEdit()}),$scope.$on("ModelListLoadItems",function(a,b){b&&b.resetPaging&&($scope.pagingOptions.currentPage=1),$scope.getTotalServerItems()}),(/(iPad|iPhone|iPod|Android)/g.test(navigator.userAgent)||$scope.action.options.flexibleHeight)&&($scope.gridOptions.plugins=[new ngGridFlexibleHeightPlugin]),$scope.action.options.allowCSVExport&&($scope.gridOptions.plugins||($scope.gridOptions.plugins=[]),$scope.gridOptions.plugins.push(new ngGridCsvExportPlugin)),Config.serverParams.strings&&($scope.cancelButtonText=Config.serverParams.strings.cancelButton,$scope.saveButtonText=Config.serverParams.strings.saveButton)}function getColumnDefinition(){var a=$scope.action.options.columnRef,b=$scope.action.options.columns;if(a&&"object"==typeof a&&a.label)if(a.path){var c=_.find(Config.serverParams.nav,{path:a.path}),d=_.find(c.subnav,{label:a.label});b=d.options.columns}else{var d=_.find($scope.section.subnav,{label:a.label});b=d.options.columns}if((b=angular.copy(b))&&$cookies.get("roles")){var e=JSON.parse($cookies.get("roles"));if(e)for(var f=0;f-1){h=!0;break}}h||(b.splice(f,1),f--)}}}return b}function processWindowSize(){var a=$scope.$grid,b=$window.innerWidth,c=b/$scope.columnCount;c<90&&!a.hasClass("hide-optional")?(a.addClass("hide-optional"),$scope.columns=$scope.columns.filter(function(a){return!a.optional})):c>=90&&a.hasClass("hide-optional")&&(a.removeClass("hide-optional"),$scope.columns=$scope.columns=getColumnDefinition())}function addQueryStringParams(){var queryStringParams=$location.search();$scope.queryStringParams=queryStringParams,$scope.apiPath=$scope.origApiPath;var keys=Object.keys(queryStringParams);for(var i in keys){var key=keys[i];$scope.action.options.params[key]=queryStringParams[key],$scope.apiPath&&($scope.apiPath=$scope.apiPath.replace("{"+key+"}",queryStringParams[key]))}try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=$scope.apiPath.indexOf(searchString);startPos>-1;){var endPos=$scope.apiPath.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for $scope.apiPath");break}var sessionKey=$scope.apiPath.substring(startPos+1,endPos);$scope.apiPath=$scope.apiPath.slice(0,startPos)+eval(sessionKey)+$scope.apiPath.slice(endPos+1),startPos=$scope.apiPath.indexOf(searchString)}}catch(a){console.error(a)}var filterDescription=queryStringParams.filterDescription;if($scope.filterDescription=filterDescription||$scope.action.label,queryStringParams.pageSize&&($scope.pagingOptions.pageSize=queryStringParams.pageSize),queryStringParams.currentPage&&($scope.pagingOptions.currentPage=parseInt(queryStringParams.currentPage)),queryStringParams.sortInfo)try{var sortInfo=JSON.parse(queryStringParams.sortInfo);_.extend($scope.sortInfo,sortInfo)}catch(a){console.warn("There are errors with the querystring param 'pagingOptions'")}queryStringParams.search&&($scope.filterOptions.filterText=queryStringParams.search)}function setupPagination(){var a=angular.copy($scope.action.options.params);if(a&&a.filter&&a.filter.length>0)try{var b=JSON.parse(a.filter);if(b.limit=parseInt($scope.pagingOptions.pageSize),b.skip=($scope.pagingOptions.currentPage-1)*parseInt($scope.pagingOptions.pageSize),$scope.sortInfo.fields.length>0){b.order="";for(var c in $scope.sortInfo.fields){var d=$scope.sortInfo.fields[c],e=$scope.sortInfo.directions[c];e||(e="ASC"),parseInt(c)>0&&(b.order+=", "),b.order+=d+" "+e}}a.filter=JSON.stringify(b)}catch(a){console.error(a),alert("Error with list filter. Please contact administrator for assistance.")}else{if(a=_.extend(a,{"filter[limit]":parseInt($scope.pagingOptions.pageSize),"filter[skip]":($scope.pagingOptions.currentPage-1)*parseInt($scope.pagingOptions.pageSize)}),$scope.sortInfo.fields.length>0){var f="";for(var c in $scope.sortInfo.fields){var d=$scope.sortInfo.fields[c],e=$scope.sortInfo.directions[c];e||(e="ASC"),parseInt(c)>0&&(f+=", "),f+=d+" "+e}a=_.extend(a,{"filter[order]":f})}if($scope.searchFields&&$scope.gridOptions.filterOptions.filterText){a=GeneralModelService.queryStringParamsToJSON(a);var g=$scope.gridOptions.filterOptions.filterText;if("object"==typeof a.filter.where){var h=angular.copy(a.filter.where);a.filter.where={and:[]},_.forEach(h,function(b,c){var d={};d[c]=b,a.filter.where.and.push(d)});var i={or:[]};angular.forEach($scope.searchFields,function(a,b){var c="["+a+"][like]",d=_.set({},c,"%"+g+"%");i.or.push(d)}),a.filter.where.and.push(i)}else angular.forEach($scope.searchFields,function(b,c){var d="filter[where][or]["+c+"]["+b+"][like]";a=_.set(a,d,"%"+g+"%")})}}$location.search("pageSize",$scope.pagingOptions.pageSize),$location.search("currentPage",$scope.pagingOptions.currentPage);var j=angular.copy($scope.sortInfo);return delete j.columns,$location.search("sortInfo",JSON.stringify(j)),$location.replace(),addQueryStringParams(),a}function processChart(){$scope.action.options.chart.api&&GeneralModelService.list($scope.action.options.chart.api,{}).then(function(a){$scope.chart=$scope.action.options.chart,$scope.chart.data=a,$scope.chart.options||($scope.chart.options={}),$scope.chart.options.vAxis||($scope.chart.options.vAxis={}),$scope.chart.options.hAxis||($scope.chart.options.hAxis={}),$scope.chart.options.hAxis.textStyle||($scope.chart.options.hAxis.textStyle={}),$scope.chart.options.vAxis.textStyle||($scope.chart.options.vAxis.textStyle={}),$scope.chart.options.vAxis.gridlines||($scope.chart.options.vAxis.gridlines={}),$scope.chart.options.hAxis.textStyle.fontSize||($scope.chart.options.hAxis.textStyle.fontSize=11),$scope.chart.options.vAxis.textStyle.fontSize||($scope.chart.options.vAxis.textStyle.fontSize=11),$scope.chart.options.hAxis.textStyle.color||($scope.chart.options.hAxis.textStyle.color="#999"),$scope.chart.options.vAxis.textStyle.color||($scope.chart.options.vAxis.textStyle.color="#999"),$scope.chart.options.vAxis.baselineColor||($scope.chart.options.vAxis.baselineColor="#999"),$scope.chart.options.hAxis.baselineColor||($scope.chart.options.hAxis.baselineColor="#999"),$scope.chart.options.vAxis.gridlines.color||($scope.chart.options.vAxis.gridlines.color="#eee"),$scope.chart.options.hAxis.gridlines.color||($scope.chart.options.hAxis.gridlines.color="#eee")})}function startEdit(){$scope.isEditing||($scope.oldList=angular.copy($scope.list),$scope.isEditing=!0)}function endEdit(){$scope.isEditing&&($scope.isEditing=!1,$scope.oldList=void 0,$scope.loadItems())}var isFirstLoad=!0,modalInstance=null;$scope.getTotalServerItems=function(){var a=setupPagination();GeneralModelService.count($scope.apiPath,a).then(function(b){if(b){if("string"==typeof b)$scope.totalServerItems=b;else{b instanceof Array&&b.length>0&&(b=b[0]);var c=Object.keys(b);!b.count&&c.length>0&&(b.count=b[c[0]]),$scope.totalServerItems=b.count}$scope.loadItems(a)}},function(a){$scope.errorMessage="There was an error while loading...",console.error(a)})},$scope.loadItems=function(a){$scope.$emit("ModelListLoadItemsLoading"),a||(a=setupPagination());var b=CacheService.getKeyForAction($scope.action,a);if(!$scope.filterOptions.useExternalFilter&&CacheService.get(b))try{$scope.list=CacheService.get(b),$scope.columnCount=$scope.list.length>0?Object.keys($scope.list[0]).length:0,processWindowSize()}catch(a){console.warn("ModelList Cache is corupt for key = "+b)}$scope.isLoading=!0,GeneralModelService.list($scope.apiPath,a).then(function(a){a&&(void 0!==$scope.action.options.resultField&&void 0!==a[$scope.action.options.resultField]?$scope.list=a[$scope.action.options.resultField]:$scope.list=a,$scope.columnCount=$scope.list.length>0?Object.keys($scope.list[0]).length:0,$scope.filterOptions.useExternalFilter||CacheService.set(b,$scope.list),processWindowSize(),$scope.$emit("ModelListLoadItemsLoaded"),isFirstLoad=!1,$scope.isLoading=!1,$scope.loadAttempted=!0)},function(a){$scope.errorMessage="There was an error while loading...",console.error(a)})},$scope.hasButtonPermission=function(a){if(!a.roles)return!0;if(!$cookies.get("roles"))return!1;var b=JSON.parse($cookies.get("roles"));for(var c in b){var d=b[c];if(a.roles.indexOf(d.name)>-1)return!0}return!1},$scope.clickListButton=function(button){if(button.click)eval("$scope."+button.click);else if(button.route){if(button.options&&(button.options.model&&($scope.action.options.model=button.options.model),button.options.key&&($scope.action.options.key=button.options.key),button.options.display&&($scope.action.options.display=button.options.display),button.returnAfterEdit&&($scope.action.options.returnAfterEdit=button.returnAfterEdit),button.options.data)){var keys=Object.keys(button.options.data);for(var i in keys){var key=keys[i],value=button.options.data[key];value.lastIndexOf("{")>-1&&(value=value.substring(value.lastIndexOf("{")+1,value.lastIndexOf("}")),value=$scope.queryStringParams[value]),$scope.action.options.data||($scope.action.options.data={}),$scope.action.options.data[key]=value}}$state.go("dashboard.model.action."+button.route)}else if(button.path&&button.label){var section=_.find(Config.serverParams.nav,{path:button.path}),action=_.find(section.subnav,{label:button.label});$state.go("dashboard.model.action."+action.route,{model:section.path,action:action.label})}},$scope.clickAdd=function(){$scope.list&&$scope.list.length,$scope.list.push({}),startEdit()},$scope.clickSaveEdit=function(){if($scope.oldList){var deltaList=[];for(var i in $scope.list){var newRow=$scope.list[i],oldRow=$scope.oldList[i];if(newRow&&("object"!=typeof newRow||0!=Object.keys(newRow).length)&&0!=newRow.length&&(!oldRow||JSON.stringify(newRow)!=JSON.stringify(oldRow))){var rowKeys=Object.keys(newRow);for(var i in rowKeys){var key=rowKeys[i];newRow[key]&&"object"==typeof newRow[key]&&delete newRow[key]}if($scope.action.options.defaults){var keys=Object.keys($scope.action.options.defaults);for(var i in keys){var key=keys[i],property=$scope.action.options.defaults[key];!property||!property.foreceDefaultOnSave&&newRow[key]||(property.default?newRow[key]=property.default:property.evalDefault&&(newRow[key]=eval(property.evalDefault)))}}if($scope.action.options.columns)for(var i in $scope.action.options.columns){var column=$scope.action.options.columns[i];if(column.required&&!newRow[column.field])return void alert("Please fill in all required fields: "+column.displayName)}deltaList.push(newRow)}}var recordIndex=0;$scope.status="Saving...",$scope.progress=0,modalInstance=$modal.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:$scope});var saveRecord=function(a,b){var c=a[$scope.action.options.key];GeneralModelService.save($scope.action.options.model,c,a).then(function(a){b()},function(a){if("object"==typeof a&&a.message)alert(a.message);else if("object"==typeof a&&a.error&&a.error.message)alert(a.error.message);else if("object"==typeof a&&a.code)switch(a.code){case"ER_DUP_ENTRY":alert("There was a duplicate entry found. Please make sure the entry is unique.")}else"object"==typeof a?alert(JSON.stringify(a)):alert(a);b()})},saveNextRecord=function(){if(recordIndex>=deltaList.length)return $scope.status="Saved Successful",modalInstance&&modalInstance.close(),$scope.loadItems(),void endEdit();$scope.status="Saving "+(recordIndex+1)+" of "+deltaList.length,$scope.progress=(recordIndex+1)/deltaList.length;var a=deltaList[recordIndex];saveRecord(a,function(){recordIndex++,saveNextRecord()})};saveNextRecord()}},$scope.clickCancelEdit=function(){confirm("Are you sure you want can cancel all changes?")&&endEdit()},$scope.deleteRowWithMessage=function(a,b){if(b)return void(confirm(b)&&$scope.deleteRow(a,!0));$scope.deleteRow(a)},$scope.deleteRow=function(a,b){if(!$scope.model||!$scope.model.plural)return void console.error("$scope.model or $scope.model.plural not found!");if(b||confirm("Are you sure you want to delete this item?")){var c=a.entity[$scope.action.options.key];c?$scope.model.options&&$scope.model.options.softDeleteProperty?(startEdit(),a.entity[$scope.model.options.softDeleteProperty]=!0,$scope.clickSaveEdit()):GeneralModelService.remove($scope.model.plural,c).then(function(b){$scope.list.splice(a.rowIndex,1)},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)}):$scope.list.splice(a.rowIndex,1)}},$scope.$watch("selected",function(a,b){a!==b&&a.length>0&&!$scope.action.options.editable&&($scope.action.options.selectedState?$state.go($scope.action.options.selectedState.stateName||"dashboard.model.action.edit",{model:$scope.action.options.selectedState.stateModel||$scope.section.path,key:$scope.action.options.key,action:$scope.action.options.selectedState.stateAction||$scope.action.label,id:a[0][$scope.action.options.selectedState.stateId||$scope.action.options.key]}):$state.go("dashboard.model.action.edit",{model:$scope.section.path,key:$scope.action.options.key,action:$scope.action.label,id:a[0][$scope.action.options.key]}))},!0),$scope.$watch("pagingOptions",function(a,b){a.currentPage==b.currentPage&&a.pageSize==b.pageSize||($scope.pagingOptions.pageSize=$scope.pagingOptions.pageSize.toString(),$scope.loadItems())},!0),$scope.$watch("gridOptions.$gridScope.filterText",_.debounce(function(a,b){a!=b&&$scope.$apply(function(){$scope.pagingOptions.currentPage=1,$scope.filterOptions.filterText=a,$scope.getTotalServerItems()})},250),!0),$scope.$watch("sortInfo",function(a,b){isFirstLoad||a===b||$scope.loadItems()},!0);var ngGridUnWatch=$scope.$watch("gridOptions.ngGrid",function(){if($scope.gridOptions.ngGrid){var a=$scope.gridOptions.ngGrid.$viewport;ngGridUnWatch(),$footerPanel=$(".ngFooterPanel"),$listContainer=$(".grid-container.list");var b=null,c=function(){$scope.gridOptions.$gridServices.DomUtilityService.RebuildGrid($scope.gridOptions.$gridScope,$scope.gridOptions.ngGrid)},d=function(d){var e=d.originalEvent.detail?-d.originalEvent.detail:d.originalEvent.wheelDelta/4,f=a.scrollTop();if(e<0){var f=a.scrollTop();0==f&&(f=-e),$scope.gridContainerTopMargin-f>0?($scope.gridContainerTopMargin-=f,a.height(a.height()+f),a.scrollTop(0)):(a.height(a.height()+$scope.gridContainerTopMargin),$scope.gridContainerTopMargin=0),$scope.gridOptions.$gridServices&&(clearTimeout(b),b=setTimeout(c,30))}else e>0&&(0==f&&$scope.gridContainerTopMargin<$scope.gridContainerTopMarginMax?(f=e,$scope.gridContainerTopMargin+=f,a.height(a.height()-f)):0==f&&($scope.gridContainerTopMargin=$scope.gridContainerTopMarginMax, +a.height($footerPanel.offset().top-a.offset().top)));$scope.$digest()};(/(iPad|iPhone|iPod|Android)/g.test(navigator.userAgent)||$scope.action.options.flexibleHeight)&&($(".model-list .grid-container").addClass("flexible"),$(".model-list .grid").css({bottom:"auto"}),$(".model-list .ngFooterPanel").css({position:"static",bottom:"auto"})),$scope.action.options.chart&&(angular.element($window).bind("mousewheel",d),angular.element($window).bind("DOMMouseScroll",d)),$(".search .ngColMenu input").on("keyup",function(){$location.search("search",$(this).val()),$location.replace()})}});init()}]).filter("encodeURIComponent",function(){return window.encodeURIComponent}),angular.module("dashboard.Dashboard.Model.Nav",["dashboard.Config","dashboard.services.Settings","ui.router","ui.bootstrap.modal"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.nav",{url:"/config",templateUrl:"app/dashboard/model/nav/ModelNav.html",data:{pageTitle:"Settings - Navigation"}})}]).controller("ModelNavCtrl",["$scope","$timeout","$state","$location","$modal","Config","SettingsService",function(a,b,c,d,e,f,g){"ngInject";function h(a){for(var b=angular.copy(j),c=0;cc[a.action.options.sortField]?-1:0}))})},a.moveUp=function(b){var c=a.list.indexOf(b);if(0!=c){var d=c-1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.moveDown=function(b){var c=a.list.indexOf(b);if(c!=a.list.length-1){var d=c+1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.edit=function(b){a.action.options.onEdit?a.action.options.onEdit(b[a.action.options.key]):c.go("dashboard.model.action.edit",{model:a.section.path,action:a.action.label,id:b[a.action.options.key]})},a.saveSort=function(){a.alertTitle="Saving...",a.alertMessage="Saving new sort order",a.allowAlertClose=!1,i=d.open({templateUrl:"app/dashboard/alert/Alert.html",controller:"AlertCtrl",size:"sm",scope:a});var b=[];for(var c in a.list){var e=a.list[c],f=e[a.action.options.key];b.unshift(f)}g.sort(a.action.options.model,a.action.options.key,a.action.options.sortField,b).then(function(b){a.alertMessage="Saved Successful!",a.allowAlertClose=!0},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)})},function(){a.hideSideMenu(),e.ga&&e.ga("send","pageview",{page:h.path()}),a.action.options.params||(a.action.options.params={}),a.model=f.serverParams.models[a.action.options.model],a.title=a.action.options.title?a.action.options.title:a.action.options.key,a.loadItems()}()}]),angular.module("dashboard.Dashboard.Model.View",["dashboard.Config","dashboard.directives.ModelField","dashboard.services.GeneralModel","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.view",{url:"/view/:id",controller:"ModelViewCtrl",templateUrl:"app/dashboard/model/view/ModelView.html",data:{pageTitle:"View"}})}]).controller("ModelViewCtrl",["$scope","$stateParams","Config","GeneralModelService",function(a,b,c,d){"ngInject";!function(){d.get(a.model.model,b.id).then(function(b){a.data=b})}()}]),angular.module("dashboard.Profile",["ui.bootstrap","ui.bootstrap.modal","dashboard.Dashboard.Model.Edit"]).controller("ProfileCtrl",["$scope","$modalInstance","$translate",function(a,b,c){!function(){c("user_profile.title").then(function(b){a.modalTitle=b},function(){a.modalTitle="User Profile"})}()}]),angular.module("dashboard.Login",["dashboard.Config","dashboard.services.Cache","dashboard.services.Session","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.login",{url:"/login",controller:"LoginCtrl",templateUrl:"app/login/Login.html",data:{pageTitle:"Login"}})}]).controller("LoginCtrl",["$scope","$state","$window","Config","SessionService","CacheService",function(a,b,c,d,e,f){"ngInject";var g=this;this.init=function(){a.login={},a.clickLogin=g.clickLogin},this.clickLogin=function(){e.logIn(a.login.email,a.login.password).then(function(a){var c=f.get("desiredState");f.reset(),c?b.go(c.state.name,c.params):b.go("dashboard")}).catch(function(a){a&&a[0]&&a[0].error&&a[0].error.message?alert(a[0].error.message):alert("Invalid login.")})},g.init()}]),angular.module("dashboard.Register",["dashboard.Config","dashboard.services.Session","dashboard.services.User","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.register",{url:"/register",controller:"RegisterCtrl",templateUrl:"app/Register/Register.html",data:{pageTitle:"Register"}})}]).controller("RegisterCtrl",["$scope","Config","SessionService","UserService",function(a,b,c,d){"ngInject";a.login={},a.register=function(){d.register(a.login.email,a.login.password).then(function(b){c.logIn(a.login.email,a.login.password).then(function(a){$state.go("dashboard")}).catch(function(a){alert("Error registering")})}).catch(function(a){alert("Error registering")})}}]),angular.module("dashboard.Config",[]).constant("Config",{apiBaseUrl:window.config.apiBaseUrl||"/api/",serverParams:window.config}),angular.module("dashboard.directive.DateTimePicker",[]).directive("dateTimePicker",["$rootScope",function(a){"ngInject";return{require:"?ngModel",restrict:"AE",scope:{control:"=",format:"@",ngFormat:"=ngFormat",ngTimeZone:"=ngTimeZone",defaultDate:"@",viewMode:"@",ngViewMode:"=ngViewMode",horizontal:"@",locale:"@",maxDate:"@",minDate:"@"},link:function(a,b,c,d){a.format||(a.format=a.ngFormat),a.viewMode||(a.viewMode=a.ngViewMode),a.format&&a.format.indexOf("DD-MMM-YYYY")>-1&&"es"===a.locale&&(a.format=a.format.replace("DD-MMM-","DD MMM ")),d.$formatters.push(function(b){if(a.format||(a.format=a.ngFormat),b){var c=moment(b);return a.ngTimeZone&&c.tz&&(c=c.tz(a.ngTimeZone)),c.format(a.format)}}),a.defaultDate=a.defaultDate&&"string"==typeof a.defaultDate?a.defaultDate.replace(/"/g,""):a.defaultDate;var e={format:a.format,useCurrent:!1,locale:a.locale,defaultDate:a.defaultDate?moment(a.defaultDate).toDate():void 0,viewMode:a.viewMode,widgetPositioning:{horizontal:a.horizontal?a.horizontal:"auto"}};a.minDate&&(e.minDate=a.minDate),a.maxDate&&(e.maxDate=a.maxDate),b.datetimepicker(e),a.control||(a.control={}),a.control.show=function(){b.focus()},b.on("blur",function(){a.format||(a.format=a.ngFormat),a.locale&&moment.locale(a.locale);var c=moment(b.val(),a.format);c.isValid()?d.$setViewValue(c):d.$setViewValue(null)})}}}]),angular.module("dashboard.directives",[]),angular.module("dashboard.directives.ModelField",["dashboard.directives.ModelFieldImage","dashboard.directives.ModelFieldVideo","dashboard.directives.ModelFieldFile","dashboard.directives.ModelFieldReference","dashboard.directives.ModelFieldReferenceSort","dashboard.directives.ModelFieldList","dashboard.directives.ModelFieldWYSIWYG","dashboard.directives.ModelFieldCanvas","dashboard.directives.ModelFieldLocation","dashboard.directives.ModelFieldPointsOfInterest","dashboard.directives.ModelFieldMultiSelect","dashboard.directives.ModelFieldNumber","dashboard.directive.DateTimePicker","dashboard.directive.AutoSize","ngCookies","ngSlider","ngSignaturePad","cwill747.phonenumber","monospaced.elastic"]).directive("modelFieldView",["$compile",function(a){"ngInject";function b(a){return"{{ field.label }}: {{ data[field.name] }}"}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel"},link:function(c,d,e){d.html(b(c.field.type)).show(),a(d.contents())(c)}}}]).directive("modelFieldEdit",["$compile",function(a){"ngInject";function b(a,b){var c="";switch(a){case"reference":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"reference-sort":c='
{{ display.error }}
{{ display.description | translate }}
{{ display.description | translate }}
';break;case"list":c='
{{ display.error }}
{{ display.description | translate }}
{{ display.description | translate }}
';break;case"file":c='
{{ display.error }}

{{ display.description | translate }}
';break;case"image":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"video":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"datetime":c='
{{ display.error }}

{{ display.description | translate }}
';break;case"multi-select":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"select":var d="key as (value | translate) for (key, value) in display.options";b.property.display.options instanceof Array&&(d="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"value as value for value in display.options":"item.key as item.value disable when item.disabled for item in display.options"),c='
{{ display.error }}
{{ display.description | translate }}
';break;case"radio":var e="(value, text) in display.options";b.property.display.options instanceof Array&&(e="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"text in display.options":"item in display.options"),c='
{{ display.error }}
{{ display.description | translate }}
';break;case"slider":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"boolean":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"password":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"textarea":c='
{{ display.error }}
{{ display.description | translate }}  ({{ charsLeft }} characters left)
';break;case"wysiwyg":case"WYSIWYG":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"draw":case"signature":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"location":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"poi":case"POI":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"number":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"phoneNumber":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"text":default:c='
{{ display.error }}
{{ display.description | translate }}  ({{ charsLeft }} characters left)
'}return c}function c(a,b){var c=$(a).find("input");if(b&&c)for(var d in b)c.attr(d,b[d])}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel",ngError:"&"},link:function(d,e,f){function g(a){a&&a.message?i.display.error=a.message:delete i.display.error,d.ngError&&d.ngError({error:a})}function h(){if("text"===i.display.type||"textarea"===i.display.type){var a=d.data[d.key]?d.data[d.key].length:0;d.charsLeft=i.display.maxLength-a,d.lengthCheck=function(a){return d.charsLeft=i.display.maxLength-a.target.value.length,i.display.maxLength&&a.target.value.length>i.display.maxLength?(d.display.error="Text is longer than the maximum allowed length of "+d.display.maxLength+" characters.",void(d.ngError&&d.ngError({error:new Error(d.display.error)}))):i.display.maxLength&&a.target.value.length<=i.display.maxLength&&a.target.value.length>0?(delete d.display.error,delete d.display.errorCode,void(d.ngError&&d.ngError({error:null}))):void(0===a.target.value.length&&i.display.isRequired&&(d.display.error="This is a required field.",d.ngError&&d.ngError({error:new Error(d.display.error)})))}}if("file"==i.display.type&&d.data[d.key]){var b=d.data[d.key];if("object"==typeof b&&b.filename?b=b.filename:"object"==typeof b&&b.file&&(b=b.file.name),b){var c=b.toLowerCase().substring(b.length-4);".png"!=c&&".jpg"!=c&&"jpeg"!=c&&".bmp"!=c||(i=angular.copy(i),i.display.type="image")}}"datetime"==i.display.type&&(i.display.options||(i.display.options={}),i.display.options.format||(i.display.options.format="YYYY-MM-DD h:mm A")),!d.data[d.key]&&i.display.defaultValueUsingModelKey&&(d.data[d.key]=d.data[i.display.defaultValueUsingModelKey]),d.data[d.key]&&!1===i.display.convertToLocalTime&&(d.data[d.key]=d.data[d.key].substring(0,d.data[d.key].length-1)),"boolean"==i.display.type&&(d.check=function(a,b){var c=a[b];return void 0==c||null==c?i.display.default:(a[b]="1"==c||1==c,a[b])},"string"==typeof d.data[d.key]&&(d.data[d.key]=parseInt(d.data[d.key]))),"slider"==i.display.type&&(void 0!==d.data[d.key]&&null!=d.data[d.key]||(d.data[d.key]=i.display.options.from+";"+i.display.options.to))}var i;!function(){if(d.onFieldError=g,null!==d.key&&"object"==typeof d.key&&(d.model.properties[d.key.property]||(d.model.properties[d.key.property]={}),d.model.properties[d.key.property].display=d.key,d.key=d.key.property),i={display:{type:"text"}},d.model.properties&&d.model.properties[d.key]&&(i=d.model.properties[d.key]),!i)return void console.log("ModelField link error: no property for model '"+d.model.name+"'; property key = '"+d.key+"' found!");if(!i.display||!i.display.type)switch(i.display||(i.display={}),i.type){case"date":case"Date":i.display.type="datetime";break;default:i.display.type="text"}h(),d.data[d.key]||!i.default&&"number"!=typeof i.default||(d.data[d.key]=i.default),d.property=i,d.display=i.display,i.display.editTemplate?e.html(i.display.editTemplate).show():e.html(b(i.display.type,d)).show(),c(e,d.property.display.inputAttr),d.display.pattern&&"/"==d.display.pattern[0]&&"/"==d.display.pattern[d.display.pattern.length-1]&&(d.display.pattern=d.display.pattern.slice(1,d.display.pattern.length-2)),a(e.contents())(d)}()}}}]),angular.module("dashboard.directives.ModelFieldCanvas",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldCanvasView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldCanvasEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(){return' '}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d,e){b.isLoading=!0,b.signature={},b.clearCanvas=function(){var a=b.signature._canvas;a.width=a.width,b.data=null},b.$watch("signature._mouseButtonDown",function(){if(b.signature.fromDataURL&&b.isLoading){b.isLoading=!1;var a=new Image;a.setAttribute("crossOrigin","anonymous"),a.onload=function(){ +b.signature._canvas.getContext("2d").drawImage(a,0,0)},"object"==typeof b.data&&b.data.fileUrl?a.src=b.data.fileUrl:a.src=b.data}else if(b.signature.toDataURL){var c=b.signature.toDataURL();b.data=c}}),c.html(g()).show(),a(c.contents())(b)}}}]),angular.module("dashboard.directives.ModelFieldFile",["dashboard.services.GeneralModel"]).directive("modelFieldFileView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldFileEdit",["$compile","$document","$window","GeneralModelService","SessionService","$translate",function(a,b,c,d,e,f){"ngInject";return{restrict:"E",template:'   {{ filename }}  (download | preview)
Drop File Here
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(a,c,d){a.selectFileButtonText="Select File",a.clearButtonText="Clear";var e=["button.select_file"];f(e).then(function(b){-1===e.indexOf(b["button.select_file"])&&(a.selectFileButtonText=b["button.select_file"])});var g=a.$watch("data",function(b){if(b)if(g(),a.data&&a.data&&a.data.filename)a.filename=a.data.filename,a.fileUrl=a.data.fileUrl,a.previewUrl=a.data.previewUrl;else if("string"==typeof a.data){a.fileUrl=a.data.replace(/%2F/g,"/");var c=a.fileUrl.lastIndexOf("/");a.filename=a.fileUrl.substring(c+1)}else if("object"==typeof a.data.file){var d=a.options.path;a.data={path:d,file:a.data.file},a.filename=a.data.file.name,a.fileUrl=null,a.previewUrl=null}});a.getFileIcon=function(a){switch(a.substring(a.lastIndexOf(".")).toLowerCase()){case".txt":return"fa-file-text-o";case".doc":case".docx":return"fa-file-word-o";case".wav":case".mp3":case".aif":return"fa-file-audio-o";case".m4v":case".mov":case".mp4":case".avi":return"fa-file-video-o";case".jpg":case".jpeg":case".png":case".gif":case".bmp":case".tif":return"fa-file-image-o";case".xls":case".xlsx":return"fa-file-excel-o";case".ppt":case".pptx":return"fa-file-excel-o";case".pdf":return"fa-file-pdf-o";default:return"fa-file-o"}},a.onFileSelect=function(b){if(!(b.length<1)){var c=b[0],d=a.options.path;a.data={path:d,file:c},a.filename=c.name,a.fileUrl=null}},a.clear=function(b){b.preventDefault(),a.options.confirm&&!confirm("Are you sure you would like to clear the file?")||(a.data=null,a.filename=null,a.fileUrl=null)},b.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),b.on("dragover",function(a){a.preventDefault(),c.find(".file-drop").addClass("show")}),$(window).on("mouseleave",function(){c.find(".file-drop").removeClass("show")}),a.$on("$destroy",function(){b.off("drop"),b.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldImage",["dashboard.services.GeneralModel","dashboard.services.Image"]).directive("modelFieldImageView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldImageEdit",["$compile","$document","GeneralModelService","ImageService","SessionService","$timeout","$translate",function(a,b,c,d,e,f,g){"ngInject";return{restrict:"E",template:'
{{ uploadStatus }}
HTML5 Drop File is not supported!
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(a,e,h){var i=null;a.selectFileButtonText="Select File",a.clearButtonText="Clear";var j=["button.select_file","button.clear"];g(j).then(function(b){-1===j.indexOf(b["button.select_file"])&&(a.selectFileButtonText=b["button.select_file"]),-1===j.indexOf(b["button.clear"])&&(a.clearButtonText=b["button.clear"])}),a.uploadStatus="Upload File";var k=a.$watch("data",function(b){if(b)if(k(),a.options&&a.options.model)c.get(a.options.model,b).then(function(b){b&&(a.imageUrl=b[a.options.urlKey],a.imageUrl||(a.imageUrl=b.mediumUrl),a.thumbnailUrl=a.imageUrl)});else if("string"==typeof b)if(a.imageUrl=b,a.thumbnailUrl=a.options.thumbnailUrl,a.thumbnailUrl){var d=new Image;d.onerror=function(){f(function(){a.thumbnailUrl=a.imageUrl})},d.src=a.thumbnailUrl}else a.thumbnailUrl=a.imageUrl;else"object"==typeof b&&(b.fileUrl&&(a.imageUrl=b.fileUrl),b.imageUrl&&(a.imageUrl=b.imageUrl),!a.imageUrl&&b.file&&l.readAsDataURL(b.file))}),l=new FileReader;l.onload=function(b){var c=a.options.path,e={path:c,file:i};a.modelData.__ModelFieldImageData||(a.modelData.__ModelFieldImageData={}),a.options&&a.options.urlKey?(a.modelData.__ModelFieldImageData[a.key]||(a.modelData.__ModelFieldImageData[a.key]={}),a.modelData.__ModelFieldImageData[a.key][a.options.urlKey]=e):a.modelData.__ModelFieldImageData[a.key]=e,d.fixOrientationWithDataURI(b.target.result,function(b,c){a.imageUrl=c,a.thumbnailUrl=c,e.file=a.dataURItoBlob(c),e.file.name=i.name,a.options&&a.options.export?(a.uploadStatus="Creatimg Image Sizes",a.exportImages(function(){a.uploadStatus="Upload File",a.$apply()})):a.options&&a.options.resize&&a.resizeImage(c,a.options.resize,function(a){e.file=a}),a.$apply()})},l.onerror=function(a){console.log(a)},a.clear=function(){a.options.confirm&&!confirm("Are you sure you would like to clear this photo?")||(a.data=null,a.modelData.__ModelFieldImageData&&a.modelData.__ModelFieldImageData[a.key]&&delete a.modelData.__ModelFieldImageData[a.key],delete a.imageUrl,delete a.thumbnailUrl)},a.onFileSelect=function(b){if(!(b.length<1)){i=b[0];var c=!1;a.options.extensions?a.options.extensions.forEach(function(a){i.type.match("image/"+a)&&(c=!0)}):c=!0,c?l.readAsDataURL(i):alert("File must be of the following file types ("+a.options.extensions.join(", ")+").")}},a.exportImages=function(b){var c=arguments[1];c||(c=0);var d=Object.keys(a.options.export);if(c>=d.length)return void b();var e=d[c],f=a.options.export[e];a.resizeImage(a.imageUrl,f,function(d){a.modelData.__ModelFieldImageData[a.key][e]=d,c++,a.exportImages(b,c)})},a.resizeImage=function(b,c,e){d.resize(b,c,function(b,c){var d=a.dataURItoBlob(c);e(d)})},a.dataURItoBlob=function(a){var b;b=a.split(",")[0].indexOf("base64")>=0?atob(a.split(",")[1]):unescape(a.split(",")[1]);for(var c=a.split(",")[0].split(":")[1].split(";")[0],d=new Uint8Array(b.length),e=0;e
'),d=$('
');if(c.append(d),$("body").append(c),a.options.isLightbox){var e=Math.min(d.width()/b.width,d.height()/b.height),f=b.width*e,g=b.height*e;d.css({background:"no-repeat center center url("+a.imageUrl+")",backgroundSize:f+"px "+g+"px"})}else{var h=$('
'),i=$('
');d.append(h),d.append(i);var e=Math.min(h.width()/b.width,h.height()/b.height),j=b.width*e,k=b.height*e;h.css({background:"no-repeat center center url("+a.imageUrl+")",backgroundSize:j+"px "+k+"px"});e=1;var l=b.width*e,m=b.height*e;i.css({background:"no-repeat center center url("+a.imageUrl+"), #111",backgroundSize:l+"px "+m+"px",border:"solid 1px #000"});var n="center",o="center",p=function(a){n=a.offsetX,o=a.offsetY,n||(n=a.pageX),o||(o=a.pageY),n-=h.width()/2-j/2,o-=h.height()/2-k/2,n*=-l/j,o*=-m/k,n+=i.width()/2,o+=i.height()/2,i.css({backgroundPosition:n+"px "+o+"px",backgroundSize:l+"px "+m+"px"})};h.on("mousemove",p),h.bind("mousewheel",function(a){a.originalEvent.wheelDelta/120>0&&e+.01<=1.1?e+=.01:e-.01>=.1&&(e-=.01),l=b.width*e,m=b.height*e,p(a)})}c.animate({backgroundColor:"rgba(0,0,0,0.65)"},600,function(){d.animate({opacity:1},300)}),d.click(function(){c.animate({opacity:0},300,function(){c.remove()})})},b.src=a.imageUrl}else{var c=e.find(".image-container");c.width()<=160?c.animate({width:"400px",height:"400px"},300):c.animate({width:"160px",height:"160px"},300)}},b.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),b.on("dragover",function(a){a.preventDefault(),e.find(".image-drop").addClass("show-upload"),e.find(".input[type=file]").addClass("show-upload"),e.find(".button-menu").addClass("hide-menu")}),$(window).on("mouseleave",function(){e.find(".image-drop").removeClass("show-upload"),e.find(".input[type=file]").removeClass("show-upload"),e.find(".button-menu").removeClass("hide-menu")}),a.$on("$destroy",function(){b.off("drop"),b.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldList",["dashboard.Config","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldListView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldListEdit",["$compile","$cookies","$timeout","Config","GeneralModelService",function(a,b,c,d,e){"ngInject";function f(a){return'
'}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d){b.list||(b.list=[]),b.options.addLabel||(b.options.addLabel="Add Item"),b.sortableOptions={placeholder:"sortable-placeholder",update:self.updateData,disabled:b.disabled},b.setData=function(){"object"==b.options.output?b.data=b.list:b.data=JSON.stringify(b.list)},b.addItem=function(){b.list.push({}),b.setData()},b.removeItem=function(a){b.list[a];b.list.splice(a,1),b.setData()},b.updateData=function(){b.setData()};b.$watchCollection("[data, options, modelData]",function(a){if(b.data&&b.options)if(b.data instanceof Array)b.list=b.data;else try{b.list=JSON.parse(b.data)}catch(a){b.list=[],console.error("ModelFieldList failed to parse scope.data",a)}});c.html(f(b.options.key)).show(),a(c.contents())(b)}}}]),angular.module("dashboard.directives.ModelFieldLocation",["dashboard.services.Location","ui.bootstrap","dashboard.services.GeneralModel"]).directive("modelFieldLocationView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldLocationEdit",["$compile","$q","LocationService",function(a,b,c){"ngInject";function d(){var a=b.defer();if(angular.element("#google_maps").length)return a.resolve(),a.promise;var c=document.createElement("script");return c.onload=function(){a.resolve()},c.id="google_maps",c.type="text/javascript",c.src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places",document.getElementsByTagName("head")[0].appendChild(c),a.promise}function e(){return'
Loading your location...
{{geocodeError}}
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,f,g){function h(){b.isMapLoading=!1,b.isLoaded=!0,k=new google.maps.Map(angular.element("#map_canvas")[0],{center:b.location,zoom:12}),i()}function i(){j()}function j(){if(b.data)if(m){var a=new google.maps.LatLng(b.data.lat,b.data.lng);m.setPosition(a),m.setMap(k),k.setCenter(a)}else{m=new google.maps.Marker({position:b.location,map:k,icon:new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|2F76EE",new google.maps.Size(21,34),new google.maps.Point(0,0),new google.maps.Point(10,34)),draggable:!0,tooltip:"Current location"}),google.maps.event.addListener(m,"dragend",function(){var a={lat:m.position.lat(),lng:m.position.lng()};b.data=a,b.$digest()})}}var k,l,m,n;b.isMapLoading=!0,b.isLoaded=!1,b.geocodeSearch={value:""},b.geocodeError=null,b.showGeocode=!1,d().then(function(){l=new google.maps.Geocoder,b.showGeocode=!1,b.property.display.options&&b.property.display.options.allowGeocode&&(b.showGeocode=!0);b.property.display.options&&b.property.display.options.query&&b.property.display.options.query,f.html(e()).show(),a(f.contents())(b),b.data?(n=b.data,b.location=angular.copy(b.data),h()):c.currentLocation().then(function(a){var c={lat:a.latitude,lng:a.longitude};n=c,b.data=c,h()}),b.$watch("data",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())}),b.$watch("data.lat",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())}),b.$watch("data.lng",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())})},function(){console.error("Error loading Google Maps")}),b.doGeocode=function(){b.geocodeError=null,b.geocodeSearch.value?l.geocode({address:b.geocodeSearch.value},function(a,c){c==google.maps.GeocoderStatus.OK?b.$apply(function(){var c={lat:a[0].geometry.location.lat(),lng:a[0].geometry.location.lng()};b.data=c,h()}):c===google.maps.GeocoderStatus.OVER_QUERY_LIMIT?console.log("Geocode was not successful for the following reason: "+c):c===google.maps.GeocoderStatus.ZERO_RESULTS?(b.geocodeError="Couldn't match the specified query with a geopoint",b.$digest(),console.log("Geocode was not successful for the following reason: "+c)):console.log("Geocode was not successful for the following reason:"+c)}):alert("Please enter the address of a location to geocode.")},b.clearSearch=function(){b.hasSearched=!1},b.revertValue=function(){n&&(b.data=n)}}}}]),angular.module("dashboard.directives.ModelFieldMultiSelect",[]).directive("modelFieldMultiSelect",["$compile",function(a){"ngInject";function b(){return'
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(c,d,e,f){function g(){var a=c.options||j.display.options;"string"==typeof a&&(a=a.indexOf("\n")>-1?a.split("\n"):a.split(","));var b=j.display.key||"key",d=j.display.value||"value";if(Array.isArray(a))for(var e in a){var f=a[e];if("string"==typeof f){var g={key:f,value:f};c.multiSelectOptions.push(g)}else if(f&&"object"==typeof f){var h=f[b]||e,g={key:h,value:f[d],item:f};c.multiSelectOptions.push(g)}}else if(a&&"object"==typeof a){var i=Object.keys(a);for(var k in i){var h=i[k],g={key:h,value:a[h]};c.multiSelectOptions.push(g)}}}function h(){if(void 0===j.display.output){var a=c.options||j.display.options;j.display.output=a instanceof Array?"comma":"object"}if("string"==typeof c.data){c.data||(c.data="");var b=c.data.split('","');for(var d in b){var e=b[d];'"'==e[0]&&(e=e.substring(1,e.length)),'"'==e[e.length-1]&&(e=e.substring(0,e.length-1));var f=_.findIndex(c.multiSelectOptions,{key:e});f>-1&&(c.selected[f]=!0)}}else if(Array.isArray(c.data)){c.data||(c.data=[]);for(var d in c.data){var g=c.data[d],f=_.findIndex(c.multiSelectOptions,{key:g});f>-1&&(c.selected[f]=!0)}}else if(c.data&&"object"==typeof c.data){c.data||(c.data={});var h=Object.keys(c.data);for(var i in h){var k=h[i],f=_.findIndex(c.multiSelectOptions,{key:k});f>-1&&(c.selected[f]=!0)}}}function i(a,b){var d="array"===j.display.output?[]:"object"===j.display.output?{}:"";for(var e in c.selected)if(c.selected[e]){var f=c.multiSelectOptions[e];switch(j.display.output){case"object":d[f.key]=f.value;break;case"comma":d+='"'+f.key+'",';break;case"array":d.push(b.item||b.key)}}"comma"===j.display.output&&d.length>0&&(d=d.substring(0,d.length-1)),c.data=d}var j=c.property;!function(){c.multiSelectOptions=[],c.selected=[],j||(j={}),j.display||(j.display={}),g(),h(),c.clickMultiSelectCheckbox=i,d.html(b()).show(),a(d.contents())(c)}()}}}]),angular.module("dashboard.directives.ModelFieldNumber",[]).directive("modelFieldNumber",["$compile","$filter",function(a,b){"ngInject";function c(){return''}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled",required:"=ngRequired",ngError:"&"},link:function(d,e,f,g){function h(a){var b=0;if(document.selection){var c=document.selection.createRange();c.moveStart("character",-a.target.value.length),b=c.text.length}else(a.target.selectionStart||0===a.target.selectionStart)&&(b=a.target.selectionStart);var d=a.target.value;if("string"==typeof d){var e=d.indexOf(".");if(!(-1===e||e>=b)){var f=d.split(".");if(!(f.length<1))return f[1].length>=k.display.scaleValue?void a.preventDefault():void 0}}}function i(a){if((""===a.target.value||null===a.target.value)&&!a.target.validity.badInput)return void(d.ngError&&k.display.isRequired?d.ngError({error:new Error("This is a required field.")}):d.ngError&&d.ngError({error:null}));if(!0===k.display.allowDecimal){var c=b("decimalWithScale")(a.target.value,k.display.scaleValue);if(isNaN(c)&&d.ngError)return void d.ngError({error:new Error("Please enter a valid number")});if(d.data=c,void 0!==k.display.minValue&&j(k.display.minValue,a.target.value))return void(d.ngError&&d.ngError({error:new Error("Value is less than the minimum allowed value ("+k.display.minValue+").")}));if(void 0!==k.display.maxValue&&j(a.target.value,k.display.maxValue))return void(d.ngError&&d.ngError({error:new Error("Value is greater than the maximum allowed value ("+k.display.maxValue+").")}));d.ngError&&d.ngError({error:null})}else if(!1===k.display.allowDecimal){if(isNaN(_.round(a.target.value))||isNaN(parseInt(a.target.value)))return void(d.ngError&&d.ngError({error:new Error("Please enter a valid number")}));var e=_.round(a.target.value,0);if(d.data=e,void 0!==k.display.minValue&&k.display.minValue>parseFloat(a.target.value))return void(d.ngError&&d.ngError({error:new Error("Value is less than the minimum allowed value ("+k.display.minValue+").")}));if(void 0!==k.display.maxValue&&k.display.maxValueparseInt(e[0]))return!0;if(parseInt(d[0])=0&&parseInt(e[0])>=0,g=0;gparseInt(e[1].charAt(g)))return f;if(parseInt(d[1].charAt(g)){{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldPointsOfInterestEdit",["$compile","$cookies","$timeout","$modal","$http","$q","$window","Config","GeneralModelService","LocationService",function(a,b,c,d,e,f,g,h,i,j){"ngInject";function k(a){var b=f.defer();if(angular.element("#google_maps").length)return b.resolve(),b.promise;var c=document.createElement("script");return c.onload=function(){b.resolve()},c.id="google_maps",c.type="text/javascript",c.src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places",a&&(c.src+="&key="+a),document.getElementsByTagName("head")[0].appendChild(c),b.promise}function l(a){return a.replace(/ /g,"_").toLowerCase()}function m(){return' \t\t\t
Search results are loading...
\t\t\t
\t\t\t \t\t\t \t\t\t\t\t\t\t\t\t \t\t\t{{searchError}}\t\t\t\t\t\t \t\t\t
\t\t\t
    \t\t\t\t
  • \t\t\t\t\t
    {{ $index + 1 }}. {{ item.name }}
    \t\t\t\t\t\t{{item.formatted_address}} \t\t\t\t\t
    \t\t\t\t\t\t \t\t\t\t\t\t \t\t\t\t\t
    \t\t\t\t
  • \t\t\t
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d){function e(){b.isMapLoading=!1,b.isLoaded=!0,q=new google.maps.Map(document.getElementById("map_canvas"),{center:b.request.location,zoom:s}),f()}function f(){g()}function g(){b.clearSearch();var a=jQuery.extend(!0,{},b.request);a.radius=.5*a.radius,new google.maps.places.PlacesService(q).textSearch(a,function(a,c){c==google.maps.places.PlacesServiceStatus.OK?(h(a),b.boundaries.length>0&&p(),b.markers.length>0&&i(),j(),n(),o(),b.$digest()):console.log("search was not successful for the following reason: "+c)})}function h(a){u&&u.close();for(var c=0;c{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldReferenceEdit",["$compile","$cookies","Config","GeneralModelService",function($compile,$cookies,Config,GeneralModelService){"ngInject";function getTemplate(a,b,c){return a?' '+b+' '+c+" ":' '+b+' '+c+" "}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled",rowData:"=ngRowData",textOutputPath:"=ngTextOutputPath",onModelChanged:"&onModelChanged",appendToBody:"=appendToBody"},link:function(scope,element,attrs){function replaceSessionVariables(string){if("string"!=typeof string)return string;try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}function mergeArray(a,b){for(var c in a){var d=a[c];-1==b.indexOf(d)&&b.push(d)}}function assignJunctionMeta(){if(scope.options.junctionMeta)for(var a in scope.selected.items){var b=scope.selected.items[a];b.junctionMeta=scope.options.junctionMeta}}scope.moment=moment,scope.isFirstTimeLoad=!0,scope.selected={},scope.selected.items=[],scope.selected.item=null,scope.list=[],scope.$watch("selected.items",function(a,b){var c=element.hasClass("ng-invalid");scope.property.display.required&&a&&0===a.length&&element.addClass("ng-invalid"),a&&a.length>0&&c&&element.removeClass("ng-invalid")}),scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c,{preventCancel:!0}).then(function(a){if(a){if(scope.list=a,scope.options.allowInsert){var b={};b[scope.options.searchField]="[Add New Item]",scope.list.push(b)}if(scope.options.allowClear){var b={};b[scope.options.searchField]="[clear]",scope.list.unshift(b)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){if(scope.modelData&&scope.modelData&&scope.options&&scope.options.multiple){if(!scope.property.display.sourceModel)return unwatch(),void(scope.modelData[scope.property.display.options.relationship]&&(scope.selected.items=scope.modelData[scope.property.display.options.relationship],assignJunctionMeta(),scope.list=scope.selected.items));var b=Config.serverParams.models[scope.property.display.sourceModel],c=Config.serverParams.models[scope.options.model],d=b.plural,e=(c.plural,scope.modelData[scope.property.display.sourceKey]);if(!e)return;unwatch();var f={};if(scope.options.junctionMeta){var g=Object.keys(scope.options.junctionMeta);for(var h in g){var i=g[h];f["filter[where]["+i+"]"]=scope.options.junctionMeta[i]}}GeneralModelService.getMany(d,e,scope.options.relationship,f,{preventCancel:!0}).then(function(a){if(a)if(scope.options.api&&a.length>0){var b={filter:{where:{}}};b.filter.where[scope.options.key]={inq:[]};for(var c in a){var d=a[c];b.filter.where[scope.options.key].inq.push(d[scope.options.key])}apiPath=replaceSessionVariables(scope.options.api),GeneralModelService.list(apiPath,b,{preventCancel:!0}).then(function(a){a&&(scope.selected.items=a,assignJunctionMeta(),scope.list=a)})}else scope.selected.items=a,assignJunctionMeta(),scope.list=a})}else if(scope.data&&scope.options&&scope.options.model){var j=Config.serverParams.models[scope.options.model];GeneralModelService.get(j.plural,scope.data).then(function(a){a&&(scope.selected.item=a,assignJunctionMeta(),scope.list=[scope.selected.item],scope.onModelChanged&&scope.onModelChanged({$item:scope.selected.item}))},function(a){if(scope.options.allowInsert){var b={};b[scope.options.key]=scope.data,b[scope.options.searchField]=scope.data,scope.selected.item=b,assignJunctionMeta(),scope.list.push(b)}})}});scope.onSelect=function(a,b){if(scope.options.multiple){if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.key]=c}assignJunctionMeta(),scope.modelData[scope.options.relationship]?mergeArray(scope.selected.items,scope.modelData[scope.options.relationship]):scope.modelData[scope.options.relationship]=scope.selected.items}else{scope.data=a[scope.options.key],scope.rowData&&(scope.rowData[scope.options.key]=scope.data),scope.$emit("onModelFieldReferenceSelect",scope.modelData,scope.key,a,scope.rowData);var d=a[scope.options.searchField];if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();scope.data=c;var e={};e[scope.options.key]=c,e[scope.options.searchField]=c,scope.selected.item=e,scope.list.push(e)}else a&&"[clear]"==a[scope.options.searchField]&&(scope.data=null,d="");if(scope.rowData&&scope.textOutputPath&&a[scope.options.searchField])if(scope.textOutputPath.indexOf(".")>-1){for(var f=scope.textOutputPath.split("."),g=scope.rowData,h=0;h-1&&(scope.selected.items.splice(c,1),assignJunctionMeta()),scope.modelData[scope.options.relationship]){if(scope.options.key&&a[scope.options.key]){var d={};d[scope.options.key]=a[scope.options.key];var c=_.findIndex(scope.modelData[scope.options.relationship],d);c>-1&&scope.modelData[scope.options.relationship].splice(c,1)}var c=scope.modelData[scope.options.relationship].indexOf(a);c>-1&&scope.modelData[scope.options.relationship].splice(c,1),mergeArray(scope.selected.items,scope.modelData[scope.options.relationship])}else scope.modelData[scope.options.relationship]=scope.selected.items}else scope.data=null},scope.$on("ngGridEventStartCellEdit",function(){element.find("button").trigger("click"),element.find("input.ui-select-search").focus()}),element.html(getTemplate(scope.options.multiple,scope.options.matchTemplate,scope.options.choiceTemplate)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldReferenceSort",["dashboard.Config","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldReferenceSortView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldReferenceSortEdit",["$compile","$cookies","$timeout","Config","GeneralModelService",function($compile,$cookies,$timeout,Config,GeneralModelService){"ngInject";function getTemplate(a,b,c,d){var e="(index, item) in selectedList";return d||(e+=" track by item."+a),' '+b+' '+c+'
  • '+c+'
'}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(scope,element,attrs){function replaceSessionVariables(string){if("string"!=typeof string)return string;try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}scope.selected={},scope.selected.item=null,scope.list=[],scope.selectedList=[],scope.sortableOptions={placeholder:"sortable-placeholder",disabled:scope.disabled},scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c).then(function(a){if(a){scope.list=a;for(var b in scope.selectedList){var c=scope.selectedList[b],d={};d[scope.options.key]=c[scope.options.key];var e=_.find(scope.list,d);e&&scope.list.splice(scope.list.indexOf(e),1)}if(scope.options.allowInsert){var f={};f[scope.options.searchField]=scope.options.insertText?scope.options.insertText:"[Add New Item]",scope.list.push(f)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){scope.data&&scope.options&&scope.options.model&&(unwatch(),scope.selectedList=scope.data)});scope.onSelect=function(a,b){if(scope.$emit("onModelFieldReferenceSortSelect",scope.modelData,scope.key,a),!a[scope.options.key]&&a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.options.key]=c,a[scope.options.searchField]=c}_.find(scope.selectedList,function(b){return b[scope.options.key]===a[scope.options.key]||b.name&&a.name&&b.name.toLowerCase()===a.name.toLowerCase()})||(scope.selectedList.push(a),scope.data=scope.selectedList),$timeout(function(){delete scope.selected.item})},scope.removeItem=function(a){var b=scope.selectedList[a];scope.selectedList.splice(a,1),scope.list.push(b)},element.html(getTemplate(scope.options.key,scope.options.matchTemplate,scope.options.choiceTemplate,scope.options.allowInsert)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldVideo",["dashboard.services.GeneralModel"]).directive("modelFieldVideoView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldVideoEdit",["$sce","$compile","$document","GeneralModelService","SessionService",function(a,b,c,d,e){"ngInject";return{restrict:"E",template:'
Upload a Video File
{{ uploadStatus }}
HTML5 Drop File is not supported!
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(b,d,e){var f=null;b.uploadStatus="Upload File";var g=b.$watch("data",function(c){c&&(g(),"string"==typeof c?b.videoUrl=a.trustAsResourceUrl(c):"object"==typeof c&&(c.fileUrl&&(b.videoUrl=a.trustAsResourceUrl(c.fileUrl)),c.videoUrl&&(b.videoUrl=a.trustAsResourceUrl(c.videoUrl))))}),h=new FileReader;h.onload=function(c){b.videoUrl=a.trustAsResourceUrl(c.target.result),b.$apply()},h.onerror=function(a){console.error(a)},b.clear=function(){b.data=null,delete b.videoUrl},b.onFileSelect=function(a){if(!(a.length<1)){f=a[0];var c=b.options.path;b.data={path:c,file:f},h.readAsDataURL(f)}},c.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),c.on("dragover",function(a){a.preventDefault(),d.find(".image-drop").addClass("show-upload"),d.find(".input[type=file]").addClass("show-upload"),d.find(".button-menu").addClass("hide-menu")}),$(window).on("mouseleave",function(){d.find(".image-drop").removeClass("show-upload"),d.find(".input[type=file]").removeClass("show-upload"),d.find(".button-menu").removeClass("hide-menu")}),b.$on("$destroy",function(){c.off("drop"),c.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldWYSIWYG",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldWysiwygView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldWysiwygEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(a){var b="";if(a.options&&a.options.fonts)for(var c=a.options.fonts,d=0;d"+c[d]+"";return'
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,e,h){function i(){var a=$(".wysiwyg-editor"),d=0;a&&a.length>0&&(d=a.length),n=angular.element(c).find(".wysiwyg-editor");var e="wysiwyg-editor-"+d,f="editor"+d+"-toolbar";n.attr("id",e);var g=angular.element(c).find(".wysiwyg-toolbar");g.attr("data-role",f),g.attr("data-target","#"+e),b.disabled||n.wysiwyg({toolbarSelector:"[data-role="+f+"]",hotKeys:{},dragAndDropImages:!1})}function j(){var a=angular.element(c).find(".font-color-picker");a&&a.spectrum({flat:!0,cancelText:"",clickoutFiresChange:!1,preferredFormat:"rgb",showInput:!0,change:function(a){$(this).closest(".dropdown").find(".color-sample").css({backgroundColor:a.toHexString()}),n.focus(),document.execCommand("foreColor",0,a.toHexString()),$(this).parent(".menu").removeClass("open")}})}function k(a){var b=$(a.currentTarget).parent().find(".menu");b.hasClass("open")?b.removeClass("open"):b.addClass("open")}function l(a){if(b.options.allowImageUpload&&0!=a.length){b.status="Uploading Image",b.progress=0;var c=d.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:b});f.uploadFile(a[0],b.options.imagePath).then(function(a){b.status="Upload Complete",document.execCommand("insertimage",0,a.fileUrl),c.close()},function(a){console.error(a),b.status="There was an error uploading the image. Please contact an Administrator."},function(a){b.progress=a})}}function m(){if(b.isEditingCode=!b.isEditingCode,b.isEditingCode){var a=n[0].innerHTML;a=html_beautify(a,{indent_size:2}),h.$setViewValue(a),o.setValue(a)}else h.$setViewValue(o.getValue()),n.html(h.$viewValue)}var n,o;!function(){b.isEditingCode=!1,b.toggleDropdown=k,b.onFileSelect=l,b.toggleCodeEdit=m,c.html(g(b)).show(),a(c.contents())(b),i(),j(),o=ace.edit(c.find(".code-editor")[0]),o.getSession().setMode("ace/mode/html"),$(c).find(".wysiwyg-toolbar [data-role=magic-overlay]").each(function(){var a=$(this);$(a.data("target")),a.css({opacity:0,position:"absolute",width:"40px",height:"34px",top:"0",left:"0"})}),h.$render=function(){n.html(h.$viewValue||"")},n.bind("blur keyup change",function(){b.$apply(function(){h.$setViewValue(n.html())})}),o.on("blur",function(){h.$setViewValue(o.getValue()),n.html(h.$viewValue)})}()}}}]),angular.module("dashboard.directive.AutoSize",[]).directive("autoSize",["$timeout","$window",function(a,b){return{restrict:"A",link:function(c,d,e){function f(){d.css({height:"auto","overflow-y":"hidden"}),d.css("height",d[0].scrollHeight+"px")}c.minTextAreaHeight=150,d.css({height:"auto","overflow-y":"hidden"}),a(function(){var a=d[0].scrollHeight,b=Math.max(a,c.minTextAreaHeight);d.css("height",b+"px")},100),d.on("input",f),d.on("load",f),angular.element(b).bind("resize",f)}}}]),angular.module("dashboard.filters",[]).filter("decimalWithScale",function(){"ngInject";return function(a,b){if(void 0===a||""===a)return"";value=a+"";var c=value.indexOf(".");-1===c?value+=".0":1===c&&"-"===value.charAt(0)?value=value.slice(0,1)+"0"+value.slice(1):0===c&&(value="0"+value);var d=value.split(".");if(d.length>1){if(d[0]&&0!==d[0].length||(d[0]=0),isNaN(parseInt(d[0])))return NaN;if(1===c&&"-"===value.charAt(0)?value="-"+parseInt(d[0])+".":value=parseInt(d[0])+".",null!==d[1].match(/[\D]/))return NaN;if(d[1].length>b?value+=d[1].substring(0,b):value+=d[1],d[1].length0){var f=this.restrictMenuItems(e.subnav);if(f&&(e.subnav=f,null!==e.defaultSubNavIndex&&void 0!==e.defaultSubNavIndex&&e.subnav[e.defaultSubNavIndex]&&e.subnav[e.defaultSubNavIndex].hidden))for(var g in e.subnav){var h=e.subnav[g];if(c.hasAccess(d,h)&&!h.hidden){e.defaultSubNavIndex=parseInt(g);break}}}}else e.hidden=!0}return a},this.hasAccess=function(a,b){if(!(b.hasOwnProperty("roles")&&b.roles instanceof Array))return!0;for(var c in a)if(b.roles.indexOf(a[c].name)>-1)return!0;return!1}}]),angular.module("dashboard.services.FileUpload",["dashboard.Config","dashboard.Utils","ngCookies","angularFileUpload"]).service("FileUploadService",["$cookies","$q","$upload","Config","Utils",function(a,b,c,d,e){"ngInject";var f=this;this.getS3Credentials=function(b,c){var f={access_token:a.get("accessToken"),path:b,fileType:c,r:(new Date).getTime()};return e.apiHelper("GET",d.serverParams.cmsBaseUrl+"/aws/s3/credentials",f)},this.getFileUploadData=function(a){return{key:a.uniqueFilePath,AWSAccessKeyId:a.AWSAccessKeyId,acl:"public-read",policy:a.policy,signature:a.signature,success_action_status:"201","Cache-Control":"max-age=31536000"}},this.uploadFile=function(a,d){("string"==typeof a||a instanceof String&&0==a.indexOf("data:"))&&(a=f.dataURItoBlob(a));var e="";a.type?e=a.type:a.name&&(e=f.detectMimeTypeByExt(a.name));var g=b.defer();return f.getS3Credentials(d,e||"").then(function(b){c.upload({url:b.uploadUrl,method:"POST",data:f.getFileUploadData(b),file:a}).progress(function(b){var c=b.position/a.size;g.notify(c)}).success(function(b){var c,d=(new DOMParser).parseFromString(b,"text/xml");try{var e=d.evaluate("/PostResponse/Location",d,null,XPathResult.STRING_TYPE,null);c=e.stringValue}catch(a){for(var f=d.documentElement.childNodes,h=0;h0)return d++,e=0,void f.uploadImages(a,d,e,h,i);l=r}else{var s=Object.keys(r);if(e>=s.length)return d++,e=0,void f.uploadImages(a,d,e,h,i);k=s[e],r[k]&&r[k].file?(g=r[k].path,l=r[k].file):l=r[k]}h||(h={});for(var o=0;o=0?atob(a.split(",")[1]):unescape(a.split(",")[1]);for(var c=a.split(",")[0].split(":")[1].split(";")[0],d=new Uint8Array(b.length),e=0;e0){var b=a.split(".").pop();if(b.length>0){return{"3dm":"x-world/x-3dmf","3dmf":"x-world/x-3dmf",a:"application/octet-stream",aab:"application/x-authorware-bin",aam:"application/x-authorware-map",aas:"application/x-authorware-seg",abc:"text/vnd.abc",acgi:"text/html",afl:"video/animaflex",ai:"application/postscript",aif:"audio/aiff",aifc:"audio/aiff",aiff:"audio/aiff",aim:"application/x-aim",aip:"text/x-audiosoft-intra",ani:"application/x-navi-animation",aos:"application/x-nokia-9000-communicator-add-on-software",aps:"application/mime",arc:"application/octet-stream",arj:"application/arj",art:"image/x-jg",asf:"video/x-ms-asf",asm:"text/x-asm",asp:"text/asp",asx:"application/x-mplayer2",au:"audio/basic",avi:"application/x-troff-msvideo",avs:"video/avs-video",bcpio:"application/x-bcpio",bin:"application/mac-binary",bm:"image/bmp",bmp:"image/bmp",boo:"application/book",book:"application/book",boz:"application/x-bzip2",bsh:"application/x-bsh",bz:"application/x-bzip",bz2:"application/x-bzip2",c:"text/plain","c++":"text/plain",cat:"application/vnd.ms-pki.seccat",cc:"text/plain",ccad:"application/clariscad",cco:"application/x-cocoa",cdf:"application/cdf",cer:"application/pkix-cert",cha:"application/x-chat",chat:"application/x-chat",class:"application/java",com:"application/octet-stream",conf:"text/plain",cpio:"application/x-cpio",cpp:"text/x-c",cpt:"application/mac-compactpro",crl:"application/pkcs-crl",crt:"application/pkix-cert",csh:"application/x-csh",css:"application/x-pointplus",cxx:"text/plain",dcr:"application/x-director",deepv:"application/x-deepv",def:"text/plain",der:"application/x-x509-ca-cert",dif:"video/x-dv",dir:"application/x-director",dl:"video/dl",doc:"application/msword",dot:"application/msword",dp:"application/commonground",drw:"application/drafting",dump:"application/octet-stream",dv:"video/x-dv",dvi:"application/x-dvi",dwf:"drawing/x-dwf (old)",dwg:"application/acad",dxf:"application/dxf",dxr:"application/x-director",el:"text/x-script.elisp",elc:"application/x-bytecode.elisp (compiled elisp)",env:"application/x-envoy",eps:"application/postscript",es:"application/x-esrehber",etx:"text/x-setext",evy:"application/envoy",exe:"application/octet-stream",f:"text/plain",f77:"text/x-fortran",f90:"text/plain",fdf:"application/vnd.fdf",fif:"application/fractals",fli:"video/fli",flo:"image/florian",flx:"text/vnd.fmi.flexstor",fmf:"video/x-atomic3d-feature",for:"text/plain",fpx:"image/vnd.fpx",frl:"application/freeloader",funk:"audio/make",g:"text/plain",g3:"image/g3fax",gif:"image/gif",gl:"video/gl",gsd:"audio/x-gsm",gsm:"audio/x-gsm",gsp:"application/x-gsp",gss:"application/x-gss",gtar:"application/x-gtar",gz:"application/x-compressed",gzip:"application/x-gzip",h:"text/plain",hdf:"application/x-hdf",help:"application/x-helpfile",hgl:"application/vnd.hp-hpgl",hh:"text/plain",hlb:"text/x-script",hlp:"application/hlp",hpg:"application/vnd.hp-hpgl",hpgl:"application/vnd.hp-hpgl",hqx:"application/binhex",hta:"application/hta",htc:"text/x-component",htm:"text/html",html:"text/html",htmls:"text/html",htt:"text/webviewhtml",htx:"text/html",ice:"x-conference/x-cooltalk",ico:"image/x-icon",idc:"text/plain",ief:"image/ief",iefs:"image/ief",iges:"application/iges",igs:"application/iges",ima:"application/x-ima",imap:"application/x-httpd-imap",inf:"application/inf",ins:"application/x-internett-signup",ip:"application/x-ip2",isu:"video/x-isvideo",it:"audio/it",iv:"application/x-inventor",ivr:"i-world/i-vrml",ivy:"application/x-livescreen",jam:"audio/x-jam",jav:"text/plain",java:"text/plain",jcm:"application/x-java-commerce",jfif:"image/jpeg","jfif-tbnl":"image/jpeg",jpe:"image/jpeg",jpeg:"image/jpeg",jpg:"image/jpeg",jps:"image/x-jps",js:"application/x-javascript",jut:"image/jutvision",kar:"audio/midi",ksh:"application/x-ksh",la:"audio/nspaudio",lam:"audio/x-liveaudio",latex:"application/x-latex",lha:"application/lha",lhx:"application/octet-stream",list:"text/plain",lma:"audio/nspaudio",log:"text/plain",lsp:"application/x-lisp",lst:"text/plain",lsx:"text/x-la-asf",ltx:"application/x-latex",lzh:"application/octet-stream",lzx:"application/lzx",m:"text/plain",m1v:"video/mpeg",m2a:"audio/mpeg",m2v:"video/mpeg",m3u:"audio/x-mpequrl",man:"application/x-troff-man",map:"application/x-navimap",mar:"text/plain",mbd:"application/mbedlet",mc$:"application/x-magic-cap-package-1.0",mcd:"application/mcad",mcf:"image/vasa",mcp:"application/netmc",me:"application/x-troff-me",mht:"message/rfc822",mhtml:"message/rfc822",mid:"application/x-midi",midi:"application/x-midi",mif:"application/x-frame",mime:"message/rfc822",mjf:"audio/x-vnd.audioexplosion.mjuicemediafile",mjpg:"video/x-motion-jpeg",mm:"application/base64",mme:"application/base64",mod:"audio/mod",moov:"video/quicktime",mov:"video/quicktime",movie:"video/x-sgi-movie",mp2:"audio/mpeg",mp3:"audio/mpeg3",mpa:"audio/mpeg",mpc:"application/x-project",mpe:"video/mpeg",mpeg:"video/mpeg",mpg:"audio/mpeg",mpga:"audio/mpeg",mpp:"application/vnd.ms-project",mpt:"application/x-project",mpv:"application/x-project",mpx:"application/x-project",mrc:"application/marc",ms:"application/x-troff-ms",mv:"video/x-sgi-movie",my:"audio/make",mzz:"application/x-vnd.audioexplosion.mzz",nap:"image/naplps",naplps:"image/naplps",nc:"application/x-netcdf",ncm:"application/vnd.nokia.configuration-message",nif:"image/x-niff",niff:"image/x-niff",nix:"application/x-mix-transfer",nsc:"application/x-conference",nvd:"application/x-navidoc",o:"application/octet-stream",oda:"application/oda",omc:"application/x-omc",omcd:"application/x-omcdatamaker",omcr:"application/x-omcregerator",p:"text/x-pascal",p10:"application/pkcs10",p12:"application/pkcs-12",p7a:"application/x-pkcs7-signature",p7c:"application/pkcs7-mime",p7m:"application/pkcs7-mime",p7r:"application/x-pkcs7-certreqresp",p7s:"application/pkcs7-signature",part:"application/pro_eng",pas:"text/pascal",pbm:"image/x-portable-bitmap",pcl:"application/vnd.hp-pcl",pct:"image/x-pict",pcx:"image/x-pcx",pdb:"chemical/x-pdb",pdf:"application/pdf",pfunk:"audio/make",pgm:"image/x-portable-graymap",pic:"image/pict",pict:"image/pict",pkg:"application/x-newton-compatible-pkg",pko:"application/vnd.ms-pki.pko",pl:"text/plain",plx:"application/x-pixclscript",pm:"image/x-xpixmap",pm4:"application/x-pagemaker",pm5:"application/x-pagemaker",png:"image/png",pnm:"application/x-portable-anymap",pot:"application/mspowerpoint",pov:"model/x-pov",ppa:"application/vnd.ms-powerpoint",ppm:"image/x-portable-pixmap",pps:"application/mspowerpoint",ppt:"application/mspowerpoint",ppz:"application/mspowerpoint",pre:"application/x-freelance",prt:"application/pro_eng",ps:"application/postscript",psd:"application/octet-stream",pvu:"paleovu/x-pv",pwz:"application/vnd.ms-powerpoint",py:"text/x-script.phyton",pyc:"application/x-bytecode.python",qcp:"audio/vnd.qcelp",qd3:"x-world/x-3dmf",qd3d:"x-world/x-3dmf",qif:"image/x-quicktime",qt:"video/quicktime",qtc:"video/x-qtc",qti:"image/x-quicktime",qtif:"image/x-quicktime",ra:"audio/x-pn-realaudio",ram:"audio/x-pn-realaudio",ras:"application/x-cmu-raster",rast:"image/cmu-raster",rexx:"text/x-script.rexx",rf:"image/vnd.rn-realflash",rgb:"image/x-rgb",rm:"application/vnd.rn-realmedia",rmi:"audio/mid",rmm:"audio/x-pn-realaudio",rmp:"audio/x-pn-realaudio",rng:"application/ringing-tones",rnx:"application/vnd.rn-realplayer",roff:"application/x-troff",rp:"image/vnd.rn-realpix",rpm:"audio/x-pn-realaudio-plugin",rt:"text/richtext",rtf:"application/rtf",rtx:"application/rtf",rv:"video/vnd.rn-realvideo",s:"text/x-asm",s3m:"audio/s3m",saveme:"application/octet-stream",sbk:"application/x-tbook",scm:"application/x-lotusscreencam",sdml:"text/plain",sdp:"application/sdp",sdr:"application/sounder",sea:"application/sea",set:"application/set",sgm:"text/sgml",sgml:"text/sgml",sh:"application/x-bsh",shar:"application/x-bsh",shtml:"text/html",sid:"audio/x-psid",sit:"application/x-sit",skd:"application/x-koan",skm:"application/x-koan",skp:"application/x-koan",skt:"application/x-koan",sl:"application/x-seelogo",smi:"application/smil",smil:"application/smil",snd:"audio/basic",sol:"application/solids",spc:"application/x-pkcs7-certificates",spl:"application/futuresplash",spr:"application/x-sprite",sprite:"application/x-sprite",src:"application/x-wais-source",ssi:"text/x-server-parsed-html",ssm:"application/streamingmedia",sst:"application/vnd.ms-pki.certstore",step:"application/step",stl:"application/sla",stp:"application/step",sv4cpio:"application/x-sv4cpio",sv4crc:"application/x-sv4crc",svf:"image/vnd.dwg",svr:"application/x-world",swf:"application/x-shockwave-flash",t:"application/x-troff",talk:"text/x-speech",tar:"application/x-tar",tbk:"application/toolbook",tcl:"application/x-tcl",tcsh:"text/x-script.tcsh",tex:"application/x-tex",texi:"application/x-texinfo",texinfo:"application/x-texinfo",text:"application/plain",tgz:"application/gnutar",tif:"image/tiff",tiff:"image/tiff",tr:"application/x-troff",tsi:"audio/tsp-audio",tsp:"application/dsptype",tsv:"text/tab-separated-values",turbot:"image/florian",txt:"text/plain",uil:"text/x-uil",uni:"text/uri-list",unis:"text/uri-list",unv:"application/i-deas",uri:"text/uri-list",uris:"text/uri-list",ustar:"application/x-ustar",uu:"application/octet-stream",uue:"text/x-uuencode",vcd:"application/x-cdlink",vcs:"text/x-vcalendar",vda:"application/vda",vdo:"video/vdo",vew:"application/groupwise",viv:"video/vivo",vivo:"video/vivo",vmd:"application/vocaltec-media-desc",vmf:"application/vocaltec-media-file",voc:"audio/voc",vos:"video/vosaic",vox:"audio/voxware",vqe:"audio/x-twinvq-plugin",vqf:"audio/x-twinvq",vql:"audio/x-twinvq-plugin",vrml:"application/x-vrml",vrt:"x-world/x-vrt",vsd:"application/x-visio",vst:"application/x-visio",vsw:"application/x-visio",w60:"application/wordperfect6.0",w61:"application/wordperfect6.1",w6w:"application/msword",wav:"audio/wav",wb1:"application/x-qpro",wbmp:"image/vnd.wap.wbmp",web:"application/vnd.xara",wiz:"application/msword",wk1:"application/x-123",wmf:"windows/metafile",wml:"text/vnd.wap.wml",wmlc:"application/vnd.wap.wmlc",wmls:"text/vnd.wap.wmlscript",wmlsc:"application/vnd.wap.wmlscriptc",word:"application/msword",wp:"application/wordperfect",wp5:"application/wordperfect",wp6:"application/wordperfect",wpd:"application/wordperfect",wq1:"application/x-lotus",wri:"application/mswrite",wrl:"application/x-world",wrz:"model/vrml",wsc:"text/scriplet",wsrc:"application/x-wais-source",wtk:"application/x-wintalk",xbm:"image/x-xbitmap",xdr:"video/x-amt-demorun",xgz:"xgl/drawing",xif:"image/vnd.xiff",xl:"application/excel",xla:"application/excel",xlb:"application/excel",xlc:"application/excel",xld:"application/excel",xlk:"application/excel",xll:"application/excel",xlm:"application/excel",xls:"application/excel",xlt:"application/excel",xlv:"application/excel",xlw:"application/excel",xm:"audio/xm",xml:"application/xml",xmz:"xgl/movie",xpix:"application/x-vnd.ls-xpix",xpm:"image/x-xpixmap","x-png":"image/png",xsr:"video/x-amt-showrun",xwd:"image/x-xwd",xyz:"chemical/x-pdb",z:"application/x-compress",zip:"application/x-compressed",zoo:"application/octet-stream",zsh:"text/x-script.zsh"}[b]}}return""}}]),angular.module("dashboard.services.GeneralModel",["dashboard.services.FileUpload","dashboard.Config","dashboard.Utils","ngCookies"]).service("GeneralModelService",["$cookies","$q","Config","Utils","FileUploadService",function($cookies,$q,Config,Utils,FileUploadService){"ngInject";var self=this;this.list=function(a,b,c){var a=a+(a.indexOf("?")>-1?"&":"?")+"access_token="+$cookies.get("accessToken");return c&&c.preventCancel||Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.count=function(a,b){a.indexOf("?")>-1&&(a=a.substr(0,a.indexOf("?")));var c=Object.keys(b);for(var d in c){var e=c[d];e.indexOf("filter[where]")>-1?(newKey=e.replace("filter[where]","where"),b[newKey]=b[e]):"filter"==e&&(b.where=b.filter.where)}return a=a+"/count?access_token="+$cookies.get("accessToken"),Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.get=function(a,b,c){var d=a+"/"+b+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("GET",d,c)},this.getMany=function(a,b,c,d,e){var f=a+"/"+b+"/"+c,g=f+"?access_token="+$cookies.get("accessToken");return e&&e.preventCancel||Utils.apiCancel("GET",g),Utils.apiHelper("GET",g,d)},this.sort=function(a,b,c,d){var e=Config.serverParams.cmsBaseUrl+"/model/sort?access_token="+$cookies.accessToken,f={model:a,key:b,sortField:c,sortData:d};return Utils.apiHelper("POST",e,f)},this.remove=function(a,b){var c=a;return b&&(c=c+"/"+b),c+="?access_token="+$cookies.get("accessToken"),Utils.apiHelper("DELETE",c,{})},this.post=function(a,b){var c=a+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("POST",c,b)},this.save=function(a,b,c){var d=Config.serverParams.cmsBaseUrl+"/model/save";return c.__model=a,c.__id=b,c.__accessToken=$cookies.get("accessToken"),Utils.apiHelper("PUT",d,c)},this.saveWithFiles=function(a,b,c){var d=Config.serverParams.models[a],e=$q.defer(),f=function(a){var b=0,d=Object.keys(c),f=function(){if(b>=d.length)return void a();var g=d[b],h=c[g];h&&"object"==typeof h&&h.file?(e.notify({message:"Uploading file: "+h.file.name,translate:"cms.status.uploading_file",params:{file:h.file.name},progress:0}),FileUploadService.uploadFile(h.file,h.path).then(function(a){c[g]=a.fileUrl,b++,f()},function(a){"object"==typeof a&&a.error?e.reject({message:"The file being uploaded is not an accepted file type for this form",translate:"cms.error.file_upload.not_accepted"}):e.reject(a)},function(a){e.notify({progress:a})})):(b++,f())};f()};return function(a){c.__ModelFieldImageData?(e.notify({message:"Uploading image file(s)",progress:0,translate:"cms.status.uploading_image_files"}),FileUploadService.uploadImages(c.__ModelFieldImageData).then(function(b){self.assignImageFileMetaData(d,c,b),e.notify({message:"Saving...",progress:0,translate:"cms.status.saving"}),a()},function(a){console.log(a),e.reject(a)},function(a){e.notify({progress:a})})):a()}(function(){f(function(){self.checkDefaultValues(d,c),self.save(a,b,c).then(function(a){e.resolve(a)},function(a){e.reject(a)})})}),e.promise},this.assignImageFileMetaData=function(a,b,c){var d=Object.keys(c);for(var e in d){var f=d[e],g=a.properties[f],h=g.display.options;if(h&&h.model&&h.relationship){b[h.relationship]||(b[h.relationship]={});var i=b[h.relationship];b[f]&&(i[h.key]=b[f]),i[h.urlKey]=c[f][h.urlKey];var j=Object.keys(h.export);for(var k in j){var l=j[k];i[l]=c[f][l]}if(b.__ModelFieldImageData[f]&&b.__ModelFieldImageData[f][h.urlKey]){var m=b.__ModelFieldImageData[f][h.urlKey],n=m?m.file:{};i.filename=n.name}else i.filename="unknown";if(h.meta){var o=Object.keys(h.meta);for(var p in o){var q=o[p];i[q]=h.meta[q]}}}else b[f]=c[f]}delete b.__ModelFieldImageData},this.checkDefaultValues=function(modelDef,data){var keys=Object.keys(modelDef.properties);for(var i in keys){var key=keys[i],property=modelDef.properties[key];property&&property.display&&(void 0===data[key]||null==data[key]||property.display.forceDefaultOnSave)&&(void 0!==property.default&&(data[key]=property.default),void 0!==property.display.evalDefault&&(data[key]=eval(property.display.evalDefault)))}},this.queryStringParamsToJSON=function(a){var b={};return _.forEach(a,function(a,c){b=_.set(b,c,a)}),b}}]),angular.module("dashboard.services.Image",[]).service("ImageService",["$q",function(a){"ngInject";var b=this;this.resize=function(a,c,d){b.loadImageURI(a,function(a,e){if(a)return d(a);EXIF.getData(e,function(a){var f=document.createElement("canvas"),g=f.getContext("2d"),h=EXIF.getTag(this,"Orientation");c||(c={});var i=c.width?c.width:e.width,j=c.height?c.height:e.height;switch(c.aspect?c.aspect:"fit"){case"stretch":f.width=i,f.height=j;break;case"fill":f.width=i,f.height=j;var k=Math.max(i/e.width,j/e.height);i=e.width*k,j=e.height*k;break;case"fit":default:var k=Math.min(i/e.width,j/e.height);k>1&&(k=1),i=e.width*k,j=e.height*k,f.width=i,f.height=j}g.save(),b.setOrientation(f,g,i,j,h),g.drawImage(e,0,0,i,j),g.restore();var l=f.toDataURL("image/jpeg",.8);d(null,l)})})},this.fixOrientationWithDataURI=function(a,c){b.resize(a,{},c)},this.setOrientation=function(a,b,c,d,e){switch(e){case 2:b.translate(c,0),b.scale(-1,1);break;case 3:b.translate(c,d),b.rotate(Math.PI);break;case 4:b.translate(0,d),b.scale(1,-1);break;case 5:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.scale(1,-1);break;case 6:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(0,-d);break;case 7:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(c,-d),b.scale(-1,1);break;case 8:a.width=d,a.height=c,b.rotate(-.5*Math.PI),b.translate(-c,0)}},this.loadImageURI=function(a,b){var c=new Image;c.onload=function(){b(null,c)},c.onerror=function(a){b(a)},c.src=a}}]),angular.module("dashboard.services.Location",["dashboard.Config","dashboard.Utils"]).service("LocationService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";var e=c.defer();this.currentLocation=function(){return navigator.geolocation?navigator.geolocation.getCurrentPosition(function(a){d.$apply(function(){e.resolve(a.coords)})},function(a){e.reject(a)}):e.reject("location services not allowed"),e.promise}}]),angular.module("dashboard.services.Session",["dashboard.Utils","dashboard.services.User","ngCookies"]).service("SessionService",["$cookies","$cookieStore","$q","UserService","Config","Utils","DashboardService",function(a,b,c,d,e,f,g){"ngInject";var h=this,i=null;this.logIn=function(b,d,e){var g="Users";return config.authModel&&(g=config.authModel),f.apiHelper("POST",g+"/login?include=user",{email:b,password:d,options:e}).then(function(a){return h.setSession(a)}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.logOut=function(){var c="Users";config.authModel&&(c=config.authModel);var d=a.get("accessToken");return b.remove("username"),b.remove("userId"),b.remove("accessToken"),b.remove("roles"),b.remove("session"),b.remove("lastActive"),f.apiHelper("POST",c+"/logout?access_token="+d)},this.setSession=function(b){var d="Users";return config.authModel&&(d=config.authModel),f.apiHelper("GET",d+"/"+b.userId+"/Roles?access_token="+b.id).then(function(c){return a.put("lastActive",new Date),i=b,a.put("username",b.user.username),a.put("userId",b.userId),a.put("accessToken",b.id),a.put("session",JSON.stringify(i)),a.put("roles",JSON.stringify(c)),b}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.getAuthToken=function(){return i&&i.id},this.put=function(b,c){var d=JSON.parse(a.get("session"));d[b]=c,a.put("session",JSON.stringify(d))},this.get=function(b){return JSON.parse(a.get("session"))[b]},this.isAuthorized=function(b,c){if(_.startsWith(b.name,"public"))return!0;var d=g.getNavigation(),e=b.name,f=c.model,h=c.action,i=angular.fromJson(a.get("roles"));if(_.isEmpty(f)){var j=_.find(d,{state:e});if(j)return g.hasAccess(i,j)}else{var j=_.find(d,{path:f});if(j){if(!g.hasAccess(i,j))return!1;if(_.isArray(j.subnav)&&!_.isEmpty(h)){var k=_.find(j.subnav,{label:h});if(k)return g.hasAccess(i,k)}}}var l=b.data.roles;return!(!_.isEmpty(l)&&_.isArray(l))||g.hasAccess(i,{roles:l})},function(){var b=a.get("session");b&&(i=JSON.parse(b))}()}]),angular.module("dashboard.services.Settings",["dashboard.Config","dashboard.Utils","ngCookies"]).service("SettingsService",["$cookies","Config","Utils",function(a,b,c){"ngInject";this.saveNav=function(d){var e=b.serverParams.cmsBaseUrl+"/settings/config/nav?access_token="+a.get("accessToken");return c.apiHelper("POST",e,d)}}]),angular.module("dashboard.services.User",["dashboard.Config","dashboard.Utils"]).service("UserService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";this.register=function(a,c){var d="Users";return config.authModel&&(d=config.authModel),b.apiHelper("POST",d,{email:a,password:c})}}]),angular.module("dashboard.Utils",["dashboard.Config"]).service("Utils",["Config","$http","$q",function(a,b,c){"ngInject";var d={};this.apiCancel=function(a,b){var c=d[a+":"+b];c&&c.resolve&&c.resolve(),delete d[a+":"+b]},this.apiHelper=function(e,f,g,h){var i=c.defer();return h=h||{},h.method=e,"/"==f[0]?h.url=f:(a.apiBaseUrl&&"/"!=a.apiBaseUrl[a.apiBaseUrl.length-1]&&"/"!=f[f.length-1]&&(a.apiBaseUrl+="/"),h.url=a.apiBaseUrl+f),"POST"==e||"PUT"==e?h.data=g:h.params=g,d[e+":"+f]=i,h.timeout=i.promise,b(h).then(function(a){i.resolve(a.data)},function(a){i.reject(a.data)}),i.promise}}]),$.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},window,window.angular; //# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/dist/app.js.map b/dist/app.js.map index 539156a2..eb71d777 100644 --- a/dist/app.js.map +++ b/dist/app.js.map @@ -1 +1 @@ -{"version":3,"sources":["app.js"],"names":["angular","module","config","$locationProvider","$stateProvider","$urlRouterProvider","$compileProvider","$qProvider","$translateProvider","Config","aHrefSanitizationWhitelist","otherwise","serverParams","disableRegistration","when","html5Mode","useSanitizeValueStrategy","translateUrl","useUrlLoader","defaultLanguage","fallbackLanguage","state","abstract","template","url","data","pageTitle","deferIntercept","run","$ocLazyLoad","$rootScope","$urlRouter","$injector","$translate","use","refresh","modulesLoaded","customModules","load","then","$broadcast","Array","isArray","injectOnStart","forEach","get","error","console","log","$on","e","sync","listener","constant","TIMEOUT_INTERVAL","PUBLIC_STATE","LOGIN_STATE","controller","$scope","$location","$state","$timeout","$document","$cookies","SessionService","CacheService","constants","gaTrackingId","ga","event","toState","toParams","fromState","fromParams","toStateName","name","substr","indexOf","getAuthToken","desiredState","params","set","loginState","go","preventDefault","isAuthorized","isDefined","logOut","reset","result","catch","lastPersistDate","Date","persistSession","cancel","persistId","current","checkTimeout","put","timeoutId","lastActiveDate","sessionTimeout","host","on","templateUrl","$stateParams","$modal","DashboardService","self","this","init","toggleSideMenu","hideSideMenu","editProfile","logout","locationPath","path","username","email","userId","userInfo","JSON","parse","user","roles","title","nav","getNavigation","defaultNav","getDefaultNav","copy","route","$watch","modalInstance","close","$dashboard","$","hasClass","removeClass","addClass","$event","action","options","model","profileModel","key","profileKey","id","hideDelete","open","size","scope","$modalInstance","isConfirm","alertType","closeAlert","okAlert","okHandler","cancelAlert","cancelHandler","section","_","find","subnav","label","SettingsService","clickSave","$window","GeneralModelService","FileUploadService","page","models","properties","display","readonly","keys","Object","i","isLoading","checkDefaultValues","isEdit","modelDisplay","plural","response","layoutModelDisplay","strings","saveButtonText","saveButton","deleteButtonText","deleteButton","deleteDialogText","deleteDiaglog","clickSaveModel","formParams","clickDeleteModel","newData","oldData","$emit","length","push","save","callback","saveWithFiles","message","alert","code","stringify","status","progress","clear","returnAfterEdit","history","back","confirm","softDeleteProperty","remove","hasPermission","displayInfo","property","askIf","userRoles","role","ModelListCtrl","moment","columnCount","list","selected","columns","listTemplateUrl","totalServerItems","isEditing","searchFields","sort","sortInfo","fields","directions","filterOptions","filterText","useExternalFilter","pagingOptions","pageSizes","pageSize","currentPage","gridOptions","enableColumnResize","enableRowSelection","multiSelect","enablePaging","useExternalSorting","showSelectionCheckbox","showFooter","showFilter","headerRowHeight","footerRowHeight","selectedItems","rowHeight","gridContainerTopMargin","chart","gridContainerTopMarginMax","height","processChart","window","ngGrid","i18n","ngTotalItemsLabel","ngPageSizeLabel","getColumnDefinition","columnDefs","editable","enableCellEdit","enableCellEditOnFocus","enableCellSelection","api","apiPath","origApiPath","addQueryStringParams","getTotalServerItems","$grid","element","bind","processWindowSize","startEdit","resetPaging","test","navigator","userAgent","flexibleHeight","plugins","ngGridFlexibleHeightPlugin","allowCSVExport","ngGridCsvExportPlugin","cancelButtonText","cancelButton","columnRef","column","isRoleFound","r","splice","windowWidth","innerWidth","averageColumnWidth","filter","optional","queryStringParams","search","replace","session","searchString","startPos","endPos","sessionKey","substring","slice","eval","filterDescription","parseInt","extend","warn","setupPagination","limit","skip","order","field","direction","filter[limit]","filter[skip]","sortOrder","filter[order]","queryStringParamsToJSON","where","and","v","k","item","orFilter","or","idx","searchFilter","vAxis","hAxis","textStyle","gridlines","fontSize","color","baselineColor","oldList","endEdit","undefined","loadItems","isFirstLoad","count","errorMessage","cacheKey","getKeyForAction","resultField","loadAttempted","hasButtonPermission","button","clickListButton","click","value","lastIndexOf","clickAdd","clickSaveEdit","deltaList","newRow","oldRow","rowKeys","defaults","foreceDefaultOnSave","evalDefault","required","displayName","recordIndex","saveRecord","record","saveNextRecord","clickCancelEdit","deleteRowWithMessage","row","msg","deleteRow","bypassPrompt","entity","rowIndex","newVal","oldVal","selectedState","stateName","stateModel","stateAction","stateId","toString","debounce","$apply","ngGridUnWatch","$viewport","$footerPanel","$listContainer","rebuildTimeout","rebuildGrid","$gridServices","DomUtilityService","RebuildGrid","$gridScope","handleScrollEvent","originalEvent","detail","wheelDelta","scrollY","scrollTop","clearTimeout","setTimeout","offset","top","$digest","css","bottom","position","val","encodeURIComponent","modifiedNav","filterNav","currentNavIndex","document","getElementById","theme","iconlib","layout","startval","disable_properties","disable_edit_json","disable_delete_all","disable_delete_last","schema","type","format","disable_collapse","items","headerTemplate","icon","collapsed","className","enum","tite","sortField","description","width","headerClass","cellClass","cellTemplate","cellFilter","minWidth","maxWidth","sortable","resizable","defaultProperties","defaultSubNavIndex","watch","enumSource","source","jsonEditor","JSONEditor","parent","temp","getEditor","getValue","index","setValue","alertTitle","alertMessage","allowAlertClose","saveNav","a","b","moveUp","from","to","moveDown","edit","onEdit","saveSort","newOrder","unshift","login","clickLogin","logIn","password","UserService","register","apiBaseUrl","service","$http","$q","apiRequests","apiCancel","method","canceller","resolve","apiHelper","deferred","defer","timeout","promise","reject","swap","elem","args","ret","old","style","apply","directive","require","restrict","control","ngFormat","ngTimeZone","defaultDate","viewMode","ngViewMode","horizontal","maxDate","minDate","link","attrs","ngModel","$formatters","date","tz","useCurrent","toDate","widgetPositioning","datetimepicker","show","focus","dateValue","isValid","$setViewValue","$compile","getTemplate","html","contents","ngOptions","ngRepeat","addInputAttributes","inputAttr","$input","attr","ngError","onFieldError","initFieldType","editTemplate","pattern","charsLeft","maxLength","lengthCheck","target","Error","errorCode","isRequired","filename","file","extension","toLowerCase","defaultValueUsingModelKey","convertToLocalTime","check","default","disabled","modelData","signature","clearCanvas","canvas","_canvas","fromDataURL","image","Image","setAttribute","onload","getContext","drawImage","fileUrl","src","toDataURL","dataUrl","unwatch","previewUrl","pos","s3Path","getFileIcon","onFileSelect","$files","selectedFile","nodeName","off","ImageService","uploadStatus","imageUrl","urlKey","thumbnailUrl","onerror","fileReader","readAsDataURL","FileReader","imageData","__ModelFieldImageData","fixOrientationWithDataURI","dataURI","dataURItoBlob","export","exportImages","resize","resizeImage","blob","isAllowed","extensions","match","join","arguments","exportKey","settings","byteString","split","atob","unescape","mimeString","ia","Uint8Array","charCodeAt","Blob","imageClick","isLightbox","isLightboxWithZoom","$container","append","scale","Math","min","background","backgroundSize","$thumbnail","$zoom","thumbnailWidth","thumbnailHeight","maxScale","zoomWidth","zoomHeight","border","x","y","positionImage","offsetX","offsetY","pageX","pageY","backgroundPosition","increment","animate","backgroundColor","opacity","$imageContainer","addLabel","sortableOptions","placeholder","update","updateData","setData","output","addItem","removeItem","$watchCollection","results","LocationService","loadScript","googleMapsApiJS","createElement","getElementsByTagName","appendChild","initMap","isMapLoading","isLoaded","map","google","maps","Map","center","location","zoom","initialize","initSelectedMarker","selectedMarker","LatLng","lat","lng","setPosition","setMap","setCenter","pinColor","Marker","MarkerImage","Size","Point","draggable","tooltip","addListener","geocoder","originalValue","geocodeSearch","geocodeError","showGeocode","Geocoder","allowGeocode","query","currentLocation","pointLocation","latitude","longitude","valueChanged","doGeocode","geocode","address","GeocoderStatus","OK","geometry","OVER_QUERY_LIMIT","ZERO_RESULTS","clearSearch","hasSearched","revertValue","multiSelectOptions","initOptions","initData","clickMultiSelectCheckbox","keyOverride","valueOverride","option","findIndex","selectedOption","$filter","scaleValue","checkNumber","validateAndParseNumbers","allowDecimal","cursorPosition","selection","range","createRange","moveStart","text","selectionStart","indexOfDecimal","valueComponents","validity","badInput","decimalString","isNaN","round","roundedValue","parseFloat","minValue","maxValue","googleApiKey","convertStringToGoogleTypeFormat","str","request","initQuery","jQuery","radius","places","PlacesService","textSearch","PlacesServiceStatus","createMarkers","boundaries","clearOverlays","markers","removeMarkers","createCircle","displayMarkers","listSearchResults","infowindow","searchResults","marker","markerLocation","getPosition","setContent","getClickedMarker","circle","Circle","fillOpacity","fillColor","bounds","LatLngBounds","spherical","computeDistanceBetween","displayedMarkers","fitBounds","searchError","displayedSearchResults","placeId","perviouslySavedLatLng","requestQuery","milesToMeters","miles","placeType","googleType","zipCode","InfoWindow","doSearch","reverseGeocode","coordinates","resultPlaceId","place_id","getAdditionPlaceInformation","checked","getSelectResultData","placeRequest","getDetails","place","address_components","types","short_name","phoneNumber","formatted_phone_number","formatted_address","updateInfoWindow","checkedLocation","updateSelection","selectedIdx","multiple","matchTemplate","choiceTemplate","rowData","textOutputPath","onModelChanged","appendToBody","replaceSessionVariables","string","mergeArray","fromArray","toArray","assignJunctionMeta","junctionMeta","selectedItem","isFirstTimeLoad","refreshChoices","searchField","filters","preventCancel","allowInsert","addNewItem","allowClear","defaultIndex","onSelect","sourceModel","relationship","referenceModel","sourceModelName","sourceId","sourceKey","getMany","inq","$item","newItem","textValue","obj","onRemove","trigger","repeatExpression","selectedList","insertText","$sce","videoUrl","trustAsResourceUrl","fontsList","fonts","isEditingCode","toggleDropdown","toggleCodeEdit","initWysiwygEditor","initColorPicker","codeEditor","ace","getSession","setMode","each","overlay","left","$render","$wysiwyg","$viewValue","instances","instanceIdx","editorId","toolbarId","$toolbar","wysiwyg","toolbarSelector","hotKeys","dragAndDropImages","$colorPicker","spectrum","flat","cancelText","clickoutFiresChange","preferredFormat","showInput","change","closest","toHexString","execCommand","$element","currentTarget","allowImageUpload","uploadFile","imagePath","htmlCode","innerHTML","html_beautify","indent_size","overflow-y","scrollHeight","minTextAreaHeight","max","number","NaN","KEY_DELIMITER","localStorage","getItem","setItem","regex","RegExp","_roles","_nav","fromJson","isEmpty","isEqual","restrictMenuItems","navList","hidden","menus","menu","hasAccess","hasOwnProperty","subItems","subNavIndex","$upload","Utils","getS3Credentials","fileType","access_token","getTime","cmsBaseUrl","getFileUploadData","credentials","uniqueFilePath","AWSAccessKeyId","acl","policy","success_action_status","Cache-Control","String","detectMimeTypeByExt","upload","uploadUrl","notify","success","locationUrl","xmldoc","DOMParser","parseFromString","evaluate","XPathResult","STRING_TYPE","stringValue","documentElement","childNodes","node","firstChild","nodeValue","uploadFilePath","uploadImages","imageFiles","fileIndex","exportIndex","imageUploadResults","fileKey","currentUploadedSize","totalUploadSize","imageFile","fileKeys","exports","exportKeys","fkey","ekey","ext","pop","3dm","3dmf","aab","aam","aas","abc","acgi","afl","ai","aif","aifc","aiff","aim","aip","ani","aos","aps","arc","arj","art","asf","asm","asp","asx","au","avi","avs","bcpio","bin","bm","bmp","boo","book","boz","bsh","bz","bz2","c","c++","cat","cc","ccad","cco","cdf","cer","cha","chat","class","com","conf","cpio","cpp","cpt","crl","crt","csh","cxx","dcr","deepv","def","der","dif","dir","dl","doc","dot","dp","drw","dump","dv","dvi","dwf","dwg","dxf","dxr","el","elc","env","eps","es","etx","evy","exe","f","f77","f90","fdf","fif","fli","flo","flx","fmf","for","fpx","frl","funk","g","g3","gif","gl","gsd","gsm","gsp","gss","gtar","gz","gzip","h","hdf","help","hgl","hh","hlb","hlp","hpg","hpgl","hqx","hta","htc","htm","htmls","htt","htx","ice","ico","idc","ief","iefs","iges","igs","ima","imap","inf","ins","ip","isu","it","iv","ivr","ivy","jam","jav","java","jcm","jfif","jfif-tbnl","jpe","jpeg","jpg","jps","js","jut","kar","ksh","la","lam","latex","lha","lhx","lma","lsp","lst","lsx","ltx","lzh","lzx","m","m1v","m2a","m2v","m3u","man","mar","mbd","mc$","mcd","mcf","mcp","me","mht","mhtml","mid","midi","mif","mime","mjf","mjpg","mm","mme","mod","moov","mov","movie","mp2","mp3","mpa","mpc","mpe","mpeg","mpg","mpga","mpp","mpt","mpv","mpx","mrc","ms","mv","my","mzz","nap","naplps","nc","ncm","nif","niff","nix","nsc","nvd","o","oda","omc","omcd","omcr","p","p10","p12","p7a","p7c","p7m","p7r","p7s","part","pas","pbm","pcl","pct","pcx","pdb","pdf","pfunk","pgm","pic","pict","pkg","pko","pl","plx","pm","pm4","pm5","png","pnm","pot","pov","ppa","ppm","pps","ppt","ppz","pre","prt","ps","psd","pvu","pwz","py","pyc","qcp","qd3","qd3d","qif","qt","qtc","qti","qtif","ra","ram","ras","rast","rexx","rf","rgb","rm","rmi","rmm","rmp","rng","rnx","roff","rp","rpm","rt","rtf","rtx","rv","s","s3m","saveme","sbk","scm","sdml","sdp","sdr","sea","sgm","sgml","sh","shar","shtml","sid","sit","skd","skm","skp","skt","sl","smi","smil","snd","sol","spc","spl","spr","sprite","ssi","ssm","sst","step","stl","stp","sv4cpio","sv4crc","svf","svr","swf","t","talk","tar","tbk","tcl","tcsh","tex","texi","texinfo","tgz","tif","tiff","tr","tsi","tsp","tsv","turbot","txt","uil","uni","unis","unv","uri","uris","ustar","uu","uue","vcd","vcs","vda","vdo","vew","viv","vivo","vmd","vmf","voc","vos","vox","vqe","vqf","vql","vrml","vrt","vsd","vst","vsw","w60","w61","w6w","wav","wb1","wbmp","web","wiz","wk1","wmf","wml","wmlc","wmls","wmlsc","word","wp","wp5","wp6","wpd","wq1","wri","wrl","wrz","wsc","wsrc","wtk","xbm","xdr","xgz","xif","xl","xla","xlb","xlc","xld","xlk","xll","xlm","xls","xlt","xlv","xlw","xm","xml","xmz","xpix","xpm","x-png","xsr","xwd","xyz","z","zip","zoo","zsh","newKey","sortData","accessToken","post","__model","__id","__accessToken","modelDef","uploadFiles","nextFile","assignImageFileMetaData","fieldKey","mediaRelationshipModel","j","fileInfo","meta","metaKeys","metaKey","forceDefaultOnSave","json","loadImageURI","EXIF","getData","exif","context","orientation","getTag","aspect","setOrientation","restore","translate","rotate","PI","d","geolocation","getCurrentPosition","coords","$cookieStore","sessionStr","authModel","setSession","startsWith","found","ctrlRoles"],"mappings":";;;;;;;;AAOAA,QAAQC,OAAO,aACb,sBACA,kBACA,qBACA,uBACA,oBACA,2BACA,6BACA,gBACA,mBACA,YACA,cACA,YACA,YACA,2BAGDC,QAAQ,oBAAqB,iBAAkB,qBAAsB,mBAAoB,aAAc,qBAAsB,SAAU,SAAqBC,EAAmBC,EAAgBC,EAAoBC,EAAkBC,EAAYC,EAAoBC,GACpQ,UAEAH,GAAiBI,2BAA2B,qDAC5CL,EAAmBM,UAAU,UAC1BF,EAAOG,aAAaC,qBAAqBR,EAAmBS,KAAK,YAAY,UAChFX,EAAkBY,WAAU,GAI5BP,EAAmBQ,yBAAyB,UACxCP,EAAOG,aAAaK,cAAcT,EAAmBU,aAAaT,EAAOG,aAAaK,cACtFR,EAAOG,aAAaO,iBAAiBX,EAAmBY,iBAAiBX,EAAOG,aAAaO,iBAGjGf,EACGiB,MAAM,UACLC,UAAU,EACVC,SAAU,gBAEXF,MAAM,uBACLG,IAAK,iBACLD,SAAU,4KACVE,MACEC,UAAW,mBAIjBrB,EAAmBsB,oBAGpBC,KAAK,cAAe,aAAc,aAAc,YAAa,aAAc,SAAU,SAAaC,EAAaC,EAAYC,EAAYC,EAAWC,EAAYxB,GAC7J,UAEIA,GAAOG,aAAaO,iBAAiBc,EAAWC,IAAIzB,EAAOG,aAAaO,iBACxEV,EAAOG,aAAaK,cAAcgB,EAAWE,SAEjD,IAAIC,IAAgB,CAChB3B,GAAOG,aAAayB,cACtBR,EAAYS,KAAK7B,EAAOG,aAAayB,eAClCE,KAAK,WACJH,GAAgB,EAChBN,EAAWU,WAAW,iBAClBC,MAAMC,QAAQjC,EAAOG,aAAa+B,gBACpClC,EAAOG,aAAa+B,cAAcC,QAAQZ,EAAUa,MAErD,SAASC,GAAOC,QAAQC,IAAIF,KAEjCV,GAAgB,EAGlBN,EAAWmB,IAAI,yBAA0B,SAASC,GAChD,GAAId,EACFL,EAAWoB,WAEX,IAAIC,GAAWtB,EAAWmB,IAAI,gBAAiB,WAC7ClB,EAAWoB,OACXC,WAOPC,SAAS,aACRC,iBAAkB,IAClBC,aAAc,SACdC,YAAa,iBAGdC,WAAW,WAAY,SAAU,YAAa,SAAU,aAAc,WAAY,YAAa,WAAY,iBAAkB,eAAgB,SAAU,YAAa,SAAkBC,EAAQC,EAAWC,EAAQ9B,EAAY+B,EAAUC,EAAWC,EAAUC,EAAgBC,EAAcxD,EAAQyD,GACjS,UAEApC,GAAW8B,OAASA,EAChBnD,EAAOG,aAAauD,cAAcC,GAAG,SAAU3D,EAAOG,aAAauD,aAAc,QAErFrC,EAAWmB,IAAI,oBAAqB,SAASoB,EAAOC,EAASC,EAAUC,EAAWC,GAChF,GAAIC,GAAcJ,EAAQK,IAG1B,IAFAD,EAAcA,EAAYE,OAAOF,EAAaA,EAAYG,QAAQ,OAE7Db,EAAec,gBAAkBJ,GAAeR,EAAUX,aAAc,CAC3E,GAAIwB,IAAiB1D,MAAOiD,EAASU,OAAQT,EAS7C,OARAN,GAAagB,IAAI,eAAgBF,GAE7BtE,EAAOG,aAAasE,WACtBtB,EAAOuB,GAAG1E,EAAOG,aAAasE,YACrBR,GAAeR,EAAUX,cAClCK,EAAOuB,GAAGjB,EAAUV,iBAEtBa,GAAMe,iBAIJpB,EAAeqB,aAAaf,EAASC,KACvCX,EAAOuB,GAAG,uBACVd,EAAMe,oBAKV1B,EAAOT,IAAI,sBAAuB,SAASoB,EAAOC,EAASC,EAAUC,EAAWC,GAC1EzE,QAAQsF,UAAUhB,EAAQ7C,KAAKC,aACjCgC,EAAOhC,UAAY4C,EAAQ7C,KAAKC,aAIpCI,EAAWyD,OAAS,WACdvB,EAAec,iBACnBb,EAAauB,QACbxB,EAAeuB,SACZhD,KAAK,SAASkD,GACThF,EAAOG,aAAasE,WACtBtB,EAAOuB,GAAG1E,EAAOG,aAAasE,YAE9BtB,EAAOuB,GAAGjB,EAAUV,eAGvBkC,MAAM,SAAS5C,GACdc,EAAOuB,GAAGjB,EAAUV,gBAI1B,IAAImC,GAAkB,GAAIC,KAC1B9D,GAAW+D,eAAiB,WAC1BhC,EAASiC,OAAOhE,EAAWiE,WACvBnC,EAAOoC,QAAQrB,KAAKE,QAAQX,EAAUX,eAAiB,IAG3DoC,EAAkB,GAAIC,MAElB,GAAIA,MAASD,EAAkBzB,EAAUZ,iBACvCxB,EAAWmE,gBACblC,EAASmC,IAAI,aAAc,GAAIN,OAGjC9D,EAAWiE,UAAYlC,EAAS,WAC1B/B,EAAWmE,gBACblC,EAASmC,IAAI,aAAc,GAAIN,QAEhC1B,EAAUZ,oBAIjBxB,EAAWmE,aAAe,WAExB,GADApC,EAASiC,OAAOhE,EAAWqE,YACtBpC,EAASlB,IAAI,cAGhB,MAFAE,SAAQD,MAAM,0CACdc,EAAOuB,GAAGjB,EAAUV,cACb,CAET,IAAI4C,GAAiB,GAAIR,MAAK7B,EAASlB,IAAI,cAE3C,OADe,IAAI+C,MAASQ,EACb3F,EAAOG,aAAayF,gBACjCvE,EAAWyD,UACJ,IAEPzD,EAAWqE,UAAYtC,EAAS/B,EAAWmE,aAAc/B,EAAUZ,mBAC5D,IAMP7C,EAAOG,aAAayF,gBAAsC,aAApB1C,EAAU2C,SAClDxC,EAAUyC,GAAG,YAAa,WAExBzE,EAAW+D,mBAEb/B,EAAUyC,GAAG,YAAa,WAExBzE,EAAW+D,mBAEb/B,EAAUyC,GAAG,UAAW,WACtBzE,EAAW+D,uBASjB7F,QAAQC,OAAO,uBACb,mBACA,oBACA,4BACA,+BACA,cAGDC,QAAQ,iBAAkB,SAAgBE,GACzC,UAEAA,GACGiB,MAAM,aACLG,IAAK,aACLiC,WAAY,gBACZ+C,YAAa,+BACb/E,MACEC,UAAW,eAEZL,MAAM,UACPG,IAAK,UACLiC,WAAY,gBACZ+C,YAAa,+BACb/E,MACEC,UAAW,kBAKlB+B,WAAW,iBAAkB,SAAU,aAAc,SAAU,eAAgB,YAAa,WAAY,SAAU,SAAU,mBAAoB,SAAuBC,EAAQ5B,EAAY8B,EAAQ6C,EAAc9C,EAAWI,EAAU2C,EAAQjG,EAAQkG,GACrP,UAEA,IAAIC,GAAOC,IAEXA,MAAKC,KAAO,WAGVpD,EAAOqD,eAAiBH,EAAKG,eAC7BrD,EAAOsD,aAAeJ,EAAKI,aAC3BtD,EAAOuD,YAAcL,EAAKK,YAC1BvD,EAAOwD,OAASN,EAAKM,OAGrBxD,EAAOyD,aAAexD,EAAUyD,OAChC1D,EAAO2D,SAAWtD,EAASlB,IAAI,YAC/Ba,EAAO4D,MAAQvD,EAASlB,IAAI,SAC5Ba,EAAO6D,OAASxD,EAASlB,IAAI,SAC7B,KACEa,EAAO8D,SAAWC,KAAKC,MAAM3D,EAASlB,IAAI,YAC1Ca,EAAO8D,SAASG,KAAKC,MAAQH,KAAKC,MAAM3D,EAASlB,IAAI,UACrD,MAAMK,GAENH,QAAQD,MAAM,wCAAyCI,GAOzD,GALAH,QAAQC,IAAI,iCAAkCU,EAAO8D,UACrD9D,EAAOmE,MAAQpH,EAAOG,aAAaiH,OAAS,4BAC5CnE,EAAOoE,IAAMnB,EAAiBoB,gBAGH,aAAvBnE,EAAOoC,QAAQrB,MAEblE,EAAOG,aAAaoH,WAAY,CAClC,GAAIA,GAAarB,EAAiBsB,cAAcvE,EAAOoE,IAAK9H,QAAQkI,KAAKzH,EAAOG,aAAaoH,YACzFA,GAAW3G,MACbuC,EAAOuB,GAAG6C,EAAW3G,MAAO2G,EAAWhD,QAEvCpB,EAAOuB,GAAG,0BAA4B6C,EAAWG,MAAOH,EAAWhD,QAKzEtB,EAAO0E,OAAO,WACZ,MAAOzE,GAAUyD,QAChB,WACD1D,EAAOyD,aAAexD,EAAUyD,SAGlC1D,EAAOT,IAAI,iBAAkB,WACvBS,EAAO2E,eAAe3E,EAAO2E,cAAcC,WAOnDzB,KAAKE,eAAiB,WACpB,GAAIwB,GAAaC,EAAE,aACfD,GAAWE,SAAS,kBACtBF,EAAWG,YAAY,kBAEvBH,EAAWI,SAAS,mBAOxB9B,KAAKG,aAAe,WAClBwB,EAAE,cAAcE,YAAY,mBAM9B7B,KAAKI,YAAc,SAAS2B,GACtBA,GAAQA,EAAOxD,iBACnB1B,EAAOmF,QACHC,SACEC,MAAOtI,EAAOG,aAAaoI,aAC3BC,IAAKxI,EAAOG,aAAasI,WACzBC,GAAIpF,EAASlB,IAAI,UACjBuG,YAAY,IAGlB1F,EAAO2E,cAAgB3B,EAAO2C,MAC5B7C,YAAa,qCACb/C,WAAY,cACZ6F,KAAM,KACNC,MAAO7F,KAQXmD,KAAKK,OAAS,SAAS0B,GACrB9G,EAAWyD,SACPqD,GAAQA,EAAOxD,kBAGrBwB,EAAKE,UAKP9G,QAAQC,OAAO,mBACb,eACA,uBAGDwD,WAAW,aAAc,SAAU,iBAAkB,SAAmBC,EAAQ8F,GAC/E,UAMA,SAAS1C,KACPpD,EAAO+F,UAAiC,WAApB/F,EAAOgG,UAL7BhG,EAAOiG,WAAa,WAClBH,EAAelB,SAOjB5E,EAAOkG,QAAU,WACe,kBAApBlG,GAAOmG,WAAyBnG,EAAOmG,YACjDL,EAAelB,SAGjB5E,EAAOoG,YAAc,WACe,kBAAxBpG,GAAOqG,eAA6BrG,EAAOqG,gBACrDP,EAAelB,SAGjBxB,OAKF9G,QAAQC,OAAO,6BACb,mCACA,cAGDC,QAAQ,iBAAkB,SAAgBE,GACzC,UAEAA,GACGiB,MAAM,mBACLG,IAAK,UACLiC,WAAY,qBACZ+C,YAAa,0CACb/E,MACEC,UAAW,kBAMlB+B,WAAW,sBAAuB,aAAc,SAAU,eAAgB,SAAU,SAA4B3B,EAAY4B,EAAQ+C,EAAchG,GACjJ,UAEA,SAASqG,KACPpD,EAAOsG,QAAUhK,QAAQkI,KAAK+B,EAAEC,KAAKxG,EAAOoE,KAAOV,KAAMX,EAAasC,SAGxEjC,OAKF9G,QAAQC,OAAO,oCACb,iCACA,iCACA,iCACA,iCACA,gCACA,uCACA,cAGDC,QAAQ,iBAAkB,SAAgBE,GACzC,UAEAA,GACGiB,MAAM,0BACLG,IAAK,WACLiC,WAAY,2BACZ+C,YAAa,gDACb/E,MACEC,UAAW,kBAMlB+B,WAAW,4BAA6B,SAAU,eAAgB,SAAkCC,EAAQ+C,GAC3G,UAEA,SAASK,KACHpD,EAAOsG,SAAWtG,EAAOsG,QAAQG,SACnCzG,EAAOmF,OAAS7I,QAAQkI,KAAK+B,EAAEC,KAAKxG,EAAOsG,QAAQG,QAAUC,MAAO3D,EAAaoC,WAIrF/B,OAKF9G,QAAQC,OAAO,wCACb,mBACA,8BACA,YACA,uBAGDC,QAAQ,iBAAkB,SAAgBE,GACzC,UAEAA,GACGiB,MAAM,qCACLG,IAAK,cAELgF,YAAa,sDACb/E,MACEC,UAAW,qCAMlB+B,WAAW,uBAAwB,SAAU,WAAY,SAAU,YAAa,SAAU,SAAU,kBAAmB,SAA6BC,EAAQG,EAAUD,EAAQD,EAAW+C,EAAQjG,EAAQ4J,GACxM,UAwFA3G,GAAO4G,UAAY,gBA0CrBtK,QAAQC,OAAO,kCACb,4CACA,mBACA,kCACA,2BACA,kCACA,gCACA,YACA,eACA,0BACA,qBACA,cAGDC,QAAQ,iBAAkB,SAAgBE,GACzC,UAEAA,GACGiB,MAAM,+BACLG,IAAK,YAELgF,YAAa,0CACb/E,MACEC,UAAW,aAMlB+B,WAAW,iBAAkB,aAAc,SAAU,WAAY,YAAa,eAAgB,SAAU,UAAW,SAAU,SAAU,sBAAuB,oBAAqB,eAAgB,SAAuB3B,EAAY4B,EAAQK,EAAUJ,EAAW8C,EAAc7C,EAAQ2G,EAAS7D,EAAQjG,EAAQ+J,EAAqBC,EAAmBxG,GACzV,UAGA,SAAS6C,KAWP,GATApD,EAAOsD,eACHuD,EAAQnG,IAAImG,EAAQnG,GAAG,OAAQ,YAAcsG,KAAM/G,EAAUyD,SAE5D1D,EAAOmF,SAAQnF,EAAOmF,WACtBnF,EAAOmF,OAAOC,UAASpF,EAAOmF,OAAOC,SAAYC,MAAOtC,EAAasC,MAAOE,IAAKxC,EAAawC,MAEnGvF,EAAOqF,MAAQ/I,QAAQkI,KAAKzH,EAAOG,aAAa+J,OAAOjH,EAAOmF,OAAOC,QAAQC,QAGzErF,EAAOmF,OAAOC,QAAQG,IAAK,CAC7B,GAAIA,GAAMvF,EAAOmF,OAAOC,QAAQG,GAC3BvF,GAAOqF,MAAM6B,WAAW3B,GAAK4B,UAASnH,EAAOqF,MAAM6B,WAAW3B,GAAK4B,YACxEnH,EAAOqF,MAAM6B,WAAW3B,GAAK4B,QAAQC,UAAW,EAIlD,GAAIpH,EAAOmF,OAAOC,QAAQgC,SAAU,CAClC,GAAIC,GAAOC,OAAOD,KAAKrH,EAAOqF,MAAM6B,WACpC,KAAK,GAAIK,KAAKF,GAAM,CAClB,GAAI9B,GAAM8B,EAAKE,EACVvH,GAAOqF,MAAM6B,WAAW3B,GAAK4B,UAASnH,EAAOqF,MAAM6B,WAAW3B,GAAK4B,YACxEnH,EAAOqF,MAAM6B,WAAW3B,GAAK4B,QAAQC,UAAW,GAQpD,GAJApH,EAAOwH,WAAY,EACnBxH,EAAOjC,QAGHiC,EAAOmF,OAAOC,QAAQrH,KAAM,CAC9B,GAAIsJ,GAAOC,OAAOD,KAAKrH,EAAOmF,OAAOC,QAAQrH,KAC7C,KAAK,GAAIwJ,KAAKF,GAAM,CAClB,GAAI9B,GAAM8B,EAAKE,EACfvH,GAAOjC,KAAKwH,GAAOvF,EAAOmF,OAAOC,QAAQrH,KAAKwH,IAKlDuB,EAAoBW,mBAAmBzH,EAAOqF,MAAOrF,EAAOjC,KAG5D,IAAI0H,GAAK,IACL1C,GAAa0C,IAAM1C,EAAa0C,GAAK,IAAGA,EAAK1C,EAAa0C,IAC1DzF,EAAOmF,OAAOC,QAAQK,IAAMzF,EAAOmF,OAAOC,QAAQK,GAAK,IAAGA,EAAKzF,EAAOmF,OAAOC,QAAQK,IACrFA,GACFzF,EAAO0H,QAAS,EAChB1H,EAAO2H,aAAe,KACtBb,EAAoB3H,IAAIa,EAAOqF,MAAMuC,OAAQnC,GAC5C5G,KAAK,SAASgJ,GACRA,IACL7H,EAAOjC,KAAO8J,EACdC,IACA9H,EAAOwH,WAAY,OAGrBM,IACA9H,EAAO0H,QAAS,EAChB1H,EAAOwH,WAAY,GAIhBzK,EAAOG,aAAa6K,UACvBhL,EAAOG,aAAa6K,YAEtB/H,EAAOgI,eAAiBjL,EAAOG,aAAa6K,QAAQE,WACpDjI,EAAOkI,iBAAmBnL,EAAOG,aAAa6K,QAAQI,aACtDnI,EAAOoI,iBAAmBrL,EAAOG,aAAa6K,QAAQM,cAAgBtL,EAAOG,aAAa6K,QAAQM,cAAgB,mCAGlHrI,EAAOT,IAAI,YAAa,WAAaS,EAAOsI,eAAetI,EAAOjC,QAClEiC,EAAOT,IAAI,cAAe,SAASoB,EAAO4H,GACxCvI,EAAOwI,iBAAiBxI,EAAOjC,KAAMwK,KAGvCvI,EAAOT,IAAI,cAAe,WAAaS,EAAOsI,eAAetI,EAAOjC,QACpEiC,EAAOT,IAAI,gBAAiB,SAASoB,EAAO4H,GAC1CvI,EAAOwI,iBAAiBxI,EAAOjC,KAAMwK,KAEvCvI,EAAO0E,OAAO,OAAQ,SAAS+D,EAASC,GAClC1I,EAAOwH,WAEXxH,EAAO2I,MAAM,iBAAmBF,QAASA,EAASC,QAASA,MAC1D,GAGL,QAASZ,KAIP,GAFA9H,EAAO2H,aAAe3H,EAAOqF,MAAM8B,QAC/BnH,EAAOmF,OAAOC,QAAQ+B,UAASnH,EAAO2H,aAAe3H,EAAOqF,MAAMrF,EAAOmF,OAAOC,QAAQ+B,WACvFnH,EAAO2H,cAA8C,GAA9B3H,EAAO2H,aAAaiB,OAAa,CAC3D5I,EAAO2H,eACP,IAAIN,GAAOC,OAAOD,KAAMrH,EAAOqF,MAAM6B,WACrC,KAAK,GAAIK,KAAKF,GAAM,CAClB,GAAI9B,GAAM8B,EAAKE,EACfvH,GAAO2H,aAAakB,KAAKtD,GACpBvF,EAAOjC,KAAKwH,KAAMvF,EAAOjC,KAAKwH,GAAO,OAI9CvF,EAAO2I,MAAM,eAAiB5K,KAAMiC,EAAOjC,OAO7C,QAAS+K,GAAKC,GACZ,GAAItD,GAAKzF,EAAOjC,KAAKiC,EAAOmF,OAAOC,QAAQG,IAC3CuB,GAAoBkC,cAAchJ,EAAOqF,MAAMpE,KAAMwE,EAAIzF,EAAOjC,MAC7Dc,KAAK,SAASgJ,GACTlD,GAAeA,EAAcC,QACjCxG,EAAWU,WAAW,kBAClBiK,GAAUA,EAASlB,IAEzB,SAASzI,GACP,GAAqB,gBAAVA,IAAsBA,EAAM6J,QACrCC,MAAM9J,EAAM6J,aACP,IAAqB,gBAAV7J,IAAsBA,EAAMA,OAASA,EAAMA,MAAM6J,QACjEC,MAAM9J,EAAMA,MAAM6J,aACb,IAAqB,gBAAV7J,IAAsBA,EAAM+J,KAC5C,OAAQ/J,EAAM+J,MACZ,IAAK,eAAgBD,MAAM,gFAEH,gBAAV9J,GAChB8J,MAAMnF,KAAKqF,UAAUhK,IAErB8J,MAAM9J,EAEJuF,IAAeA,EAAcC,SAEnC,SAASyE,GACHA,EAAOJ,UAASjJ,EAAOqJ,OAASA,EAAOJ,SACvCI,EAAOC,WAAUtJ,EAAOsJ,SAAWD,EAAOC,YAvIpD,GAAI3E,GAAgB,IA+IpB3E,GAAOsI,eAAiB,SAASvK,GAC/BiC,EAAOqJ,OAAS,YAChBrJ,EAAOsJ,SAAW,EAClB3E,EAAgB3B,EAAO2C,MACrB7C,YAAa,oDACb/C,WAAY,0BACZ8F,MAAO7F,IAET8I,EAAK,SAASjB,GACZtH,EAAagJ,MAAMvJ,EAAOmF,OAAOC,QAAQC,OACtCrF,EAAOmF,OAAOC,SAAWpF,EAAOmF,OAAOC,QAAQoE,gBAChD3C,EAAQ4C,QAAQC,OAGX1J,EAAOsG,QAKVpG,EAAOuB,GAAGzB,EAAOsG,QAAQ3I,MAAQqC,EAAOsG,QAAQ3I,MAAQ,+BAAiC0H,MAAOrF,EAAOsG,QAAQ5C,KAAMyB,OAAQnF,EAAOmF,OAAOuB,MAAOjB,GAAGoC,EAAS7H,EAAOmF,OAAOC,QAAQG,OAFhLZ,GAAeA,EAAcC,WAQzC5E,EAAOwI,iBAAmB,SAASzK,EAAMwK,GAEvC,GADAvI,EAAOoI,iBAAoBG,GAAcA,EAAWH,iBAAoBG,EAAWH,iBAAmBpI,EAAOoI,iBACxGuB,QAAQ3J,EAAOoI,kBAApB,CACA,GAAI3C,GAAK1H,EAAKiC,EAAOmF,OAAOC,QAAQG,IAChCvF,GAAOqF,MAAMD,SAAWpF,EAAOqF,MAAMD,QAAQwE,oBAE/C5J,EAAOjC,KAAKiC,EAAOqF,MAAMD,QAAQwE,qBAAsB,EACvDd,EAAK,WACHvI,EAAagJ,MAAMvJ,EAAOmF,OAAOC,QAAQC,OACzCwB,EAAQ4C,QAAQC,UAIlB5C,EAAoB+C,OAAO7J,EAAOqF,MAAMuC,OAAQnC,GAC/C5G,KAAK,SAASgJ,GACbzJ,EAAWU,WAAW,gBACtByB,EAAagJ,MAAMvJ,EAAOmF,OAAOC,QAAQC,OACzCwB,EAAQ4C,QAAQC,QACf,SAAStK,GACW,gBAAVA,IAAsBA,EAAM6J,QACrCC,MAAM9J,EAAM6J,SACc,gBAAV7J,IAAsBA,EAAMA,OAASA,EAAMA,MAAM6J,QAC/DC,MAAM9J,EAAMA,MAAM6J,SACM,gBAAV7J,GAChB8J,MAAMnF,KAAKqF,UAAUhK,IAErB8J,MAAM9J,OASdY,EAAO8J,cAAgB,SAASvE,GAC9B,GAAIwE,GAAc,IAClB,IAAmB,gBAARxE,GACTwE,EAAcxE,MACT,CACL,GAAIyE,GAAWhK,EAAOqF,MAAM6B,WAAW3B,EACvCwE,GAAcC,EAAS7C,QAGzB,IAAK4C,EACH,OAAO,CAGT,IAAIA,EAAYE,MAAO,CACrB,GAAI/C,GAAaI,OAAOD,KAAK0C,EAAYE,MACzC,KAAK,GAAI1C,KAAKL,GAAY,CACxB,GAAI8C,GAAW9C,EAAWK,EAC1B,IAAIvH,EAAOjC,KAAKiM,IAAaD,EAAYE,MAAMD,GAC7C,OAAO,GAKb,IAAKD,EAAY7F,MACf,OAAO,CAGT,KAAK7D,EAASlB,IAAI,SAChB,OAAO,CAGT,IAAI+K,GAAYnG,KAAKC,MAAM3D,EAASlB,IAAI,SACxC,KAAK,GAAIoI,KAAK2C,GAAW,CACvB,GAAIC,GAAOD,EAAU3C,EACrB,IAAIwC,EAAY7F,MAAM/C,QAAQgJ,EAAKlJ,OAAS,EAC1C,OAAO,EAGX,OAAO,GAGTmC,OAKF9G,QAAQC,OAAO,6CACb,eACA,2BACA,uBAGDwD,WAAW,2BAA4B,SAAU,iBAAkB,SAAuBC,EAAQ8F,GACjG,UAEA,SAAS1C,MAKTA,OAKF9G,QAAQC,OAAO,kCACb,4CACA,mBACA,2BACA,kCACA,2CACA,YACA,YACA,SACA,gBAGDC,QAAQ,iBAAkB,SAAgBE,GACzC,UAEAA,GACGiB,MAAM,+BACLG,IAAK,QACLgF,YAAa,0CACb/E,MACEC,UAAW,aAMlB+B,WAAW,iBAAkB,SAAU,WAAY,WAAY,SAAU,YAAa,UAAW,SAAU,SAAU,sBAAuB,eAAgB,QAASqK,eAAcpK,OAAQK,SAAUF,SAAUD,OAAQD,UAAW4G,QAAS7D,OAAQjG,OAAQ+J,oBAAqBvG,cAC/Q,UAKA,SAAS6C,QACPpD,OAAOwH,WAAY,EACnBxH,OAAOqK,OAASA,OAChBrK,OAAOsK,YAAc,EACrBtK,OAAOuK,QACPvK,OAAOwK,YACPxK,OAAOyK,WACPzK,OAAO0K,gBAAkB,GACzB1K,OAAO2K,iBAAmB,EAC1B3K,OAAO4K,WAAY,EACnB5K,OAAO6K,aAAe7K,OAAOmF,OAAOC,QAAQyF,aACxC7K,OAAOmF,OAAOC,QAAQ0F,KAEtB9K,OAAO+K,SAAW/K,OAAOmF,OAAOC,QAAQ0F,KAGxC9K,OAAO+K,UAAaC,QAAShL,OAAOmF,OAAOC,QAAQG,KAAM0F,YAAa,QAE1EjL,OAAOkL,eACHC,WAAY,GACZC,kBAAuE,iBAA5CpL,QAAOmF,OAAOC,QAAQgG,mBAAmCpL,OAAOmF,OAAOC,QAAQgG,mBAE9GpL,OAAOqL,eAEHC,WAAY,KAAM,KAAM,MAAO,MAAO,OACtCC,SAAUvL,OAAOmF,OAAOC,QAAQmG,SAAWvL,OAAOmF,OAAOC,QAAQmG,SAAW,KAC5EC,YAAa,GAGZxL,OAAO+K,WAAU/K,OAAO+K,aACxB/K,OAAO+K,SAASN,UAASzK,OAAO+K,SAASN,YAE9CzK,OAAOyL,aACH1N,KAAM,OACN2N,oBAAoB,EACpBC,mBAAwE,iBAA7C3L,QAAOmF,OAAOC,QAAQuG,oBAAmC3L,OAAOmF,OAAOC,QAAQuG,mBAC1GC,aAAa,EACbC,cAAc,EACdC,oBAAoB,EACpBC,uBAAuB,EACvBhB,SAAU/K,OAAO+K,SACjBiB,YAAY,EACZC,WAAYjM,OAAOmF,OAAOC,QAAQ6G,WAClCC,gBAAiB,GACjBC,gBAAiB,GACjBxB,iBAAkB,mBAClBU,cAAerL,OAAOqL,cACtBH,cAAelL,OAAOkL,cACtBkB,cAAepM,OAAOwK,SACtB6B,UAAWrM,OAAOmF,OAAOC,QAAQiH,UAAYrM,OAAOmF,OAAOC,QAAQiH,UAAY,IAGnFrM,OAAOsD,eACHuD,QAAQnG,IAAImG,QAAQnG,GAAG,OAAQ,YAAcsG,KAAM/G,UAAUyD,SAGjE1D,OAAOsM,uBAAyB,EAC5BtM,OAAOmF,OAAOC,QAAQmH,QACxBvM,OAAOwM,0BAA4BxM,OAAOmF,OAAOC,QAAQmH,MAAME,OAAS,GACxEzM,OAAOsM,uBAAyBtM,OAAOwM,0BACvCE,gBAGFC,OAAOC,OAAOC,KAAS,GAAEC,kBAAoB,kBAC7CH,OAAOC,OAAOC,KAAS,GAAEE,gBAAkB,SAG3C/M,OAAOyK,QAAUuC,sBACjBhN,OAAOyL,YAAYwB,WAAa,UAI5BjN,OAAOmF,OAAOC,QAAQ8H,WACxBlN,OAAOyL,YAAY0B,gBAAiB,EACpCnN,OAAOyL,YAAY2B,uBAAwB,EAC3CpN,OAAOyL,YAAY4B,qBAAsB,EACzCrN,OAAOyL,YAAYE,oBAAqB,GAIrC3L,OAAOmF,OAAOC,QAAQ9D,SAAQtB,OAAOmF,OAAOC,QAAQ9D,WACrDtB,OAAOmF,OAAOC,QAAQC,QAAOrF,OAAOqF,MAAQtI,OAAOG,aAAa+J,OAAOjH,OAAOmF,OAAOC,QAAQC,QAC7FrF,OAAOmF,OAAOC,QAAQkI,IAExBtN,OAAOuN,QAAUvN,OAAOmF,OAAOC,QAAQkI,IAC9BtN,OAAOmF,OAAOC,QAAQC,QAE/BrF,OAAOuN,QAAUvN,OAAOqF,MAAMuC,QAEhC5H,OAAOwN,YAAcxN,OAAOuN,QAC5BE,uBACAzN,OAAO0N,sBAEPvN,SAAS,WAEP2E,EAAE,yBAAyBG,SAAS,gBACpCH,EAAE,yBAAyBG,SAAS,qBAItCjF,OAAO2N,MAAQ7I,EAAE,SACjBxI,QAAQsR,QAAQ/G,SAASgH,KAAK,SAAU,WACvCC,sBAID9N,OAAOT,IAAI,2BAA4B,WACrCwO,cAGF/N,OAAOT,IAAI,qBAAsB,SAAS2F,EAAQE,GAC5CA,GAAWA,EAAQ4I,cAAahO,OAAOqL,cAAcG,YAAc,GACvExL,OAAO0N,yBAGL,8BAA8BO,KAAMC,UAAUC,YAAenO,OAAOmF,OAAOC,QAAQgJ,kBAErFpO,OAAOyL,YAAY4C,SAAW,GAAIC,8BAGhCtO,OAAOmF,OAAOC,QAAQmJ,iBACnBvO,OAAOyL,YAAY4C,UAASrO,OAAOyL,YAAY4C,YACpDrO,OAAOyL,YAAY4C,QAAQxF,KAAK,GAAI2F,yBAIlCzR,OAAOG,aAAa6K,UACtB/H,OAAOyO,iBAAmB1R,OAAOG,aAAa6K,QAAQ2G,aACtD1O,OAAOgI,eAAiBjL,OAAOG,aAAa6K,QAAQE,YAIxD,QAAS+E,uBAEV,GAAI2B,GAAY3O,OAAOmF,OAAOC,QAAQuJ,UAClClE,EAAUzK,OAAOmF,OAAOC,QAAQqF,OACpC,IAAIkE,GAAkC,gBAAdA,IAA0BA,EAAUjI,MAC1D,GAAIiI,EAAUjL,KAAM,CAErB,GAAI4C,GAAUC,EAAEC,KAAKzJ,OAAOG,aAAakH,KAAOV,KAAMiL,EAAUjL,OAC5D+C,EAASF,EAAEC,KAAKF,EAAQG,QAAUC,MAAOiI,EAAUjI,OACvD+D,GAAUhE,EAAOrB,QAAQqF,YACjB,CAER,GAAIhE,GAASF,EAAEC,KAAKxG,OAAOsG,QAAQG,QAAUC,MAAOiI,EAAUjI,OAC9D+D,GAAUhE,EAAOrB,QAAQqF,QAM1B,IADAA,EAAUnO,QAAQkI,KAAKiG,KACRpK,SAASlB,IAAI,SAAU,CACjC,GAAI+E,GAAQH,KAAKC,MAAM3D,SAASlB,IAAI,SACpC,IAAI+E,EACF,IAAK,GAAIqD,GAAI,EAAGA,EAAIkD,EAAQ7B,OAAQrB,IAAK,CACvC,GAAIqH,GAASnE,EAAQlD,EACrB,IAAIqH,EAAO1K,MAAO,CAChB,GAAI2K,IAAc,CAClB,KAAK,GAAIC,KAAK5K,GAAO,CACnB,GAAIiG,GAAOjG,EAAM4K,EACjB,IAAIF,EAAO1K,MAAM/C,QAAQgJ,EAAKlJ,OAAS,EAAG,CACxC4N,GAAc,CACd,QAICA,IACHpE,EAAQsE,OAAOxH,EAAG,GAClBA,OAOb,MAAOkD,GAMN,QAASqD,qBACV,GAAIH,GAAQ3N,OAAO2N,MACbqB,EAAcnI,QAAQoI,WACxBC,EAAqBF,EAAchP,OAAOsK,WAE1C4E,GAAqB,KAAOvB,EAAM5I,SAAS,kBAC9C4I,EAAM1I,SAAS,iBAEfjF,OAAOyK,QAAUzK,OAAOyK,QAAQ0E,OAAO,SAASP,GAAU,OAAQA,EAAOQ,YAE/DF,GAAsB,IAAMvB,EAAM5I,SAAS,mBACrD4I,EAAM3I,YAAY,iBAElBhF,OAAOyK,QAAUzK,OAAOyK,QAAUuC,uBASlC,QAASS,wBACP,GAAI4B,mBAAoBpP,UAAUqP,QAClCtP,QAAOqP,kBAAoBA,kBAC3BrP,OAAOuN,QAAUvN,OAAOwN,WACxB,IAAInG,MAAOC,OAAOD,KAAKgI,kBACvB,KAAK,GAAI9H,KAAKF,MAAM,CAClB,GAAI9B,KAAM8B,KAAKE,EAGfvH,QAAOmF,OAAOC,QAAQ9D,OAAOiE,KAAO8J,kBAAkB9J,KAElDvF,OAAOuN,UAETvN,OAAOuN,QAAUvN,OAAOuN,QAAQgC,QAAQ,IAAIhK,IAAI,IAAK8J,kBAAkB9J,OAK3E,IAIE,IAHA,GAAIiK,SAAUzL,KAAKC,MAAM3D,SAASlB,IAAI,YAClCsQ,aAAe,YACfC,SAAW1P,OAAOuN,QAAQpM,QAAQsO,cAC/BC,UAAY,GAAG,CACpB,GAAIC,QAAS3P,OAAOuN,QAAQpM,QAAQ,IAAKuO,SACzC,IAAIC,SAAW,EAAG,CAChBtQ,QAAQD,MAAM,yDACd,OAEF,GAAIwQ,YAAa5P,OAAOuN,QAAQsC,UAAUH,SAAS,EAAGC,OACtD3P,QAAOuN,QAAUvN,OAAOuN,QAAQuC,MAAM,EAAGJ,UAAYK,KAAKH,YAAc5P,OAAOuN,QAAQuC,MAAMH,OAAO,GACpGD,SAAW1P,OAAOuN,QAAQpM,QAAQsO,eAEpC,MAAMjQ,GACNH,QAAQD,MAAMI,GAIhB,GAAIwQ,mBAAoBX,kBAAqC,iBAM7D,IALArP,OAAOgQ,kBAAoBA,kBAAoBA,kBAAoBhQ,OAAOmF,OAAOuB,MAG7E2I,kBAAkB9D,WAAUvL,OAAOqL,cAAcE,SAAW8D,kBAAkB9D,UAC9E8D,kBAAkB7D,cAAaxL,OAAOqL,cAAcG,YAAcyE,SAASZ,kBAAkB7D,cAC7F6D,kBAAkBtE,SACpB,IACE,GAAIA,UAAWhH,KAAKC,MAAMqL,kBAAkBtE,SAC5CxE,GAAE2J,OAAOlQ,OAAO+K,SAAUA,UAC1B,MAAMvL,GACNH,QAAQ8Q,KAAK,+DAKbd,kBAAkBC,SAAQtP,OAAOkL,cAAcC,WAAakE,kBAAkBC,QAGpF,QAASc,mBAEP,GAAI9O,GAAShF,QAAQkI,KAAKxE,OAAOmF,OAAOC,QAAQ9D,OAEhD,IAAIA,GAAUA,EAAO6N,QAAU7N,EAAO6N,OAAOvG,OAAS,EAEpD,IACE,GAAIuG,GAASpL,KAAKC,MAAM1C,EAAO6N,OAG/B,IAFAA,EAAOkB,MAAQJ,SAASjQ,OAAOqL,cAAcE,UAC7C4D,EAAOmB,MAAQtQ,OAAOqL,cAAcG,YAAY,GAAKyE,SAASjQ,OAAOqL,cAAcE,UAC/EvL,OAAO+K,SAASC,OAAOpC,OAAS,EAAG,CACrCuG,EAAOoB,MAAQ,EACf,KAAK,GAAIhJ,KAAKvH,QAAO+K,SAASC,OAAQ,CACpC,GAAIwF,GAAQxQ,OAAO+K,SAASC,OAAOzD,GAC/BkJ,EAAYzQ,OAAO+K,SAASE,WAAW1D,EACtCkJ,KAAWA,EAAY,OACxBR,SAAS1I,GAAK,IAAG4H,EAAOoB,OAAS,MACrCpB,EAAOoB,OAASC,EAAQ,IAAMC,GAGlCnP,EAAO6N,OAASpL,KAAKqF,UAAU+F,GAC/B,MAAO3P,GACPH,QAAQD,MAAMI,GACd0J,MAAM,4EAEH,CAOL,GALA5H,EAASiF,EAAE2J,OAAO5O,GAChBoP,gBAAiBT,SAASjQ,OAAOqL,cAAcE,UAC/CoF,gBAAiB3Q,OAAOqL,cAAcG,YAAY,GAAKyE,SAASjQ,OAAOqL,cAAcE,YAGnFvL,OAAO+K,SAASC,OAAOpC,OAAS,EAAG,CACrC,GAAIgI,GAAY,EAChB,KAAK,GAAIrJ,KAAKvH,QAAO+K,SAASC,OAAQ,CACpC,GAAIwF,GAAQxQ,OAAO+K,SAASC,OAAOzD,GAC/BkJ,EAAYzQ,OAAO+K,SAASE,WAAW1D,EACtCkJ,KAAWA,EAAY,OACxBR,SAAS1I,GAAK,IAAGqJ,GAAa,MAClCA,GAAaJ,EAAQ,IAAMC,EAG7BnP,EAASiF,EAAE2J,OAAO5O,GAChBuP,gBAAiBD,IAIrB,GAAI5Q,OAAO6K,cAAgB7K,OAAOyL,YAAYP,cAAcC,WAAY,CAEtE7J,EAASwF,oBAAoBgK,wBAAwBxP,EACrD,IAAI6J,GAAanL,OAAOyL,YAAYP,cAAcC,UAClD,IAAiC,gBAAvB7J,GAAO6N,OAAO4B,MAAmB,CACzC,GAAIA,GAAQzU,QAAQkI,KAAKlD,EAAO6N,OAAO4B,MACvCzP,GAAO6N,OAAO4B,OAASC,QACvBzK,EAAErH,QAAQ6R,EAAO,SAASE,EAAEC,GAC1B,GAAIC,KACJA,GAAKD,GAAKD,EACV3P,EAAO6N,OAAO4B,MAAMC,IAAInI,KAAKsI,IAE/B,IAAIC,IAAYC,MAChB/U,SAAQ4C,QAAQc,OAAO6K,aAAc,SAAS2F,EAAOc,GACjD,GAAI/L,GAAM,IAAIiL,EAAM,UAChBe,EAAehL,EAAEhF,OAAQgE,EAAK,IAAI4F,EAAW,IACjDiG,GAASC,GAAGxI,KAAK0I,KAErBjQ,EAAO6N,OAAO4B,MAAMC,IAAInI,KAAKuI,OAE7B9U,SAAQ4C,QAAQc,OAAO6K,aAAc,SAAU2F,EAAOc,GACpD,GAAI/L,GAAM,qBAAuB+L,EAAM,KAAOd,EAAQ,SACtDlP,GAASiF,EAAEhF,IAAID,EAAQiE,EAAK,IAAM4F,EAAa,QAOvDlL,UAAUqP,OAAO,WAAYtP,OAAOqL,cAAcE,UAClDtL,UAAUqP,OAAO,cAAetP,OAAOqL,cAAcG,YACrD,IAAIT,GAAWzO,QAAQkI,KAAKxE,OAAO+K,SAKnC,cAJOA,GAASN,QAChBxK,UAAUqP,OAAO,WAAYvL,KAAKqF,UAAU2B,IAC5C9K,UAAUsP,UACV9B,uBACOnM,EA+bT,QAASoL,gBACH1M,OAAOmF,OAAOC,QAAQmH,MAAMe,KAE9BxG,oBAAoByD,KAAKvK,OAAOmF,OAAOC,QAAQmH,MAAMe,QACpDzO,KAAK,SAASgJ,GAGb7H,OAAOuM,MAAQvM,OAAOmF,OAAOC,QAAQmH,MAGrCvM,OAAOuM,MAAMxO,KAAO8J,EAGf7H,OAAOuM,MAAMnH,UAASpF,OAAOuM,MAAMnH,YACnCpF,OAAOuM,MAAMnH,QAAQoM,QAAQxR,OAAOuM,MAAMnH,QAAQoM,UAClDxR,OAAOuM,MAAMnH,QAAQqM,QAAQzR,OAAOuM,MAAMnH,QAAQqM,UAClDzR,OAAOuM,MAAMnH,QAAQqM,MAAMC,YAAW1R,OAAOuM,MAAMnH,QAAQqM,MAAMC,cACjE1R,OAAOuM,MAAMnH,QAAQoM,MAAME,YAAW1R,OAAOuM,MAAMnH,QAAQoM,MAAME,cACjE1R,OAAOuM,MAAMnH,QAAQoM,MAAMG,YAAW3R,OAAOuM,MAAMnH,QAAQoM,MAAMG,cACjE3R,OAAOuM,MAAMnH,QAAQqM,MAAMC,UAAUE,WAAU5R,OAAOuM,MAAMnH,QAAQqM,MAAMC,UAAUE,SAAW,IAC/F5R,OAAOuM,MAAMnH,QAAQoM,MAAME,UAAUE,WAAU5R,OAAOuM,MAAMnH,QAAQoM,MAAME,UAAUE,SAAW,IAC/F5R,OAAOuM,MAAMnH,QAAQqM,MAAMC,UAAUG,QAAO7R,OAAOuM,MAAMnH,QAAQqM,MAAMC,UAAUG,MAAQ,QACzF7R,OAAOuM,MAAMnH,QAAQoM,MAAME,UAAUG,QAAO7R,OAAOuM,MAAMnH,QAAQoM,MAAME,UAAUG,MAAQ,QACzF7R,OAAOuM,MAAMnH,QAAQoM,MAAMM,gBAAe9R,OAAOuM,MAAMnH,QAAQoM,MAAMM,cAAgB,QACrF9R,OAAOuM,MAAMnH,QAAQqM,MAAMK,gBAAe9R,OAAOuM,MAAMnH,QAAQqM,MAAMK,cAAgB,QACrF9R,OAAOuM,MAAMnH,QAAQoM,MAAMG,UAAUE,QAAO7R,OAAOuM,MAAMnH,QAAQoM,MAAMG,UAAUE,MAAQ,QACzF7R,OAAOuM,MAAMnH,QAAQqM,MAAME,UAAUE,QAAO7R,OAAOuM,MAAMnH,QAAQqM,MAAME,UAAUE,MAAQ,UAUpG,QAAS9D,aACF/N,OAAO4K,YAEV5K,OAAO+R,QAAUzV,QAAQkI,KAAKxE,OAAOuK,MACrCvK,OAAO4K,WAAY,GAQvB,QAASoH,WACHhS,OAAO4K,YACT5K,OAAO4K,WAAY,EACnB5K,OAAO+R,QAAUE,OACjBjS,OAAOkS,aA50BX,GAAIC,cAAc,EACdxN,cAAgB,IA2VpB3E,QAAO0N,oBAAsB,WAC3B,GAAIpM,GAAS8O,iBACbtJ,qBAAoBsL,MAAMpS,OAAOuN,QAASjM,GACzCzC,KAAK,SAASgJ,GACb,GAAKA,EAAL,CAEA,GAAwB,gBAAbA,GACT7H,OAAO2K,iBAAmB9C,MACrB,CACDA,YAAoB9I,QAAS8I,EAASe,OAAS,IAAGf,EAAWA,EAAS,GAC1E,IAAIR,GAAOC,OAAOD,KAAKQ,IAClBA,EAASuK,OAAS/K,EAAKuB,OAAS,IACnCf,EAASuK,MAAQvK,EAASR,EAAK,KAEjCrH,OAAO2K,iBAAmB9C,EAASuK,MAErCpS,OAAOkS,UAAU5Q,KAEnB,SAASlC,GACLY,OAAOqS,aAAe,sCACtBhT,QAAQD,MAAMA,MAIpBY,OAAOkS,UAAY,SAAS5Q,GAC1BtB,OAAO2I,MAAM,6BACTrH,IAAQA,EAAS8O,kBAEnB,IAAIkC,GAAW/R,aAAagS,gBAAgBvS,OAAOmF,OAAO7D,EAC1D,KAAItB,OAAOkL,cAAcE,mBACpB7K,aAAapB,IAAImT,GAElB,IACEtS,OAAOuK,KAAOhK,aAAapB,IAAImT,GAC/BtS,OAAOsK,YAActK,OAAOuK,KAAK3B,OAAS,EAAItB,OAAOD,KAAKrH,OAAOuK,KAAK,IAAI3B,OAAS,EACnFkF,oBACA,MAAMtO,GACNH,QAAQ8Q,KAAK,uCAAyCmC,GAQ9DtS,OAAOwH,WAAY,EACnBV,oBAAoByD,KAAKvK,OAAOuN,QAASjM,GAAQzC,KAC/C,SAASgJ,GACFA,IACqCoK,SAAtCjS,OAAOmF,OAAOC,QAAQoN,aAC2BP,SAAhDpK,EAAS7H,OAAOmF,OAAOC,QAAQoN,aAClCxS,OAAOuK,KAAO1C,EAAS7H,OAAOmF,OAAOC,QAAQoN,aAE7CxS,OAAOuK,KAAO1C,EAChB7H,OAAOsK,YAActK,OAAOuK,KAAK3B,OAAS,EAAItB,OAAOD,KAAKrH,OAAOuK,KAAK,IAAI3B,OAAS,EAC/E5I,OAAOkL,cAAcE,mBAAmB7K,aAAagB,IAAI+Q,EAAUtS,OAAOuK,MAC9EuD,oBACA9N,OAAO2I,MAAM,4BACbwJ,aAAc,EACdnS,OAAOwH,WAAY,EACnBxH,OAAOyS,eAAgB,IAEzB,SAASrT,GACPY,OAAOqS,aAAe,sCACtBhT,QAAQD,MAAMA,MAOpBY,OAAO0S,oBAAsB,SAASC,GACpC,IAAKA,EAAOzO,MAAO,OAAO,CAC1B,KAAK7D,SAASlB,IAAI,SAAU,OAAO,CACnC,IAAI+E,GAAQH,KAAKC,MAAM3D,SAASlB,IAAI,SACpC,KAAK,GAAIoI,KAAKrD,GAAO,CACnB,GAAIiG,GAAOjG,EAAMqD,EACjB,IAAIoL,EAAOzO,MAAM/C,QAAQgJ,EAAKlJ,OAAS,EACrC,OAAO,EAGX,OAAO,GAMTjB,OAAO4S,gBAAkB,SAASD,QAChC,GAAIA,OAAOE,MAET9C,KAAK,UAAY4C,OAAOE,WACnB,IAAIF,OAAOlO,MAAO,CAGvB,GAAIkO,OAAOvN,UACLuN,OAAOvN,QAAQC,QAAOrF,OAAOmF,OAAOC,QAAQC,MAAQsN,OAAOvN,QAAQC,OACnEsN,OAAOvN,QAAQG,MAAKvF,OAAOmF,OAAOC,QAAQG,IAAMoN,OAAOvN,QAAQG,KAC/DoN,OAAOvN,QAAQ+B,UAASnH,OAAOmF,OAAOC,QAAQ+B,QAAUwL,OAAOvN,QAAQ+B,SACvEwL,OAAOnJ,kBAAiBxJ,OAAOmF,OAAOC,QAAQoE,gBAAkBmJ,OAAOnJ,iBACvEmJ,OAAOvN,QAAQrH,MAAM,CACvB,GAAIsJ,MAAOC,OAAOD,KAAKsL,OAAOvN,QAAQrH,KACtC,KAAK,GAAIwJ,KAAKF,MAAM,CAClB,GAAI9B,KAAM8B,KAAKE,GACXuL,MAAQH,OAAOvN,QAAQrH,KAAKwH,IAC5BuN,OAAMC,YAAY,MAAQ,IAC5BD,MAAQA,MAAMjD,UAAUiD,MAAMC,YAAY,KAAK,EAAED,MAAMC,YAAY,MACnED,MAAQ9S,OAAOqP,kBAAkByD,QAE9B9S,OAAOmF,OAAOC,QAAQrH,OAAMiC,OAAOmF,OAAOC,QAAQrH,SACvDiC,OAAOmF,OAAOC,QAAQrH,KAAKwH,KAAOuN,OAIxC5S,OAAOuB,GAAG,0BAA4BkR,OAAOlO,WACxC,IAAIkO,OAAOjP,MAAQiP,OAAOjM,MAAO,CAEtC,GAAIJ,SAAUC,EAAEC,KAAKzJ,OAAOG,aAAakH,KAAOV,KAAMiP,OAAOjP,OACzDyB,OAASoB,EAAEC,KAAKF,QAAQG,QAASC,MAAOiM,OAAOjM,OACnDxG,QAAOuB,GAAG,0BAA4B0D,OAAOV,OAASY,MAAOiB,QAAQ5C,KAAMyB,OAAQA,OAAOuB,UAO9F1G,OAAOgT,SAAW,WAEbhT,OAAOuK,MAAQvK,OAAOuK,KAAK3B,OAK/B5I,OAAOuK,KAAK1B,SACZkF,aAGD/N,OAAOiT,cAAgB,WAErB,GAAIjT,OAAO+R,QAAS,CAElB,GAAImB,aACJ,KAAK,GAAI3L,KAAKvH,QAAOuK,KAAM,CACzB,GAAI4I,QAASnT,OAAOuK,KAAKhD,GACrB6L,OAASpT,OAAO+R,QAAQxK,EAE5B,IAAK4L,SAA4B,gBAAVA,SAAoD,GAA9B7L,OAAOD,KAAK8L,QAAQvK,SAAiC,GAAjBuK,OAAOvK,UAInFwK,QAAUrP,KAAKqF,UAAU+J,SAAWpP,KAAKqF,UAAUgK,SAAS,CAiC/D,GAAIC,SAAU/L,OAAOD,KAAK8L,OAC1B,KAAK,GAAI5L,KAAK8L,SAAS,CACrB,GAAI9N,KAAM8N,QAAQ9L,EACd4L,QAAO5N,MAA+B,gBAAhB4N,QAAO5N,YACxB4N,QAAO5N,KAKlB,GAAIvF,OAAOmF,OAAOC,QAAQkO,SAAU,CAClC,GAAIjM,MAAOC,OAAOD,KAAKrH,OAAOmF,OAAOC,QAAQkO,SAC7C,KAAK,GAAI/L,KAAKF,MAAM,CAClB,GAAI9B,KAAM8B,KAAKE,GACXyC,SAAWhK,OAAOmF,OAAOC,QAAQkO,SAAS/N,MAC1CyE,WAAaA,SAASuJ,qBAAwBJ,OAAO5N,OAEnDyE,SAAkB,QACpBmJ,OAAO5N,KAAOyE,SAAkB,QACvBA,SAASwJ,cAClBL,OAAO5N,KAAOwK,KAAK/F,SAASwJ,gBAOpC,GAAIxT,OAAOmF,OAAOC,QAAQqF,QACxB,IAAK,GAAIlD,KAAKvH,QAAOmF,OAAOC,QAAQqF,QAAS,CAC3C,GAAImE,QAAS5O,OAAOmF,OAAOC,QAAQqF,QAAQlD,EAC3C,IAAIqH,OAAO6E,WAAaN,OAAOvE,OAAO4B,OAEpC,WADAtH,OAAM,uCAAyC0F,OAAO8E,aAO5DR,UAAUrK,KAAKsK,SASnB,GAAIQ,aAAc,CAClB3T,QAAOqJ,OAAS,YAChBrJ,OAAOsJ,SAAW,EAClB3E,cAAgB3B,OAAO2C,MACrB7C,YAAa,oDACb/C,WAAY,0BACZ8F,MAAO7F,QAGT,IAAI4T,YAAa,SAASC,EAAQ9K,GAChC,GAAItD,GAAKoO,EAAO7T,OAAOmF,OAAOC,QAAQG,IACtCuB,qBAAoBgC,KAAK9I,OAAOmF,OAAOC,QAAQC,MAAOI,EAAIoO,GACzDhV,KAAK,SAASgJ,GACbkB,KACC,SAAS3J,GACV,GAAqB,gBAAVA,IAAsBA,EAAM6J,QACrCC,MAAM9J,EAAM6J,aACP,IAAqB,gBAAV7J,IAAsBA,EAAMA,OAASA,EAAMA,MAAM6J,QAC/DC,MAAM9J,EAAMA,MAAM6J,aACf,IAAqB,gBAAV7J,IAAsBA,EAAM+J,KAC5C,OAAQ/J,EAAM+J,MACZ,IAAK,eAAgBD,MAAM,gFAEH,gBAAV9J,GAChB8J,MAAMnF,KAAKqF,UAAUhK,IAErB8J,MAAM9J,EAER2J,QAIA+K,eAAiB,WACnB,GAAIH,aAAeT,UAAUtK,OAM3B,MAJA5I,QAAOqJ,OAAS,mBACZ1E,eAAeA,cAAcC,QACjC5E,OAAOkS,gBACPF,UAGFhS,QAAOqJ,OAAS,WAAasK,YAAY,GAAK,OAAST,UAAUtK,OACjE5I,OAAOsJ,UAAYqK,YAAY,GAAKT,UAAUtK,OAE9CgL,WADaV,UAAUS,aACJ,WACjBA,cACAG,mBAGJA,oBAKJ9T,OAAO+T,gBAAkB,WACnBpK,QAAQ,kDACVqI,WAIJhS,OAAOgU,qBAAuB,SAASC,EAAKC,GAC1C,GAAIA,EAEF,YADIvK,QAAQuK,IAAMlU,OAAOmU,UAAUF,GAAK,GAG1CjU,QAAOmU,UAAUF,IAGnBjU,OAAOmU,UAAY,SAASF,EAAKG,GAC/B,IAAKpU,OAAOqF,QAAUrF,OAAOqF,MAAMuC,OAEjC,WADAvI,SAAQD,MAAM,iDAGhB,IAAIgV,GAAgBzK,QAAQ,8CAA+C,CACzE,GAAIlE,GAAKwO,EAAII,OAAOrU,OAAOmF,OAAOC,QAAQG,IACrCE,GAICzF,OAAOqF,MAAMD,SAAWpF,OAAOqF,MAAMD,QAAQwE,oBAC/CmE,YACAkG,EAAII,OAAOrU,OAAOqF,MAAMD,QAAQwE,qBAAsB,EACtD5J,OAAOiT,iBAEPnM,oBAAoB+C,OAAO7J,OAAOqF,MAAMuC,OAAQnC,GAC/C5G,KAAK,SAASgJ,GACb7H,OAAOuK,KAAKwE,OAAOkF,EAAIK,SAAU,IAChC,SAASlV,GACW,gBAAVA,IAAsBA,EAAM6J,QACrCC,MAAM9J,EAAM6J,SACc,gBAAV7J,IAAsBA,EAAMA,OAASA,EAAMA,MAAM6J,QAC/DC,MAAM9J,EAAMA,MAAM6J,SACM,gBAAV7J,GAChB8J,MAAMnF,KAAKqF,UAAUhK,IAErB8J,MAAM9J,KAlBZY,OAAOuK,KAAKwE,OAAOkF,EAAIK,SAAU,KA2BvCtU,OAAO0E,OAAO,WAAY,SAAS6P,EAAQC,GACrCD,IAAWC,GAAUD,EAAO3L,OAAS,IAAM5I,OAAOmF,OAAOC,QAAQ8H,WAC/DlN,OAAOmF,OAAOC,QAAQqP,cACxBvU,OAAOuB,GAAGzB,OAAOmF,OAAOC,QAAQqP,cAAcC,WAAa,+BAAiCrP,MAAOrF,OAAOmF,OAAOC,QAAQqP,cAAcE,YAAc3U,OAAOsG,QAAQ5C,KAAM6B,IAAKvF,OAAOmF,OAAOC,QAAQG,IAAKJ,OAAQnF,OAAOmF,OAAOC,QAAQqP,cAAcG,aAAe5U,OAAOmF,OAAOuB,MAAOjB,GAAI8O,EAAO,GAAGvU,OAAOmF,OAAOC,QAAQqP,cAAcI,SAAW7U,OAAOmF,OAAOC,QAAQG,OAE7WrF,OAAOuB,GAAG,+BAAiC4D,MAAOrF,OAAOsG,QAAQ5C,KAAM6B,IAAKvF,OAAOmF,OAAOC,QAAQG,IAAKJ,OAAQnF,OAAOmF,OAAOuB,MAAOjB,GAAI8O,EAAO,GAAGvU,OAAOmF,OAAOC,QAAQG,UAG3K,GAEHvF,OAAO0E,OAAO,gBAAiB,SAAU6P,EAAQC,GAC3CD,EAAO/I,aAAegJ,EAAOhJ,aAAe+I,EAAOhJ,UAAYiJ,EAAOjJ,WACxEvL,OAAOqL,cAAcE,SAAWvL,OAAOqL,cAAcE,SAASuJ,WAC9D9U,OAAOkS,eAER,GAEHlS,OAAO0E,OAAO,oCAAqC6B,EAAEwO,SAAS,SAAUR,EAAQC,GAC3ED,GAAUC,GACXxU,OAAOgV,OAAO,WACZhV,OAAOqL,cAAcG,YAAc,EACnCxL,OAAOkL,cAAcC,WAAaoJ,EAClCvU,OAAO0N,yBAGX,MAAM,GAER1N,OAAO0E,OAAO,WAAY,SAAU6P,EAAQC,GAErCrC,aAAeoC,IAAWC,GAC7BxU,OAAOkS,cAER,EAGH,IAAI+C,eAAgBjV,OAAO0E,OAAO,qBAAsB,WACtD,GAAK1E,OAAOyL,YAAYmB,OAAxB,CACA,GAAIsI,GAAYlV,OAAOyL,YAAYmB,OAAOsI,SAC1CD,iBACAE,aAAerQ,EAAE,kBACjBsQ,eAAiBtQ,EAAE,uBAEnB,IAAIuQ,GAAiB,KACjBC,EAAc,WAEhBtV,OAAOyL,YAAY8J,cAAcC,kBAAkBC,YAC/CzV,OAAOyL,YAAYiK,WACnB1V,OAAOyL,YAAYmB,SAIrB+I,EAAoB,SAAShV,GAC/B,GAAI8P,GAAY9P,EAAMiV,cAAcC,QAAUlV,EAAMiV,cAAcC,OAASlV,EAAMiV,cAAcE,WAAW,EACtGC,EAAUb,EAAUc,WAExB,IAAIvF,EAAY,EAAG,CAEjB,GAAIsF,GAAUb,EAAUc,WACT,IAAXD,IAAcA,GAAWtF,GACzBzQ,OAAOsM,uBAAuByJ,EAAU,GAC1C/V,OAAOsM,wBAA0ByJ,EACjCb,EAAUzI,OAAOyI,EAAUzI,SAAWsJ,GACtCb,EAAUc,UAAU,KAEpBd,EAAUzI,OAAOyI,EAAUzI,SAAWzM,OAAOsM,wBAC7CtM,OAAOsM,uBAAyB,GAE9BtM,OAAOyL,YAAY8J,gBAErBU,aAAaZ,GACbA,EAAiBa,WAAWZ,EAAa,SAElC7E,GAAY,IAEN,GAAXsF,GAAgB/V,OAAOsM,uBAAyBtM,OAAOwM,2BACzDuJ,EAAUtF,EACVzQ,OAAOsM,wBAA0ByJ,EACjCb,EAAUzI,OAAOyI,EAAUzI,SAAWsJ,IAClB,GAAXA,IACT/V,OAAOsM,uBAAyBtM,OAAOwM,0BACvC0I,EAAUzI,OAAO0I,aAAagB,SAASC,IAAIlB,EAAUiB,SAASC,MAIlEpW,QAAOqW,YAKL,8BAA8BpI,KAAMC,UAAUC,YAAenO,OAAOmF,OAAOC,QAAQgJ,kBACrFtJ,EAAE,+BAA+BG,SAAS,YAC1CH,EAAE,qBAAqBwR,KAAMC,OAAQ,SACrCzR,EAAE,8BAA8BwR,KAAKE,SAAU,SAAUD,OAAQ,UAK/DvW,OAAOmF,OAAOC,QAAQmH,QAExBjQ,QAAQsR,QAAQ/G,SAASgH,KAAK,aAAc8H,GAC5CrZ,QAAQsR,QAAQ/G,SAASgH,KAAK,iBAAkB8H,IAIlD7Q,EAAE,4BAA4BjC,GAAG,QAAS,WAExC5C,UAAUqP,OAAO,SAAUxK,EAAE3B,MAAMsT,OACnCxW,UAAUsP,cA8DdnM,WAID+L,OAAO,qBAAsB,WAC1B,MAAOxC,QAAO+J,qBAKlBpa,QAAQC,OAAO,iCACb,mBACA,8BACA,YACA,uBAGDC,QAAQ,iBAAkB,SAAgBE,GACzC,UAEAA,GACGiB,MAAM,8BACLG,IAAK,UAELgF,YAAa,wCACb/E,MACEC,UAAW;wCAMlB+B,WAAW,gBAAiB,SAAU,WAAY,SAAU,YAAa,SAAU,SAAU,kBAAmB,SAAsBC,EAAQG,EAAUD,EAAQD,EAAW+C,EAAQjG,EAAQ4J,GAC1L,UAOA,SAASvD,KACPpD,EAAOsD,eAEPqT,EAAcra,QAAQkI,KAAKzH,EAAOG,aAAakH,IAI/C,IAAIA,GAAMwS,EAAUC,GAEhBjJ,EAAUkJ,SAASC,eAAe,cAClC3R,GACA4R,MAAO,aACPC,QAAS,eACTC,OAAQ,OACRC,SAAU/S,EACVgT,oBAAoB,EACpBC,mBAAmB,EACnBC,oBAAoB,EACpBC,qBAAqB,EACrBC,QACEC,KAAM,QACNtT,MAAO,aACPuT,OAAQ,OACRtS,SACEuS,kBAAkB,GAEpBC,OACEzT,MAAO,UACPsT,KAAM,SACNI,eAAgB,iBAChBpS,GAAI,OACJyB,YACER,OAASvC,MAAO,QAASsT,KAAM,SAAUhE,UAAU,GACnD/P,MAAQS,MAAO,OAAQsT,KAAM,SAAUhE,UAAU,GACjDqE,MAAQ3T,MAAO,OAAQsT,KAAM,SAAUhE,UAAU,GACjDhN,QACEtC,MAAO,iBACPsT,KAAM,QACNhE,UAAU,EACVmE,OACEzT,MAAO,UACP0T,eAAgB,iBAChBJ,KAAM,SACNrS,SACE2S,WAAW,EACXX,oBAAoB,GAEtBlQ,YACER,OAASvC,MAAO,QAASsT,KAAM,SAAUhE,UAAU,GACnDuE,WAAa7T,MAAO,YAAasT,KAAM,SAAUhE,UAAU,GAC3DhP,OAASN,MAAO,QAASsT,KAAM,SAAUQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,cAAexE,UAAU,GACxGrO,SACIqS,KAAM,SACNrS,SACEgS,oBAAoB,GAEtBlQ,YACEoG,KAAO4K,KAAM,MAAOT,KAAM,UAC1B1H,MAAQmI,KAAM,OAAQT,KAAM,UAC5BpS,OAASlB,MAAO,QAASsT,KAAM,UAC/BlS,KAAOpB,MAAO,MAAOsT,KAAM,UAC3BpL,WAAalI,MAAO,aAAcsT,KAAM,WACxCU,WAAahU,MAAO,aAAcsT,KAAM,UACxCtT,OAASA,MAAO,cAAeiU,YAAa,qCAAsCX,KAAM,UACxFnW,QACEmW,KAAM,SACNrS,SACE2S,WAAW,GAEb7Q,YACEiI,QAAUhL,MAAO,SAAUsT,KAAM,SAAUC,OAAQ,UAGvD/I,WACExK,MAAO,mBAEPsT,KAAM,SACNrS,SACE2S,WAAW,EACXX,oBAAoB,GAEtBlQ,YACExD,MACES,MAAO,eACPsT,KAAM,UAER/Q,OACEvC,MAAO,eACPsT,KAAM,YAMZhN,SACEtG,MAAO,UACPsT,KAAM,QACNG,OACEzT,MAAO,SACPsT,KAAM,SACNI,eAAgB,uBAChBzS,SACE2S,WAAW,EACXX,oBAAoB,GAEtBlQ,YACEsJ,OAASrM,MAAO,QAASsT,KAAM,SAAUhE,UAAU,GACnDC,aAAevP,MAAO,eAAgBsT,KAAM,SAAUhE,UAAU,GAChE4E,OAASlU,MAAO,QAASsT,KAAM,UAC/Ba,aAAenU,MAAO,eAAgBsT,KAAM,UAC5Cc,WAAapU,MAAO,aAAcsT,KAAM,UACxCe,cAAgBrU,MAAO,gBAAiBsT,KAAM,SAAUC,OAAQ,QAChEe,YAActU,MAAO,cAAesT,KAAM,UAC1CiB,UAAYjB,KAAM,UAClBkB,UAAYlB,KAAM,UAClBmB,UAAYzU,MAAO,WAAYsT,KAAM,UACrCoB,WAAa1U,MAAO,YAAasT,KAAM,WAEzCqB,mBAAoB,QAAS,kBAInCA,yBAKVC,oBACE5U,MAAO,kBACPsT,KAAM,SACNuB,OACEvS,OAAQ,eAEVwS,aACEC,OAAQ,SACR/U,MAAO,iBACP2O,MAAO,cAYrBqG,GAAa,GAAIC,YAAWxL,EAASxI,GACrC+T,EAAWtW,GAAG,QAAQ,cAItBsW,EAAWtW,GAAG,SAAS,SAASvB,GAE9B,GAA6B,QAAzBA,EAAO2S,IAAIoF,OAAO9T,IAAe,CAEnC,GAAI+T,GAAO3C,EAAYE,EAAgB,EACvCF,GAAYE,EAAgB,GAAMF,EAAYE,GAC9CF,EAAYE,GAAmByC,EAC/BzC,IACAxX,QAAQC,IAAI,qBAAuBuX,MAIvCsC,EAAWtW,GAAG,WAAW,SAASvB,GAEhC,GAA6B,QAAzBA,EAAO2S,IAAIoF,OAAO9T,IAAe,CAEnC,GAAI+T,GAAO3C,EAAYE,EAAgB,EACvCF,GAAYE,EAAgB,GAAMF,EAAYE,GAC9CF,EAAYE,GAAmByC,EAC/BzC,IACAxX,QAAQC,IAAI,qBAAuBuX,MAIvCsC,EAAWtW,GAAG,WAAY,SAASvB,GAEjC,GAAIgF,GAAU6S,EAAWI,UAAU,QAAQ1C,EAE3CF,GAAYE,GAAmBvQ,EAAQkT,WAGvC3C,EAAkBvV,EAAOmY,OACzBnT,EAAU6S,EAAWI,UAAU,QAAQ1C,KAC1BvQ,EAAQoT,SAAS/C,EAAYE,MAM9C,QAASD,GAAUC,GAEjB,IAAK,GADDzS,GAAM9H,QAAQkI,KAAKmS,GACdpP,EAAI,EAAGA,EAAInD,EAAIwE,OAAQrB,IAAK,CACnC,GAAIjB,GAAUlC,EAAImD,EACdsP,IAAmBtP,SACdjB,GAAQG,OAGnB,MAAOrC,GA7MT,GAAI+U,GAAa,KACbxC,EAAc,KACdhS,EAAgB,KAChBkS,EAAkB,CA8MtB7W,GAAO4G,UAAY,WAEjB5G,EAAO2Z,WAAa,YACpB3Z,EAAO4Z,aAAe,6BACtB5Z,EAAO6Z,iBAAkB,EACzBlV,EAAgB3B,EAAO2C,MACrB7C,YAAa,iCACb/C,WAAY,YACZ6F,KAAM,KACNC,MAAO7F,GAIT,IAAIsG,GAAU6S,EAAWI,UAAU,QAAQ1C,EAC3CF,GAAYE,GAAmBvQ,EAAQkT,WAGvCna,QAAQC,IAAIyE,KAAKqF,UAAUuN,EAAa,KAAM,OAC9ChQ,EAAgBmT,QAAQnD,GACrB9X,KAAK,SAASgJ,GAEb7H,EAAO4Z,aAAe,oBACtB5Z,EAAO6Z,iBAAkB,GAExB,SAASza,GACW,gBAAVA,IAAsBA,EAAM6J,QACrCC,MAAM9J,EAAM6J,SACc,gBAAV7J,IAAsBA,EAAMA,OAASA,EAAMA,MAAM6J,QAC/DC,MAAM9J,EAAMA,MAAM6J,SACM,gBAAV7J,GAChB8J,MAAMnF,KAAKqF,UAAUhK,IAErB8J,MAAM9J,MAKdgE,OAKF9G,QAAQC,OAAO,kCACb,mBACA,kCACA,kBACA,YACA,cACA,uBAGDC,QAAQ,iBAAkB,SAAgBE,GACzC,UAEAA,GACGiB,MAAM,+BACLG,IAAK,QAELgF,YAAa,0CACb/E,MACEC,UAAW,aAMlB+B,WAAW,iBAAkB,SAAU,WAAY,SAAU,SAAU,UAAW,SAAU,sBAAuB,YAAa,SAAuBC,EAAQG,EAAUD,EAAQ8C,EAAQ6D,EAAS9J,EAAQ+J,EAAqB7G,GAC9N,UAKA,SAASmD,KACPpD,EAAOsD,eACHuD,EAAQnG,IAAImG,EAAQnG,GAAG,OAAQ,YAAcsG,KAAM/G,EAAUyD,SAE5D1D,EAAOmF,OAAOC,QAAQ9D,SAAQtB,EAAOmF,OAAOC,QAAQ9D,WACzDtB,EAAOqF,MAAQtI,EAAOG,aAAa+J,OAAOjH,EAAOmF,OAAOC,QAAQC,OAChErF,EAAOmE,MAAQnE,EAAOmF,OAAOC,QAAQjB,MAAQnE,EAAOmF,OAAOC,QAAQjB,MAAQnE,EAAOmF,OAAOC,QAAQG,IACjGvF,EAAOkS,YAVTlS,EAAOuK,OACP,IAAI5F,GAAgB,IAapB3E,GAAOkS,UAAY,WACZlS,EAAOmF,OAAOC,QAAQ9D,SAAQtB,EAAOmF,OAAOC,QAAQ9D,UACzD,IAAIA,GAAStB,EAAOmF,OAAOC,QAAQ9D,MACnCA,GAAO,iBAAmBtB,EAAOmF,OAAOC,QAAQ+S,UAAY,QAExDnY,EAAOmF,OAAOC,QAAQkI,IAExBtN,EAAOuN,QAAUvN,EAAOmF,OAAOC,QAAQkI,IAC9BtN,EAAOmF,OAAOC,QAAQC,QAE/BrF,EAAOuN,QAAUvN,EAAOqF,MAAMuC,QAGhCd,EAAoByD,KAAKvK,EAAOuN,QAASjM,GACtCzC,KAAK,SAASgJ,GACRA,IAEL7H,EAAOuK,KAAO1C,EAASiD,KAAK,SAASiP,EAAEC,GACrC,MAAID,GAAE/Z,EAAOmF,OAAOC,QAAQ+S,WAAa6B,EAAEha,EAAOmF,OAAOC,QAAQ+S,WACxD,EAEL4B,EAAE/Z,EAAOmF,OAAOC,QAAQ+S,WAAa6B,EAAEha,EAAOmF,OAAOC,QAAQ+S,YACvD,EAGH,QAMfnY,EAAOia,OAAS,SAAS9I,GACvB,GAAI+I,GAAOla,EAAOuK,KAAKpJ,QAAQgQ,EAC/B,IAAY,GAAR+I,EAAJ,CACA,GAAIC,GAAKD,EAAK,CACdla,GAAOuK,KAAKwE,OAAOoL,EAAI,EAAGna,EAAOuK,KAAKwE,OAAOmL,EAAM,GAAG,MAGxDla,EAAOoa,SAAW,SAASjJ,GACzB,GAAI+I,GAAOla,EAAOuK,KAAKpJ,QAAQgQ,EAC/B,IAAI+I,GAAQla,EAAOuK,KAAK3B,OAAO,EAA/B,CACA,GAAIuR,GAAKD,EAAK,CACdla,GAAOuK,KAAKwE,OAAOoL,EAAI,EAAGna,EAAOuK,KAAKwE,OAAOmL,EAAM,GAAG,MAIxDla,EAAOqa,KAAO,SAASlJ,GACjBnR,EAAOmF,OAAOC,QAAQkV,OACxBta,EAAOmF,OAAOC,QAAQkV,OAAOnJ,EAAKnR,EAAOmF,OAAOC,QAAQG,MAExDrF,EAAOuB,GAAG,+BAAiC4D,MAAOrF,EAAOsG,QAAQ5C,KAAMyB,OAAQnF,EAAOmF,OAAOuB,MAAOjB,GAAI0L,EAAKnR,EAAOmF,OAAOC,QAAQG,QAIvIvF,EAAOua,SAAW,WAGhBva,EAAO2Z,WAAa,YACpB3Z,EAAO4Z,aAAe,wBACtB5Z,EAAO6Z,iBAAkB,EACzBlV,EAAgB3B,EAAO2C,MACrB7C,YAAa,iCACb/C,WAAY,YACZ6F,KAAM,KACNC,MAAO7F,GAIT,IAAIwa,KACJ,KAAK,GAAIjT,KAAKvH,GAAOuK,KAAM,CACzB,GAAI4G,GAAOnR,EAAOuK,KAAKhD,GACnB9B,EAAK0L,EAAKnR,EAAOmF,OAAOC,QAAQG,IACpCiV,GAASC,QAAQhV,GAMnBqB,EAAoBgE,KAAK9K,EAAOmF,OAAOC,QAAQC,MAAOrF,EAAOmF,OAAOC,QAAQG,IAAKvF,EAAOmF,OAAOC,QAAQ+S,UAAWqC,GACjH3b,KAAK,SAASgJ,GACb7H,EAAO4Z,aAAe,oBACtB5Z,EAAO6Z,iBAAkB,GACxB,SAASza,GACW,gBAAVA,IAAsBA,EAAM6J,QACrCC,MAAM9J,EAAM6J,SACc,gBAAV7J,IAAsBA,EAAMA,OAASA,EAAMA,MAAM6J,QAC/DC,MAAM9J,EAAMA,MAAM6J,SACM,gBAAV7J,GAChB8J,MAAMnF,KAAKqF,UAAUhK,IAErB8J,MAAM9J,MAKZgE,OAKF9G,QAAQC,OAAO,kCACb,mBACA,kCACA,kCACA,cAGDC,QAAQ,iBAAkB,SAAgBE,GACzC,UAEAA,GACGiB,MAAM,+BACLG,IAAK,YACLiC,WAAY,gBACZ+C,YAAa,0CACb/E,MACEC,UAAW,aAMlB+B,WAAW,iBAAkB,SAAU,eAAgB,SAAU,sBAAuB,SAAuBC,EAAQ+C,EAAchG,EAAQ+J,GAC5I,UAEA,SAAS1D,KACP0D,EAAoB3H,IAAIa,EAAOqF,MAAMA,MAAOtC,EAAa0C,IACtD5G,KAAK,SAASgJ,GACb7H,EAAOjC,KAAO8J,IAIpBzE,OAKF9G,QAAQC,OAAO,qBACb,eACA,qBACA,mCAGDwD,WAAW,eAAgB,SAAU,iBAAkB,SAAqBC,EAAQ8F,GAGnF,QAAS1C,MAITA,OAKF9G,QAAQC,OAAO,mBACb,mBACA,2BACA,6BACA,cAGDC,QAAQ,iBAAkB,SAAgBE,GACzC,UAEAA,GACGiB,MAAM,gBACLG,IAAK,SACLiC,WAAY,YACZ+C,YAAa,uBACb/E,MACEC,UAAW,cAKlB+B,WAAW,aAAc,SAAU,SAAU,UAAW,SAAU,iBAAkB,eAAgB,SAAmBC,EAAQE,EAAQ2G,EAAS9J,EAAQuD,EAAgBC,GACvK,UAEA,IAAI2C,GAAOC,IAEXA,MAAKC,KAAO,WACVpD,EAAO0a,SACP1a,EAAO2a,WAAazX,EAAKyX,YAG3BxX,KAAKwX,WAAa,WAChBra,EAAesa,MAAM5a,EAAO0a,MAAM9W,MAAO5D,EAAO0a,MAAMG,UACnDhc,KAAK,SAASgJ,GACb,GAAIxG,GAAed,EAAapB,IAAI,eACpCoB,GAAauB,QACTT,EACFnB,EAAOuB,GAAGJ,EAAa1D,MAAMsD,KAAMI,EAAaC,QAEhDpB,EAAOuB,GAAG,eAGbO,MAAM,SAAS6F,GACVA,GAAYA,EAAS,IAAMA,EAAS,GAAGzI,OAASyI,EAAS,GAAGzI,MAAM6J,QACpEC,MAAMrB,EAAS,GAAGzI,MAAM6J,SAExBC,MAAM,qBAKdhG,EAAKE,UAKP9G,QAAQC,OAAO,sBACb,mBACA,6BACA,0BACA,cAGDC,QAAQ,iBAAkB,SAAgBE,GACzC,UAEAA,GACGiB,MAAM,mBACLG,IAAK,YACLiC,WAAY,eACZ+C,YAAa,6BACb/E,MACEC,UAAW,iBAKlB+B,WAAW,gBAAiB,SAAU,SAAU,iBAAkB,cAAe,SAAsBC,EAAQjD,EAAQuD,EAAgBwa,GACtI,UAIA,SAAS1X,MAFTpD,EAAO0a,SAKP1a,EAAO+a,SAAW,WAChBD,EAAYC,SAAS/a,EAAO0a,MAAM9W,MAAO5D,EAAO0a,MAAMG,UACnDhc,KAAK,SAASgJ,GACbvH,EAAesa,MAAM5a,EAAO0a,MAAM9W,MAAO5D,EAAO0a,MAAMG,UACpDhc,KAAK,SAASgJ,GACZ3H,OAAOuB,GAAG,eAEXO,MAAM,SAAS6F,GACdqB,MAAM,yBAGXlH,MAAM,SAAS6F,GACdqB,MAAM,wBAIZ9F,OAMF9G,QAAQC,OAAO,uBAGdoD,SAAS,UACRqb,WAAYrO,OAAOnQ,OAAOwe,YAAc,QACxC9d,aAAcyP,OAAOnQ,SAGvBF,QAAQC,OAAO,mBACb,qBAGD0e,QAAQ,SAAU,SAAU,QAAS,KAAM,SAASle,EAAQme,EAAOC,GAClE,UAEA,IAAIC,KAKJjY,MAAKkY,UAAY,SAASC,EAAQ5X,GAChC,GAAI6X,GAAYH,EAAYE,EAAO,IAAI5X,EACnC6X,IAAaA,EAAUC,SACzBD,EAAUC,gBAELJ,GAAYE,EAAO,IAAI5X,IAMhCP,KAAKsY,UAAY,SAASH,EAAQ5X,EAAM3F,EAAMuD,GAC5C,GAAIoa,GAAWP,EAAGQ,OA2BlB,OA1BAra,GAASA,MACTA,EAAOga,OAASA,EACD,KAAX5X,EAAK,GACPpC,EAAOxD,IAAM4F,GAET3G,EAAOie,YAA+D,KAAjDje,EAAOie,WAAWje,EAAOie,WAAWpS,OAAO,IAAoC,KAAvBlF,EAAKA,EAAKkF,OAAO,KAChG7L,EAAOie,YAAc,KAEvB1Z,EAAOxD,IAAMf,EAAOie,WAAatX,GAGrB,QAAV4X,GAA8B,OAAVA,EACtBha,EAAOvD,KAAOA,EAEduD,EAAOA,OAASvD,EAGlBqd,EAAYE,EAAO,IAAI5X,GAAQgY,EAC/Bpa,EAAOsa,QAAUF,EAASG,QAC1BX,EAAM5Z,GACHzC,KAAK,SAASgJ,GACb6T,EAASF,QAAQ3T,EAAS9J,OACzB,SAAS8J,GACV6T,EAASI,OAAOjU,EAAS9J,QAGtB2d,EAASG,YAKpB/W,EAAEiX,KAAO,SAAUC,EAAM5W,EAAS2D,EAAUkT,GAC1C,GAAIC,GAAKjb,EAAMkb,IAGf,KAAKlb,IAAQmE,GACX+W,EAAIlb,GAAQ+a,EAAKI,MAAMnb,GACvB+a,EAAKI,MAAMnb,GAAQmE,EAAQnE,EAG7Bib,GAAMnT,EAASsT,MAAML,EAAMC,MAG3B,KAAKhb,IAAQmE,GACX4W,EAAKI,MAAMnb,GAAQkb,EAAIlb,EAGzB,OAAOib,IAET5f,QAAQC,OAAO,yCAGd+f,UAAU,kBAAmB,aAAc,SAAUle,GACpD,UAEA,QACIme,QAAS,WACTC,SAAU,KACV3W,OACI4W,QAAS,IACT/E,OAAQ,IACRgF,SAAU,YACVC,WAAY,cACZC,YAAa,IACbC,SAAU,IACVC,WAAY,cACZC,WAAY,IACZC,QAAS,IACTC,QAAS,KAEbC,KAAM,SAAUrX,EAAOmW,EAAMmB,EAAOC,GAG7BvX,EAAM6R,SAAQ7R,EAAM6R,OAAS7R,EAAM6W,UACnC7W,EAAMgX,WAAUhX,EAAMgX,SAAWhX,EAAMiX,YAE5CM,EAAQC,YAAYxU,KAAK,SAASiK,GAGhC,GADKjN,EAAM6R,SAAQ7R,EAAM6R,OAAS7R,EAAM6W,UACnC5J,EAAL,CACA,GAAIwK,GAAOjT,OAAOyI,EAElB,OADIjN,GAAM8W,YAAcW,EAAKC,KAAID,EAAOA,EAAKC,GAAG1X,EAAM8W,aAC/CW,EAAK5F,OAAO7R,EAAM6R,WAG3B7R,EAAM+W,YAAe/W,EAAM+W,aAA4C,gBAAtB/W,GAAM+W,YAA4B/W,EAAM+W,YAAYrN,QAAQ,KAAM,IAAM1J,EAAM+W,WAG/H,IAAIxX,IACFsS,OAAQ7R,EAAM6R,OACd8F,YAAY,EACZZ,YAAa/W,EAAM+W,YAAcvS,OAAOxE,EAAM+W,aAAaa,SAAWxL,OACtE4K,SAAUhX,EAAMgX,SAChBa,mBAAqBX,WAAYlX,EAAMkX,WAAalX,EAAMkX,WAAa,QAErElX,GAAMoX,UAAS7X,EAAQ6X,QAAUpX,EAAMoX,SACvCpX,EAAMmX,UAAS5X,EAAQ4X,QAAUnX,EAAMmX,SAC3ChB,EAAK2B,eAAevY,GAGfS,EAAM4W,UAAS5W,EAAM4W,YAC1B5W,EAAM4W,QAAQmB,KAAO,WACnB5B,EAAK6B,SAIP7B,EAAKnZ,GAAG,OAAQ,WACTgD,EAAM6R,SAAQ7R,EAAM6R,OAAS7R,EAAM6W,SACxC,IAAIoB,GAAYzT,OAAO2R,EAAKvF,MAAO5Q,EAAM6R,OACrCoG,GAAUC,UACZX,EAAQY,cAAcF,GAEtBV,EAAQY,cAAc,aAOlC1hB,QAAQC,OAAO,mCACb,uCACA,uCACA,sCACA,2CACA,+CACA,sCACA,yCACA,wCACA,0CACA,kDACA,6CACA,wCACA,qCACA,+BACA,YACA,WACA,iBACA,uBACA,uBAGD+f,UAAU,kBAAmB,WAAY,SAAS2B,GACjD,UAEA,SAASC,GAAYzG,GACnB,GAAI5Z,GAAW,EACf,QAAO4Z,GACL,QACE5Z,EAAW,mDAEf,MAAOA,GAET,OACE2e,SAAU,IACV3W,OACEN,IAAK,OACLF,MAAO,SACPtH,KAAM,YAERmf,KAAM,SAASrX,EAAO+H,EAASuP,GAC3BvP,EAAQuQ,KAAKD,EAAYrY,EAAM2K,MAAMiH,OAAOmG,OAC5CK,EAASrQ,EAAQwQ,YAAYvY,QAKpCyW,UAAU,kBAAmB,WAAY,SAAS2B,GACjD,UAEA,SAASC,GAAYzG,EAAM5R,GACzB,GAAIhI,GAAW,EACf,QAAO4Z,GACL,IAAK,YAEH5Z,EAAW,sjBAMX,MACF,KAAK,iBAEHA,EAAW,mxBAUX,MACF,KAAK,OAEHA,EAAW,ywBAUX,MACF,KAAK,OAEHA,EAAW,8nBAUX,MACF,KAAK,QAEHA,EAAW,qlBASX,MACF,KAAK,QAEHA,EAAW,0eAMX,MACF,KAAK,WACHA,EAAW,srCAsBX,MACF,KAAK,eACHA,EAAW,0gBAMX,MACF,KAAK,SACH,GAAIwgB,GAAY,kDACZxY,GAAMmE,SAAS7C,QAAQ/B,kBAAmBrG,SAM1Csf,EAJ+C,gBAAtCxY,GAAMmE,SAAS7C,QAAQ/B,QAAQ,IAAoBrG,MAAMC,QAAQ6G,EAAMmE,SAAS7C,QAAQ/B,QAAQ,IAI7F,8CAHA,iFAOhBvH,EAAW,mQAGoCwgB,EAAU,sRAGzD,MACF,KAAK,QACH,GAAIC,GAAW,kCACXzY,GAAMmE,SAAS7C,QAAQ/B,kBAAmBrG,SAM1Cuf,EAJ+C,gBAAtCzY,GAAMmE,SAAS7C,QAAQ/B,QAAQ,IAAoBrG,MAAMC,QAAQ6G,EAAMmE,SAAS7C,QAAQ/B,QAAQ,IAI9F,0BAHA,2BAMfvH,EAAW,8RAGkDygB,EAAS,yaAMtE,MACF,KAAK,SACHzgB,EAAW,6cAMX,MACF,KAAK,UACHA,EAAW,gjBAOX,MACF,KAAK,WACHA,EAAW,ihBAMX,MACF,KAAK,WACHA,EAAW,ysBASX,MACF,KAAK,UACL,IAAK,UACHA,EAAW,kjBAMX,MACF,KAAK,OACL,IAAK,YACHA,EAAW,qjBAMX,MACF,KAAK,WACHA,EAAW,yjBAMX,MACF,KAAK,MACL,IAAK,MACHA,EAAW,6kBAMX,MACF,KAAK,SACHA,EAAW,mkBAMX,MACF,KAAK,cACHA,EAAW,4oBAOX,MACF,KAAK,OACL,QACEA,EAAW,uqCAef,MAAOA,GAGT,QAAS0gB,GAAmB3Q,EAAS4Q,GACnC,GAAIC,GAAS3Z,EAAE8I,GAASpH,KAAK,QAC7B,IAAIgY,GAAaC,EACf,IAAI,GAAIC,KAAQF,GACdC,EAAOC,KAAKA,EAAMF,EAAUE,IAKlC,OACElC,SAAU,IACV3W,OACEN,IAAK,OACLF,MAAO,SACPtH,KAAM,WACN4gB,QAAS,KAEXzB,KAAM,SAASrX,EAAO+H,EAASuP,GAI7B,QAAS/Z,KAgBP,GAdAyC,EAAM+Y,aAAeA,EAGJ,OAAd/Y,EAAMN,KAAqC,gBAAdM,GAAMN,MAC/BM,EAAMR,MAAM6B,WAAWrB,EAAMN,IAAIyE,YACpCnE,EAAMR,MAAM6B,WAAWrB,EAAMN,IAAIyE,cAGnCnE,EAAMR,MAAM6B,WAAWrB,EAAMN,IAAIyE,UAAU7C,QAAUtB,EAAMN,IAC3DM,EAAMN,IAAMM,EAAMN,IAAIyE,UAGxBA,GAAa7C,SAAUsQ,KAAM,SACzB5R,EAAMR,MAAM6B,YAAcrB,EAAMR,MAAM6B,WAAWrB,EAAMN,OAAMyE,EAAWnE,EAAMR,MAAM6B,WAAWrB,EAAMN,OACpGyE,EAEH,WADA3K,SAAQC,IAAI,iDAAmDuG,EAAMR,MAAMpE,KAAO,sBAAwB4E,EAAMN,IAAM,WAGxH,KAAKyE,EAAS7C,UAAY6C,EAAS7C,QAAQsQ,KAGzC,OAFKzN,EAAS7C,UAAS6C,EAAS7C,YAExB6C,EAASyN,MACf,IAAK,OACL,IAAK,OACHzN,EAAS7C,QAAQsQ,KAAO,UACxB,MACF,SAASzN,EAAS7C,QAAQsQ,KAAO,OAKrCoH,EAAc7U,GAGTnE,EAAM9H,KAAK8H,EAAMN,OAASyE,EAAkB,SAAoC,gBAAxBA,GAAkB,UAC7EnE,EAAM9H,KAAK8H,EAAMN,KAAOyE,EAAkB,SAI5CnE,EAAMmE,SAAWA,EACjBnE,EAAMsB,QAAU6C,EAAS7C,QAErB6C,EAAS7C,QAAQ2X,aACnBlR,EAAQuQ,KAAKnU,EAAS7C,QAAQ2X,cAAclB,OAE5ChQ,EAAQuQ,KAAKD,EAAYlU,EAAS7C,QAAQsQ,KAAM5R,IAAQ+X,OAG1DW,EAAmB3Q,EAAS/H,EAAMmE,SAAS7C,QAAQqX,WAE/C3Y,EAAMsB,QAAQ4X,SAAuC,KAA5BlZ,EAAMsB,QAAQ4X,QAAQ,IAAsE,KAAzDlZ,EAAMsB,QAAQ4X,QAAQlZ,EAAMsB,QAAQ4X,QAAQnW,OAAO,KAEjH/C,EAAMsB,QAAQ4X,QAAUlZ,EAAMsB,QAAQ4X,QAAQjP,MAAM,EAAGjK,EAAMsB,QAAQ4X,QAAQnW,OAAO,IAGtFqV,EAASrQ,EAAQwQ,YAAYvY,GAG/B,QAAS+Y,GAAaxf,GAChBA,GAASA,EAAM6J,QACjBe,EAAS7C,QAAQ/H,MAAQA,EAAM6J,cAExBe,GAAS7C,QAAQ/H,MAEtByG,EAAM8Y,SAAS9Y,EAAM8Y,SAASvf,MAAOA,IAG3C,QAASyf,KAIP,GAA8B,SAA1B7U,EAAS7C,QAAQsQ,MAA6C,aAA1BzN,EAAS7C,QAAQsQ,KAAqB,CAC5E,GAAI7O,GAAS/C,EAAM9H,KAAK8H,EAAMN,KAAOM,EAAM9H,KAAK8H,EAAMN,KAAKqD,OAAS,CACpE/C,GAAMmZ,UAAYhV,EAAS7C,QAAQ8X,UAAYrW,EAG/C/C,EAAMqZ,YAAc,SAAS1f,GAE3B,MADAqG,GAAMmZ,UAAYhV,EAAS7C,QAAQ8X,UAAYzf,EAAE2f,OAAOrM,MAAMlK,OAC1DoB,EAAS7C,QAAQ8X,WAAazf,EAAE2f,OAAOrM,MAAMlK,OAASoB,EAAS7C,QAAQ8X,WACzEpZ,EAAMsB,QAAQ/H,MAAQ,qDAAuDyG,EAAMsB,QAAQ8X,UAAY,oBACnGpZ,EAAM8Y,SAAS9Y,EAAM8Y,SAASvf,MAAO,GAAIggB,OAAMvZ,EAAMsB,QAAQ/H,WAExD4K,EAAS7C,QAAQ8X,WAAazf,EAAE2f,OAAOrM,MAAMlK,QAAUoB,EAAS7C,QAAQ8X,WAAazf,EAAE2f,OAAOrM,MAAMlK,OAAS,SAC/G/C,GAAMsB,QAAQ/H,YACdyG,GAAMsB,QAAQkY,eACjBxZ,EAAM8Y,SAAS9Y,EAAM8Y,SAASvf,MAAO,cAEN,IAA1BI,EAAE2f,OAAOrM,MAAMlK,QAAgBoB,EAAS7C,QAAQmY,aACzDzZ,EAAMsB,QAAQ/H,MAAQ,4BAClByG,EAAM8Y,SAAS9Y,EAAM8Y,SAASvf,MAAO,GAAIggB,OAAMvZ,EAAMsB,QAAQ/H,YAKvE,GAA6B,QAAzB4K,EAAS7C,QAAQsQ,MAAkB5R,EAAM9H,KAAK8H,EAAMN,KAAM,CAE5D,GAAIga,GAAW1Z,EAAM9H,KAAK8H,EAAMN,IAGhC,IAFwB,gBAAbga,IAAyBA,EAASA,SAAUA,EAAWA,EAASA,SAC9C,gBAAbA,IAAyBA,EAASC,OAAMD,EAAWA,EAASC,KAAKve,MAC7Ese,EAAU,CACZ,GAAIE,GAAYF,EAASG,cAAc7P,UAAU0P,EAAS3W,OAAO,EAChD,SAAb6W,GAAoC,QAAbA,GAAoC,QAAbA,GAAoC,QAAbA,IACvEzV,EAAW1N,QAAQkI,KAAKwF,GACxBA,EAAS7C,QAAQsQ,KAAO,UAMD,YAAzBzN,EAAS7C,QAAQsQ,OACdzN,EAAS7C,QAAQ/B,UAAS4E,EAAS7C,QAAQ/B,YAC3C4E,EAAS7C,QAAQ/B,QAAQsS,SAAQ1N,EAAS7C,QAAQ/B,QAAQsS,OAAS,wBAGrE7R,EAAM9H,KAAK8H,EAAMN,MAAQyE,EAAS7C,QAAQwY,4BAC7C9Z,EAAM9H,KAAK8H,EAAMN,KAAOM,EAAM9H,KAAKiM,EAAS7C,QAAQwY,4BAGlD9Z,EAAM9H,KAAK8H,EAAMN,MAAQyE,EAAS7C,QAAQyY,sBAAuB,IAEnE/Z,EAAM9H,KAAK8H,EAAMN,KAAOM,EAAM9H,KAAK8H,EAAMN,KAAKsK,UAAU,EAAGhK,EAAM9H,KAAK8H,EAAMN,KAAKqD,OAAO,IAG7D,WAAzBoB,EAAS7C,QAAQsQ,OACnB5R,EAAMga,MAAQ,SAAS9hB,EAAMwH,GAE3B,GAAIuN,GAAQ/U,EAAKwH,EACjB,OAAa0M,SAATa,GAA+B,MAATA,EAAsB9I,EAAS7C,QAAQ2Y,SACjE/hB,EAAKwH,GAAgB,KAATuN,GAAyB,GAATA,EACrB/U,EAAKwH,KAGuB,gBAA1BM,GAAM9H,KAAK8H,EAAMN,OAAmBM,EAAM9H,KAAK8H,EAAMN,KAAO0K,SAASpK,EAAM9H,KAAK8H,EAAMN,QAGtE,UAAzByE,EAAS7C,QAAQsQ,OACkB,SAA1B5R,EAAM9H,KAAK8H,EAAMN,MAAiD,MAAzBM,EAAM9H,KAAK8H,EAAMN,OACnEM,EAAM9H,KAAK8H,EAAMN,KAAOyE,EAAS7C,QAAQ/B,QAAQ8U,KAAO,IAAMlQ,EAAS7C,QAAQ/B,QAAQ+U,KA7I7F,GAAInQ,EAkJJ5G,UAQN9G,QAAQC,OAAO,yCACX,4CACA,mBACA,eACA,kCACA,cAGH+f,UAAU,wBAAyB,WAAY,SAAS2B,GACvD,UAEA,QACEzB,SAAU,IACV3e,SAAU,sDACVgI,OACET,QAAS,WACTrH,KAAM,WACN0V,SAAU,aACVsM,SAAU,YAEZ7C,KAAM,SAASrX,EAAO+H,EAASuP,SAKlCb,UAAU,wBAAyB,WAAY,WAAY,WAAY,SAAU,SAAU,oBAAqB,SAAS2B,EAAU5d,EAAUF,EAAU6C,EAAQjG,EAAQgK,GACtK,UAEA,SAASmX,KAKP,MAJe,2JAOjB,OACE1B,SAAU,IACVD,QAAS,UACT1W,OACEN,IAAK,OACLyE,SAAU,YACV5E,QAAS,WACTrH,KAAM,WACNiiB,UAAW,aACXD,SAAU,eAEZ7C,KAAM,SAASrX,EAAO+H,EAASuP,EAAOC,GAEpCvX,EAAM2B,WAAY,EAClB3B,EAAMoa,aAENpa,EAAMqa,YAAc,WAClB,GAAIC,GAASta,EAAMoa,UAAUG,OAC7BD,GAAO9H,MAAQ8H,EAAO9H,MACtBxS,EAAM9H,KAAO,MAGf8H,EAAMnB,OAAO,6BAA8B,WACzC,GAAImB,EAAMoa,UAAUI,aAAexa,EAAM2B,UAAW,CAElD3B,EAAM2B,WAAY,CAElB,IAAI8Y,GAAQ,GAAIC,MAChBD,GAAME,aAAa,cAAe,aAClCF,EAAMG,OAAS,WACC5a,EAAMoa,UAAUG,QAAQM,WAAW,MACzCC,UAAUL,EAAO,EAAG,IAEJ,gBAAfza,GAAM9H,MAAqB8H,EAAM9H,KAAK6iB,QAC/CN,EAAMO,IAAMhb,EAAM9H,KAAK6iB,QAEvBN,EAAMO,IAAMhb,EAAM9H,SAEf,IAAI8H,EAAMoa,UAAUa,UAAW,CAEpC,GAAIC,GAAUlb,EAAMoa,UAAUa,WAC9Bjb,GAAM9H,KAAOgjB,KAIjBnT,EAAQuQ,KAAKD,KAAeN,OAC5BK,EAASrQ,EAAQwQ,YAAYvY,QAOnCvJ,QAAQC,OAAO,uCACb,oCAGD+f,UAAU,sBAAuB,WAAY,SAAS2B,GACrD,UAEA,QACEzB,SAAU,IACV3e,SAAU,mDACVgI,OACE2K,MAAO,WACPzS,KAAM,YAERmf,KAAM,SAASrX,EAAO+H,EAASuP,SAMlCb,UAAU,sBAAuB,WAAY,YAAa,UAAW,sBAAuB,iBAAkB,SAAS2B,EAAU7d,EAAWyG,EAASC,EAAqBxG,GACzK,UAEA,QACEkc,SAAU,IACV3e,SAAU;8vBAKVgI,OACEN,IAAK,OACLH,QAAS,WACT2a,SAAU,cACVhiB,KAAM,WACNiiB,UAAW,cAEb9C,KAAM,SAASrX,EAAO+H,EAASuP,GAK3B,GAAI6D,GAAUnb,EAAMnB,OAAO,OAAQ,SAAS3G,GAC1C,GAAIA,EAEF,GADAijB,IACInb,EAAM9H,MAAQ8H,EAAM9H,MAAQ8H,EAAM9H,KAAKwhB,SAEzC1Z,EAAM0Z,SAAW1Z,EAAM9H,KAAKwhB,SAC5B1Z,EAAM+a,QAAU/a,EAAM9H,KAAK6iB,QAC3B/a,EAAMob,WAAapb,EAAM9H,KAAKkjB,eACzB,IAA0B,gBAAfpb,GAAM9H,KAAmB,CACzC8H,EAAM+a,QAAU/a,EAAM9H,KAAKwR,QAAQ,OAAQ,IAC3C,IAAI2R,GAAMrb,EAAM+a,QAAQ7N,YAAY,IACpClN,GAAM0Z,SAAW1Z,EAAM+a,QAAQ/Q,UAAUqR,EAAI,OACxC,IAA+B,gBAApBrb,GAAM9H,KAAKyhB,KAAmB,CAC9C,GAAI2B,GAAStb,EAAMT,QAAQ1B,IAC3BmC,GAAM9H,MAAQ2F,KAAMyd,EAAQ3B,KAAM3Z,EAAM9H,KAAKyhB,MAC7C3Z,EAAM0Z,SAAW1Z,EAAM9H,KAAKyhB,KAAKve,KACjC4E,EAAM+a,QAAU,KAChB/a,EAAMob,WAAa,OAKzBpb,GAAMub,YAAc,SAAS7B,GAE3B,OADgBA,EAAS1P,UAAU0P,EAASxM,YAAY,MACvC2M,eACjB,IAAK,OACH,MAAO,gBACT,KAAK,OACL,IAAK,QACH,MAAO,gBACT,KAAK,OACL,IAAK,OACL,IAAK,OACH,MAAO,iBACT,KAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACH,MAAO,iBACT,KAAK,OACL,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACH,MAAO,iBACT,KAAK,OACL,IAAK,QACF,MAAO,iBACV,KAAK,OACL,IAAK,QACF,MAAO,iBACV,KAAK,OACF,MAAO,eACV,SACE,MAAO,cAIX7Z,EAAMwb,aAAe,SAASC,GAE5B,KAAIA,EAAO1Y,OAAS,GAApB,CACA,GAAI2Y,GAAeD,EAAO,GACtBH,EAAStb,EAAMT,QAAQ1B,IAC3BmC,GAAM9H,MAAQ2F,KAAMyd,EAAQ3B,KAAM+B,GAClC1b,EAAM0Z,SAAWgC,EAAatgB,KAC9B4E,EAAM+a,QAAU,OAIlB/a,EAAM0D,MAAQ,SAAS/J,GACrBA,EAAEkC,iBACEmE,EAAMT,QAAQuE,UAEXA,QAAQ,oDAIf9D,EAAM9H,KAAO,KACb8H,EAAM0Z,SAAW,KACjB1Z,EAAM+a,QAAU,OAIlBxgB,EAAUyC,GAAG,OAAQ,SAASlC,GACC,SAAzBA,EAAMwe,OAAOqC,UACf7gB,EAAMe,mBAGVtB,EAAUyC,GAAG,WAAY,SAAUlC,GACjCA,EAAMe,iBAENkM,EAAQpH,KAAK,cAAcvB,SAAS,UAGtCH,EAAE6H,QAAQ9J,GAAG,aAAc,WAEzB+K,EAAQpH,KAAK,cAAcxB,YAAY,UAGzCa,EAAMtG,IAAI,WAAY,WAEpBa,EAAUqhB,IAAI,QACdrhB,EAAUqhB,IAAI,YACd3c,EAAE6H,QAAQ8U,IAAI,qBASxBnlB,QAAQC,OAAO,wCACb,kCACA,6BAGD+f,UAAU,uBAAwB,WAAY,SAAS2B,GACtD,UAEA,QACEzB,SAAU,IACV3e,SAAU,mDACVgI,OACE2K,MAAO,WACPzS,KAAM,YAERmf,KAAM,SAASrX,EAAO+H,EAASuP,SAMlCb,UAAU,uBAAwB,WAAY,YAAa,sBAAuB,eAAgB,iBAAkB,WAAY,SAAS2B,EAAU7d,EAAW0G,EAAqB4a,EAAcphB,EAAgBH,GAChN,UAEA,QACEqc,SAAU,IACV3e,SAAU,s4BASVgI,OACEN,IAAK,OACLH,QAAS,WACT2a,SAAU,cACVhiB,KAAM,WACNiiB,UAAW,cAEb9C,KAAM,SAASrX,EAAO+H,EAASuP,GAC3B,GAAIoE,GAAe,IAEnB1b,GAAM8b,aAAe,aAKrB,IAAIX,GAAUnb,EAAMnB,OAAO,OAAQ,SAAS3G,GAC1C,GAAIA,EAEF,GADAijB,IACKnb,EAAMT,SAAYS,EAAMT,QAAQC,MA6BnCyB,EAAoB3H,IAAI0G,EAAMT,QAAQC,MAAOtH,GAC5Cc,KAAK,SAASgJ,GACRA,IAELhC,EAAM+b,SAAW/Z,EAAShC,EAAMT,QAAQyc,QACnChc,EAAM+b,WAAU/b,EAAM+b,SAAW/Z,EAAoB,WAC1DhC,EAAMic,aAAejc,EAAM+b,gBAjC7B,IAAoB,gBAAT7jB,GAGT,GAFA8H,EAAM+b,SAAW7jB,EACjB8H,EAAMic,aAAejc,EAAMT,QAAQ0c,aAC/Bjc,EAAMic,aAAc,CAEtB,GAAIxB,GAAQ,GAAIC,MAChBD,GAAMyB,QAAU,WACd5hB,EAAS,WACP0F,EAAMic,aAAejc,EAAM+b,YAI/BtB,EAAMO,IAAMhb,EAAMic,iBAElBjc,GAAMic,aAAejc,EAAM+b,aAGJ,gBAAT7jB,KACZA,EAAK6iB,UAAS/a,EAAM+b,SAAW7jB,EAAK6iB,SACpC7iB,EAAK6jB,WAAU/b,EAAM+b,SAAW7jB,EAAK6jB,WACpC/b,EAAM+b,UAAY7jB,EAAKyhB,MAE1BwC,EAAWC,cAAclkB,EAAKyhB,SAkBpCwC,EAAa,GAAIE,WACrBF,GAAWvB,OAAS,SAAU9f,GAE5B,GAAIwgB,GAAStb,EAAMT,QAAQ1B,KACvBye,GAAaze,KAAMyd,EAAQ3B,KAAM+B,EAChC1b,GAAMma,UAAUoC,wBAAuBvc,EAAMma,UAAUoC,0BACxDvc,EAAMT,SAAWS,EAAMT,QAAQyc,QAE5Bhc,EAAMma,UAAUoC,sBAAsBvc,EAAMN,OAAMM,EAAMma,UAAUoC,sBAAsBvc,EAAMN,SACnGM,EAAMma,UAAUoC,sBAAsBvc,EAAMN,KAAKM,EAAMT,QAAQyc,QAAUM,GAGzEtc,EAAMma,UAAUoC,sBAAsBvc,EAAMN,KAAO4c,EAIrDT,EAAaW,0BAA0B1hB,EAAMwe,OAAOpd,OAAQ,SAAS3C,EAAOkjB,GAC1Ezc,EAAM+b,SAAWU,EACjBzc,EAAMic,aAAeQ,EACrBH,EAAU3C,KAAO3Z,EAAM0c,cAAcD,GACrCH,EAAU3C,KAAKve,KAAOsgB,EAAatgB,KAE/B4E,EAAMT,SAAWS,EAAMT,QAAQod,QACjC3c,EAAM8b,aAAe,uBACrB9b,EAAM4c,aAAa,WACjB5c,EAAM8b,aAAe,cACrB9b,EAAMmP,YAECnP,EAAMT,SAAWS,EAAMT,QAAQsd,QACxC7c,EAAM8c,YAAYL,EAASzc,EAAMT,QAAQsd,OAAQ,SAASE,GACxDT,EAAU3C,KAAOoD,IAGrB/c,EAAMmP,YAGVgN,EAAWD,QAAU,SAAS3iB,GAC5BC,QAAQC,IAAIF,IAGdyG,EAAM0D,MAAQ,WACR1D,EAAMT,QAAQuE,UAEXA,QAAQ,sDAIf9D,EAAM9H,KAAO,KACT8H,EAAMma,UAAUoC,uBAAyBvc,EAAMma,UAAUoC,sBAAsBvc,EAAMN,YAEhFM,GAAMma,UAAUoC,sBAAsBvc,EAAMN,WAE9CM,GAAM+b,eACN/b,GAAMic,eAGfjc,EAAMwb,aAAe,SAASC,GAE5B,KAAIA,EAAO1Y,OAAS,GAApB,CACA2Y,EAAeD,EAAO,EAEtB,IAAIuB,IAAY,CACZhd,GAAMT,QAAQ0d,WAChBjd,EAAMT,QAAQ0d,WAAW5jB,QAAQ,SAASugB,GACpC8B,EAAa9J,KAAKsL,MAAM,SAAStD,KACnCoD,GAAY,KAIhBA,GAAY,EAGTA,EAIHb,EAAWC,cAAcV,GAHzBrY,MAAM,6CAA+CrD,EAAMT,QAAQ0d,WAAWE,KAAK,MAAQ,QAO/Fnd,EAAM4c,aAAe,SAAS1Z,GAC5B,GAAI0Q,GAAQwJ,UAAU,EACjBxJ,KAAOA,EAAQ,EACpB,IAAIpS,GAAOC,OAAOD,KAAKxB,EAAMT,QAAQod,OAErC,IAAI/I,GAASpS,EAAKuB,OAEhB,WADAG,IAGF,IAAIma,GAAY7b,EAAKoS,GACjB0J,EAAWtd,EAAMT,QAAQod,OAAOU,EACpCrd,GAAM8c,YAAY9c,EAAM+b,SAAUuB,EAAU,SAASP,GAEnD/c,EAAMma,UAAUoC,sBAAsBvc,EAAMN,KAAK2d,GAAaN,EAC9DnJ,IACA5T,EAAM4c,aAAa1Z,EAAU0Q,MAIjC5T,EAAM8c,YAAc,SAASf,EAAUuB,EAAUpa,GAC/C2Y,EAAagB,OAAOd,EAAUuB,EAAU,SAAS/jB,EAAO2hB,GAEtDhY,EADWlD,EAAM0c,cAAcxB,OAKnClb,EAAM0c,cAAgB,SAASD,GAE7B,GAAIc,EAEAA,GADAd,EAAQe,MAAM,KAAK,GAAGliB,QAAQ,WAAa,EAC9BmiB,KAAKhB,EAAQe,MAAM,KAAK,IAExBE,SAASjB,EAAQe,MAAM,KAAK,GAO7C,KAAK,GAJDG,GAAalB,EAAQe,MAAM,KAAK,GAAGA,MAAM,KAAK,GAAGA,MAAM,KAAK,GAG5DI,EAAK,GAAIC,YAAWN,EAAWxa,QAC1BrB,EAAI,EAAGA,EAAI6b,EAAWxa,OAAQrB,IACnCkc,EAAGlc,GAAK6b,EAAWO,WAAWpc,EAGlC,OAAO,IAAIqc,OAAMH,IAAMhM,KAAK+L,KAG9B3d,EAAMge,WAAa,WAEjB,GAAIhe,EAAMT,SAAWS,EAAMT,QAAQ0e,YAAcje,EAAMT,QAAQ2e,mBAAoB,CAEjF,GAAIzD,GAAQ,GAAIC,MAChBD,GAAMG,OAAS,WACb,GAAIzd,GAAS8B,EAAE,gIACXkf,EAAalf,EAAE,mHAInB,IAHA9B,EAAOihB,OAAOD,GACdlf,EAAE,QAAQmf,OAAOjhB,GAEb6C,EAAMT,QAAQ0e,WAAY,CAE5B,GAAII,GAAQC,KAAKC,IAAIJ,EAAW3L,QAAUiI,EAAMjI,MAAO2L,EAAWvX,SAAW6T,EAAM7T,QAC/E4L,EAAQiI,EAAMjI,MAAQ6L,EACtBzX,EAAS6T,EAAM7T,OAASyX,CAC5BF,GAAW1N,KACT+N,WAAY,+BAAiCxe,EAAM+b,SAAW,IAC9D0C,eAAgBjM,EAAQ,MAAQ5L,EAAS,WAEtC,CAEL,GAAI8X,GAAazf,EAAE,wEACf0f,EAAQ1f,EAAE,uEACdkf,GAAWC,OAAOM,GAClBP,EAAWC,OAAOO,EAClB,IAAIN,GAAQC,KAAKC,IAAIG,EAAWlM,QAAUiI,EAAMjI,MAAOkM,EAAW9X,SAAW6T,EAAM7T,QAC/EgY,EAAiBnE,EAAMjI,MAAQ6L,EAC/BQ,EAAkBpE,EAAM7T,OAASyX,CACrCK,GAAWjO,KACT+N,WAAY,+BAAiCxe,EAAM+b,SAAW,IAC9D0C,eAAgBG,EAAiB,MAAQC,EAAkB,MAE7D,IAAIC,GAAW,CACfT,GAAQS,CACR,IAAIC,GAAYtE,EAAMjI,MAAQ6L,EAC1BW,EAAavE,EAAM7T,OAASyX,CAChCM,GAAMlO,KACJ+N,WAAY,+BAAiCxe,EAAM+b,SAAW,UAC9D0C,eAAgBM,EAAY,MAAQC,EAAa,KACjDC,OAAQ,kBAEV,IAAIC,GAAI,SACJC,EAAI,SAEJC,EAAgB,SAAStkB,GAG3BokB,EAAIpkB,EAAMukB,QACVF,EAAIrkB,EAAMwkB,QACLJ,IAAGA,EAAIpkB,EAAMykB,OACbJ,IAAGA,EAAIrkB,EAAM0kB,OAGlBN,GAAKR,EAAWlM,QAAQ,EAAIoM,EAAe,EAC3CO,GAAKT,EAAW9X,SAAS,EAAIiY,EAAgB,EAG7CK,IAAMH,EAAUH,EAChBO,IAAMH,EAAWH,EACjBK,GAAKP,EAAMnM,QAAQ,EACnB2M,GAAKR,EAAM/X,SAAS,EACpB+X,EAAMlO,KACJgP,mBAAoBP,EAAI,MAAQC,EAAI,KACpCV,eAAgBM,EAAY,MAAQC,EAAa,OAIrDN,GAAW1hB,GAAG,YAAaoiB,GAC3BV,EAAW1W,KAAK,aAAc,SAASlN,GAErC,GAAI4kB,GAAY,GACb5kB,GAAMiV,cAAcE,WAAY,IAAM,GAAKoO,EAAQqB,GAAwB,IAAXZ,EACjET,GAASqB,EACArB,EAAQqB,GAAa,KAC9BrB,GAASqB,GAEXX,EAAYtE,EAAMjI,MAAQ6L,EAC1BW,EAAavE,EAAM7T,OAASyX,EAC5Be,EAActkB,KAIlBqC,EAAOwiB,SAASC,gBAAiB,oBAAqB,IAAK,WACzDzB,EAAWwB,SAASE,QAAS,GAAM,OAErC1B,EAAWnR,MAAM,WACf7P,EAAOwiB,SAASE,QAAS,GAAI,IAAK,WAChC1iB,EAAO6G,cAKbyW,EAAMO,IAAMhb,EAAM+b,aACb,CACL,GAAI+D,GAAkB/X,EAAQpH,KAAK,mBAC/Bmf,GAAgBtN,SAAW,IAC7BsN,EAAgBH,SAASnN,MAAO,QAAS5L,OAAQ,SAAU,KAE3DkZ,EAAgBH,SAASnN,MAAO,QAAS5L,OAAQ,SAAU,OAOjErM,EAAUyC,GAAG,OAAQ,SAASlC,GACC,SAAzBA,EAAMwe,OAAOqC,UACf7gB,EAAMe,mBAIVtB,EAAUyC,GAAG,WAAY,SAAUlC,GACjCA,EAAMe,iBAENkM,EAAQpH,KAAK,eAAevB,SAAS,eACrC2I,EAAQpH,KAAK,qBAAqBvB,SAAS,eAC3C2I,EAAQpH,KAAK,gBAAgBvB,SAAS,eAGxCH,EAAE6H,QAAQ9J,GAAG,aAAc,WAEzB+K,EAAQpH,KAAK,eAAexB,YAAY,eACxC4I,EAAQpH,KAAK,qBAAqBxB,YAAY,eAC9C4I,EAAQpH,KAAK,gBAAgBxB,YAAY,eAG3Ca,EAAMtG,IAAI,WAAY,WAEpBa,EAAUqhB,IAAI,QACdrhB,EAAUqhB,IAAI,YACd3c,EAAE6H,QAAQ8U,IAAI,qBAUxBnlB,QAAQC,OAAO,uCACb,mBACA,kCACA,cAGD+f,UAAU,sBAAuB,WAAY,SAAS2B,GACrD,UAEA,QACEzB,SAAU,IACV3e,SAAU,sDACVgI,OACET,QAAS,WACTrH,KAAM,WACN0V,SAAU,aACVsM,SAAU,cAEZ7C,KAAM,SAASrX,EAAO+H,EAASuP,SAKlCb,UAAU,sBAAuB,WAAY,WAAY,WAAY,SAAU,sBAAuB,SAAS2B,EAAU5d,EAAUF,EAAUpD,EAAQ+J,GACpJ,UAEA,SAASoX,GAAY3Y,GAgBnB,MAfe,g3BAiBjB,OACEiX,SAAU,IACV3W,OACEN,IAAK,OACLyE,SAAU,YACV5E,QAAS,WACTrH,KAAM,WACNiiB,UAAW,aACXD,SAAU,eAEZ7C,KAAM,SAASrX,EAAO+H,EAASuP,GAExBtX,EAAM0E,OAAM1E,EAAM0E,SAClB1E,EAAMT,QAAQwgB,WAAU/f,EAAMT,QAAQwgB,SAAW,YAEtD/f,EAAMggB,iBACJC,YAAa,uBACbC,OAAQ7iB,KAAK8iB,WACbjG,SAAUla,EAAMka,UAGlBla,EAAMogB,QAAU,WACc,UAAxBpgB,EAAMT,QAAQ8gB,OAChBrgB,EAAM9H,KAAO8H,EAAM0E,KAEnB1E,EAAM9H,KAAOgG,KAAKqF,UAAUvD,EAAM0E,OAItC1E,EAAMsgB,QAAU,WACdtgB,EAAM0E,KAAK1B,SACXhD,EAAMogB,WAGRpgB,EAAMugB,WAAa,SAAS3M,GACf5T,EAAM0E,KAAKkP,EACtB5T,GAAM0E,KAAKwE,OAAO0K,EAAO,GACzB5T,EAAMogB,WAGRpgB,EAAMmgB,WAAa,WACjBngB,EAAMogB,UAIMpgB,GAAMwgB,iBAAiB,6BAA8B,SAASC,GAC1E,GAAIzgB,EAAM9H,MAAQ8H,EAAMT,QAEtB,GAAIS,EAAM9H,eAAgBgB,OACxB8G,EAAM0E,KAAO1E,EAAM9H,SAEnB,KACE8H,EAAM0E,KAAOxG,KAAKC,MAAM6B,EAAM9H,MAC9B,MAAMyB,GACNqG,EAAM0E,QACNlL,QAAQD,MAAM,4CAA6CI,KAMnEoO,GAAQuQ,KAAKD,EAAYrY,EAAMT,QAAQG,MAAMqY,OAC7CK,EAASrQ,EAAQwQ,YAAYvY,QAQnCvJ,QAAQC,OAAO,2CACb,8BACA,eACA,oCAED+f,UAAU,0BAA2B,WAAY,SAAS2B,GACzD,UAEA,QACEzB,SAAU,IACV3e,SAAU,sDACVgI,OACET,QAAS,WACTrH,KAAM,WACN0V,SAAU,aACVsM,SAAU,YAEZ7C,KAAM,SAASrX,EAAO+H,EAASuP,SAKlCb,UAAU,0BAA2B,WAAY,KAAM,kBAAmB,SAAS2B,EAAU9C,EAAIoL,GAChG,UAGA,SAASC,KACP,GAAI9K,GAAWP,EAAGQ,OAClB,IAAGrf,QAAQsR,QAAQ,gBAAgBhF,OAEjC,MADA8S,GAASF,UACFE,EAASG,OAElB,IAAI4K,GAAkB3P,SAAS4P,cAAc,SAQ7C,OAPAD,GAAgBhG,OAAS,WACvB/E,EAASF,WAEXiL,EAAgBhhB,GAAK,cACrBghB,EAAgBhP,KAAO,kBACvBgP,EAAgB5F,IAAM,4EACtB/J,SAAS6P,qBAAqB,QAAQ,GAAGC,YAAYH,GAC9C/K,EAASG,QAGlB,QAASqC,KAwBP,MAvBe,ozCA0BjB,OACE1B,SAAU,IACVD,QAAS,UACT1W,OACEN,IAAK,OACLyE,SAAU,YACV5E,QAAS,WACTrH,KAAM,WACNiiB,UAAW,aACXD,SAAU,eAEZ7C,KAAM,SAASrX,EAAO+H,EAASuP,GA+E7B,QAAS0J,KACPhhB,EAAMihB,cAAe,EACrBjhB,EAAMkhB,UAAW,EACjBC,EAAM,GAAIC,QAAOC,KAAKC,IAAI7qB,QAAQsR,QAAQ,eAAe,IACvDwZ,OAAQvhB,EAAMwhB,SACdC,KAAM,KAERC,IAGF,QAASA,KACPC,IAkCF,QAASA,KAEP,GAAG3hB,EAAM9H,KACP,GAAI0pB,EAoBG,CACL,GAAIC,GAAS,GAAIT,QAAOC,KAAKQ,OAAO7hB,EAAM9H,KAAK4pB,IAAI9hB,EAAM9H,KAAK6pB,IAC9DH,GAAeI,YAAYH,GAC3BD,EAAeK,OAAOd,GACtBA,EAAIe,UAAUL,OAxBI,CAClB,GAAIM,GAAW,QACfP,GAAiB,GAAIR,QAAOC,KAAKe,QAC/BzR,SAAU3Q,EAAMwhB,SAChBL,IAAKA,EACLlP,KAAM,GAAImP,QAAOC,KAAKgB,YAAY,2EAA6EF,EAC3G,GAAIf,QAAOC,KAAKiB,KAAK,GAAI,IACzB,GAAIlB,QAAOC,KAAKkB,MAAM,EAAE,GACxB,GAAInB,QAAOC,KAAKkB,MAAM,GAAI,KAC9BC,WAAW,EACXC,QAAS,qBAEXrB,OAAOC,KAAKvmB,MAAM4nB,YAAYd,EAAgB,UAAW,WACvD,GAAIC,IACAC,IAAKF,EAAejR,SAASmR,MAC7BC,IAAKH,EAAejR,SAASoR,MAEjC/hB,GAAM9H,KAAO2pB,EACb7hB,EAAMwQ,aA/Id,GAAI2Q,GAIAwB,EACAf,EACAgB,CAEJ5iB,GAAMihB,cAAe,EACrBjhB,EAAMkhB,UAAW,EACjBlhB,EAAM6iB,eAAiB5V,MAAM,IAC7BjN,EAAM8iB,aAAe,KACrB9iB,EAAM+iB,aAAc,EAEpBpC,IAAa3nB,KAAK,WAEd2pB,EAAW,GAAIvB,QAAOC,KAAK2B,SAE3BhjB,EAAM+iB,aAAc,EACjB/iB,EAAMmE,SAAS7C,QAAQ/B,SAAWS,EAAMmE,SAAS7C,QAAQ/B,QAAQ0jB,eAClEjjB,EAAM+iB,aAAc,EAInB/iB,GAAMmE,SAAS7C,QAAQ/B,SAAWS,EAAMmE,SAAS7C,QAAQ/B,QAAQ2jB,OAC1DljB,EAAMmE,SAAS7C,QAAQ/B,QAAQ2jB,MAIzCnb,EAAQuQ,KAAKD,KAAeN,OAC5BK,EAASrQ,EAAQwQ,YAAYvY,GAI1BA,EAAM9H,MACP0qB,EAAgB5iB,EAAM9H,KACtB8H,EAAMwhB,SAAW/qB,QAAQkI,KAAKqB,EAAM9H,MACpC8oB,KAGAN,EAAgByC,kBAAkBnqB,KAAK,SAAU2X,GAC7C,GAAIyS,IACFtB,IAAKnR,EAAS0S,SACdtB,IAAKpR,EAAS2S,UAEhBV,GAAgBQ,EAChBpjB,EAAM9H,KAAOkrB,EACbpC,MAKNhhB,EAAMnB,OAAO,OAAO,SAAS6P,EAAOC,GAC/BD,GAAQC,IACT3O,EAAMujB,aAAerlB,KAAKqF,UAAUvD,EAAM9H,OAAOgG,KAAKqF,UAAUqf,GAChEjB,OAIJ3hB,EAAMnB,OAAO,WAAW,SAAS6P,EAAOC,GACnCD,GAAQC,IACT3O,EAAMujB,aAAerlB,KAAKqF,UAAUvD,EAAM9H,OAAOgG,KAAKqF,UAAUqf,GAChEjB,OAIJ3hB,EAAMnB,OAAO,WAAW,SAAS6P,EAAOC,GACnCD,GAAQC,IACT3O,EAAMujB,aAAerlB,KAAKqF,UAAUvD,EAAM9H,OAAOgG,KAAKqF,UAAUqf,GAChEjB,QAIL,WACCnoB,QAAQD,MAAM,+BAiBlByG,EAAMwjB,UAAY,WAChBxjB,EAAM8iB,aAAe,KAChB9iB,EAAM6iB,cAAc5V,MAIvB0V,EAASc,SACPC,QAAW1jB,EAAM6iB,cAAc5V,OAC5B,SAASwT,EAASjd,GACfA,GAAU4d,OAAOC,KAAKsC,eAAeC,GACvC5jB,EAAMmP,OAAO,WACV,GAAI0S,IACHC,IAAKrB,EAAQ,GAAGoD,SAASrC,SAASM,MAClCC,IAAKtB,EAAQ,GAAGoD,SAASrC,SAASO,MAErC/hB,GAAM9H,KAAO2pB,EACbb,MAEQxd,IAAW4d,OAAOC,KAAKsC,eAAeG,iBAC7CtqB,QAAQC,IAAI,wDAA0D+J,GAC/DA,IAAW4d,OAAOC,KAAKsC,eAAeI,cAC7C/jB,EAAM8iB,aAAe,qDACrB9iB,EAAMwQ,UACNhX,QAAQC,IAAI,wDAA0D+J,IAExEhK,QAAQC,IAAI,uDAAyD+J,KArB3EH,MAAM,uDA2DVrD,EAAMgkB,YAAc,WAClBhkB,EAAMikB,aAAc,GAGtBjkB,EAAMkkB,YAAc,WACdtB,IAAgB5iB,EAAM9H,KAAO0qB,SAQzCnsB,QAAQC,OAAO,iDAEd+f,UAAU,yBAA0B,WAAY,SAAS2B,GACxD,UAEA,SAASC,KAMP,MAJE,gYAOJ,OACE1B,SAAU,IACVD,QAAS,UACT1W,OACEN,IAAK,OACLyE,SAAU,YACV5E,QAAS,WACTrH,KAAM,WACNiiB,UAAW,aACXD,SAAU,eAEZ7C,KAAM,SAASrX,EAAO+H,EAASuP,EAAOC,GAIpC,QAASha,KACPyC,EAAMmkB,sBACNnkB,EAAM2E,YACDR,IAAUA,MACVA,EAAS7C,UAAS6C,EAAS7C,YAEhC8iB,IACAC,IAGArkB,EAAMskB,yBAA2BA,EAGjCvc,EAAQuQ,KAAKD,KAAeN,OAC5BK,EAASrQ,EAAQwQ,YAAYvY,GAS/B,QAASokB,KACP,GAAI7kB,GAAUS,EAAMT,SAAW4E,EAAS7C,QAAQ/B,OACzB,iBAAZA,KAIPA,EAFEA,EAAQjE,QAAQ,OAAS,EAEjBiE,EAAQie,MAAM,MAGdje,EAAQie,MAAM,KAI5B,IAAI+G,GAAcpgB,EAAS7C,QAAQ5B,KAAO,MACtC8kB,EAAgBrgB,EAAS7C,QAAQ2L,OAAS,OAC9C,IAAI/T,MAAMC,QAAQoG,GAEhB,IAAK,GAAImC,KAAKnC,GAAS,CACrB,GAAI+L,GAAO/L,EAAQmC,EACnB,IAAoB,gBAAT4J,GAAmB,CAE5B,GAAImZ,IAAU/kB,IAAK4L,EAAM2B,MAAO3B,EAChCtL,GAAMmkB,mBAAmBnhB,KAAKyhB,OACzB,IAAInZ,GAAwB,gBAATA,GAAmB,CAE3C,GAAI5L,GAAM4L,EAAKiZ,IAAgB7iB,EAC3B+iB,GAAW/kB,IAAKA,EAAKuN,MAAO3B,EAAKkZ,GAAgBlZ,KAAMA,EAC3DtL,GAAMmkB,mBAAmBnhB,KAAKyhB,QAI7B,IAAIllB,GAA8B,gBAAZA,GAAsB,CAEjD,GAAIiC,GAAOC,OAAOD,KAAKjC,EACvB,KAAK,GAAI8L,KAAK7J,GAAM,CAClB,GAAI9B,GAAM8B,EAAK6J,GACXoZ,GAAW/kB,IAAKA,EAAKuN,MAAO1N,EAAQG,GACxCM,GAAMmkB,mBAAmBnhB,KAAKyhB,KAQpC,QAASJ,KACP,GAAuC,SAA5BlgB,EAAS7C,QAAQ+e,OAAwB,CAClD,GAAI9gB,GAAUS,EAAMT,SAAW4E,EAAS7C,QAAQ/B,OAChD4E,GAAS7C,QAAQ+e,OAAS9gB,YAAmBrG,OAAQ,QAAU,SAEjE,GAA0B,gBAAf8G,GAAM9H,KAAmB,CAC7B8H,EAAM9H,OAAM8H,EAAM9H,KAAO,GAC9B,IAAI6Z,GAAQ/R,EAAM9H,KAAKslB,MAAM,MAC7B,KAAK,GAAI9b,KAAKqQ,GAAO,CACnB,GAAIzG,GAAOyG,EAAMrQ,EACF,MAAX4J,EAAK,KAAWA,EAAOA,EAAKtB,UAAU,EAAGsB,EAAKvI,SACvB,KAAvBuI,EAAKA,EAAKvI,OAAO,KAAWuI,EAAOA,EAAKtB,UAAU,EAAGsB,EAAKvI,OAAO,GACrE,IAAI6Q,GAAQlT,EAAEgkB,UAAU1kB,EAAMmkB,oBAAqBzkB,IAAK4L,GACpDsI,IAAS,IAAG5T,EAAM2E,SAASiP,IAAS,QAErC,IAAI1a,MAAMC,QAAQ6G,EAAM9H,MAAO,CAC/B8H,EAAM9H,OAAM8H,EAAM9H,QACvB,KAAK,GAAIwJ,KAAK1B,GAAM9H,KAAM,CACxB,GAAI+U,GAAQjN,EAAM9H,KAAKwJ,GACnBkS,EAAQlT,EAAEgkB,UAAU1kB,EAAMmkB,oBAAqBzkB,IAAKuN,GACpD2G,IAAS,IAAG5T,EAAM2E,SAASiP,IAAS,QAErC,IAAI5T,EAAM9H,MAA8B,gBAAf8H,GAAM9H,KAAmB,CAClD8H,EAAM9H,OAAM8H,EAAM9H,QACvB,IAAIsJ,GAAOC,OAAOD,KAAKxB,EAAM9H,KAC7B,KAAK,GAAImT,KAAK7J,GAAM,CAClB,GAAI9B,GAAM8B,EAAK6J,GACXuI,EAAQlT,EAAEgkB,UAAU1kB,EAAMmkB,oBAAqBzkB,IAAKA,GACpDkU,IAAS,IAAG5T,EAAM2E,SAASiP,IAAS,KAK9C,QAAS0Q,GAAyB1Q,EAAO+Q,GACvC,GAAItE,GAAqC,UAA5Blc,EAAS7C,QAAQ+e,UAAsD,WAA5Blc,EAAS7C,QAAQ+e,UAA2B,EAEpG,KAAK,GAAI3e,KAAK1B,GAAM2E,SAClB,GAAI3E,EAAM2E,SAASjD,GAAI,CACrB,GAAI+iB,GAASzkB,EAAMmkB,mBAAmBziB,EACtC,QAAQyC,EAAS7C,QAAQ+e,QACvB,IAAK,SACHA,EAAOoE,EAAO/kB,KAAO+kB,EAAOxX,KAC5B,MACF,KAAK,QACHoT,GAAU,IAAMoE,EAAO/kB,IAAM,IAC7B,MACF,KAAK,QACH2gB,EAAOrd,KAAK2hB,EAAerZ,MAAQqZ,EAAejlB,MAO1B,UAA5ByE,EAAS7C,QAAQ+e,QAAsBA,EAAOtd,OAAS,IAAGsd,EAASA,EAAOrW,UAAU,EAAGqW,EAAOtd,OAAO,IAEzG/C,EAAM9H,KAAOmoB,EA9Hf,GAAIlc,GAAWnE,EAAMmE,QAqIrB5G,UAON9G,QAAQC,OAAO,4CAEd+f,UAAU,oBAAqB,WAAY,UAAW,SAAS2B,EAAUwM,GACxE,UAEA,SAASvM,KAGP,MADE,kXAIJ,OACE1B,SAAU,IACVD,QAAS,UACT1W,OACEN,IAAK,OACLyE,SAAU,YACV5E,QAAS,WACTrH,KAAM,WACNiiB,UAAW,aACXD,SAAU,cACVtM,SAAU,cACVkL,QAAS,KAEXzB,KAAM,SAASrX,EAAO+H,EAASuP,EAAOC,GAKpC,QAASha,KAEF4G,IAAUA,MACVA,EAAS7C,UAAS6C,EAAS7C,YACW,SAAhC6C,EAAS7C,QAAQujB,aAA4B1gB,EAAS7C,QAAQujB,WAAa,GACtF7kB,EAAM8kB,YAAcA,EACpB9kB,EAAM+kB,wBAA0BA,EAE5B5gB,EAAS7C,QAAQ0jB,gBAAiB,IACpChlB,EAAM9H,KAAO0sB,EAAQ,oBAAoB5kB,EAAM9H,KAAMiM,EAAS7C,QAAQujB,aAGxE9c,EAAQuQ,KAAKD,KAAeN,OAC5BK,EAASrQ,EAAQwQ,YAAYvY,GAO/B,QAAS8kB,GAAYhqB,GAEnB,GAAImqB,GAAiB,CACrB,IAAIhU,SAASiU,UAAW,CAEtB,GAAIC,GAAQlU,SAASiU,UAAUE,aAC/BD,GAAME,UAAU,aAAcvqB,EAAMwe,OAAOrM,MAAMlK,QACjDkiB,EAAiBE,EAAMG,KAAKviB,YACnBjI,EAAMwe,OAAOiM,gBAAkD,IAAhCzqB,EAAMwe,OAAOiM,kBACrDN,EAAiBnqB,EAAMwe,OAAOiM,eAGhC,IAAItY,GAAQnS,EAAMwe,OAAOrM,KACzB,IAAqB,gBAAVA,GAAX,CACA,GAAIuY,GAAiBvY,EAAM3R,QAAQ,IACnC,MAAIkqB,KAAoB,GAAKA,GAAkBP,GAA/C,CACA,GAAIQ,GAAkBxY,EAAMuQ,MAAM,IAClC,MAAIiI,EAAgB1iB,OAAS,GAC7B,MAAI0iB,GAAgB,GAAG1iB,QAAUoB,EAAS7C,QAAQujB,eAChD/pB,GAAMe,iBADR,SAUF,QAASkpB,GAAwBprB,GAE/B,IAAwB,KAAnBA,EAAE2f,OAAOrM,OAAmC,OAAnBtT,EAAE2f,OAAOrM,SAAoBtT,EAAE2f,OAAOoM,SAASC,SAM3E,YALI3lB,EAAM8Y,SAAW3U,EAAS7C,QAAQmY,WACpCzZ,EAAM8Y,SAASvf,MAAO,GAAIggB,OAAM,+BACvBvZ,EAAM8Y,SACf9Y,EAAM8Y,SAASvf,MAAO,OAK1B,IAAI4K,EAAS7C,QAAQ0jB,gBAAiB,EAAM,CAC1C,GAAIY,GAAgBhB,EAAQ,oBAAoBjrB,EAAE2f,OAAOrM,MAAO9I,EAAS7C,QAAQujB,WACjF,IAAIgB,MAAMD,IAAkB5lB,EAAM8Y,QAEhC,WADA9Y,GAAM8Y,SAASvf,MAAO,GAAIggB,OAAM,iCAGhCvZ,GAAM9H,KAAO0tB,MAEV,IAAIzhB,EAAS7C,QAAQ0jB,gBAAiB,EAAO,CAClD,GAAIa,MAAMnlB,EAAEolB,MAAMnsB,EAAE2f,OAAOrM,SAAW4Y,MAAMzb,SAASzQ,EAAE2f,OAAOrM,QAE5D,YADIjN,EAAM8Y,SAAS9Y,EAAM8Y,SAASvf,MAAO,GAAIggB,OAAM,kCAGrD,IAAIwM,GAAerlB,EAAEolB,MAAMnsB,EAAE2f,OAAOrM,MAAO,EAC3CjN,GAAM9H,KAAO6tB,EAGf,IAAKF,MAAMG,WAAWrsB,EAAE2f,OAAOrM,QAAS,CACtC,GAAkCb,SAA9BjI,EAAS7C,QAAQ2kB,UAA0B9hB,EAAS7C,QAAQ2kB,SAAWD,WAAWrsB,EAAE2f,OAAOrM,OAE7F,YADIjN,EAAM8Y,SAAS9Y,EAAM8Y,SAASvf,MAAO,GAAIggB,OAAM,iDAAmDpV,EAAS7C,QAAQ2kB,SAAW,QAGpI,IAAkC7Z,SAA9BjI,EAAS7C,QAAQ4kB,UAA0B/hB,EAAS7C,QAAQ4kB,SAAWF,WAAWrsB,EAAE2f,OAAOrM,OAE7F,YADIjN,EAAM8Y,SAAS9Y,EAAM8Y,SAASvf,MAAO,GAAIggB,OAAM,oDAAsDpV,EAAS7C,QAAQ4kB,SAAW,QAGnIlmB,GAAM8Y,SAAS9Y,EAAM8Y,SAASvf,MAAO,QAxF7C,GAAI4K,GAAWnE,EAAMmE,QA6FrB5G,UAON9G,QAAQC,OAAO,mDACd,4CACA,mBACA,8BACA,eACA,kCACA,cAGA+f,UAAU,kCAAmC,WAAY,SAAS2B,GACjE,UAED,QACCzB,SAAU,IACV3e,SAAU,sDACVgI,OACCT,QAAS,WACTrH,KAAM,WACN0V,SAAU,aACVsM,SAAU,YAEX7C,KAAM,SAASrX,EAAO+H,EAASuP,SAKhCb,UAAU,kCAAmC,WAAY,WAAY,WAAY,SAAU,QAAS,KAAM,UAAW,SAAU,sBAAuB,kBAAmB,SAAS2B,EAAU5d,EAAUF,EAAU6C,EAAQkY,EAAOC,EAAItU,EAAS9J,EAAQ+J,EAAqByf,GACxQ,UAGD,SAASC,GAAWwF,GACnB,GAAItQ,GAAWP,EAAGQ,OAClB,IAAGrf,QAAQsR,QAAQ,gBAAgBhF,OAElC,MADA8S,GAASF,UACFE,EAASG,OAEjB,IAAI4K,GAAkB3P,SAAS4P,cAAc,SAS7C,OARAD,GAAgBhG,OAAS,WACvB/E,EAASF,WAEXiL,EAAgBhhB,GAAK,cACrBghB,EAAgBhP,KAAO,kBACvBgP,EAAgB5F,IAAM,4EAClBmL,IAAcvF,EAAgB5F,KAAO,QAAUmL,GACnDlV,SAAS6P,qBAAqB,QAAQ,GAAGC,YAAYH,GAC9C/K,EAASG,QAIjB,QAASoQ,GAAgCC,GACxC,MAAOA,GAAI3c,QAAQ,KAAK,KAAKmQ,cAG9B,QAASxB,KAgCR,MA9Be,u9DAiChB,OACC1B,SAAU,IACVD,QAAS,UACT1W,OACCN,IAAK,OACLyE,SAAU,YACV5E,QAAS,WACTrH,KAAM,WACNiiB,UAAW,aACXD,SAAU,eAEX7C,KAAM,SAASrX,EAAO+H,EAASuP,GAmG9B,QAAS0J,KACRhhB,EAAMihB,cAAe,EACrBjhB,EAAMkhB,UAAW,EACjBC,EAAM,GAAIC,QAAOC,KAAKC,IAAIrQ,SAASC,eAAe,eACjDqQ,OAAQvhB,EAAMsmB,QAAQ9E,SACtBC,KAAMA,IAEPC,IAGD,QAASA,KACR6E,IAkCD,QAASA,KACRvmB,EAAMgkB,aAMN,IAAIsC,GAAUE,OAAOnc,QAAO,KAAUrK,EAAMsmB,QAC5CA,GAAQG,OAAS,GAAIH,EAAQG,OAEf,GAAIrF,QAAOC,KAAKqF,OAAOC,cAAcxF,GAC3CyF,WAAWN,EAAS,SAAS7F,EAASjd,GACzCA,GAAU4d,OAAOC,KAAKqF,OAAOG,oBAAoBjD,IACpDkD,EAAcrG,GACVzgB,EAAM+mB,WAAWhkB,OAAS,GAC7BikB,IAEGhnB,EAAMinB,QAAQlkB,OAAS,GAC1BmkB,IAEDC,IACAC,IACAC,IACArnB,EAAMwQ,WAENhX,QAAQC,IAAI,uDAAyD+J,KAuBxE,QAASsjB,GAAcrG,GAClB6G,GACHA,EAAWvoB,OAEZ,KAAK,GAAI2C,GAAI,EAAGA,EAAI+e,EAAQ1d,OAAQrB,IAAK,CACxC1B,EAAMunB,cAAcvkB,KAAKyd,EAAQ/e,GACjC,IAAI4jB,GAAO,cAAgB7E,EAAQ/e,GAAGtG,KAClCosB,EAAS,GAAIpG,QAAOC,KAAKe,QAC5BjB,IAAKA,EACLxQ,SAAU8P,EAAQ/e,GAAGmiB,SAASrC,UAE/BJ,QAAOC,KAAKvmB,MAAM4nB,YAAY8E,EAAQ,QAAS,SAAUA,EAAQlC,GAChE,MAAO,YACNmC,EAAiBD,EAAOE,cACxBJ,EAAWK,WAAWrC,GACtBgC,EAAWxnB,KAAKqhB,EAAKqG,GACrBxnB,EAAM4nB,iBAAiBH,KAEtBD,EAAQlC,IACXtlB,EAAMinB,QAAQjkB,KAAKwkB,IAIrB,QAASN,KACR,IAAK,GAAIxlB,GAAI,EAAGA,EAAI1B,EAAMinB,QAAQlkB,OAAQrB,IACzC1B,EAAMinB,QAAQvlB,GAAGugB,OAAO,MAI1B,QAASkF,KAERnnB,EAAM6nB,OAAS,GAAIzG,QAAOC,KAAKyG,QAC9BvG,OAAQvhB,EAAMsmB,QAAQ9E,SACtBiF,OAAQzmB,EAAMsmB,QAAQG,OACtBsB,YAAa,IACbC,UAAW,UACX7G,IAAKA,IAENnhB,EAAM+mB,WAAW/jB,KAAKhD,EAAM6nB,QAG7B,QAAST,KAER,IAAK,GADDa,GAAS,GAAI7G,QAAOC,KAAK6G,aACpBxmB,EAAI,EAAGA,EAAI1B,EAAMinB,QAAQlkB,OAAQrB,IAAK,CAC9C,GAAI8lB,GAASxnB,EAAMinB,QAAQvlB,EACZ0f,QAAOC,KAAKwC,SAASsE,UAAUC,uBAAuBZ,EAAOE,cAAe1nB,EAAM6nB,OAAOtG,QACzFvhB,EAAMsmB,QAAQG,QAC5BwB,EAAO5d,OAAOmd,EAAOE,eACrB1nB,EAAMqoB,iBAAiBrlB,KAAKwkB,GAE5BA,EAAOvF,OAAOd,IAGdqG,EAAOvF,OAAO,MAIhBd,EAAImH,UAAUL,GACuB,GAAjCjoB,EAAMqoB,iBAAiBtlB,SAC1B/C,EAAMuoB,YAAc,6DAItB,QAASlB,KACR,IAAK,GAAI3lB,GAAI,EAAGA,EAAI1B,EAAMunB,cAAcxkB,OAAQrB,IAAK,CACpD,GAAIxF,GAAS8D,EAAMunB,cAAc7lB,EAClB0f,QAAOC,KAAKwC,SAASsE,UAAUC,uBAAuBlsB,EAAO2nB,SAASrC,SAAUxhB,EAAM6nB,OAAOtG,QAC7FvhB,EAAMsmB,QAAQG,QAE5BzmB,EAAMwoB,uBAAuBxlB,KAAK9G,GAGhC8D,EAAM9H,KAAKuwB,UACdC,EAAwB,GAAItH,QAAOC,KAAKQ,OAAO7hB,EAAM9H,KAAK4pB,IAAK9hB,EAAM9H,KAAK6pB,KAC1E/hB,EAAM4nB,iBAAiBc,IAIzB,QAAS1B,KACR,IAAK,GAAItlB,GAAI,EAAGA,EAAI1B,EAAM+mB,WAAWhkB,OAAQrB,IAC5C1B,EAAM+mB,WAAWrlB,GAAGugB,OAAO,MAC3BjiB,EAAM+mB,WAAWhkB,OAAS,EA/Q5B,GAAIoe,GAGAwB,EAEAlB,EACAgG,EACAH,EACAqB,EACAD,EARAE,EAAgB,QAChBC,EAAQ,EAERpC,EAASoC,EAAQD,CAsBrB,IAfA5oB,EAAM6nB,UACN7nB,EAAMinB,WACNjnB,EAAM+mB,cACN/mB,EAAMunB,iBACNvnB,EAAMqoB,oBACNroB,EAAMwoB,0BACNxoB,EAAMihB,cAAe,EACrBjhB,EAAMkhB,UAAW,EACjBlhB,EAAM8oB,UAAY9oB,EAAMmE,SAAS7C,QAAQ/B,QAAQupB,UACjD9oB,EAAMmmB,aAAenmB,EAAMmE,SAAS7C,QAAQ/B,QAAQ4mB,aACpDnmB,EAAM+oB,YAAc3C,EAAgCpmB,EAAM8oB,YACrD9oB,EAAM9H,OAAM8H,EAAM9H,SACnB8H,EAAMmE,SAAS7C,QAAQ0nB,UAAShpB,EAAM9H,KAAK8wB,QAAUhpB,EAAMmE,SAAS7C,QAAQ0nB,SAG5EhpB,EAAM9H,MAA8B,gBAAf8H,GAAM9H,KAC9B,IACC8H,EAAM9H,KAAOgG,KAAKC,MAAM6B,EAAM9H,MAC7B,MAAOyB,GACRH,QAAQD,MAAMI,GACdqG,EAAM9H,QAGH8H,EAAM9H,KAAKuuB,SAAQzmB,EAAM9H,KAAKuuB,OAASoC,GAE5ClI,EAAW3gB,EAAMmmB,cAAcntB,KAAK,WACnCQ,QAAQC,IAAI,aAAcuG,EAAM9H,MAChCyqB,EAAW,GAAIvB,QAAOC,KAAK2B,SAC3BsE,EAAa,GAAIlG,QAAOC,KAAK4H,WAE5BN,EADE3oB,EAAM9H,KAAKgrB,MACEljB,EAAM9H,KAAKgrB,MAEXljB,EAAM8oB,UAEtB9oB,EAAMsmB,SACLG,OAAQA,EACRvD,MAAOyF,EACP/W,KAAM5R,EAAM+oB,YAGbhhB,EAAQuQ,KAAKD,KAAeN,OAC5BK,EAASrQ,EAAQwQ,YAAYvY,GAqC7BA,EAAMihB,cAAe,EACrBjhB,EAAMkhB,UAAW,EACjBlhB,EAAMkpB,YAEJ,WACF1vB,QAAQD,MAAM,+BAiBfyG,EAAMkpB,SAAW,WAChBlpB,EAAMuoB,YAAc,KACpBvoB,EAAM9H,KAAKgrB,MAAQljB,EAAMsmB,QAAQpD,MACjCljB,EAAMsmB,QAAQG,OAASzmB,EAAM9H,KAAKuuB,OAASmC,CAC3C,IAAII,GAAUhpB,EAAM9H,KAAK8wB,OACpBA,IAA8B,IAAnBA,EAAQjmB,QAGvB4f,EAAW,GAAIvB,QAAOC,KAAK2B,SAC3BL,EAASc,SACRC,QAAWsF,GACT,SAAUvI,EAASjd,GACjBA,GAAU4d,OAAOC,KAAKsC,eAAeC,GACxC5jB,EAAMmP,OAAO,WACZ,GAAI0S,IACHC,IAAKrB,EAAQ,GAAGoD,SAASrC,SAASM,MAClCC,IAAKtB,EAAQ,GAAGoD,SAASrC,SAASO,MAEnC/hB,GAAMsmB,QAAQ9E,SAAWK,EACzB7hB,EAAMmpB,eAAetH,GACrBb,MAESxd,IAAW4d,OAAOC,KAAKsC,eAAeG,iBAChDtqB,QAAQC,IAAI,uDAAyD+J,GAErEhK,QAAQC,IAAI,sDAAwD+J,MAnBtExD,EAAMuoB,YAAc,6BAuDtBvoB,EAAMmpB,eAAiB,SAAUC,GAChCzG,EAAW,GAAIvB,QAAOC,KAAK2B,SAC3BL,EAASc,SAASjC,SAAY4H,GAAc,SAAU3I,EAASjd,GAC9D,GAAIA,IAAW4d,OAAOC,KAAKsC,eAAeC,GACzC,GAAInD,EAAQ,GAAI,CACf,GAAI4I,IACHZ,QAAShI,EAAQ,GAAG6I,SAErBtpB,GAAMupB,4BAA4BF,OAElC7vB,SAAQC,IAAI,uDAAyD+J,OAGtEhK,SAAQC,IAAI,uDAAyD+J,MA0FxExD,EAAM4nB,iBAAmB,SAASH,GACjC,GAAGznB,EAAMwoB,uBAAwB,CAChC,IAAI,GAAI9mB,GAAI,EAAGA,EAAI1B,EAAMwoB,uBAAuBzlB,OAAQrB,IACwE,GAA5H0f,OAAOC,KAAKwC,SAASsE,UAAUC,uBAAuBX,EAAgBznB,EAAMwoB,uBAAuB9mB,GAAGmiB,SAASrC,WACjHxhB,EAAMwoB,uBAAuB9mB,GAAG8nB,SAAU,EAC1CxpB,EAAMypB,oBAAoBzpB,EAAMwoB,uBAAuB9mB,KAEvD1B,EAAMwoB,uBAAuB9mB,GAAG8nB,SAAU,CAG5CxpB,GAAMwQ,YAIRxQ,EAAMgkB,YAAc,WACnBkD,IACAF,IACAhnB,EAAMunB,iBACNvnB,EAAMqoB,oBACNroB,EAAMwoB,0BACNxoB,EAAMinB,YAGPjnB,EAAMupB,4BAA8B,SAAUG,GAC7CtU,QAAU,GAAIgM,QAAOC,KAAKqF,OAAOC,cAAcxF,GAC/C/L,QAAQuU,WAAWD,EAAc,SAASE,EAAOpmB,GAChD,GAAIA,GAAU4d,OAAOC,KAAKqF,OAAOG,oBAAoBjD,GAAI,CACxD,GAAGgG,EAAMC,mBACR,IAAI,GAAInoB,GAAI,EAAGA,EAAIkoB,EAAMC,mBAAmB9mB,OAAQrB,IACR,eAAxCkoB,EAAMC,mBAAmBnoB,GAAGooB,MAAM,KACpC9pB,EAAM9H,KAAK8wB,QAAUY,EAAMC,mBAAmBnoB,GAAGqoB,WAIpD/pB,GAAM9H,KAAK8xB,YAAcJ,EAAMK,2BAE/BzwB,SAAQC,IAAI,wCAKfuG,EAAMypB,oBAAsB,SAAUne,GACrC,GAAIA,EAAM,CACT,GAAIoe,IACHjB,QAASnd,EAAKge,SAEftpB,GAAM9H,KAAKwrB,QAAUpY,EAAK4e,kBAC1BlqB,EAAM9H,KAAK4pB,IAAMxW,EAAKuY,SAASrC,SAASM,MACxC9hB,EAAM9H,KAAK6pB,IAAMzW,EAAKuY,SAASrC,SAASO,MACxC/hB,EAAM9H,KAAKkD,KAAOkQ,EAAKlQ,KACvB4E,EAAM9H,KAAKuwB,QAAUiB,EAAajB,QAElCzoB,EAAMupB,4BAA4BG,KAIpC1pB,EAAMmqB,iBAAmB,SAASC,GACjC,GAAI9E,GAAO,cAAgB8E,EAAgBhvB,KACvCosB,EAAS,GAAIpG,QAAOC,KAAKe,QAC5BjB,IAAKA,EACLxQ,SAAUyZ,EAAgBvG,SAASrC,UAEpC8F,GAAWK,WAAWrC,GACtBgC,EAAWxnB,KAAKqhB,EAAKqG,IAGtBxnB,EAAMqqB,gBAAkB,SAAUC,EAAa9B,GAC9C/xB,QAAQ4C,QAAQmvB,EAAwB,SAAUld,EAAMsI,GACnD0W,GAAe1W,EAClBtI,EAAKke,SAAU,GAEfle,EAAKke,SAAU,EACfxpB,EAAMmqB,iBAAiB7e,GACvBtL,EAAMypB,oBAAoBne,YAUhC7U,QAAQC,OAAO,4CACb,mBACA,kCACA,cAGD+f,UAAU,2BAA4B,WAAY,SAAS2B,GAC1D,UAEA,QACEzB,SAAU,IACV3e,SAAU,sDACVgI,OACET,QAAS,WACTrH,KAAM,WACN0V,SAAU,aACVsM,SAAU,cAEZ7C,KAAM,SAASrX,EAAO+H,EAASuP,SAKlCb,UAAU,2BAA4B,WAAY,WAAY,SAAU,sBAAuB,SAAS2B,SAAU5d,SAAUtD,OAAQ+J,qBACnI,UAEA,SAASoX,aAAYkS,EAAUC,EAAeC,GAiB5C,MAfIF,GAES,uNAEiDC,EAAe,kIAC+BC,EAAiB,0CAIhH,8QAE4FD,EAAe,kIACZC,EAAiB,0CAK/H,OACE9T,SAAU,IACV3W,OACEN,IAAK,OACLyE,SAAU,YACV5E,QAAS,WACTrH,KAAM,WACNiiB,UAAW,aACXD,SAAU,cACVwQ,QAAS,aACTC,eAAgB,oBAChBC,eAAgB,kBAChBC,aAAc,iBAEhBxT,KAAM,SAASrX,MAAO+H,QAASuP,OAS7B,QAASwT,yBAAwBC,QAC/B,GAAsB,gBAAXA,QAAqB,MAAOA,OACvC,KAKE,IAHA,GAAIphB,SAAUzL,KAAKC,MAAM3D,SAASlB,IAAI,YAClCsQ,aAAe,YACfC,SAAWkhB,OAAOzvB,QAAQsO,cACvBC,UAAY,GAAG,CACpB,GAAIC,QAASihB,OAAOzvB,QAAQ,IAAKuO,SACjC,IAAIC,SAAW,EAAG,CAChBtQ,QAAQD,MAAM,iDACd,OAEF,GAAIwQ,YAAaghB,OAAO/gB,UAAUH,SAAS,EAAGC;kDAC9CihB,QAASA,OAAO9gB,MAAM,EAAGJ,UAAYK,KAAKH,YAAcghB,OAAO9gB,MAAMH,OAAO,GAC5ED,SAAWkhB,OAAOzvB,QAAQsO,cAK5B,IAFAA,aAAe,IACfC,SAAWkhB,OAAOzvB,QAAQsO,cACnBC,UAAY,GAAG,CACpB,GAAIC,QAASihB,OAAOzvB,QAAQ,IAAKuO,SACjC,IAAIC,SAAW,EAAG,CAChBtQ,QAAQD,MAAM,iDACd,OAEF,GAAImG,KAAMqrB,OAAO/gB,UAAUH,SAAS,EAAGC,OACvCihB,QAASA,OAAO9gB,MAAM,EAAGJ,UAAY7J,MAAMma,UAAUza,KAAOqrB,OAAO9gB,MAAMH,OAAO,GAChFD,SAAWkhB,OAAOzvB,QAAQsO,eAE5B,MAAMjQ,GACNH,QAAQD,MAAMI,GAEhB,MAAOoxB,QAQT,QAASC,YAAWC,EAAWC,GAC7B,IAAK,GAAIxpB,KAAKupB,GAAW,CACvB,GAAI3f,GAAO2f,EAAUvpB,EACTwpB,GAAQ5vB,QAAQgQ,KACd,GAAG4f,EAAQloB,KAAKsI,IAoInC,QAAS6f,sBACP,GAAInrB,MAAMT,QAAQ6rB,aAEhB,IAAK,GAAI1pB,KAAK1B,OAAM2E,SAASoN,MAAO,CAClC,GAAIsZ,GAAerrB,MAAM2E,SAASoN,MAAMrQ,EAExC2pB,GAAaD,aAAeprB,MAAMT,QAAQ6rB,cA9L/CprB,MAAMwE,OAASA,OACfxE,MAAMsrB,iBAAkB,EACxBtrB,MAAM2E,YACN3E,MAAM2E,SAASoN,SACf/R,MAAM2E,SAAS2G,KAAO,KACtBtL,MAAM0E,QAmDN1E,MAAMurB,eAAiB,SAAS9hB,GAC9B,GAAIjK,GAAQtI,OAAOG,aAAa+J,OAAOpB,MAAMT,QAAQC,OACjD/D,GAAWoP,gBAAiB,IAEhC,IADApP,EAAO,iBAAiBuE,MAAMT,QAAQisB,YAAY,WAAa,IAAM/hB,EAAS,IAC1EzJ,MAAMT,QAAQ2L,MAAO,CAEvB,GAAI1J,GAAOC,OAAOD,KAAKxB,MAAMT,QAAQ2L,MACrC,KAAK,GAAIxJ,KAAKF,GAAM,CAClB,GAAI9B,GAAM8B,EAAKE,EACfjG,GAAO,iBAAmBiE,EAAM,KAAOorB,wBAAwB9qB,MAAMT,QAAQ2L,MAAMxL,KAGvF,GAAIM,MAAMT,QAAQksB,QAAS,CACzB,GAAIjqB,GAAOC,OAAOD,KAAKxB,MAAMT,QAAQksB,QACrC,KAAK,GAAI/pB,KAAKF,GAAM,CAClB,GAAI9B,GAAM8B,EAAKE,EACfjG,GAAOiE,GAAOorB,wBAAwB9qB,MAAMT,QAAQksB,QAAQ/rB,KAGhE,GAAIgI,GAAUlI,EAAMuC,MAChB/B,OAAMT,QAAQkI,MAAKC,EAAUojB,wBAAwB9qB,MAAMT,QAAQkI,MACvExG,oBAAoByD,KAAKgD,EAASjM,GAASiwB,eAAe,IAAO1yB,KAAK,SAASgJ,GAC7E,GAAKA,EAAL,CAEA,GADAhC,MAAM0E,KAAO1C,EACThC,MAAMT,QAAQosB,YAAa,CAC7B,GAAIC,KACJA,GAAW5rB,MAAMT,QAAQisB,aAAe,iBACxCxrB,MAAM0E,KAAK1B,KAAK4oB,GAElB,GAAI5rB,MAAMT,QAAQssB,WAAY,CAC5B,GAAID,KACJA,GAAW5rB,MAAMT,QAAQisB,aAAe,UACxCxrB,MAAM0E,KAAKkQ,QAAQgX,GAGqB,gBAA/B5rB,OAAMT,QAAQusB,cACnB9pB,EAAShC,MAAMT,QAAQusB,eAEzB9rB,MAAM+rB,SAAS/pB,EAAShC,MAAMT,QAAQusB,kBAM9C,IAAI3Q,SAAUnb,MAAMwgB,iBAAiB,6BAA8B,SAASC,GAC1E,GAAIzgB,MAAMma,WAAana,MAAMma,WAAana,MAAMT,SAAWS,MAAMT,QAAQgrB,SAAU,CACjF,IAAKvqB,MAAMmE,SAAS7C,QAAQ0qB,YAQ1B,MAPA7Q,gBAEInb,MAAMma,UAAUna,MAAMmE,SAAS7C,QAAQ/B,QAAQ0sB,gBACjDjsB,MAAM2E,SAASoN,MAAQ/R,MAAMma,UAAUna,MAAMmE,SAAS7C,QAAQ/B,QAAQ0sB,cACtEd,qBACAnrB,MAAM0E,KAAO1E,MAAM2E,SAASoN,OAKhC,IAAIia,GAAc90B,OAAOG,aAAa+J,OAAOpB,MAAMmE,SAAS7C,QAAQ0qB,aAChEE,EAAiBh1B,OAAOG,aAAa+J,OAAOpB,MAAMT,QAAQC,OAC1D2sB,EAAkBH,EAAYjqB,OAE9BqqB,GADqBF,EAAenqB,OACzB/B,MAAMma,UAAUna,MAAMmE,SAAS7C,QAAQ+qB,WACtD,KAAKD,EACH,MAEFjR,UAGA,IAAI1f,KACJ,IAAIuE,MAAMT,QAAQ6rB,aAAc,CAC9B,GAAI5pB,GAAOC,OAAOD,KAAKxB,MAAMT,QAAQ6rB,aACrC,KAAK,GAAI1pB,KAAKF,GAAM,CAClB,GAAI9B,GAAM8B,EAAKE,EACfjG,GAAO,iBAAmBiE,EAAM,KAAOM,MAAMT,QAAQ6rB,aAAa1rB,IAGtEuB,oBAAoBqrB,QAAQH,EAAiBC,EAAUpsB,MAAMT,QAAQ0sB,aAAcxwB,GAASiwB,eAAe,IAC1G1yB,KAAK,SAASgJ,GACb,GAAKA,EACL,GAAIhC,MAAMT,QAAQkI,KAAOzF,EAASe,OAAS,EAAG,CAE5C,GAAItH,IAAU6N,QAAU4B,UACxBzP,GAAO6N,OAAO4B,MAAMlL,MAAMT,QAAQG,MAAQ6sB,OAC1C,KAAK,GAAI7qB,KAAKM,GAAU,CACtB,GAAIsJ,GAAOtJ,EAASN,EACpBjG,GAAO6N,OAAO4B,MAAMlL,MAAMT,QAAQG,KAAK6sB,IAAIvpB,KAAKsI,EAAKtL,MAAMT,QAAQG,MAErEgI,QAAUojB,wBAAwB9qB,MAAMT,QAAQkI,KAChDxG,oBAAoByD,KAAKgD,QAASjM,GAASiwB,eAAe,IAAO1yB,KAAK,SAASgJ,GACxEA,IACLhC,MAAM2E,SAASoN,MAAQ/P,EACvBmpB,qBACAnrB,MAAM0E,KAAO1C,SAGfhC,OAAM2E,SAASoN,MAAQ/P,EACvBmpB,qBACAnrB,MAAM0E,KAAO1C,QAIZ,IAAIhC,MAAM9H,MAAQ8H,MAAMT,SAAWS,MAAMT,QAAQC,MAAO,CAE7D,GAAIA,GAAQtI,OAAOG,aAAa+J,OAAOpB,MAAMT,QAAQC,MAErDyB,qBAAoB3H,IAAIkG,EAAMuC,OAAQ/B,MAAM9H,MAC3Cc,KAAK,SAASgJ,GACRA,IAELhC,MAAM2E,SAAS2G,KAAOtJ,EACtBmpB,qBACAnrB,MAAM0E,MAAQ1E,MAAM2E,SAAS2G,MACzBtL,MAAM4qB,gBAAgB5qB,MAAM4qB,gBAAgB4B,MAASxsB,MAAM2E,SAAS2G,SACvE,SAAS/R,GACR,GAAIyG,MAAMT,QAAQosB,YAAa,CAE7B,GAAIc,KACJA,GAAQzsB,MAAMT,QAAQG,KAAOM,MAAM9H,KACnCu0B,EAAQzsB,MAAMT,QAAQisB,aAAexrB,MAAM9H,KAC3C8H,MAAM2E,SAAS2G,KAAOmhB,EACtBtB,qBACAnrB,MAAM0E,KAAK1B,KAAKypB,QAkB3BzsB,OAAM+rB,SAAW,SAASzgB,EAAM9L,GAC9B,GAAIQ,MAAMT,QAAQgrB,SAAU,CAC1B,GAAIjf,GAA2C,kBAAnCA,EAAKtL,MAAMT,QAAQisB,aAAkC,CAC/D,GAAIve,GAAQlF,QAAQpH,KAAK,0BAA0BiQ,KACnDtF,GAAKtL,MAAMN,KAAOuN,EAKpBke,qBAGInrB,MAAMma,UAAUna,MAAMT,QAAQ0sB,cAEhCjB,WAAWhrB,MAAM2E,SAASoN,MAAO/R,MAAMma,UAAUna,MAAMT,QAAQ0sB,eAE/DjsB,MAAMma,UAAUna,MAAMT,QAAQ0sB,cAAgBjsB,MAAM2E,SAASoN,UAE1D,CAEL/R,MAAM9H,KAAOoT,EAAKtL,MAAMT,QAAQG,KAC5BM,MAAM0qB,UAAS1qB,MAAM0qB,QAAQ1qB,MAAMT,QAAQG,KAAOM,MAAM9H,MAE5D8H,MAAM8C,MAAM,8BAA+B9C,MAAMma,UAAWna,MAAMN,IAAK4L,EACvE,IAAIohB,GAAYphB,EAAKtL,MAAMT,QAAQisB,YAClC,IAAIlgB,GAA2C,kBAAnCA,EAAKtL,MAAMT,QAAQisB,aAAkC,CAE/D,GAAIve,GAAQlF,QAAQpH,KAAK,0BAA0BiQ,KACnD5Q,OAAM9H,KAAO+U,CACb,IAAIwf,KACJA,GAAQzsB,MAAMT,QAAQG,KAAOuN,EAC7Bwf,EAAQzsB,MAAMT,QAAQisB,aAAeve,EACrCjN,MAAM2E,SAAS2G,KAAOmhB,EACtBzsB,MAAM0E,KAAK1B,KAAKypB,OACPnhB,IAA2C,WAAnCA,EAAKtL,MAAMT,QAAQisB,eAEpCxrB,MAAM9H,KAAO,KACbw0B,EAAY,GAMd,IAAI1sB,MAAM0qB,SAAW1qB,MAAM2qB,gBAAkBrf,EAAKtL,MAAMT,QAAQisB,aAC9D,GAAIxrB,MAAM2qB,eAAervB,QAAQ,MAAQ,EAAG,CAG1C,IAAK,GAFDuC,GAAOmC,MAAM2qB,eAAenN,MAAM,KAClCmP,EAAM3sB,MAAM0qB,QACPhpB,EAAI,EAAGA,EAAI7D,EAAKkF,OAAO,EAAGrB,IAAK,CACtC,GAAIyC,GAAWtG,EAAK6D,EACfirB,GAAIxoB,KAAWwoB,EAAIxoB,OACxBwoB,EAAMA,EAAIxoB,GAEZwoB,EAAI9uB,EAAKA,EAAKkF,OAAO,IAAM2pB,MAE3B1sB,OAAM0qB,QAAQ1qB,MAAM2qB,gBAAkB+B,CAI1Crc,YAAW,WAGTrQ,MAAM8C,MAAM,2BACX,KAIR9C,MAAM4sB,SAAW,SAASthB,EAAM9L,GAC9B,GAAIQ,MAAMT,QAAQgrB,SAAU,CAE1B,GAAI3W,GAAQ5T,MAAM2E,SAASoN,MAAMzW,QAAQgQ,EAKzC,IAJIsI,GAAS,IACX5T,MAAM2E,SAASoN,MAAM7I,OAAO0K,EAAO,GACnCuX,sBAEEnrB,MAAMma,UAAUna,MAAMT,QAAQ0sB,cAAe,CAE/C,GAAIjsB,MAAMT,QAAQG,KAAO4L,EAAKtL,MAAMT,QAAQG,KAAM,CAEhD,GAAIwL,KACJA,GAAMlL,MAAMT,QAAQG,KAAO4L,EAAKtL,MAAMT,QAAQG,IAC9C,IAAIkU,GAAQlT,EAAEgkB,UAAU1kB,MAAMma,UAAUna,MAAMT,QAAQ0sB,cAAe/gB,EACjE0I,IAAS,GAAG5T,MAAMma,UAAUna,MAAMT,QAAQ0sB,cAAc/iB,OAAO0K,EAAO,GAG5E,GAAIA,GAAQ5T,MAAMma,UAAUna,MAAMT,QAAQ0sB,cAAc3wB,QAAQgQ,EAC5DsI,IAAS,GAAG5T,MAAMma,UAAUna,MAAMT,QAAQ0sB,cAAc/iB,OAAO0K,EAAO,GAC1EoX,WAAWhrB,MAAM2E,SAASoN,MAAO/R,MAAMma,UAAUna,MAAMT,QAAQ0sB,mBAE/DjsB,OAAMma,UAAUna,MAAMT,QAAQ0sB,cAAgBjsB,MAAM2E,SAASoN,UAI/D/R,OAAM9H,KAAO,MAIjB8H,MAAMtG,IAAI,2BAA4B,WAEpCqO,QAAQpH,KAAK,UAAUksB,QAAQ,SAC/B9kB,QAAQpH,KAAK,0BAA0BqX,UAIzCjQ,QAAQuQ,KAAKD,YAAYrY,MAAMT,QAAQgrB,SAAUvqB,MAAMT,QAAQirB,cAAexqB,MAAMT,QAAQkrB,iBAAiB1S,OAC7GK,SAASrQ,QAAQwQ,YAAYvY,YAQlCvJ,QAAQC,OAAO,gDACb,mBACA,kCACA,cAGD+f,UAAU,+BAAgC,WAAY,SAAS2B,GAC9D,UAEA,QACEzB,SAAU,IACV3e,SAAU,sDACVgI,OACET,QAAS,WACTrH,KAAM,WACN0V,SAAU,aACVsM,SAAU,cAEZ7C,KAAM,SAASrX,EAAO+H,EAASuP,SAKlCb,UAAU,+BAAgC,WAAY,WAAY,WAAY,SAAU,sBAAuB,SAAS2B,SAAU5d,SAAUF,SAAUpD,OAAQ+J,qBAC7J,UAEA,SAASoX,aAAY3Y,EAAK8qB,EAAeC,EAAgBkB,GACvD,GAAImB,GAAmB,+BAgBvB,OAfKnB,KAAamB,GAAoB,kBAAoBptB,GAC3C,8LAE6C8qB,EAAe,gFACnB9qB,EAAI,kEAAoE+qB,EAAiB,6HAG9HqC,EAAiB,sEAEXrC,EAAe,+LAQ1C,OACE9T,SAAU,IACV3W,OACEN,IAAK,OACLyE,SAAU,YACV5E,QAAS,WACTrH,KAAM,WACNiiB,UAAW,aACXD,SAAU,eAEZ7C,KAAM,SAASrX,MAAO+H,QAASuP,OAY7B,QAASwT,yBAAwBC,QAC/B,GAAsB,gBAAXA,QAAqB,MAAOA,OACvC,KAKE,IAHA,GAAIphB,SAAUzL,KAAKC,MAAM3D,SAASlB,IAAI,YAClCsQ,aAAe,YACfC,SAAWkhB,OAAOzvB,QAAQsO,cACvBC,UAAY,GAAG,CACpB,GAAIC,QAASihB,OAAOzvB,QAAQ,IAAKuO,SACjC,IAAIC,SAAW,EAAG,CAChBtQ,QAAQD,MAAM,iDACd,OAEF,GAAIwQ,YAAaghB,OAAO/gB,UAAUH,SAAS,EAAGC,OAC9CihB,QAASA,OAAO9gB,MAAM,EAAGJ,UAAYK,KAAKH,YAAcghB,OAAO9gB,MAAMH,OAAO,GAC5ED,SAAWkhB,OAAOzvB,QAAQsO,cAK5B,IAFAA,aAAe,IACfC,SAAWkhB,OAAOzvB,QAAQsO,cACnBC,UAAY,GAAG,CACpB,GAAIC,QAASihB,OAAOzvB,QAAQ,IAAKuO,SACjC,IAAIC,SAAW,EAAG,CAChBtQ,QAAQD,MAAM,iDACd,OAEF,GAAImG,KAAMqrB,OAAO/gB,UAAUH,SAAS,EAAGC,OACvCihB,QAASA,OAAO9gB,MAAM,EAAGJ,UAAY7J,MAAMma,UAAUza,KAAOqrB,OAAO9gB,MAAMH,OAAO,GAChFD,SAAWkhB,OAAOzvB,QAAQsO,eAE5B,MAAMjQ,GACNH,QAAQD,MAAMI,GAEhB,MAAOoxB,QA3CT/qB,MAAM2E,YACN3E,MAAM2E,SAAS2G,KAAO,KACtBtL,MAAM0E,QACN1E,MAAM+sB,gBAEN/sB,MAAMggB,iBACJC,YAAa,uBACb/F,SAAUla,MAAMka,UAuClBla,MAAMurB,eAAiB,SAAS9hB,GAC9B,GAAIjK,GAAQtI,OAAOG,aAAa+J,OAAOpB,MAAMT,QAAQC,OACjD/D,GAAWoP,gBAAiB,IAEhC,IADApP,EAAO,iBAAiBuE,MAAMT,QAAQisB,YAAY,WAAa,IAAM/hB,EAAS,IAC1EzJ,MAAMT,QAAQ2L,MAAO,CAEvB,GAAI1J,GAAOC,OAAOD,KAAKxB,MAAMT,QAAQ2L,MACrC,KAAK,GAAIxJ,KAAKF,GAAM,CAClB,GAAI9B,GAAM8B,EAAKE,EACfjG,GAAO,iBAAmBiE,EAAM,KAAOorB,wBAAwB9qB,MAAMT,QAAQ2L,MAAMxL,KAGvF,GAAIM,MAAMT,QAAQksB,QAAS,CACzB,GAAIjqB,GAAOC,OAAOD,KAAKxB,MAAMT,QAAQksB,QACrC,KAAK,GAAI/pB,KAAKF,GAAM,CAClB,GAAI9B,GAAM8B,EAAKE,EACfjG,GAAOiE,GAAOorB,wBAAwB9qB,MAAMT,QAAQksB,QAAQ/rB,KAGhE,GAAIgI,GAAUlI,EAAMuC,MAChB/B,OAAMT,QAAQkI,MAAKC,EAAUojB,wBAAwB9qB,MAAMT,QAAQkI,MACvExG,oBAAoByD,KAAKgD,EAASjM,GAAQzC,KAAK,SAASgJ,GACtD,GAAKA,EAAL,CACAhC,MAAM0E,KAAO1C,CAEb,KAAK,GAAIN,KAAK1B,OAAM+sB,aAAc,CAChC,GAAI1B,GAAerrB,MAAM+sB,aAAarrB,GAClC4H,IACJA,GAAOtJ,MAAMT,QAAQG,KAAO2rB,EAAarrB,MAAMT,QAAQG,IACvD,IAAI4L,GAAO5K,EAAEC,KAAKX,MAAM0E,KAAM4E,EAC1BgC,IACFtL,MAAM0E,KAAKwE,OAAOlJ,MAAM0E,KAAKpJ,QAAQgQ,GAAO,GAGhD,GAAItL,MAAMT,QAAQosB,YAAa,CAC7B,GAAIC,KACJA,GAAW5rB,MAAMT,QAAQisB,aAAexrB,MAAMT,QAAQytB,WAAahtB,MAAMT,QAAQytB,WAAa,iBAC9FhtB,MAAM0E,KAAK1B,KAAK4oB,GAGwB,gBAA/B5rB,OAAMT,QAAQusB,cACnB9pB,EAAShC,MAAMT,QAAQusB,eAEzB9rB,MAAM+rB,SAAS/pB,EAAShC,MAAMT,QAAQusB,kBAM9C,IAAI3Q,SAAUnb,MAAMwgB,iBAAiB,6BAA8B,SAASC,GACtEzgB,MAAM9H,MAAQ8H,MAAMT,SAAWS,MAAMT,QAAQC,QAC/C2b,UACAnb,MAAM+sB,aAAe/sB,MAAM9H,OAI/B8H,OAAM+rB,SAAW,SAASzgB,EAAM9L,GAE9B,GADAQ,MAAM8C,MAAM,kCAAmC9C,MAAMma,UAAWna,MAAMN,IAAK4L,IACtEA,EAAKtL,MAAMT,QAAQG,MAAQ4L,EAAKtL,MAAMT,QAAQisB,aAAc,CAC/D,GAAIve,GAAQlF,QAAQpH,KAAK,0BAA0BiQ,KACnDtF,GAAKtL,MAAMT,QAAQG,KAAOuN,EAC1B3B,EAAKtL,MAAMT,QAAQisB,aAAeve,EAEjBvM,EAAEC,KAAKX,MAAM+sB,aAAc,SAASrrB,GACrD,MAAOA,GAAE1B,MAAMT,QAAQG,OAAS4L,EAAKtL,MAAMT,QAAQG,MAASgC,EAAEtG,MAAQkQ,EAAKlQ,MAAQsG,EAAEtG,KAAKye,gBAAkBvO,EAAKlQ,KAAKye,kBAGtH7Z,MAAM+sB,aAAa/pB,KAAKsI,GACxBtL,MAAM9H,KAAO8H,MAAM+sB,cAErBzyB,SAAS,iBACA0F,OAAM2E,SAAS2G,QAI1BtL,MAAMugB,WAAa,SAAS3M,GAC1B,GAAItI,GAAOtL,MAAM+sB,aAAanZ,EAC9B5T,OAAM+sB,aAAa7jB,OAAO0K,EAAO,GACjC5T,MAAM0E,KAAK1B,KAAKsI,IAIlBvD,QAAQuQ,KAAKD,YAAYrY,MAAMT,QAAQG,IAAKM,MAAMT,QAAQirB,cAAexqB,MAAMT,QAAQkrB,eAAgBzqB,MAAMT,QAAQosB,cAAc5T,OACnIK,SAASrQ,QAAQwQ,YAAYvY,YAQnCvJ,QAAQC,OAAO,wCACb,oCAGD+f,UAAU,uBAAwB,WAAY,SAAS2B,GACtD,UAEA,QACEzB,SAAU,IACV3e,SAAU,mDACVgI,OACE2K,MAAO,WACPzS,KAAM,YAERmf,KAAM,SAASrX,EAAO+H,EAASuP,SAMlCb,UAAU,uBAAwB,OAAQ,WAAY,YAAa,sBAAuB,iBAAkB,SAASwW,EAAM7U,EAAU7d,EAAW0G,EAAqBxG,GACpK,UAEA,QACEkc,SAAU,IACV3e,SAAU,43BASVgI,OACEN,IAAK,OACLH,QAAS,WACT2a,SAAU,cACVhiB,KAAM,WACNiiB,UAAW,cAEb9C,KAAM,SAASrX,EAAO+H,EAASuP,GAC7B,GAAIoE,GAAe,IAEnB1b,GAAM8b,aAAe,aAKrB,IAAIX,GAAUnb,EAAMnB,OAAO,OAAQ,SAAS3G,GACtCA,IACFijB,IACoB,gBAATjjB,GACT8H,EAAMktB,SAAWD,EAAKE,mBAAmBj1B,GAChB,gBAATA,KACZA,EAAK6iB,UAAS/a,EAAMktB,SAAWD,EAAKE,mBAAmBj1B,EAAK6iB,UAC5D7iB,EAAKg1B,WAAUltB,EAAMktB,SAAWD,EAAKE,mBAAmBj1B,EAAKg1B,eAMnE/Q,EAAa,GAAIE,WACrBF,GAAWvB,OAAS,SAAU9f,GAE5BkF,EAAMktB,SAAWD,EAAKE,mBAAmBryB,EAAMwe,OAAOpd,QACtD8D,EAAMmP,UAERgN,EAAWD,QAAU,SAAS3iB,GAC5BC,QAAQD,MAAMA,IAGhByG,EAAM0D,MAAQ,WAEZ1D,EAAM9H,KAAO,WACN8H,GAAMktB,UAGfltB,EAAMwb,aAAe,SAASC,GAE5B,KAAIA,EAAO1Y,OAAS,GAApB,CACA2Y,EAAeD,EAAO,EACtB,IAAIH,GAAStb,EAAMT,QAAQ1B,IAC3BmC,GAAM9H,MAAQ2F,KAAMyd,EAAQ3B,KAAM+B,GAGlCS,EAAWC,cAAcV,KAI3BnhB,EAAUyC,GAAG,OAAQ,SAASlC,GACC,SAAzBA,EAAMwe,OAAOqC,UACf7gB,EAAMe,mBAIVtB,EAAUyC,GAAG,WAAY,SAAUlC,GACjCA,EAAMe,iBAENkM,EAAQpH,KAAK,eAAevB,SAAS,eACrC2I,EAAQpH,KAAK,qBAAqBvB,SAAS,eAC3C2I,EAAQpH,KAAK,gBAAgBvB,SAAS,eAGxCH,EAAE6H,QAAQ9J,GAAG,aAAc,WAEzB+K,EAAQpH,KAAK,eAAexB,YAAY,eACxC4I,EAAQpH,KAAK,qBAAqBxB,YAAY,eAC9C4I,EAAQpH,KAAK,gBAAgBxB,YAAY,eAG3Ca,EAAMtG,IAAI,WAAY,WAEpBa,EAAUqhB,IAAI,QACdrhB,EAAUqhB,IAAI,YACd3c,EAAE6H,QAAQ8U,IAAI,qBAStBnlB,QAAQC,OAAO,0CACb,4CACA,mBACA,eACA,kCACA,cAGD+f,UAAU,yBAA0B,WAAY,SAAS2B,GACxD,UAEA,QACEzB,SAAU,IACV3e,SAAU,sDACVgI,OACET,QAAS,WACTrH,KAAM,WACN0V,SAAU,aACVsM,SAAU,YAEZ7C,KAAM,SAASrX,EAAO+H,EAASuP,SAKlCb,UAAU,yBAA0B,WAAY,WAAY,WAAY,SAAU,SAAU,oBAAqB,SAAS2B,EAAU5d,EAAUF,EAAU6C,EAAQjG,EAAQgK,GACvK,UAEA,SAASmX,GAAYrY,GACnB,GAAIotB,GAAY,EAChB,IAAGptB,EAAMT,SAAWS,EAAMT,QAAQ8tB,MAEhC,IAAK,GADDA,GAAQrtB,EAAMT,QAAQ8tB,MACjB3rB,EAAI,EAAGA,EAAI2rB,EAAMtqB,OAAQrB,IAChC0rB,GAAa,8BAAgCC,EAAM3rB,GAAK,2BAA6B2rB,EAAM3rB,GAAK,QAAU2rB,EAAM3rB,GAAK,WAsEzH,OAnEe,2bAK4C0rB,EAAU,6xIAgEvE,OACEzW,SAAU,IACVD,QAAS,UACT1W,OACEN,IAAK,OACLyE,SAAU,YACV5E,QAAS,WACTrH,KAAM,WACNiiB,UAAW,aACXD,SAAU,eAEZ7C,KAAM,SAASrX,EAAO+H,EAASuP,EAAOC,GAGpC,QAASha,KACPyC,EAAMstB,eAAgB,EACtBttB,EAAMutB,eAAiBA,EACvBvtB,EAAMwb,aAAeA,EACrBxb,EAAMwtB,eAAiBA,EAEvBzlB,EAAQuQ,KAAKD,EAAYrY,IAAQ+X,OACjCK,EAASrQ,EAAQwQ,YAAYvY,GAE7BytB,IACAC,IAEAC,EAAaC,IAAIpZ,KAAKzM,EAAQpH,KAAK,gBAAgB,IACnDgtB,EAAWE,aAAaC,QAAQ,iBAEhC7uB,EAAE8I,GAASpH,KAAK,8CAA8CotB,KAAK,WACjE,GAAIC,GAAU/uB,EAAE3B,KAAgB2B,GAAE+uB,EAAQ91B,KAAK,UAC/C81B,GAAQvd,KAAKoP,QAAS,EAAGlP,SAAU,WAAY6B,MAAO,OAAQ5L,OAAQ,OAAQ2J,IAAK,IAAK0d,KAAM,QAGhG1W,EAAQ2W,QAAU,WAChBC,EAAS7V,KAAKf,EAAQ6W,YAAc,KAGtCD,EAASnmB,KAAK,oBAAqB,WACjChI,EAAMmP,OAAO,WACXoI,EAAQY,cAAcgW,EAAS7V,YAInCqV,EAAW3wB,GAAG,OAAQ,WACpBua,EAAQY,cAAcwV,EAAWha,YACjCwa,EAAS7V,KAAKf,EAAQ6W,cAI1B,QAASX,KAEP,GAAIY,GAAYpvB,EAAE,mBACdqvB,EAAc,CACfD,IAAaA,EAAUtrB,OAAS,IACjCurB,EAAcD,EAAUtrB,QAE1BorB,EAAW13B,QAAQsR,QAAQA,GAASpH,KAAK,kBACzC,IAAI4tB,GAAW,kBAAkBD,EAC7BE,EAAY,SAASF,EAAY,UACrCH,GAAStV,KAAK,KAAM0V,EACpB,IAAIE,GAAWh4B,QAAQsR,QAAQA,GAASpH,KAAK,mBAC7C8tB,GAAS5V,KAAK,YAAa2V,GAC3BC,EAAS5V,KAAK,cAAe,IAAI0V,GAE5BvuB,EAAMka,UAAUiU,EAASO,SAC5BC,gBAAiB,cAAcH,EAAU,IACzCI,WACAC,mBAAmB,IAIvB,QAASnB,KACP,GAAIoB,GAAer4B,QAAQsR,QAAQA,GAASpH,KAAK,qBAC9CmuB,IACDA,EAAaC,UACXC,MAAM,EACNC,WAAY,GACZC,qBAAqB,EACrBC,gBAAiB,MACjBC,WAAW,EACXC,OAAQ,SAASrjB,GACf/M,EAAE3B,MAAMgyB,QAAQ,aAAa3uB,KAAK,iBAAiB8P,KAAKmP,gBAAiB5T,EAAMujB,gBAC/EpB,EAASnW,QACT/G,SAASue,YAAY,YAAa,EAAIxjB,EAAMujB,eAC5CtwB,EAAE3B,MAAMkW,OAAO,SAASrU,YAAY,WAM5C,QAASouB,GAAezyB,GACtB,GAAI20B,GAAWxwB,EAAEnE,EAAM40B,eAAelc,SAAS7S,KAAK,QAChD8uB,GAASvwB,SAAS,QACpBuwB,EAAStwB,YAAY,QAErBswB,EAASrwB,SAAS,QAItB,QAASoc,GAAaC,GACpB,GAAKzb,EAAMT,QAAQowB,kBAAqC,GAAjBlU,EAAO1Y,OAA9C,CACA/C,EAAMwD,OAAS,kBACfxD,EAAMyD,SAAW,CACjB,IAAI3E,GAAgB3B,EAAO2C,MACzB7C,YAAa,oDACb/C,WAAY,0BACZ8F,MAAOA,GAETkB,GAAkB0uB,WAAWnU,EAAO,GAAIzb,EAAMT,QAAQswB,WACnD72B,KAAK,SAASkD,GACb8D,EAAMwD,OAAS,kBACfyN,SAASue,YAAY,cAAe,EAAGtzB,EAAO6e,SAC9Cjc,EAAcC,SACb,SAASxF,GACVC,QAAQD,MAAMA,GACdyG,EAAMwD,OAAS,4EACd,SAASC,GACVzD,EAAMyD,SAAWA,KAIvB,QAAS+pB,KAEP,GADAxtB,EAAMstB,eAAiBttB,EAAMstB,cACzBttB,EAAMstB,cAAe,CACvB,GAAIwC,GAAW3B,EAAS,GAAG4B,SAC3BD,GAAWE,cAAcF,GAAWG,YAAa,IACjD1Y,EAAQY,cAAc2X,GACtBnC,EAAW9Z,SAASic,OAEpBvY,GAAQY,cAAcwV,EAAWha,YACjCwa,EAAS7V,KAAKf,EAAQ6W,YAvH1B,GAAID,GAAUR,CA2HdpwB,UASN9G,QAAQC,OAAO,mCAGd+f,UAAU,YAAa,WAAY,UAAW,SAASnc,EAAU0G,GAChE,OACE2V,SAAU,IACVU,KAAM,SAASrX,EAAO+H,EAASuP,GAW7B,QAAS4I,KACPnY,EAAQ0I,KAAM7J,OAAU,OAAQspB,aAAc,WAC9CnoB,EAAQ0I,IAAI,SAAU1I,EAAQ,GAAGooB,aAAe,MAXlDnwB,EAAMowB,kBAAoB,IAE1BroB,EAAQ0I,KAAM7J,OAAU,OAAQspB,aAAc,WAC9C51B,EAAS,WACP,GAAI61B,GAAepoB,EAAQ,GAAGooB,aAC1BvpB,EAAS0X,KAAK+R,IAAIF,EAAcnwB,EAAMowB,kBAC1CroB,GAAQ0I,IAAI,SAAU7J,EAAS,OAC9B,KAOHmB,EAAQ/K,GAAG,QAASkjB,GACpBnY,EAAQ/K,GAAG,OAAQkjB,GACnBzpB,QAAQsR,QAAQ/G,GAASgH,KAAK,SAAUkY,QAI9CzpB,QAAQC,OAAO,2BAGfD,QAAQC,OAAO,wBAMd4S,OAAO,mBAAoB,WAC5B,UAEE,OAAO,UAASgnB,EAAQjS,GACtB,GAAsB,SAAXiS,EAAwB,MAAO,EAC1CrjB,OAAQqjB,EAAS,EACjB,IAAI9K,GAAiBvY,MAAM3R,QAAQ,IAC/BkqB,MAAoB,EAAGvY,OAAS,KACR,IAAnBuY,IAAsBvY,MAAQ,IAAMA,MAC7C,IAAIwY,GAAkBxY,MAAMuQ,MAAM,IAClC,IAAIiI,EAAgB1iB,OAAS,EAAG,CAE9B,GADK0iB,EAAgB,IAAoC,IAA9BA,EAAgB,GAAG1iB,SAAc0iB,EAAgB,GAAK,GAC7EI,MAAMzb,SAASqb,EAAgB,KAAM,MAAO8K,IAEhD,IADAtjB,MAAQ7C,SAASqb,EAAgB,IAAM,IACE,OAArCA,EAAgB,GAAGvI,MAAM,QAC3B,MAAOqT,IAOT,IANW9K,EAAgB,GAAG1iB,OAASsb,EAErCpR,OAASwY,EAAgB,GAAGzb,UAAU,EAAGqU,GAEzCpR,OAASwY,EAAgB,GAEvBA,EAAgB,GAAG1iB,OAASsb,EAE9B,IAAK,GAAI3c,GAAI,EAAGA,EAAI2c,EAAQoH,EAAgB,GAAG1iB,OAAQrB,IACrDuL,OAAS,IAIf,MAAOA,UAIXxW,QAAQC,OAAO,4BACb,mBACA,kBACA,cAGD0e,QAAQ,eAAgB,WACvB,UAEA9X,MAAKkzB,cAAgB,IAErBlzB,KAAKhE,IAAM,SAASoG,GAClB,IAAI+wB,aAAaC,QAAQhxB,GAAM,MAAO,KACtC,KAEI,MADaxB,MAAKC,MAAMsyB,aAAaC,QAAQhxB,IAGjD,MAAO/F,GACH,MAAO,QAIb2D,KAAK5B,IAAM,SAASgE,EAAIuN,GACtB,IACIwjB,aAAaE,QAAQjxB,EAAIxB,KAAKqF,UAAU0J,IAC1C,MAAMtT,GACJ2D,KAAK0G,OAAOtE,KAIlBpC,KAAK0G,OAAS,SAAStE,GACrB+wB,aAAalQ,WAAW7gB,IAG1BpC,KAAKoP,gBAAkB,SAASpN,EAAO7D,GACrC,GAAIiE,GAAMJ,EAAOC,QAAQC,MAAQlC,KAAKkzB,cAAgBlxB,EAAOV,KAG7D,OAFIU,GAAOC,QAAQkI,MAAK/H,EAAMJ,EAAOC,QAAQkI,KAC1ChM,IAAQiE,GAAOpC,KAAKkzB,cAAgBtyB,KAAKqF,UAAU9H,IAC/CiE,GAGTpC,KAAKoG,MAAQ,SAASlE,GACpB,GAAIE,GAAMF,EACNoxB,EAAQ,GAAIC,QAAO,IAAInxB,EAC3B,KAAI,GAAI2L,KAAKolB,cAENG,EAAMxoB,KAAKiD,IAEV/N,KAAK0G,OAAOqH,IAKtB/N,KAAKrB,MAAQ,WAEXw0B,aAAa/sB,WAMjBjN,QAAQC,OAAO,gCACb,mBACA,oBAGD0e,QAAQ,oBAAqB,WAAY,SAAU,SAAS5a,EAAUtD,GACrE,UAEA,IAAImG,GAAOC,KACPwzB,KACAC,IAKJzzB,MAAKkB,cAAgB,WACnB,GAAIH,GAAQ5H,QAAQu6B,SAASx2B,EAASlB,IAAI,SAC1C,IAAGoH,EAAEuwB,QAAQF,KAAUrwB,EAAEwwB,QAAQJ,EAAQzyB,GAAQ,CAE/CyyB,EAASzyB,CACT,IAAIE,GAAM9H,QAAQkI,KAAKzH,EAAOG,aAAakH,IAC3CwyB,GAAO1zB,EAAK8zB,kBAAkB5yB,GAEhC,MAAOwyB,IASTzzB,KAAKoB,cAAgB,SAAS0yB,EAAS3yB,GACrC,GAAIA,EAAW3G,MACb,MAAO2G,EACF,IAAIA,EAAWhD,SAAWgD,EAAWhD,OAAO6D,OAAQ,CAEzD,GAAIf,GAAMmC,EAAEC,KAAKywB,GAAUvzB,KAAMY,EAAWhD,OAAO+D,OACnD,IAAIjB,EAAK,CACP,GAAIA,EAAI8yB,OAAQ,CAEd,IAAK,GAAI3vB,GAAI,EAAGA,EAAI0vB,EAAQruB,SAC1BxE,EAAM6yB,EAAQ1vB,GACdjD,GAAehD,QAAU+D,MAAOjB,EAAIV,OAC/BU,EAAI8yB,QAHyB3vB,KAKpC,GAAInD,EAAI8yB,OAAQ,MAAO,MAEzB,GAAIzwB,GAASrC,EAAIqC,OAAOrC,EAAI2U,mBACxBtS,IACGnC,EAAWhD,SAAQgD,EAAWhD,WACnCgD,EAAWhD,OAAO6D,OAASsB,EAAOC,MAClCpC,EAAWG,MAAQgC,EAAOhC,OAE1BpF,QAAQD,MAAM,uCAAwCgF,IAI5D,MAAOE,IAMTnB,KAAK6zB,kBAAoB,SAASG,GAChC,IAAK,GAAI7lB,KAAO6lB,GAAO,CACrB,GAAIC,GAAOD,EAAM7lB,EAEjB,IAAIpO,EAAKm0B,UAAUV,EAAQS,IACzB,GAAIA,EAAKE,eAAe,WACtBF,EAAK3wB,OAAOmC,OAAS,EAAG,CACxB,GAAI2uB,GAAWp0B,KAAK6zB,kBAAkBI,EAAK3wB,OAC3C,IAAI8wB,IACFH,EAAK3wB,OAAS8wB,EAEkB,OAA5BH,EAAKre,oBAA2D9G,SAA5BmlB,EAAKre,oBACvCqe,EAAK3wB,OAAO2wB,EAAKre,qBAAuBqe,EAAK3wB,OAAO2wB,EAAKre,oBAAoBme,QAE/E,IAAK,GAAIM,KAAeJ,GAAK3wB,OAAQ,CACnC,GAAIA,GAAS2wB,EAAK3wB,OAAO+wB,EACzB,IAAIt0B,EAAKm0B,UAAUV,EAAQlwB,KAAYA,EAAOywB,OAAQ,CACpDE,EAAKre,mBAAqB9I,SAASunB,EACnC,cASZJ,GAAKF,QAAS,EAGlB,MAAOC,IAMTh0B,KAAKk0B,UAAY,SAASnzB,EAAOkzB,GAE/B,KAAKA,EAAKE,eAAe,UACrBF,EAAKlzB,gBAAiBnF,QACxB,OAAO,CAET,KAAK,GAAIuS,KAAOpN,GACd,GAAIkzB,EAAKlzB,MAAM/C,QAAQ+C,EAAMoN,GAAKrQ,OAAS,EACzC,OAAO,CAIX,QAAO,MAKX3E,QAAQC,OAAO,iCACb,mBACA,kBACA,YACA,sBAGD0e,QAAQ,qBAAsB,WAAY,KAAM,UAAW,SAAU,QAAS,SAAS5a,EAAU8a,EAAIsc,EAAS16B,EAAQ26B,GACrH,UAEA,IAAIx0B,GAAOC,IAEXA,MAAKw0B,iBAAmB,SAASj0B,EAAMk0B,GACrC,GAAIt2B,IACAu2B,aAAcx3B,EAASlB,IAAI,eAC3BuE,KAAMA,EACNk0B,SAAUA,EACV9oB,GAAG,GAAI5M,OAAO41B,UAElB,OAAOJ,GAAMjc,UAAU,MAAO1e,EAAOG,aAAa66B,WAAa,sBAAuBz2B,IAGxF6B,KAAK60B,kBAAoB,SAASC,GAChC,OACE1yB,IAAK0yB,EAAYC,eACjBC,eAAgBF,EAAYE,eAC5BC,IAAK,cACLC,OAAQJ,EAAYI,OACpBpY,UAAWgY,EAAYhY,UAEvBqY,sBAAuB,MACvBC,gBAAiB,qBAKrBp1B,KAAKsyB,WAAa,SAASjW,EAAM9b,IACX,gBAAT8b,IAAqBA,YAAgBgZ,SAAmC,GAAzBhZ,EAAKre,QAAQ,YAErEqe,EAAOtc,EAAKqf,cAAc/C,GAG5B,IAAIoY,GAAW,EACXpY,GAAK/H,KACPmgB,EAAWpY,EAAK/H,KACP+H,EAAKve,OACd22B,EAAW10B,EAAKu1B,oBAAoBjZ,EAAKve,MAI3C,IAAIya,GAAWP,EAAGQ,OA6ClB,OA5CAzY,GAAKy0B,iBAAiBj0B,EAAMk0B,EAAWA,EAAW,IAAI/4B,KAAK,SAASo5B,GAClER,EAAQiB,QACN56B,IAAKm6B,EAAYU,UACjBrd,OAAQ,OACRvd,KAAOmF,EAAK80B,kBAAkBC,GAC9BzY,KAAMA,IACLlW,SAAS,SAAS3I,GAEnB,GAAI2I,GAAY3I,EAAc,SAAI6e,EAAK5Z,IACvC8V,GAASkd,OAAOtvB,KACfuvB,QAAQ,SAAS96B,GAElB,GAAI+6B,GACAC,GAAS,GAAIC,YAAYC,gBAAgBl7B,EAAM,WAEnD,KAEE+6B,EADmBC,EAAOG,SAAS,yBAA0BH,EAAQ,KAAMI,YAAYC,YAAa,MACzEC,YAC3B,MAAM75B,GAEN,IAAK,GADD+K,GAAOwuB,EAAOO,gBAAgBC,WACzBhyB,EAAE,EAAGA,EAAEgD,EAAK3B,OAAQrB,IAAK,CAChC,GAAIiyB,GAAOjvB,EAAKhD,EAChB,IAAqB,YAAjBiyB,EAAKhY,SAAwB,CAC/BsX,EAAcU,EAAKC,WAAWC,SAC9B,SAKNhe,EAASF,SACP+D,SAAUC,EAAKve,KACf2E,KAAM4Z,EAAK5Z,KACXgb,QAASkY,MAEV15B,MAAM,SAASA,GAEhBC,QAAQC,IAAIF,GACZsc,EAASI,OAAO1c,MAEjB,SAASA,GACVC,QAAQC,IAAIF,GACZsc,EAASI,OAAO1c,KAGXsc,EAASG,QAIlB,IAAI8d,GAAiB,IACrBx2B,MAAKy2B,aAAe,SAASC,GAG3B,GAAIC,GAAY7W,UAAU,GACtB8W,EAAc9W,UAAU,GACxB+W,EAAqB/W,UAAU,GAC/BvH,EAAWuH,UAAU,EACpB6W,KAAWA,EAAY,GACvBC,IAAaA,EAAc,GAC3Bre,IAAUA,EAAWP,EAAGQ,QAC7B,IAAIse,GAAU,KACV/W,EAAY,KACZ1D,EAAO,KACP0a,EAAsB,EACtBC,EAAkB,CAGtB,IAAIN,GAAcA,YAAsB96B,QAAS+6B,EAAYD,EAAWjxB,OAAQ,CAK9E,GAFAkxB,IACAC,EAAc,EACG,GAAb7W,EAGF,WADAhgB,GAAK02B,aAAaC,EAAYC,EAAWC,EAAaC,EAAoBte,EAIxEme,GAAWC,IAAcD,EAAWC,GAAWta,MACjDma,EAAiBE,EAAWC,GAAWp2B,KACvC8b,EAAOqa,EAAWC,GAAWta,MAE7BA,EAAOqa,EAAWC,GAEfE,IAAoBA,KAEzB,KAAK,GAAIzyB,GAAI,EAAGA,EAAIsyB,EAAWjxB,OAAQrB,IAAK,CAC1C,GAAI6yB,GAAYP,EAAWtyB,GAAGiY,KAAOqa,EAAWtyB,GAAGiY,KAAOqa,EAAWtyB,EACjEA,GAAIuyB,IAAWI,GAAuBE,EAAUx0B,MACpDu0B,GAAmBC,EAAUx0B,UAE1B,IAA0B,gBAAfi0B,KAA4BA,EAAWra,MAAQsa,EAAYxyB,OAAOD,KAAKwyB,GAAYjxB,OAAQ,CAE3G,GAAIyxB,GAAW/yB,OAAOD,KAAKwyB,EAC3BI,GAAUI,EAASP,EACnB,IAAIQ,GAAUT,EAAWI,GAASza,KAAOqa,EAAWI,GAASza,KAAOqa,EAAWI,EAE/E,IADIJ,EAAWI,GAASv2B,OAAMi2B,EAAiBE,EAAWI,GAASv2B,MAC/D42B,GAAWA,EAAQ7iB,MAAQ6iB,EAAQ10B,KAAM,CAE3C,GAAIm0B,EAAc,EAKhB,MAHAD,KACAC,EAAc,MACd72B,GAAK02B,aAAaC,EAAYC,EAAWC,EAAaC,EAAoBte,EAG5E8D,GAAO8a,MACF,CAEL,GAAIC,GAAajzB,OAAOD,KAAKizB,EAC7B,IAAIP,GAAeQ,EAAW3xB,OAK5B,MAHAkxB,KACAC,EAAc,MACd72B,GAAK02B,aAAaC,EAAYC,EAAWC,EAAaC,EAAoBte,EAG5EwH,GAAYqX,EAAWR,GACnBO,EAAQpX,IAAcoX,EAAQpX,GAAW1D,MAC3Cma,EAAiBW,EAAQpX,GAAWxf,KACpC8b,EAAO8a,EAAQpX,GAAW1D,MAE1BA,EAAO8a,EAAQpX,GAKd8W,IAAoBA,KAEzB,KAAK,GAAIzyB,GAAI,EAAGA,EAAI8yB,EAASzxB,OAAQrB,IAAK,CACxC,GAAIizB,GAAOH,EAAS9yB,GAChB+yB,EAAUT,EAAWW,EACzB,IAAIF,GAAWA,EAAQ7iB,MAAQ6iB,EAAQ10B,KAAM,CAE3C,GAAIw0B,GAAYE,CACZ/yB,GAAIuyB,IACNI,GAAuBE,EAAUx0B,MAEnCu0B,GAAmBC,EAAUx0B,SACxB,IAAI00B,GAAWA,EAAQ9a,KAAM,CAClC,GAAI4a,GAAYE,EAAQ9a,IACpBjY,GAAIuyB,IACNI,GAAuBE,EAAUx0B,MAEnCu0B,GAAmBC,EAAUx0B,SAG7B,KAAK,GAAIsL,GAAI,EAAGA,EAAIqpB,EAAW3xB,OAAQsI,IAAK,CAC1C,GAAIupB,GAAOF,EAAWrpB,GAClBkpB,EAAYE,EAAQG,GAAMjb,KAAO8a,EAAQG,GAAMjb,KAAO8a,EAAQG,IAC9DlzB,EAAIuyB,GAAcvyB,GAAKuyB,GAAa5oB,EAAI6oB,KAC1CG,GAAuBE,EAAUx0B,MAEnCu0B,GAAmBC,EAAUx0B,OAMrC,MAAK4Z,IAOLtc,EAAKy0B,iBAAiBgC,EAAgBna,EAAK/H,MAAM5Y,KAAK,SAASo5B,GAC7DR,EAAQiB,QACN56B,IAAKm6B,EAAYU,UACjBrd,OAAQ,OACRvd,KAAOmF,EAAK80B,kBAAkBC,GAC9BzY,KAAMA,IACLlW,SAAS,SAAS3I,GAEnB,GAAI2I,IAAY4wB,EAAsBv5B,EAAM6V,UAAY2jB,CACxDze,GAASkd,OAAOtvB,KACfuvB,QAAQ,SAAS96B,GAElB,GAAI+6B,GACAC,GAAS,GAAIC,YAAYC,gBAAgBl7B,EAAM,WAEnD,KAEE+6B,EADmBC,EAAOG,SAAS,yBAA0BH,EAAQ,KAAMI,YAAYC,YAAa,MACzEC,YAC3B,MAAM75B,GAEN,IAAK,GADD+K,GAAOwuB,EAAOO,gBAAgBC,WACzBhyB,EAAE,EAAGA,EAAEgD,EAAK3B,OAAQrB,IAAK,CAChC,GAAIiyB,GAAOjvB,EAAKhD,EAChB,IAAqB,YAAjBiyB,EAAKhY,SAAwB,CAC/BsX,EAAcU,EAAKC,WAAWC,SAC9B,SAKFO,EACE/W,GACG8W,EAAmBC,KAAUD,EAAmBC,OACrDD,EAAmBC,GAAS/W,GAAa4V,GAGzCkB,EAAmBC,GAAWnB,EAGhCkB,EAAmBnxB,KAAKiwB,GAI1BiB,IACA72B,EAAK02B,aAAaC,EAAYC,EAAWC,EAAaC,EAAoBte,KACzEtc,MAAM,SAASA,GAEhBC,QAAQC,IAAIF,GACZsc,EAASI,OAAO1c,MAEjB,SAASA,GAEVC,QAAQC,IAAIF,GACZsc,EAASI,OAAO1c,KAIXsc,EAASG,UA7DdH,EAASF,QAAQwe,GACVte,EAASG,UA+DpB1Y,KAAKof,cAAgB,SAASD,GAE5B,GAAIc,EAEFA,GADEd,EAAQe,MAAM,KAAK,GAAGliB,QAAQ,WAAa,EAChCmiB,KAAKhB,EAAQe,MAAM,KAAK,IAExBE,SAASjB,EAAQe,MAAM,KAAK,GAO3C,KAAK,GAJDG,GAAalB,EAAQe,MAAM,KAAK,GAAGA,MAAM,KAAK,GAAGA,MAAM,KAAK,GAG5DI,EAAK,GAAIC,YAAWN,EAAWxa,QAC1BrB,EAAI,EAAGA,EAAI6b,EAAWxa,OAAQrB,IACrCkc,EAAGlc,GAAK6b,EAAWO,WAAWpc,EAGhC,OAAO,IAAIqc,OAAMH,IAAMhM,KAAK+L,KAG9BrgB,KAAKs1B,oBAAsB,SAAUlZ,GACnC,GAAIA,EAAS3W,OAAS,EAAG,CACvB,GAAI8xB,GAAMnb,EAAS8D,MAAM,KAAKsX,KAC9B,IAAID,EAAI9xB,OAAS,EAAG,CAmclB,OAjcEgyB,MAAO,iBACPC,OAAQ,iBACR9gB,EAAK,2BACL+gB,IAAO,+BACPC,IAAO,+BACPC,IAAO,+BACPC,IAAO,eACPC,KAAQ,YACRC,IAAO,kBACPC,GAAM,yBACNC,IAAO,aACPC,KAAQ,aACRC,KAAQ,aACRC,IAAO,oBACPC,IAAO,yBACPC,IAAO,+BACPC,IAAO,wDACPC,IAAO,mBACPC,IAAO,2BACPC,IAAO,kBACPC,IAAO,aACPC,IAAO,iBACPC,IAAO,aACPC,IAAO,WACPC,IAAO,yBACPC,GAAM,cACNC,IAAO,8BACPC,IAAO,kBACPC,MAAS,sBACTC,IAAO,yBACPC,GAAM,YACNC,IAAO,YACPC,IAAO,mBACPC,KAAQ,mBACRC,IAAO,sBACPC,IAAO,oBACPC,GAAM,qBACNC,IAAO,sBACPC,EAAK,aACLC,MAAO,aACPC,IAAO,gCACPC,GAAM,aACNC,KAAQ,wBACRC,IAAO,sBACPC,IAAO,kBACPC,IAAO,wBACPC,IAAO,qBACPC,KAAQ,qBACRC,MAAS,mBACTC,IAAO,2BACPC,KAAQ,aACRC,KAAQ,qBACRC,IAAO,WACPC,IAAO,6BACPC,IAAO,uBACPC,IAAO,wBACPC,IAAO,oBACP7nB,IAAO,0BACP8nB,IAAO,aACPC,IAAO,yBACPC,MAAS,sBACTC,IAAO,aACPC,IAAO,6BACPC,IAAO,aACPC,IAAO,yBACPC,GAAM,WACNC,IAAO,qBACPC,IAAO,qBACPC,GAAM,2BACNC,IAAO,uBACPC,KAAQ,2BACRC,GAAM,aACNC,IAAO,oBACPC,IAAO,sBACPC,IAAO,mBACPC,IAAO,kBACPC,IAAO,yBACPC,GAAM,sBACNC,IAAO,gDACPC,IAAO,sBACPC,IAAO,yBACPC,GAAM,yBACNC,IAAO,gBACPC,IAAO,oBACPC,IAAO,2BACPC,EAAK,aACLC,IAAO,iBACPC,IAAO,aACPC,IAAO,sBACPC,IAAO,uBACPC,IAAO,YACPC,IAAO,gBACPC,IAAO,wBACPC,IAAO,2BACPC,IAAO,aACPC,IAAO,gBACPC,IAAO,yBACPC,KAAQ,aACRC,EAAK,aACLC,GAAM,cACNC,IAAO,YACPC,GAAM,WACNC,IAAO,cACPC,IAAO,cACPC,IAAO,oBACPC,IAAO,oBACPC,KAAQ,qBACRC,GAAM,2BACNC,KAAQ,qBACRC,EAAK,aACLC,IAAO,oBACPC,KAAQ,yBACRC,IAAO,0BACPC,GAAM,aACNC,IAAO,gBACPC,IAAO,kBACPC,IAAO,0BACPC,KAAQ,0BACRC,IAAO,qBACPC,IAAO,kBACPC,IAAO,mBACPC,IAAO,YACPhkB,KAAQ,YACRikB,MAAS,YACTC,IAAO,mBACPC,IAAO,YACPC,IAAO,0BACPC,IAAO,eACPC,IAAO,aACPC,IAAO,YACPC,KAAQ,YACRC,KAAQ,mBACRC,IAAO,mBACPC,IAAO,oBACPC,KAAQ,2BACRC,IAAO,kBACPC,IAAO,iCACPC,GAAM,oBACNC,IAAO,kBACPC,GAAM,WACNC,GAAM,yBACNC,IAAO,iBACPC,IAAO,2BACPC,IAAO,cACPC,IAAO,aACPC,KAAQ,aACRC,IAAO,8BACPC,KAAQ,aACRC,YAAa,aACbC,IAAO,aACPC,KAAQ,aACRC,IAAO,aACPC,IAAO,cACPC,GAAM,2BACNC,IAAO,kBACPC,IAAO,aACPC,IAAO,oBACPC,GAAM,iBACNC,IAAO;wBACPC,MAAS,sBACTC,IAAO,kBACPC,IAAO,2BACPn6B,KAAQ,aACRo6B,IAAO,iBACPrlC,IAAO,aACPslC,IAAO,qBACPC,IAAO,aACPC,IAAO,gBACPC,IAAO,sBACPC,IAAO,2BACPC,IAAO,kBACPC,EAAK,aACLC,IAAO,aACPC,IAAO,aACPC,IAAO,aACPC,IAAO,kBACPC,IAAO,0BACPve,IAAO,wBACPwe,IAAO,aACPC,IAAO,sBACPC,IAAO,sCACPC,IAAO,mBACPC,IAAO,aACPC,IAAO,oBACPC,GAAM,yBACNC,IAAO,iBACPC,MAAS,iBACTC,IAAO,qBACPC,KAAQ,qBACRC,IAAO,sBACPC,KAAQ,iBACRC,IAAO,6CACPC,KAAQ,sBACRC,GAAM,qBACNC,IAAO,qBACPC,IAAO,YACPC,KAAQ,kBACRC,IAAO,kBACPC,MAAS,oBACTC,IAAO,aACPC,IAAO,cACPC,IAAO,aACPC,IAAO,wBACPC,IAAO,aACPC,KAAQ,aACRC,IAAO,aACPC,KAAQ,aACRC,IAAO,6BACPC,IAAO,wBACPC,IAAO,wBACPC,IAAO,wBACPC,IAAO,mBACPC,GAAM,yBACNC,GAAM,oBACNC,GAAM,aACNC,IAAO,uCACPC,IAAO,eACPC,OAAU,eACVC,GAAM,uBACNC,IAAO,8CACPC,IAAO,eACPC,KAAQ,eACRC,IAAO,6BACPC,IAAO,2BACPC,IAAO,wBACPC,EAAK,2BACLC,IAAO,kBACPC,IAAO,oBACPC,KAAQ,6BACRC,KAAQ,6BACRC,EAAK,gBACLC,IAAO,qBACPC,IAAO,sBACPC,IAAO,gCACPC,IAAO,yBACPC,IAAO,yBACPC,IAAO,kCACPC,IAAO,8BACPC,KAAQ,sBACRC,IAAO,cACPC,IAAO,0BACPC,IAAO,yBACPC,IAAO,eACPC,IAAO,cACPC,IAAO,iBACPC,IAAO,kBACPC,MAAS,aACTC,IAAO,2BACPC,IAAO,aACPC,KAAQ,aACRC,IAAO,sCACPC,IAAO,6BACPC,GAAM,aACNC,IAAO,4BACPC,GAAM,kBACNC,IAAO,0BACPC,IAAO,0BACPC,IAAO,YACPC,IAAO,gCACPC,IAAO,2BACPC,IAAO,cACPC,IAAO,gCACPC,IAAO,0BACPC,IAAO,2BACPC,IAAO,2BACPC,IAAO,2BACPC,IAAO,0BACPC,IAAO,sBACPC,GAAM,yBACNC,IAAO,2BACPC,IAAO,eACPC,IAAO,gCACPC,GAAM,uBACNC,IAAO,gCACPC,IAAO,kBACPC,IAAO,iBACPC,KAAQ,iBACRC,IAAO,oBACPC,GAAM,kBACNC,IAAO,cACPC,IAAO,oBACPC,KAAQ,oBACRC,GAAM,uBACNC,IAAO,uBACPC,IAAO,2BACPC,KAAQ,mBACRC,KAAQ,qBACRC,GAAM,yBACNC,IAAO,cACPC,GAAM,+BACNC,IAAO,YACPC,IAAO,uBACPC,IAAO,uBACPC,IAAO,4BACPC,IAAO,gCACPC,KAAQ,sBACRC,GAAM,uBACNC,IAAO,8BACPC,GAAM,gBACNC,IAAO,kBACPC,IAAO,kBACPC,GAAM,yBACNC,EAAK,aACLC,IAAO,YACPC,OAAU,2BACVC,IAAO,sBACPC,IAAO,+BACPC,KAAQ,aACRC,IAAO,kBACPC,IAAO,sBACPC,IAAO,kBACPrsC,IAAO,kBACPssC,IAAO,YACPC,KAAQ,YACRC,GAAM,oBACNC,KAAQ,oBACRC,MAAS,YACTC,IAAO,eACPC,IAAO,oBACPC,IAAO,qBACPC,IAAO,qBACPC,IAAO,qBACPC,IAAO,qBACPC,GAAM,wBACNC,IAAO,mBACPC,KAAQ,mBACRC,IAAO,cACPC,IAAO,qBACPC,IAAO,mCACPC,IAAO,2BACPC,IAAO,uBACPC,OAAU,uBACVnuB,IAAO,4BACPouB,IAAO,4BACPC,IAAO,6BACPC,IAAO,mCACPC,KAAQ,mBACRC,IAAO,kBACPC,IAAO,mBACPC,QAAW,wBACXC,OAAU,uBACVC,IAAO,gBACPC,IAAO,sBACPC,IAAO,gCACPC,EAAK,sBACLC,KAAQ,gBACRC,IAAO,oBACPC,IAAO,uBACPC,IAAO,oBACPC,KAAQ,qBACRC,IAAO,oBACPC,KAAQ,wBACRC,QAAW,wBACXjlB,KAAQ,oBACRklB,IAAO,qBACPC,IAAO,aACPC,KAAQ,aACRC,GAAM,sBACNC,IAAO,kBACPC,IAAO,sBACPC,IAAO,4BACPC,OAAU,gBACVC,IAAO,aACPC,IAAO,aACPC,IAAO,gBACPC,KAAQ,gBACRC,IAAO,qBACPC,IAAO,gBACPC,KAAQ,gBACRC,MAAS,sBACTC,GAAM,2BACNC,IAAO,kBACPC,IAAO,uBACPC,IAAO,mBACPC,IAAO,kBACPC,IAAO,YACPC,IAAO,wBACPC,IAAO,aACPC,KAAQ,aACRC,IAAO,kCACPC,IAAO,kCACPC,IAAO,YACPC,IAAO,eACPC,IAAO,gBACPC,IAAO,wBACPC,IAAO,iBACPC,IAAO,wBACPC,KAAQ,qBACRC,IAAO,gBACPC,IAAO,sBACPC,IAAO,sBACPC,IAAO,sBACPC,IAAO,6BACPC,IAAO,6BACPC,IAAO,qBACPC,IAAO,YACPC,IAAO,qBACPC,KAAQ,qBACRC,IAAO,uBACPC,IAAO,qBACPC,IAAO,oBACPC,IAAO,mBACPC,IAAO,mBACPC,KAAQ,2BACRC,KAAQ,yBACRC,MAAS,iCACTC,KAAQ,qBACRC,GAAM,0BACNC,IAAO,0BACPC,IAAO,0BACPC,IAAO,0BACPC,IAAO,sBACPC,IAAO,sBACPC,IAAO,sBACPC,IAAO,aACPC,IAAO,gBACPC,KAAQ,4BACRC,IAAO,wBACPC,IAAO,kBACPC,IAAO,sBACPC,IAAO,cACPC,IAAO,iBACPC,GAAM,oBACNC,IAAO,oBACPC,IAAO,oBACPC,IAAO,oBACPC,IAAO,oBACPC,IAAO,oBACPC,IAAO,oBACPC,IAAO,oBACPC,IAAO,oBACPC,IAAO,oBACPC,IAAO,oBACPC,IAAO,oBACPC,GAAM,WACNC,IAAO,kBACPC,IAAO,YACPC,KAAQ,4BACRC,IAAO,kBACPC,QAAS,YACTC,IAAO,sBACPC,IAAO,cACPC,IAAO,iBACPC,EAAK,yBACLC,IAAO,2BACPC,IAAO,2BACPC,IAAO,qBAGIvb,IAIjB,MAAO,OAKXp+B,QAAQC,OAAO,mCACb,gCACA,mBACA,kBACA,cAGD0e,QAAQ,uBAAwB,WAAY,KAAM,SAAU,QAAS,oBAAqB,SAAS5a,SAAU8a,GAAIpe,OAAQ26B,MAAO3wB,mBAC/H,UAEA,IAAI7D,MAAOC,IAKXA,MAAKoH,KAAO,SAASgD,EAASjM,EAAQ8D,GACpC,GAAImI,GAAUA,GAAWA,EAAQpM,QAAQ,MAAM,EAAI,IAAM,KAAO,gBAAkBd,SAASlB,IAAI,cAE/F,OADKiG,IAAYA,EAAQmsB,eAAemG,MAAMrc,UAAU,MAAO9N,GACxDmqB,MAAMjc,UAAU,MAAOlO,EAASjM,IAMzC6B,KAAKiP,MAAQ,SAAS7E,EAASjM,GACzBiM,EAAQpM,QAAQ,MAAM,IAAIoM,EAAUA,EAAQrM,OAAO,EAAEqM,EAAQpM,QAAQ,MACzE,IAAIkG,GAAOC,OAAOD,KAAK/F,EACvB,KAAK,GAAIiG,KAAKF,GAAM,CAClB,GAAI9B,GAAM8B,EAAKE,EACXhC,GAAIpE,QAAQ,kBAAoB,GAClC+0C,OAAS3wC,EAAIgK,QAAQ,gBAAiB,SACtCjO,EAAO40C,QAAU50C,EAAOiE,IACR,UAAPA,IACTjE,EAAOyP,MAAQzP,EAAO6N,OAAO4B,OAKjC,MAFAxD,GAAUA,EAAU,uBAAyBlN,SAASlB,IAAI,eAC1Du4B,MAAMrc,UAAU,MAAO9N,GAChBmqB,MAAMjc,UAAU,MAAOlO,EAASjM,IAMzC6B,KAAKhE,IAAM,SAASkG,EAAOI,EAAInE,GAC7B,GAAIiM,GAAUlI,EAAQ,IAAMI,EAAK,iBAAmBpF,SAASlB,IAAI,cAGjE,OAAOu4B,OAAMjc,UAAU,MAAOlO,EAASjM,IAMzC6B,KAAKgvB,QAAU,SAASN,EAAaI,EAAUH,EAAcxwB,EAAQ8D,GACnE,GAAI1B,GAAOmuB,EAAc,IAAMI,EAAW,IAAMH,EAC5CvkB,EAAU7J,EAAO,iBAAmBrD,SAASlB,IAAI,cAErD,OADKiG,IAAYA,EAAQmsB,eAAemG,MAAMrc,UAAU,MAAO9N,GACxDmqB,MAAMjc,UAAU,MAAOlO,EAASjM,IAIzC6B,KAAK2H,KAAO,SAASzF,EAAOE,EAAK4S,EAAWg+B,GAC1C,GAAIzyC,GAAO3G,OAAOG,aAAa66B,WAAa,4BAA8B13B,SAAS+1C,YAC/E90C,GACA+D,MAAOA,EACPE,IAAKA,EACL4S,UAAWA,EACXg+B,SAAUA,EAEd,OAAOze,OAAMjc,UAAU,OAAQ/X,EAAMpC,IAMvC6B,KAAK0G,OAAS,SAASxE,EAAOI,GAC5B,GAAI/B,GAAO2B,CAKX,OAJII,KACF/B,EAAOA,EAAO,IAAM+B,GAEtB/B,GAAQ,iBAAmBrD,SAASlB,IAAI,eACjCu4B,MAAMjc,UAAU,SAAU/X,OAOnCP,KAAKkzC,KAAO,SAAS3yC,EAAMpC,GACzB,GAAIiM,GAAU7J,EAAO,iBAAmBrD,SAASlB,IAAI,cACrD,OAAOu4B,OAAMjc,UAAU,OAAQlO,EAASjM,IAS1C6B,KAAK2F,KAAO,SAASzD,EAAOI,EAAInE,GAC9B,GAAIoC,GAAO3G,OAAOG,aAAa66B,WAAa,aAI5C,OAHAz2B,GAAOg1C,QAAUjxC,EACjB/D,EAAOi1C,KAAO9wC,EACdnE,EAAOk1C,cAAgBn2C,SAASlB,IAAI,eAC7Bu4B,MAAMjc,UAAU,MAAO/X,EAAMpC,IAYtC6B,KAAK6F,cAAgB,SAAS3D,EAAOI,EAAI1H,GACvC,GAAI04C,GAAW15C,OAAOG,aAAa+J,OAAO5B,GACtCqW,EAAWP,GAAGQ,QAuBd+6B,EAAc,SAAS3tC,GAEzB,GAAI0Q,GAAQ,EACRpS,EAAOC,OAAOD,KAAKtJ,GACnB44C,EAAW,WACb,GAAIl9B,GAASpS,EAAKuB,OAEhB,WADAG,IAGF,IAAIxD,GAAM8B,EAAKoS,GACXjJ,EAAQzS,EAAKwH,EACbiL,IAA0B,gBAAVA,IAAsBA,EAAMgP,MAE9C9D,EAASkd,QAAQ3vB,QAAS,mBAAqBuH,EAAMgP,KAAKve,OAC1D8F,kBAAkB0uB,WAAWjlB,EAAMgP,KAAMhP,EAAM9M,MAC5C7E,KAAK,SAASkD,GACbhE,EAAKwH,GAAOxD,EAAO6e,QACnBnH,IACAk9B,KACC,SAASv3C,GACW,gBAAVA,IAAsBA,EAAMA,MACrCsc,EAASI,OAAO,qIAEhBJ,EAASI,OAAO1c,IAEjB,SAASkK,GACVoS,EAASkd,QAAQtvB,SAAUA,QAG/BmQ,IACAk9B,KAGJA,KAiBF,OAvEmB,UAAS5tC,GACtBhL,EAAKqkB,uBACP1G,EAASkd,QAAQ3vB,QAAS,0BAA2BK,SAAU,IAG/DvC,kBAAkB6yB,aAAa77B,EAAKqkB,uBACjCvjB,KAAK,SAASkD,GACbmB,KAAK0zC,wBAAwBH,EAAU14C,EAAMgE,GAC7C2Z,EAASkd,QAAQ3vB,QAAS,YAAaK,SAAU,IACjDP,KACC,SAAS3J,GACVC,QAAQC,IAAIF,GACZsc,EAASI,OAAO1c,IACf,SAASkK,GACVoS,EAASkd,QAAQtvB,SAAUA,OAG/BP,KAwCS,WACX2tC,EAAY,WAEVxzC,KAAKuE,mBAAmBgvC,EAAU14C,GAClCmF,KAAK4F,KAAKzD,EAAOI,EAAI1H,GAAMc,KACzB,SAASkD,GACP2Z,EAASF,QAAQzZ,IAEnB,SAAS3C,GACPsc,EAASI,OAAO1c,SAKjBsc,EAASG,SASlB1Y,KAAKyzC,wBAA0B,SAASH,EAAU14C,EAAMgE,GAKtD,GAAIsF,GAAOC,OAAOD,KAAKtF,EACvB,KAAK,GAAIwF,KAAKF,GAAM,CAClB,GAAIwvC,GAAWxvC,EAAKE,GAGhByC,EAAWysC,EAASvvC,WAAW2vC,GAC/BzxC,EAAU4E,EAAS7C,QAAQ/B,OAC/B,IAAKA,GAAYA,EAAQC,OAAUD,EAAQ0sB,aAGpC,CAEA/zB,EAAKqH,EAAQ0sB,gBAAe/zB,EAAKqH,EAAQ0sB,iBAC9C,IAAIglB,GAAyB/4C,EAAKqH,EAAQ0sB,aACtC/zB,GAAK84C,KAAWC,EAAuB1xC,EAAQG,KAAOxH,EAAK84C,IAC/DC,EAAuB1xC,EAAQyc,QAAU9f,EAAO80C,GAAUzxC,EAAQyc,OAGlE,IAAI0Y,GAAajzB,OAAOD,KAAKjC,EAAQod,OACrC,KAAK,GAAIu0B,KAAKxc,GAAY,CACxB,GAAIrX,GAAYqX,EAAWwc,EAC3BD,GAAuB5zB,GAAanhB,EAAO80C,GAAU3zB,GAIvD,GAAInlB,EAAKqkB,sBAAsBy0B,IAAa94C,EAAKqkB,sBAAsBy0B,GAAUzxC,EAAQyc,QAAS,CAChG,GAAIm1B,GAAWj5C,EAAKqkB,sBAAsBy0B,GAAUzxC,EAAQyc,QACxDrC,EAAOw3B,EAAWA,EAASx3B,OAC/Bs3B,GAAuBv3B,SAAWC,EAAKve,SAEvC61C,GAAuBv3B,SAAW,SAGpC,IAAIna,EAAQ6xC,KAAM,CAChB,GAAIC,GAAW5vC,OAAOD,KAAKjC,EAAQ6xC,KACnC,KAAK,GAAI/lC,KAAKgmC,GAAU,CACtB,GAAIC,GAAUD,EAAShmC,EACvB4lC,GAAuBK,GAAW/xC,EAAQ6xC,KAAKE,SA5BnDp5C,GAAK84C,GAAY90C,EAAO80C,SAoCrB94C,GAAKqkB,uBASdjf,KAAKsE,mBAAqB,SAASgvC,SAAU14C,MAC3C,GAAIsJ,MAAOC,OAAOD,KAAKovC,SAASvvC,WAChC,KAAK,GAAIK,KAAKF,MAAM,CAClB,GAAI9B,KAAM8B,KAAKE,GACXyC,SAAWysC,SAASvvC,WAAW3B,IAC9ByE,WAAYA,SAAS7C,UAAkC,SAAdpJ,KAAKwH,MAAqC,MAAbxH,KAAKwH,MAAgByE,SAAS7C,QAAQiwC,sBAC5E,SAAxBptC,SAAkB,UAAmBjM,KAAKwH,KAAOyE,SAAkB,SACnC,SAAhCA,SAAS7C,QAAQqM,cAA4BzV,KAAKwH,KAAOwK,KAAK/F,SAAS7C,QAAQqM,iBAUhGrQ,KAAK2N,wBAA0B,SAASxP,GACtC,GAAI+1C,KAIJ,OAHA9wC,GAAErH,QAAQoC,EAAQ,SAASwR,EAAOvN,GAChC8xC,EAAO9wC,EAAEhF,IAAI81C,EAAM9xC,EAAKuN,KAEnBukC,MAKX/6C,QAAQC,OAAO,+BAEd0e,QAAQ,gBAAiB,KAAM,SAASE,GACvC,UAED,IAAIjY,GAAOC,IAWVA,MAAKuf,OAAS,SAASJ,EAASld,EAAS2D,GACvC7F,EAAKo0C,aAAah1B,EAAS,SAASljB,EAAOkhB,GACzC,GAAIlhB,EAAO,MAAO2J,GAAS3J,EAC3Bm4C,MAAKC,QAAQl3B,EAAO,SAASm3B,GAC3B,GAAIt3B,GAASrJ,SAAS4P,cAAc,UAChCgxB,EAAUv3B,EAAOO,WAAW,MAC5Bi3B,EAAcJ,KAAKK,OAAOz0C,KAAM,cAE/BiC,KAASA,KACd,IAAIiT,GAAQjT,EAAQiT,MAAQjT,EAAQiT,MAAQiI,EAAMjI,MAC9C5L,EAASrH,EAAQqH,OAASrH,EAAQqH,OAAS6T,EAAM7T,MAErD,QADarH,EAAQyyC,OAASzyC,EAAQyyC,OAAS,OAE7C,IAAK,UACH13B,EAAO9H,MAAQA,EACf8H,EAAO1T,OAASA,CAChB,MACF,KAAK,OACH0T,EAAO9H,MAAQA,EACf8H,EAAO1T,OAASA,CAChB,IAAIyX,GAAQC,KAAK+R,IAAI7d,EAAQiI,EAAMjI,MAAO5L,EAAS6T,EAAM7T,OACzD4L,GAAQiI,EAAMjI,MAAQ6L,EACtBzX,EAAS6T,EAAM7T,OAASyX,CACxB,MACF,KAAK,MACL,QACE,GAAIA,GAAQC,KAAKC,IAAI/L,EAAQiI,EAAMjI,MAAO5L,EAAS6T,EAAM7T,OACrDyX,GAAQ,IAAKA,EAAQ,GACzB7L,EAAQiI,EAAMjI,MAAQ6L,EACtBzX,EAAS6T,EAAM7T,OAASyX,EACxB/D,EAAO9H,MAAQA,EACf8H,EAAO1T,OAASA,EAGpBirC,EAAQ5uC,OACR5F,EAAK40C,eAAe33B,EAAQu3B,EAASr/B,EAAO5L,EAAQkrC,GACpDD,EAAQ/2B,UAAUL,EAAO,EAAG,EAAGjI,EAAO5L,GACtCirC,EAAQK,UAERhvC,EAAS,KADKoX,EAAOW,UAAU,aAAc,UAMnD3d,KAAKkf,0BAA4B,SAASC,EAASvZ,GACjD7F,EAAKwf,OAAOJ,KAAavZ,IAG3B5F,KAAK20C,eAAiB,SAAS33B,EAAQu3B,EAASr/B,EAAO5L,EAAQkrC,GAE7D,OAAQA,GACN,IAAK,GAEHD,EAAQM,UAAU3/B,EAAO,GACzBq/B,EAAQxzB,OAAO,EAAG,EAClB,MACF,KAAK,GAEHwzB,EAAQM,UAAU3/B,EAAO5L,GACzBirC,EAAQO,OAAO9zB,KAAK+zB,GACpB,MACF,KAAK,GAEHR,EAAQM,UAAU,EAAGvrC,GACrBirC,EAAQxzB,MAAM,GAAI,EAClB,MACF,KAAK,GAEH/D,EAAO9H,MAAQ5L,EACf0T,EAAO1T,OAAS4L,EAChBq/B,EAAQO,OAAO,GAAM9zB,KAAK+zB,IAC1BR,EAAQxzB,MAAM,GAAI,EAClB,MACF,KAAK,GAEH/D,EAAO9H,MAAQ5L,EACf0T,EAAO1T,OAAS4L,EAChBq/B,EAAQO,OAAO,GAAM9zB,KAAK+zB,IAC1BR,EAAQM,UAAU,GAAIvrC,EACtB,MACF,KAAK,GAEH0T,EAAO9H,MAAQ5L,EACf0T,EAAO1T,OAAS4L,EAChBq/B,EAAQO,OAAO,GAAM9zB,KAAK+zB,IAC1BR,EAAQM,UAAU3/B,GAAQ5L,GAC1BirC,EAAQxzB,OAAO,EAAG,EAClB,MACF,KAAK,GAEH/D,EAAO9H,MAAQ5L,EACf0T,EAAO1T,OAAS4L,EAChBq/B,EAAQO,QAAQ,GAAM9zB,KAAK+zB,IAC3BR,EAAQM,WAAW3/B,EAAO,KAKhClV,KAAKm0C,aAAe,SAAS11B,EAAU7Y,GACrC,GAAIuX,GAAQ,GAAIC,MAChBD,GAAMG,OAAS,WACb1X,EAAS,KAAMuX,IAEjBA,EAAMyB,QAAU,SAAS3iB,GACvB2J,EAAS3J,IAGXkhB,EAAMO,IAAMe,MAMhBtlB,QAAQC,OAAO,+BACb,mBACA,oBAGD0e,QAAQ,mBAAoB,SAAU,QAAS,KAAM,aAAc,SAASle,EAAQ26B,EAAOvc,EAAI/c,GAC9F,UAEA,IAAI+5C,GAAIh9B,EAAGQ,OACXxY,MAAK6lB,gBAAkB,WAcrB,MAZI9a,WAAUkqC,YACZlqC,UAAUkqC,YAAYC,mBAAmB,SAAS7hC,GAChDpY,EAAW4W,OAAO,WACdmjC,EAAE38B,QAAQhF,EAAS8hC,WAEtB,SAASl5C,GACV+4C,EAAEr8B,OAAO1c,KAIX+4C,EAAEr8B,OAAO,iCAEJq8B,EAAEt8B,YAIbvf,QAAQC,OAAO,8BACb,kBACA,0BACA,cAGD0e,QAAQ,kBAAmB,WAAY,eAAgB,KAAM,cAAe,SAAU,QAAS,mBAAoB,SAAS5a,EAAUk4C,EAAcp9B,EAAIL,EAAa/d,EAAQ26B,EAAOz0B,GACnL,UAKA,SAASG,KACP,GAAIo1C,GAAan4C,EAASlB,IAAI,UAC1Bq5C,KACFhpC,EAAUzL,KAAKC,MAAMw0C,IANzB,GAAIt1C,GAAOC,KAEPqM,EAAU,IAQdrM,MAAKyX,MAAQ,SAAShX,EAAOiX,EAAUzV,GACrC,GAAIqzC,GAAY,OAEhB,OADIj8C,QAAOi8C,YAAWA,EAAYj8C,OAAOi8C,WAClC/gB,EAAMjc,UAAU,OAAQg9B,EAAY,uBAAyB70C,MAAOA,EAAOiX,SAAUA,EAAWzV,QAASA,IAC/GvG,KAAK,SAASiF,GACb,MAAOZ,GAAKw1C,WAAW50C,KAEjB,MAAE,WAER,MADAzD,GAASmC,IAAI,UAAW,MACjB2Y,EAAGW,OAAOmH,cAIrB9f,KAAKtB,OAAS,WACb,GAAI42C,GAAY,OACZj8C,QAAOi8C,YAAWA,EAAYj8C,OAAOi8C,UAC1C,IAAIrC,GAAc/1C,EAASlB,IAAI,cAO9B,OANDo5C,GAAa1uC,OAAO,YACpB0uC,EAAa1uC,OAAO,UACpB0uC,EAAa1uC,OAAO,eACpB0uC,EAAa1uC,OAAO,SACpB0uC,EAAa1uC,OAAO,WAClB0uC,EAAa1uC,OAAO,cACd6tB,EAAMjc,UAAU,OAAQg9B,EAAY,wBAA0BrC,IAGtEjzC,KAAKu1C,WAAa,SAAS50C,GACzB,GAAI20C,GAAY,OAEhB,OADIj8C,QAAOi8C,YAAWA,EAAYj8C,OAAOi8C,WAClC/gB,EAAMjc,UAAU,MAAOg9B,EAAY,IAAM30C,EAASD,OAAS,uBAAyBC,EAAS2B,IACjG5G,KAAK,SAASqF,GAQb,MAPA7D,GAASmC,IAAI,aAAc,GAAIN,OAC/BsN,EAAU1L,EACVzD,EAASmC,IAAI,WAAYsB,EAASG,KAAKN,UACvCtD,EAASmC,IAAI,SAAUsB,EAASD,QAChCxD,EAASmC,IAAI,cAAesB,EAAS2B,IACrCpF,EAASmC,IAAI,UAAWuB,KAAKqF,UAAUoG,IACvCnP,EAASmC,IAAI,QAASuB,KAAKqF,UAAUlF,IAC9BJ,IACC,MAAE,WAEZ,MADAzD,GAASmC,IAAI,UAAW,MACjB2Y,EAAGW,OAAOmH,cAIrB9f,KAAK/B,aAAe,WAClB,MAAOoO,IAAWA,EAAQ/J,IAQ5BtC,KAAKX,IAAM,SAAS+C,EAAKuN,GACvB,GAAItD,GAAUzL,KAAKC,MAAM3D,EAASlB,IAAI,WACtCqQ,GAAQjK,GAAOuN,EACfzS,EAASmC,IAAI,UAAWuB,KAAKqF,UAAUoG,KAGzCrM,KAAKhE,IAAM,SAASoG,GAElB,MADcxB,MAAKC,MAAM3D,EAASlB,IAAI,YACvBoG,IAGjBpC,KAAKxB,aAAe,SAASf,EAASC,GACpC,GAAG0F,EAAEoyC,WAAW/3C,EAAQK,KAAM,UAAW,OAAO,CAChD,IAAImD,GAAMnB,EAAiBoB,gBACvB1G,EAAQiD,EAAQK,KAEhByC,EAAO7C,EAASwE,MAChBqB,EAAQ7F,EAASsE,OACjBjB,EAAQ5H,QAAQu6B,SAASx2B,EAASlB,IAAI,SAE1C,IAAIoH,EAAEuwB,QAAQpzB,GASP,CACL,GAAIk1C,GAAQryC,EAAEC,KAAKpC,GAAOzG,MAAOA,GACjC,IAAGi7C,EAAO,MAAO31C,GAAiBo0B,UAAUnzB,EAAO00C,OAXhC,CACnB,GAAIA,GAAQryC,EAAEC,KAAKpC,GAAOV,KAAMA,GAChC,IAAGk1C,EAAO,CACR,IAAI31C,EAAiBo0B,UAAUnzB,EAAO00C,GAAQ,OAAO,CACrD,IAAGryC,EAAEvH,QAAQ45C,EAAMnyC,UAAYF,EAAEuwB,QAAQpwB,GAAQ,CAC/C,GAAID,GAASF,EAAEC,KAAKoyC,EAAMnyC,QAAUC,MAAOA,GAC3C,IAAGD,EAAQ,MAAOxD,GAAiBo0B,UAAUnzB,EAAOuC,KAQ1D,GAAIoyC,GAAYj4C,EAAQ7C,KAAY,KACpC,UAAIwI,EAAEuwB,QAAQ+hB,IAActyC,EAAEvH,QAAQ65C,KAC7B51C,EAAiBo0B,UAAUnzB,GAASA,MAAO20C,KAMtDz1C,OAKF9G,QAAQC,OAAO,+BACb,mBACA,kBACA,cAGD0e,QAAQ,mBAAoB,WAAY,SAAU,QAAS,SAAS5a,EAAUtD,EAAQ26B,GACrF,UAEAv0B,MAAK2W,QAAU,SAAS1V,GACtB,GAAIV,GAAO3G,EAAOG,aAAa66B,WAAa,qCAAuC13B,EAASlB,IAAI,cAChG,OAAOu4B,GAAMjc,UAAU,OAAQ/X,EAAMU,OAOzC9H,QAAQC,OAAO,2BACb,mBACA,oBAGD0e,QAAQ,eAAgB,SAAU,QAAS,KAAM,aAAc,SAASle,EAAQ26B,EAAOvc,EAAI/c,GAC1F,UAEA+E,MAAK4X,SAAW,SAASnX,EAAOiX,GAC/B,GAAI49B,GAAY,OAEhB,OADIj8C,QAAOi8C,YAAWA,EAAYj8C,OAAOi8C,WAClC/gB,EAAMjc,UAAU,OAAQg9B,GAAa70C,MAAOA,EAAOiX,SAAUA,QAMnElO,OAAQA,OAAOrQ","file":"app.js"} +{"version":3,"sources":["app.js"],"names":["angular","module","config","$locationProvider","$stateProvider","$urlRouterProvider","$compileProvider","$qProvider","$translateProvider","Config","aHrefSanitizationWhitelist","otherwise","serverParams","disableRegistration","when","html5Mode","useSanitizeValueStrategy","translateUrl","useUrlLoader","defaultLanguage","fallbackLanguage","state","abstract","template","url","data","pageTitle","deferIntercept","run","$ocLazyLoad","$rootScope","$urlRouter","$injector","$translate","use","refresh","modulesLoaded","customModules","load","then","$broadcast","Array","isArray","injectOnStart","forEach","get","error","console","log","$on","e","sync","listener","constant","TIMEOUT_INTERVAL","PUBLIC_STATE","LOGIN_STATE","controller","$scope","$location","$state","$timeout","$document","$cookies","SessionService","CacheService","constants","gaTrackingId","ga","event","toState","toParams","fromState","fromParams","toStateName","name","substr","indexOf","getAuthToken","desiredState","params","set","loginState","go","preventDefault","isAuthorized","isDefined","logOut","reset","result","catch","lastPersistDate","Date","persistSession","cancel","persistId","current","checkTimeout","put","timeoutId","lastActiveDate","sessionTimeout","host","on","$modalInstance","closeAlert","close","okAlert","okHandler","cancelAlert","cancelHandler","isConfirm","alertType","templateUrl","$stateParams","$modal","DashboardService","self","this","init","toggleSideMenu","hideSideMenu","editProfile","logout","locationPath","path","username","email","userId","userInfo","JSON","parse","user","roles","title","nav","getNavigation","defaultNav","getDefaultNav","copy","route","$watch","modalInstance","$dashboard","$","hasClass","removeClass","addClass","$event","action","options","model","profileModel","key","profileKey","id","hideDelete","open","size","scope","section","_","find","subnav","label","SettingsService","clickSave","keys","save","delete","confirmMessage","defaults","$window","$filter","GeneralModelService","FileUploadService","modelEditConstants","layoutModelDisplay","modelDisplay","display","length","Object","properties","i","push","$emit","callback","saveWithFiles","response","displayError","displayStatus","isPlainObject","translate","msg","instant","message","alert","code","toJson","status","statusMsg","progress","clickSaveModel","clear","returnAfterEdit","history","back","clickDeleteModel","formParams","deleteDialogText","confirm","softDeleteProperty","remove","plural","stringify","hasPermission","displayInfo","property","askIf","userRoles","role","page","models","readonly","languageCode","locale","type","toLowerCase","isLoading","checkDefaultValues","isEdit","translated","saveButtonText","deleteButtonText","transId","$watchCollection","newData","oldData","statusLabel","ModelListCtrl","moment","columnCount","list","selected","columns","listTemplateUrl","totalServerItems","isEditing","searchFields","sort","sortInfo","fields","directions","filterOptions","filterText","useExternalFilter","pagingOptions","pageSizes","pageSize","currentPage","gridOptions","enableColumnResize","enableRowSelection","multiSelect","enablePaging","useExternalSorting","showSelectionCheckbox","showFooter","showFilter","headerRowHeight","footerRowHeight","selectedItems","rowHeight","gridContainerTopMargin","chart","gridContainerTopMarginMax","height","processChart","window","ngGrid","i18n","ngTotalItemsLabel","ngPageSizeLabel","getColumnDefinition","columnDefs","editable","enableCellEdit","enableCellEditOnFocus","enableCellSelection","api","apiPath","origApiPath","addQueryStringParams","getTotalServerItems","$grid","element","bind","processWindowSize","startEdit","resetPaging","test","navigator","userAgent","flexibleHeight","plugins","ngGridFlexibleHeightPlugin","allowCSVExport","ngGridCsvExportPlugin","strings","cancelButtonText","cancelButton","saveButton","columnRef","column","isRoleFound","r","splice","windowWidth","innerWidth","averageColumnWidth","filter","optional","queryStringParams","search","replace","session","searchString","startPos","endPos","sessionKey","substring","slice","eval","filterDescription","parseInt","extend","warn","setupPagination","limit","skip","order","field","direction","filter[limit]","filter[skip]","sortOrder","filter[order]","queryStringParamsToJSON","where","and","v","k","item","orFilter","or","idx","searchFilter","vAxis","hAxis","textStyle","gridlines","fontSize","color","baselineColor","oldList","endEdit","undefined","loadItems","isFirstLoad","count","errorMessage","cacheKey","getKeyForAction","resultField","loadAttempted","hasButtonPermission","button","clickListButton","click","value","lastIndexOf","clickAdd","clickSaveEdit","deltaList","newRow","oldRow","rowKeys","foreceDefaultOnSave","evalDefault","required","displayName","recordIndex","saveRecord","record","saveNextRecord","clickCancelEdit","deleteRowWithMessage","row","deleteRow","bypassPrompt","entity","rowIndex","newVal","oldVal","selectedState","stateName","stateModel","stateAction","stateId","toString","debounce","$apply","ngGridUnWatch","$viewport","$footerPanel","$listContainer","rebuildTimeout","rebuildGrid","$gridServices","DomUtilityService","RebuildGrid","$gridScope","handleScrollEvent","originalEvent","detail","wheelDelta","scrollY","scrollTop","clearTimeout","setTimeout","offset","top","$digest","css","bottom","position","val","encodeURIComponent","filterNav","currentNavIndex","modifiedNav","jsonEditor","alertTitle","alertMessage","allowAlertClose","getEditor","getValue","saveNav","document","getElementById","theme","iconlib","layout","startval","disable_properties","disable_edit_json","disable_delete_all","disable_delete_last","schema","format","disable_collapse","items","headerTemplate","icon","collapsed","className","enum","tite","sortField","description","width","headerClass","cellClass","cellTemplate","cellFilter","minWidth","maxWidth","sortable","resizable","defaultProperties","defaultSubNavIndex","watch","enumSource","source","JSONEditor","parent","temp","index","setValue","a","b","moveUp","from","to","moveDown","edit","onEdit","saveSort","newOrder","unshift","modalTitle","login","clickLogin","logIn","password","UserService","register","apiBaseUrl","directive","require","restrict","control","ngFormat","ngTimeZone","defaultDate","viewMode","ngViewMode","horizontal","maxDate","minDate","link","elem","attrs","ngModel","$formatters","date","tz","useCurrent","toDate","widgetPositioning","datetimepicker","show","focus","dateValue","isValid","$setViewValue","$compile","getTemplate","html","contents","ngOptions","ngRepeat","addInputAttributes","inputAttr","$input","attr","ngError","onFieldError","initFieldType","charsLeft","maxLength","lengthCheck","target","Error","errorCode","isRequired","filename","file","extension","defaultValueUsingModelKey","convertToLocalTime","check","default","editTemplate","pattern","disabled","modelData","signature","clearCanvas","canvas","_canvas","fromDataURL","image","Image","setAttribute","onload","getContext","drawImage","fileUrl","src","toDataURL","dataUrl","selectFileButtonText","clearButtonText","translationBtnKeys","unwatch","previewUrl","pos","s3Path","getFileIcon","onFileSelect","$files","selectedFile","nodeName","off","ImageService","uploadStatus","imageUrl","urlKey","thumbnailUrl","onerror","fileReader","readAsDataURL","FileReader","imageData","__ModelFieldImageData","fixOrientationWithDataURI","dataURI","dataURItoBlob","export","exportImages","resize","resizeImage","blob","isAllowed","extensions","match","join","arguments","exportKey","settings","byteString","split","atob","unescape","mimeString","ia","Uint8Array","charCodeAt","Blob","imageClick","isLightbox","isLightboxWithZoom","$container","append","scale","Math","min","background","backgroundSize","$thumbnail","$zoom","thumbnailWidth","thumbnailHeight","zoomWidth","zoomHeight","border","x","y","positionImage","offsetX","offsetY","pageX","pageY","backgroundPosition","maxScale","animate","backgroundColor","opacity","$imageContainer","addLabel","sortableOptions","placeholder","update","updateData","setData","output","addItem","removeItem","results","$q","LocationService","loadScript","deferred","defer","resolve","promise","googleMapsApiJS","createElement","getElementsByTagName","appendChild","initMap","isMapLoading","isLoaded","map","google","maps","Map","center","location","zoom","initialize","initSelectedMarker","selectedMarker","LatLng","lat","lng","setPosition","setMap","setCenter","Marker","MarkerImage","Size","Point","draggable","tooltip","addListener","geocoder","originalValue","geocodeSearch","geocodeError","showGeocode","Geocoder","allowGeocode","query","currentLocation","pointLocation","latitude","longitude","valueChanged","doGeocode","geocode","address","GeocoderStatus","OK","geometry","OVER_QUERY_LIMIT","ZERO_RESULTS","clearSearch","hasSearched","revertValue","initOptions","keyOverride","valueOverride","option","multiSelectOptions","initData","findIndex","clickMultiSelectCheckbox","selectedOption","checkNumber","cursorPosition","selection","range","createRange","moveStart","text","selectionStart","indexOfDecimal","valueComponents","scaleValue","validateAndParseNumbers","validity","badInput","allowDecimal","decimalString","isNaN","minValue","isFirstDecLarger","maxValue","round","roundedValue","parseFloat","dec1","dec2","dec1Components","dec2Components","areBothPositive","max","charAt","$http","googleApiKey","convertStringToGoogleTypeFormat","str","request","initQuery","jQuery","radius","places","PlacesService","textSearch","PlacesServiceStatus","createMarkers","boundaries","clearOverlays","markers","removeMarkers","createCircle","displayMarkers","listSearchResults","infowindow","searchResults","marker","markerLocation","getPosition","setContent","getClickedMarker","circle","Circle","fillOpacity","fillColor","bounds","LatLngBounds","spherical","computeDistanceBetween","displayedMarkers","fitBounds","searchError","displayedSearchResults","placeId","perviouslySavedLatLng","requestQuery","placeType","googleType","zipCode","InfoWindow","doSearch","reverseGeocode","coordinates","resultPlaceId","place_id","getAdditionPlaceInformation","checked","getSelectResultData","placeRequest","service","getDetails","place","address_components","types","short_name","phoneNumber","formatted_phone_number","formatted_address","updateInfoWindow","checkedLocation","updateSelection","selectedIdx","multiple","matchTemplate","choiceTemplate","rowData","textOutputPath","onModelChanged","appendToBody","replaceSessionVariables","string","mergeArray","fromArray","toArray","assignJunctionMeta","junctionMeta","selectedItem","isFirstTimeLoad","newValue","oldValue","refreshChoices","searchField","filters","preventCancel","allowInsert","addNewItem","allowClear","defaultIndex","onSelect","sourceModel","relationship","referenceModel","sourceModelName","sourceId","sourceKey","getMany","inq","$item","newItem","textValue","obj","onRemove","trigger","repeatExpression","selectedList","insertText","$sce","videoUrl","trustAsResourceUrl","fontsList","fonts","initWysiwygEditor","instances","instanceIdx","$wysiwyg","editorId","toolbarId","$toolbar","wysiwyg","toolbarSelector","hotKeys","dragAndDropImages","initColorPicker","$colorPicker","spectrum","flat","cancelText","clickoutFiresChange","preferredFormat","showInput","change","closest","toHexString","execCommand","toggleDropdown","$element","currentTarget","allowImageUpload","uploadFile","imagePath","toggleCodeEdit","isEditingCode","htmlCode","innerHTML","html_beautify","indent_size","codeEditor","$viewValue","ace","getSession","setMode","each","overlay","left","$render","overflow-y","scrollHeight","minTextAreaHeight","number","NaN","localeMap","aar","abk","afr","aka","alb","amh","ara","arg","arm","asm","ava","ave","aym","aze","bak","bam","baq","bel","ben","bih","bis","bod","bos","bre","bul","bur","cat","ces","cha","che","chi","chu","chv","cor","cos","cre","cym","cze","dan","deu","div","dut","dzo","ell","eng","epo","est","eus","ewe","fao","fas","fij","fin","fra","fre","fry","ful","geo","ger","gla","gle","glg","glv","gre","grn","guj","hat","hau","heb","her","hin","hmo","hrv","hun","hye","ibo","ice","ido","iii","iku","ile","ina","ind","ipk","isl","ita","jav","jpn","kal","kan","kas","kat","kau","kaz","khm","kik","kin","kir","kom","kon","kor","kua","kur","lao","lav","lim","lin","lit","ltz","lub","lug","mac","mah","mal","mao","mar","may","mkd","mlg","mlt","mon","mri","msa","mya","nau","nbl","nde","ndo","nep","nld","nno","nob","nor","nya","oci","oji","ori","orm","oss","pan","per","pli","pol","por","pus","que","roh","ron","rum","rus","sag","san","sin","slk","slo","slv","sme","smo","sna","snd","som","sot","spa","sqi","srd","srp","ssw","sun","swa","swe","tah","tam","tat","tel","tgk","tgl","tha","tib","tir","ton","tsn","tso","tuk","tur","twi","uig","ukr","urd","uzb","ven","vie","vol","wel","wln","wol","xho","yid","yor","zha","zho","zul","KEY_DELIMITER","localStorage","getItem","setItem","regex","RegExp","_roles","_nav","fromJson","isEmpty","isEqual","restrictMenuItems","navList","hidden","menus","menu","hasAccess","hasOwnProperty","subItems","subNavIndex","$upload","Utils","getS3Credentials","fileType","access_token","getTime","apiHelper","cmsBaseUrl","getFileUploadData","credentials","uniqueFilePath","AWSAccessKeyId","acl","policy","success_action_status","Cache-Control","String","detectMimeTypeByExt","upload","uploadUrl","method","notify","success","locationUrl","xmldoc","DOMParser","parseFromString","evaluate","XPathResult","STRING_TYPE","stringValue","documentElement","childNodes","node","firstChild","nodeValue","reject","uploadFilePath","uploadImages","imageFiles","fileIndex","exportIndex","imageUploadResults","fileKey","currentUploadedSize","totalUploadSize","imageFile","fileKeys","exports","exportKeys","fkey","ekey","ext","pop","3dm","3dmf","aab","aam","aas","abc","acgi","afl","ai","aif","aifc","aiff","aim","aip","ani","aos","aps","arc","arj","art","asf","asp","asx","au","avi","avs","bcpio","bin","bm","bmp","boo","book","boz","bsh","bz","bz2","c","c++","cc","ccad","cco","cdf","cer","chat","class","com","conf","cpio","cpp","cpt","crl","crt","csh","cxx","dcr","deepv","def","der","dif","dir","dl","doc","dot","dp","drw","dump","dv","dvi","dwf","dwg","dxf","dxr","el","elc","env","eps","es","etx","evy","exe","f","f77","f90","fdf","fif","fli","flo","flx","fmf","for","fpx","frl","funk","g","g3","gif","gl","gsd","gsm","gsp","gss","gtar","gz","gzip","h","hdf","help","hgl","hh","hlb","hlp","hpg","hpgl","hqx","hta","htc","htm","htmls","htt","htx","ico","idc","ief","iefs","iges","igs","ima","imap","inf","ins","ip","isu","it","iv","ivr","ivy","jam","java","jcm","jfif","jfif-tbnl","jpe","jpeg","jpg","jps","js","jut","kar","ksh","la","lam","latex","lha","lhx","lma","lsp","lst","lsx","ltx","lzh","lzx","m","m1v","m2a","m2v","m3u","man","mbd","mc$","mcd","mcf","mcp","me","mht","mhtml","mid","midi","mif","mime","mjf","mjpg","mm","mme","mod","moov","mov","movie","mp2","mp3","mpa","mpc","mpe","mpeg","mpg","mpga","mpp","mpt","mpv","mpx","mrc","ms","mv","my","mzz","nap","naplps","nc","ncm","nif","niff","nix","nsc","nvd","o","oda","omc","omcd","omcr","p","p10","p12","p7a","p7c","p7m","p7r","p7s","part","pas","pbm","pcl","pct","pcx","pdb","pdf","pfunk","pgm","pic","pict","pkg","pko","pl","plx","pm","pm4","pm5","png","pnm","pot","pov","ppa","ppm","pps","ppt","ppz","pre","prt","ps","psd","pvu","pwz","py","pyc","qcp","qd3","qd3d","qif","qt","qtc","qti","qtif","ra","ram","ras","rast","rexx","rf","rgb","rm","rmi","rmm","rmp","rng","rnx","roff","rp","rpm","rt","rtf","rtx","rv","s","s3m","saveme","sbk","scm","sdml","sdp","sdr","sea","sgm","sgml","sh","shar","shtml","sid","sit","skd","skm","skp","skt","sl","smi","smil","sol","spc","spl","spr","sprite","ssi","ssm","sst","step","stl","stp","sv4cpio","sv4crc","svf","svr","swf","t","talk","tar","tbk","tcl","tcsh","tex","texi","texinfo","tgz","tif","tiff","tr","tsi","tsp","tsv","turbot","txt","uil","uni","unis","unv","uri","uris","ustar","uu","uue","vcd","vcs","vda","vdo","vew","viv","vivo","vmd","vmf","voc","vos","vox","vqe","vqf","vql","vrml","vrt","vsd","vst","vsw","w60","w61","w6w","wav","wb1","wbmp","web","wiz","wk1","wmf","wml","wmlc","wmls","wmlsc","word","wp","wp5","wp6","wpd","wq1","wri","wrl","wrz","wsc","wsrc","wtk","xbm","xdr","xgz","xif","xl","xla","xlb","xlc","xld","xlk","xll","xlm","xls","xlt","xlv","xlw","xm","xml","xmz","xpix","xpm","x-png","xsr","xwd","xyz","z","zip","zoo","zsh","apiCancel","newKey","sortData","accessToken","post","__model","__id","__accessToken","modelDef","uploadFiles","nextFile","assignImageFileMetaData","fieldKey","mediaRelationshipModel","j","fileInfo","meta","metaKeys","metaKey","forceDefaultOnSave","json","loadImageURI","EXIF","getData","exif","context","orientation","getTag","aspect","setOrientation","restore","rotate","PI","d","geolocation","getCurrentPosition","coords","$cookieStore","authModel","setSession","startsWith","found","ctrlRoles","sessionStr","apiRequests","canceller","timeout","swap","args","ret","old","style","apply"],"mappings":"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AAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPzV,IAAO,KACP0V,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACP95B,IAAO,KACP+5B,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPjiC,IAAO,KACPkiC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAA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","file":"app.js"} \ No newline at end of file diff --git a/dist/vendor.js b/dist/vendor.js index b1c0d3ae..0bdfc7c1 100644 --- a/dist/vendor.js +++ b/dist/vendor.js @@ -1,5 +1,5 @@ /** - * isbx-loopback-cms - v0.1.2 - 2017-08-30 + * isbx-loopback-cms - v0.1.2 - 2017-09-08 * * * Copyright (c) 2017 ISBX @@ -7,63 +7,63 @@ */ function ngGridFlexibleHeightPlugin(a){var b=this;b.grid=null,b.scope=null,b.init=function(c,d,e){b.domUtilityService=e.DomUtilityService,b.grid=d,b.scope=c;var f=function(){setTimeout(g,1)},g=function(){var c=b.grid.gridId,d="."+c+" .ngFooterPanel",e=b.grid.$topPanel.height()+$(d).height(),f=b.grid.$canvas.height()+1;null!=a&&(null!=a.minHeight&&f+ea.maxHeight&&(f=a.maxHeight));var g=f+3;b.scope.baseViewportHeight&&b.scope.baseViewportHeight===g||(b.grid.$viewport.css("height",g+"px"),b.grid.$root.css("height",g+e+"px"),b.scope.baseViewportHeight=g,b.domUtilityService.RebuildGrid(b.scope,b.grid))};b.scope.catHashKeys=function(){var a,c="";for(a in b.scope.renderedRows)c+=b.scope.renderedRows[a].$$hashKey;return c},b.scope.$watch("catHashKeys()",g),b.scope.$watch(b.grid.config.data,f)}}function ngGridCsvExportPlugin(a){var b=this;b.grid=null,b.scope=null,b.services=null,a=a||{},a.containerPanel=a.containerPanel||".ngFooterPanel",a.linkClass=a.linkCss||"csv-data-link-span",a.linkLabel=a.linkLabel||"CSV Export",a.fileName=a.fileName||"Export.csv",b.init=function(c,d,e){function f(){function c(a){return null==a?"":"number"==typeof a?""+a:"boolean"==typeof a?a?"TRUE":"FALSE":"string"==typeof a?a.replace(/"/g,'""'):JSON.stringify(a).replace(/"/g,'""')}function e(a){return a.substr(0,a.length-1)+"\n"}var f=[],g="";for(var h in d.config.columnDefs)d.config.columnDefs.hasOwnProperty(h)&&(f.push(d.config.columnDefs[h].field),g+='"',void 0!==d.config.columnDefs[h].displayName?g+=c(d.config.columnDefs[h].displayName):g+=c(d.config.columnDefs[h].field),g+='",');g=e(g);var i=d.data;for(var j in i){var k="";for(var l in f){var m;m=null!=a&&null!=a.columnOverrides&&null!=a.columnOverrides[f[l]]?a.columnOverrides[f[l]](b.services.UtilityService.evalProperty(i[j],f[l])):b.services.UtilityService.evalProperty(i[j],f[l]),k+='"'+c(m)+'",'}g+=e(k)}var n=d.$root.find(a.containerPanel),o=d.$root.find(a.containerPanel+" ."+a.linkClass);null!=o&&o.remove();var p='';p+='
'+a.linkLabel+"
",n.append(p)}b.grid=d,b.scope=c,b.services=e,setTimeout(f,0),c.catHashKeys=function(){var a="";for(var b in c.renderedRows)a+=c.renderedRows[b].$$hashKey;return a},a&&a.customDataWatcher?c.$watch(a.customDataWatcher,f):c.$watch(c.catHashKeys,f)}}(function(){function a(a,b){return a.set(b[0],b[1]),a}function b(a,b){return a.add(b),a}function c(a,b,c){switch(c?c.length:0){case 0:return a.call(b);case 1:return a.call(b,c[0]);case 2:return a.call(b,c[0],c[1]);case 3:return a.call(b,c[0],c[1],c[2])}return a.apply(b,c)}function d(a,b){for(var c=-1,d=a.length;++cb&&!f||!e||c&&!g&&h||d&&h)return 1;if(b>a&&!c||!h||f&&!d&&e||g&&e)return-1}return 0}function C(a){return Ea[a]}function D(a){return Fa[a]}function E(a){return"\\"+Ia[a]}function F(a,b,c){var d=a.length;for(b+=c?0:-1;c?b--:++b-1&&0==a%1&&(null==b?9007199254740991:b)>a}function I(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c}function J(a){var b=-1,c=Array(a.size);return a.forEach(function(a,d){c[++b]=[d,a]}),c}function K(a,b){for(var c=-1,d=a.length,e=-1,f=[];++cc)&&(c==a.length-1?a.pop():qe.call(a,c,1),!0)}function Oa(a,b){var c=Pa(a,b);return 0>c?P:a[c][1]}function Pa(a,b){for(var c=a.length;c--;)if(dd(a[c][0],b))return c;return-1}function Qa(a,b,c){var d=Pa(a,b);0>d?a.push([b,c]):a[d][1]=c}function Ta(a,b,c,d){return a===P||dd(a,$d[c])&&!ae.call(d,c)?b:a}function Ua(a,b,c){(c!==P&&!dd(a[b],c)||"number"==typeof b&&c===P&&!(b in a))&&(a[b]=c)}function Va(a,b,c){var d=a[b];(!dd(d,c)||dd(d,$d[b])&&!ae.call(a,b)||c===P&&!(b in a))&&(a[b]=c)}function Wa(a,b){return a&&Sb(b,Fd(b),a)}function Xa(a,b){for(var c=-1,d=null==a,e=b.length,f=Array(e);++cc?c:a),b!==P&&(a=b>a?b:a)),a}function Za(a,b,c,e,f,g){var h;if(c&&(h=f?c(a,e,f,g):c(a)),h!==P)return h;if(!md(a))return a;if(e=Ef(a)){if(h=uc(a),!b)return Rb(a,h)}else{var i=sc(a),j="[object Function]"==i||"[object GeneratorFunction]"==i;if("[object Object]"!=i&&"[object Arguments]"!=i&&(!j||f))return Da[i]?wc(a,i,b):f?a:{};if(G(a))return f?a:{};if(h=vc(j?{}:a),!b)return Ub(a,Wa(h,a))}return g||(g=new Ma),(f=g.get(a))?f:(g.set(a,h),(e?d:fb)(a,function(d,e){Va(h,e,Za(d,b,c,e,a,g))}),e?h:Ub(a,h))}function $a(a){var b=Fd(a),c=b.length;return function(d){if(null==d)return!c;for(var e=c;e--;){var f=b[e],g=a[f],h=d[f];if(h===P&&!(f in Object(d))||!g(h))return!1}return!0}}function _a(a,b,c){if("function"!=typeof a)throw new Yd("Expected a function");return pe(function(){a.apply(P,c)},b)}function ab(a,b,c,d){var e=-1,f=g,j=!0,k=a.length,l=[],m=b.length;if(!k)return l;c&&(b=i(b,w(c))),d?(f=h,j=!1):b.length>=200&&(f=La,j=!1,b=new Ia(b));a:for(;++ec;)a=a[b[c++]];return c&&c==d?a:P}function jb(a,b){return ae.call(a,b)||"object"==typeof a&&b in a&&null===le(a)}function kb(a,b){return b in Object(a)}function lb(a,b,c){for(var d=c?h:g,e=a.length,f=e,j=Array(e),k=[];f--;){var l=a[f];f&&b&&(l=i(l,w(b))),j[f]=c||!b&&120>l.length?P:new Ia(f&&l)}var l=a[0],m=-1,n=l.length,o=j[0];a:for(;++md?i*("desc"==c[d]?-1:1):i;break a}}d=a.b-b.b}return d})}function wb(a,b){return a=Object(a),k(b,function(b,c){return c in a&&(b[c]=a[c]),b},{})}function xb(a,b){var c={};return eb(a,function(a,d){b(a,d)&&(c[d]=a)}),c}function yb(a){return function(b){return null==b?P:b[a]}}function zb(a){return function(b){return ib(b,a)}}function Ab(a,b,c){var d=-1,e=b.length,f=a;for(c&&(f=i(a,function(a){return c(a)}));++db&&(b=-b>e?0:e+b),c=c>e?e:c,0>c&&(c+=e),e=b>c?0:c-b>>>0,b>>>=0,c=Array(e);++d=e){for(;e>d;){var f=d+e>>>1,g=a[f];(c?b>=g:b>g)&&null!==g?d=f+1:e=f}return e}return Hb(a,b,Nd,c)}function Hb(a,b,c,d){b=c(b);for(var e=0,f=a?a.length:0,g=b!==b,h=null===b,i=b===P;f>e;){var j=se((e+f)/2),k=c(a[j]),l=k!==P,m=k===k;(g?m||d:h?m&&l&&(d||null!=k):i?m&&(d||l):null==k?0:d?b>=k:b>k)?e=j+1:f=j}return xe(f,4294967294)}function Ib(a,b){for(var c=0,d=a.length,e=a[0],f=b?b(e):e,g=f,h=0,i=[e];++c1?c[e-1]:P,g=e>2?c[2]:P,f="function"==typeof f?(e--,f):P;for(g&&yc(c[0],c[1],g)&&(f=3>e?P:f,e=1),b=Object(b);++dg&&i[0]!==k&&i[g-1]!==k?[]:K(i,k),g-=h.length,d>g?ic(a,b,dc,k,P,i,h,P,P,d-g):c(j,this,i)}var f=ac(a);return e}function cc(a){return cd(function(b){b=db(b);var c=b.length,d=c,e=Ea.prototype.thru;for(a&&b.reverse();d--;){var f=b[d];if("function"!=typeof f)throw new Yd("Expected a function");if(e&&!g&&"wrapper"==oc(f))var g=new Ea([],!0)}for(d=g?d:c;++d=200)return g.plant(d).value();for(var e=0,a=c?b[e].apply(this,a):d;++es)return ic(a,b,dc,t,c,u,v,h,i,j-s)}if(s=m?c:this,t=n?s[a]:a,h)for(var v=u.length,w=xe(h.length,v),x=Rb(u);w--;){var y=h[w];u[w]=H(y,v)?x[y]:P}else q&&u.length>1&&u.reverse();return l&&u.length>i&&(u.length=i),this&&this!==Ra&&this instanceof k&&(t=r||ac(t)),t.apply(s,u)}var l=128&b,m=1&b,n=2&b,o=8&b,p=16&b,q=512&b,r=n?P:ac(a);return k}function ec(a){return cd(function(b){return b=i(db(b),pc()),cd(function(d){var e=this;return a(b,function(a){return c(a,e,d)})})})}function fc(a,b,c){return b=xd(b),a=M(a),b&&b>a?(b-=a,c=c===P?" ":c+"",a=Ld(c,re(b/M(c))),xa.test(c)?a.match(wa).slice(0,b).join(""):a.slice(0,b)):""}function gc(a,b,d,e){function f(){for(var b=-1,i=arguments.length,j=-1,k=e.length,l=Array(k+i),m=this&&this!==Ra&&this instanceof f?h:a;++jb?1:-1:zd(d)||0;var e=-1;c=we(re((c-b)/(d||1)),0);for(var f=Array(c);c--;)f[a?c:++e]=b,b+=d;return f}}function ic(a,b,c,d,e,f,g,h,i,j){var k=8&b;h=h?Rb(h):P;var l=k?g:P;g=k?P:g;var m=k?f:P;return f=k?P:f,b=(b|(k?32:64))&~(k?64:32),4&b||(b&=-4),b=[a,b,e,m,l,f,g,h,i,j],c=c.apply(P,b),Bc(a)&&We(c,b),c.placeholder=d,c}function jc(a){var b=Wd[a];return function(a,c){if(a=zd(a),c=xd(c)){var d=(Bd(a)+"e").split("e"),d=b(d[0]+"e"+(+d[1]+c)),d=(Bd(d)+"e").split("e");return+(d[0]+"e"+(+d[1]-c))}return b(a)}}function kc(a,b,c,d,e,f,g,h){var i=2&b;if(!i&&"function"!=typeof a)throw new Yd("Expected a function");var j=d?d.length:0;if(j||(b&=-97,d=e=P),g=g===P?g:we(xd(g),0),h=h===P?h:xd(h),j-=e?e.length:0,64&b){var k=d,l=e;d=e=P}var m=i?P:Te(a);return f=[a,b,c,d,e,k,l,f,g,h],m&&(c=f[1],a=m[1],b=c|a,d=128==a&&8==c||128==a&&256==c&&m[8]>=f[7].length||384==a&&m[8]>=m[7].length&&8==c,131>b||d)&&(1&a&&(f[2]=m[2],b|=1&c?0:4),(c=m[3])&&(d=f[3],f[3]=d?Pb(d,c,m[4]):Rb(c),f[4]=d?K(f[3],"__lodash_placeholder__"):Rb(m[4])),(c=m[5])&&(d=f[5],f[5]=d?Qb(d,c,m[6]):Rb(c),f[6]=d?K(f[5],"__lodash_placeholder__"):Rb(m[6])),(c=m[7])&&(f[7]=Rb(c)),128&a&&(f[8]=null==f[8]?m[8]:xe(f[8],m[8])),null==f[9]&&(f[9]=m[9]),f[0]=m[0],f[1]=b),a=f[0],b=f[1],c=f[2],d=f[3],e=f[4],h=f[9]=null==f[9]?i?0:a.length:we(f[9]-j,0),!h&&24&b&&(b&=-25),(m?Re:We)(b&&1!=b?8==b||16==b?bc(a,b,h):32!=b&&33!=b||e.length?dc.apply(P,f):gc(a,b,c,d):Zb(a,b,c),f)}function lc(a,b,c,d,e,f){var g=-1,h=2&e,i=1&e,j=a.length,k=b.length;if(!(j==k||h&&k>j))return!1;if(k=f.get(a))return k==b;for(k=!0,f.set(a,b);++gb?0:b,d)):[]}function Kc(a,b,c){var d=a?a.length:0;return d?(b=c||b===P?1:xd(b),b=d-b,Eb(a,0,0>b?0:b)):[]}function Lc(a){return a?a[0]:P}function Mc(a){var b=a?a.length:0;return b?a[b-1]:P}function Nc(a,b){return a&&a.length&&b&&b.length?Ab(a,b):a}function Oc(a){return a?Ae.call(a):a}function Pc(a){if(!a||!a.length)return[];var b=0;return a=f(a,function(a){return hd(a)?(b=we(a.length,b),!0):void 0}),u(b,function(b){return i(a,yb(b))})}function Qc(a,b){if(!a||!a.length)return[];var d=Pc(a);return null==b?d:i(d,function(a){return c(b,P,a)})}function Rc(a){return a=qa(a),a.__chain__=!0,a}function Sc(a,b){return b(a)}function Tc(){return this}function Uc(a,b){return"function"==typeof b&&Ef(a)?d(a,b):Ne(a,Hc(b))}function Vc(a,b){var c;if("function"==typeof b&&Ef(a)){for(c=a.length;c--&&!1!==b(a[c],c,a););c=a}else c=Oe(a,Hc(b));return c}function Wc(a,b){var c=-1,d=wd(a),e=d.length,f=e-1;for(b=Ya(xd(b),0,e);++c=a&&(b=P),c}}function $c(a,b,c){return b=c?P:b,a=kc(a,8,P,P,P,P,P,b),a.placeholder=$c.placeholder,a}function _c(a,b,c){return b=c?P:b,a=kc(a,16,P,P,P,P,P,b),a.placeholder=_c.placeholder,a}function ad(a,b,c){function d(){n&&je(n),j&&je(j),p=0,i=j=m=n=o=P}function e(b,c){c&&je(c),j=n=o=P,b&&(p=vf(),k=a.apply(m,i),n||j||(i=m=P))}function f(){var a=b-(vf()-l);0>=a||a>b?e(o,j):n=pe(f,a)}function g(){e(s,n)}function h(){if(i=arguments,l=vf(),m=this,o=s&&(n||!q),!1===r)var c=q&&!n;else{j||q||(p=l);var d=r-(l-p),e=0>=d||d>r;e?(j&&(j=je(j)),p=l,k=a.apply(m,i)):j||(j=pe(g,d))}return e&&n?n=je(n):n||b===r||(n=pe(f,b)),c&&(e=!0,k=a.apply(m,i)),!e||n||j||(i=m=P),k}var i,j,k,l,m,n,o,p=0,q=!1,r=!1,s=!0;if("function"!=typeof a)throw new Yd("Expected a function");return b=zd(b)||0,md(c)&&(q=!!c.leading,r="maxWait"in c&&we(zd(c.maxWait)||0,b),s="trailing"in c?!!c.trailing:s),h.cancel=d,h.flush=function(){return(n&&o||j&&s)&&(k=a.apply(m,i)),d(),k},h}function bd(a,b){function c(){var d=arguments,e=b?b.apply(this,d):d[0],f=c.cache;return f.has(e)?f.get(e):(d=a.apply(this,d),c.cache=f.set(e,d),d)}if("function"!=typeof a||b&&"function"!=typeof b)throw new Yd("Expected a function");return c.cache=new bd.Cache,c}function cd(a,b){if("function"!=typeof a)throw new Yd("Expected a function");return b=we(b===P?a.length-1:xd(b),0),function(){for(var d=arguments,e=-1,f=we(d.length-b,0),g=Array(f);++eb}function fd(a){return hd(a)&&ae.call(a,"callee")&&(!oe.call(a,"callee")||"[object Arguments]"==de.call(a))}function gd(a){return null!=a&&!("function"==typeof a&&jd(a))&&ld(Ue(a))}function hd(a){return nd(a)&&gd(a)}function id(a){return nd(a)&&"string"==typeof a.message&&"[object Error]"==de.call(a)}function jd(a){return"[object Function]"==(a=md(a)?de.call(a):"")||"[object GeneratorFunction]"==a}function kd(a){return"number"==typeof a&&a==xd(a)}function ld(a){return"number"==typeof a&&a>-1&&0==a%1&&9007199254740991>=a}function md(a){var b=typeof a;return!!a&&("object"==b||"function"==b)}function nd(a){return!!a&&"object"==typeof a}function od(a){return null!=a&&(jd(a)?fe.test(_d.call(a)):nd(a)&&(G(a)?fe:oa).test(a))}function pd(a){return"number"==typeof a||nd(a)&&"[object Number]"==de.call(a)}function qd(a){if(!nd(a)||"[object Object]"!=de.call(a)||G(a))return!1;var b=$d;return"function"==typeof a.constructor&&(b=le(a)),null===b||"function"==typeof(a=b.constructor)&&a instanceof a&&_d.call(a)==ce}function rd(a){return md(a)&&"[object RegExp]"==de.call(a)}function sd(a){return"string"==typeof a||!Ef(a)&&nd(a)&&"[object String]"==de.call(a)}function td(a){return"symbol"==typeof a||nd(a)&&"[object Symbol]"==de.call(a)}function ud(a){return nd(a)&&ld(a.length)&&!!Ca[de.call(a)]}function vd(a,b){return b>a}function wd(a){if(!a)return[];if(gd(a))return sd(a)?a.match(wa):Rb(a);if(ne&&a[ne])return I(a[ne]());var b=sc(a);return("[object Map]"==b?J:"[object Set]"==b?L:Id)(a)}function xd(a){if(!a)return 0===a?a:0;if((a=zd(a))===Q||a===-Q)return 1.7976931348623157e308*(0>a?-1:1);var b=a%1;return a===a?b?a-b:a:0}function yd(a){return a?Ya(xd(a),0,4294967295):0}function zd(a){if(md(a)&&(a=jd(a.valueOf)?a.valueOf():a,a=md(a)?a+"":a),"string"!=typeof a)return 0===a?a:+a;a=a.replace(fa,"");var b=na.test(a);return b||pa.test(a)?Ka(a.slice(2),b?2:8):ma.test(a)?R:+a}function Ad(a){return Sb(a,Gd(a))}function Bd(a){if("string"==typeof a)return a;if(null==a)return"";if(td(a))return he?Ke.call(a):"";var b=a+"";return"0"==b&&1/a==-Q?"-0":b}function Cd(a,b,c){return a=null==a?P:ib(a,b),a===P?c:a}function Dd(a,b){return tc(a,b,jb)}function Ed(a,b){return tc(a,b,kb)}function Fd(a){var b=Cc(a);if(!b&&!gd(a))return ve(Object(a));var c,d=xc(a),e=!!d,d=d||[],f=d.length;for(c in a)!jb(a,c)||e&&("length"==c||H(c,f))||b&&"constructor"==c||d.push(c);return d}function Gd(a){for(var b=-1,c=Cc(a),d=qb(a),e=d.length,f=xc(a),g=!!f,f=f||[],h=f.length;++bb||b>9007199254740991)return c;do{b%2&&(c+=a),b=se(b/2),a+=a}while(b);return c}function Md(a,b,c){return a=Bd(a),b=c?P:b,b===P&&(b=Aa.test(a)?za:ya),a.match(b)||[]}function Nd(a){return a}function Od(a){return nd(a)&&!Ef(a)?Pd(a):pb(a)}function Pd(a){return sb(Za(a,!0))}function Qd(a,b,c){var e=Fd(b),f=hb(b,e);null!=c||md(b)&&(f.length||!e.length)||(c=b,b=a,a=this,f=hb(b,Fd(b)));var g=!(md(c)&&"chain"in c)||c.chain,h=jd(a);return d(f,function(c){var d=b[c];a[c]=d,h&&(a.prototype[c]=function(){var b=this.__chain__;if(g||b){var c=a(this.__wrapped__);return(c.__actions__=Rb(this.__actions__)).push({func:d,args:arguments,thisArg:a}),c.__chain__=b,c}return d.apply(a,j([this.value()],arguments))})}),a}function Rd(){}function Sd(a){return zc(a)?yb(a):zb(a)}function Td(a){return a&&a.length?t(a,Nd):P}A=A?Sa.defaults({},A,Sa.pick(Ra,Ba)):Ra;var Ud=A.Date,Vd=A.Error,Wd=A.Math,Xd=A.RegExp,Yd=A.TypeError,Zd=A.Array.prototype,$d=A.Object.prototype,_d=A.Function.prototype.toString,ae=$d.hasOwnProperty,be=0,ce=_d.call(Object),de=$d.toString,ee=Ra._,fe=Xd("^"+_d.call(ae).replace(da,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ge=A.f,he=A.Symbol,ie=A.Uint8Array,je=A.clearTimeout,ke=ge?ge.g:P,le=Object.getPrototypeOf,me=Object.getOwnPropertySymbols,ne="symbol"==typeof(ne=he&&he.iterator)?ne:P,oe=$d.propertyIsEnumerable,pe=A.setTimeout,qe=Zd.splice,re=Wd.ceil,se=Wd.floor,te=A.isFinite,ue=Zd.join,ve=Object.keys,we=Wd.max,xe=Wd.min,ye=A.parseInt,ze=Wd.random,Ae=Zd.reverse,Be=rc(A,"Map"),Ce=rc(A,"Set"),De=rc(A,"WeakMap"),Ee=rc(Object,"create"),Fe=De&&new De,Ge=Be?_d.call(Be):"",He=Ce?_d.call(Ce):"",Ie=he?he.prototype:P,Je=he?Ie.valueOf:P,Ke=he?Ie.toString:P,Le={};qa.templateSettings={escape:Z,evaluate:$,interpolate:_,variable:"",imports:{_:qa}};var Me=function(){function a(){}return function(b){if(md(b)){a.prototype=b;var c=new a;a.prototype=P}return c||{}}}(),Ne=Xb(fb),Oe=Xb(gb,!0),Pe=Yb(),Qe=Yb(!0);ke&&!oe.call({valueOf:1},"valueOf")&&(qb=function(a){return I(ke(a))});var Re=Fe?function(a,b){return Fe.set(a,b),a}:Nd,Se=Ce&&2===new Ce([1,2]).size?function(a){return new Ce(a)}:Rd,Te=Fe?function(a){return Fe.get(a)}:Rd,Ue=yb("length"),Ve=me||function(){return[]} -;(Be&&"[object Map]"!=sc(new Be)||Ce&&"[object Set]"!=sc(new Ce))&&(sc=function(a){var b=de.call(a);if(a="[object Object]"==b?a.constructor:null,a="function"==typeof a?_d.call(a):""){if(a==Ge)return"[object Map]";if(a==He)return"[object Set]"}return b});var We=function(){var a=0,b=0;return function(c,d){var e=vf(),f=16-(e-b);if(b=e,f>0){if(150<=++a)return c}else a=0;return Re(c,d)}}(),Xe=cd(function(a,b){Ef(a)||(a=null==a?[]:[Object(a)]),b=db(b);for(var c=a,d=b,e=-1,f=c.length,g=-1,h=d.length,i=Array(f+h);++e1?a[b-1]:P,b="function"==typeof b?(a.pop(),b):P;return Qc(a,b)}),of=cd(function(a){function b(b){return Xa(b,a)}a=db(a);var c=a.length,d=c?a[0]:0,e=this.__wrapped__;return 1>=c&&!this.__actions__.length&&e instanceof Fa&&H(d)?(e=e.slice(d,+d+(c?1:0)),e.__actions__.push({func:Sc,args:[b],thisArg:P}),new Ea(e,this.__chain__).thru(function(a){return c&&!a.length&&a.push(P),a})):this.thru(b)}),pf=Vb(function(a,b,c){ae.call(a,c)?++a[c]:a[c]=1}),qf=Vb(function(a,b,c){ae.call(a,c)?a[c].push(b):a[c]=[b]}),rf=cd(function(a,b,d){var e=-1,f="function"==typeof b,g=zc(b),h=gd(a)?Array(a.length):[];return Ne(a,function(a){var i=f?b:g&&null!=a?a[b]:P;h[++e]=i?c(i,a,d):mb(a,b,d)}),h}),sf=Vb(function(a,b,c){a[c]=b}),tf=Vb(function(a,b,c){a[c?0:1].push(b)},function(){return[[],[]]}),uf=cd(function(a,b){if(null==a)return[];var c=b.length;return c>1&&yc(a,b[0],b[1])?b=[]:c>2&&yc(b[0],b[1],b[2])&&(b.length=1),vb(a,db(b),[])}),vf=Ud.now,wf=cd(function(a,b,c){var d=1;if(c.length)var e=K(c,wf.placeholder),d=32|d;return kc(a,d,b,c,e)}),xf=cd(function(a,b,c){var d=3;if(c.length)var e=K(c,xf.placeholder),d=32|d;return kc(b,d,a,c,e)}),yf=cd(function(a,b){return _a(a,1,b)}),zf=cd(function(a,b,c){return _a(a,zd(b)||0,c)}),Af=cd(function(a,b){b=i(db(b),pc());var d=b.length;return cd(function(e){for(var f=-1,g=xe(e.length,d);++fd.length?Qa(d,a,b):(c.array=null,c.map=new Ha(d))),(c=c.map)&&c.set(a,b),this},bd.Cache=Ha,qa.after=function(a,b){if("function"!=typeof b)throw new Yd("Expected a function");return a=xd(a),function(){return 1>--a?b.apply(this,arguments):void 0}},qa.ary=Yc,qa.assign=Ff,qa.assignIn=Gf,qa.assignInWith=Hf,qa.assignWith=If,qa.at=Jf,qa.before=Zc,qa.bind=wf,qa.bindAll=$f,qa.bindKey=xf,qa.chain=Rc,qa.chunk=function(a,b){b=we(xd(b),0);var c=a?a.length:0;if(!c||1>b)return[];for(var d=0,e=-1,f=Array(re(c/b));c>d;)f[++e]=Eb(a,d,d+=b);return f},qa.compact=function(a){for(var b=-1,c=a?a.length:0,d=-1,e=[];++bc&&(c=-c>e?0:e+c),d=d===P||d>e?e:xd(d),0>d&&(d+=e),d=c>d?0:yd(d);d>c;)a[c++]=b;return a},qa.filter=function(a,b){return(Ef(a)?f:cb)(a,pc(b,3))},qa.flatMap=function(a,b){return a&&a.length?db(i(a,pc(b,3))):[]},qa.flatten=function(a){return a&&a.length?db(a):[]},qa.flattenDeep=function(a){return a&&a.length?db(a,!0):[]},qa.flip=function(a){return kc(a,512)},qa.flow=_f,qa.flowRight=ag,qa.fromPairs=function(a){for(var b=-1,c=a?a.length:0,d={};++bb?0:b)):[]},qa.takeRight=function(a,b,c){var d=a?a.length:0;return d?(b=c||b===P?1:xd(b),b=d-b,Eb(a,0>b?0:b,d)):[]},qa.takeRightWhile=function(a,b){return a&&a.length?Lb(a,pc(b,3),!1,!0):[]},qa.takeWhile=function(a,b){return a&&a.length?Lb(a,pc(b,3)):[]},qa.tap=function(a,b){return b(a),a},qa.throttle=function(a,b,c){var d=!0,e=!0;if("function"!=typeof a)throw new Yd("Expected a function");return md(c)&&(d="leading"in c?!!c.leading:d,e="trailing"in c?!!c.trailing:e),ad(a,b,{leading:d,maxWait:b,trailing:e})},qa.thru=Sc,qa.toArray=wd,qa.toPairs=Hd,qa.toPairsIn=function(a){return v(a,Gd(a))},qa.toPath=function(a){return Ef(a)?i(a,String):Fc(a)},qa.toPlainObject=Ad,qa.transform=function(a,b,c){var e=Ef(a)||ud(a);if(b=pc(b,4),null==c)if(e||md(a)){var f=a.constructor;c=e?Ef(a)?new f:[]:Me(jd(f)?f.prototype:P)}else c={};return(e?d:fb)(a,function(a,d,e){return b(c,a,d,e)}),c},qa.unary=function(a){return Yc(a,1)},qa.union=ef,qa.unionBy=ff,qa.unionWith=gf,qa.uniq=function(a){return a&&a.length?Kb(a):[]},qa.uniqBy=function(a,b){return a&&a.length?Kb(a,pc(b)):[]},qa.uniqWith=function(a,b){return a&&a.length?Kb(a,P,b):[]},qa.unset=function(a,b){var c;if(null==a)c=!0;else{c=a;var d=b,d=zc(d,c)?[d+""]:Jb(d);c=Ec(c,d),d=Mc(d),c=null==c||!Dd(c,d)||delete c[d]}return c},qa.unzip=Pc,qa.unzipWith=Qc,qa.values=Id,qa.valuesIn=function(a){return null==a?x(a,Gd(a)):[]},qa.without=hf,qa.words=Md,qa.wrap=function(a,b){return b=null==b?Nd:b,Bf(b,a)},qa.xor=jf,qa.xorBy=kf,qa.xorWith=lf,qa.zip=mf,qa.zipObject=function(a,b){for(var c=-1,d=a?a.length:0,e=b?b.length:0,f={};++cc?b[c]:P);return f},qa.zipWith=nf,qa.extend=Gf,qa.extendWith=Hf,Qd(qa,qa),qa.add=function(a,b){var c;return a!==P&&(c=a),b!==P&&(c=c===P?b:c+b),c},qa.attempt=Zf,qa.camelCase=Rf,qa.capitalize=Jd,qa.ceil=ig,qa.clamp=function(a,b,c){return c===P&&(c=b,b=P),c!==P&&(c=zd(c),c=c===c?c:0),b!==P&&(b=zd(b),b=b===b?b:0),Ya(zd(a),b,c)},qa.clone=function(a){return Za(a)},qa.cloneDeep=function(a){return Za(a,!0)},qa.cloneDeepWith=function(a,b){return Za(a,!0,b)},qa.cloneWith=function(a,b){return Za(a,!1,b)},qa.deburr=Kd,qa.endsWith=function(a,b,c){a=Bd(a),b="string"==typeof b?b:b+"";var d=a.length;return c=c===P?d:Ya(xd(c),0,d),(c-=b.length)>=0&&a.indexOf(b,c)==c},qa.eq=dd,qa.escape=function(a){return(a=Bd(a))&&Y.test(a)?a.replace(W,D):a},qa.escapeRegExp=function(a){return(a=Bd(a))&&ea.test(a)?a.replace(da,"\\$&"):a},qa.every=function(a,b,c){var d=Ef(a)?e:bb;return c&&yc(a,b,c)&&(b=P),d(a,pc(b,3))},qa.find=function(a,b){if(b=pc(b,3),Ef(a)){var c=p(a,b);return c>-1?a[c]:P}return o(a,b,Ne)},qa.findIndex=function(a,b){return a&&a.length?p(a,pc(b,3)):-1},qa.findKey=function(a,b){return o(a,pc(b,3),fb,!0)},qa.findLast=function(a,b){if(b=pc(b,3),Ef(a)){var c=p(a,b,!0);return c>-1?a[c]:P}return o(a,b,Oe)},qa.findLastIndex=function(a,b){return a&&a.length?p(a,pc(b,3),!0):-1},qa.findLastKey=function(a,b){return o(a,pc(b,3),gb,!0)},qa.floor=jg,qa.forEach=Uc,qa.forEachRight=Vc,qa.forIn=function(a,b){return null==a?a:Pe(a,Hc(b),Gd)},qa.forInRight=function(a,b){return null==a?a:Qe(a,Hc(b),Gd)},qa.forOwn=function(a,b){return a&&fb(a,Hc(b))},qa.forOwnRight=function(a,b){return a&&gb(a,Hc(b))},qa.get=Cd,qa.gt=ed,qa.gte=function(a,b){return a>=b},qa.has=Dd,qa.hasIn=Ed,qa.head=Lc,qa.identity=Nd,qa.includes=function(a,b,c,d){return a=gd(a)?a:Id(a),c=c&&!d?xd(c):0,d=a.length,0>c&&(c=we(d+c,0)),sd(a)?d>=c&&-1c&&(c=we(d+c,0)),q(a,b,c)):-1},qa.inRange=function(a,b,c){return b=zd(b)||0,c===P?(c=b,b=0):c=zd(c)||0,(a=zd(a))>=xe(b,c)&&a=-9007199254740991&&9007199254740991>=a},qa.isString=sd,qa.isSymbol=td,qa.isTypedArray=ud,qa.isUndefined=function(a){return a===P},qa.join=function(a,b){return a?ue.call(a,b):""},qa.kebabCase=Sf,qa.last=Mc,qa.lastIndexOf=function(a,b,c){var d=a?a.length:0;if(!d)return-1;var e=d;if(c!==P&&(e=xd(c),e=(0>e?we(d+e,0):xe(e,d-1))+1),b!==b)return F(a,e,!0);for(;e--;)if(a[e]===b)return e;return-1},qa.lowerCase=Tf,qa.lowerFirst=Uf,qa.lt=vd,qa.lte=function(a,b){return b>=a},qa.max=function(a){return a&&a.length?n(a,Nd,ed):P},qa.maxBy=function(a,b){return a&&a.length?n(a,pc(b),ed):P},qa.mean=function(a){return Td(a)/(a?a.length:0)},qa.min=function(a){return a&&a.length?n(a,Nd,vd):P},qa.minBy=function(a,b){return a&&a.length?n(a,pc(b),vd):P},qa.noConflict=function(){return Ra._===this&&(Ra._=ee),this},qa.noop=Rd,qa.now=vf,qa.pad=function(a,b,c){a=Bd(a),b=xd(b);var d=M(a);return b&&b>d?(d=(b-d)/2,b=se(d),d=re(d),fc("",b,c)+a+fc("",d,c)):a},qa.padEnd=function(a,b,c){return(a=Bd(a))+fc(a,b,c)},qa.padStart=function(a,b,c){return a=Bd(a),fc(a,b,c)+a},qa.parseInt=function(a,b,c){return c||null==b?b=0:b&&(b=+b),a=Bd(a).replace(fa,""),ye(a,b||(la.test(a)?16:10))},qa.random=function(a,b,c){if(c&&"boolean"!=typeof c&&yc(a,b,c)&&(b=c=P),c===P&&("boolean"==typeof b?(c=b,b=P):"boolean"==typeof a&&(c=a,a=P)),a===P&&b===P?(a=0,b=1):(a=zd(a)||0,b===P?(b=a,a=0):b=zd(b)||0),a>b){var d=a;a=b,b=d}return c||a%1||b%1?(c=ze(),xe(a+c*(b-a+Ja("1e-"+((c+"").length-1))),b)):Cb(a,b)},qa.reduce=function(a,b,c){var d=Ef(a)?k:r,e=3>arguments.length;return d(a,pc(b,4),c,e,Ne)},qa.reduceRight=function(a,b,c){var d=Ef(a)?l:r,e=3>arguments.length;return d(a,pc(b,4),c,e,Oe)},qa.repeat=Ld,qa.replace=function(){var a=arguments,b=Bd(a[0]);return 3>a.length?b:b.replace(a[1],a[2])},qa.result=function(a,b,c){if(zc(b,a))d=null==a?P:a[b];else{b=Jb(b);var d=Cd(a,b);a=Ec(a,b)}return d===P&&(d=c),jd(d)?d.call(a):d},qa.round=kg,qa.runInContext=O,qa.sample=function(a){a=gd(a)?a:Id(a);var b=a.length;return b>0?a[Cb(0,b-1)]:P},qa.size=Xc,qa.snakeCase=Wf,qa.some=function(a,b,c){var d=Ef(a)?m:Fb;return c&&yc(a,b,c)&&(b=P),d(a,pc(b,3))},qa.sortedIndex=function(a,b){return Gb(a,b)},qa.sortedIndexBy=function(a,b,c){return Hb(a,b,pc(c))},qa.sortedIndexOf=function(a,b){var c=a?a.length:0;if(c){var d=Gb(a,b);if(c>d&&dd(a[d],b))return d}return-1},qa.sortedLastIndex=function(a,b){return Gb(a,b,!0)},qa.sortedLastIndexBy=function(a,b,c){return Hb(a,b,pc(c),!0)},qa.sortedLastIndexOf=function(a,b){if(a&&a.length){var c=Gb(a,b,!0)-1;if(dd(a[c],b))return c}return-1},qa.startCase=Xf,qa.startsWith=function(a,b,c){return a=Bd(a),c=Ya(xd(c),0,a.length),a.lastIndexOf(b,c)==c},qa.subtract=function(a,b){var c;return a!==P&&(c=a),b!==P&&(c=c===P?b:c-b),c},qa.sum=Td,qa.sumBy=function(a,b){return a&&a.length?t(a,pc(b)):P},qa.template=function(a,b,c){var d=qa.templateSettings;c&&yc(a,b,c)&&(b=P),a=Bd(a),b=Hf({},b,d,Ta),c=Hf({},b.imports,d.imports,Ta);var e,f,g=Fd(c),h=x(c,g),i=0;c=b.interpolate||sa;var j="__p+='";c=Xd((b.escape||sa).source+"|"+c.source+"|"+(c===_?ja:sa).source+"|"+(b.evaluate||sa).source+"|$","g");var k="sourceURL"in b?"//# sourceURL="+b.sourceURL+"\n":"";if(a.replace(c,function(b,c,d,g,h,k){return d||(d=g),j+=a.slice(i,k).replace(ta,E),c&&(e=!0,j+="'+__e("+c+")+'"),h&&(f=!0,j+="';"+h+";\n__p+='"),d&&(j+="'+((__t=("+d+"))==null?'':__t)+'"),i=k+b.length,b}),j+="';",(b=b.variable)||(j="with(obj){"+j+"}"),j=(f?j.replace(S,""):j).replace(T,"$1").replace(U,"$1;"),j="function("+(b||"obj")+"){"+(b?"":"obj||(obj={});")+"var __t,__p=''"+(e?",__e=_.escape":"")+(f?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+j+"return __p}",b=Zf(function(){return Function(g,k+"return "+j).apply(P,h)}),b.source=j,id(b))throw b;return b},qa.times=function(a,b){if(1>(a=xd(a))||a>9007199254740991)return[];var c=4294967295,d=xe(a,4294967295);for(b=Hc(b),a-=4294967295,d=u(d,b);++c=f)return a;if(1>(f=c-M(d)))return d;if(c=g?g.slice(0,f).join(""):a.slice(0,f),e===P)return c+d;if(g&&(f+=c.length-f),rd(e)){if(a.slice(f).search(e)){var h=c;for(e.global||(e=Xd(e.source,Bd(ka.exec(e))+"g")),e.lastIndex=0;g=e.exec(h);)var i=g.index;c=c.slice(0,i===P?f:i)}}else a.indexOf(e,f)!=f&&(e=c.lastIndexOf(e))>-1&&(c=c.slice(0,e));return c+d},qa.unescape=function(a){return(a=Bd(a))&&X.test(a)?a.replace(V,N):a},qa.uniqueId=function(a){var b=++be;return Bd(a)+b},qa.upperCase=Yf,qa.upperFirst=Vf,qa.each=Uc,qa.eachRight=Vc,qa.first=Lc,Qd(qa,function(){var a={};return fb(qa,function(b,c){ae.call(qa.prototype,c)||(a[c]=b)}),a}(),{chain:!1}),qa.VERSION="4.0.1",d("bind bindKey curry curryRight partial partialRight".split(" "),function(a){qa[a].placeholder=qa}),d(["drop","take"],function(a,b){Fa.prototype[a]=function(c){var d=this.__filtered__;if(d&&!b)return new Fa(this);c=c===P?1:we(xd(c),0);var e=this.clone();return d?e.__takeCount__=xe(c,e.__takeCount__):e.__views__.push({size:xe(c,4294967295),type:a+(0>e.__dir__?"Right":"")}),e},Fa.prototype[a+"Right"]=function(b){return this.reverse()[a](b).reverse()}}),d(["filter","map","takeWhile"],function(a,b){var c=b+1,d=1==c||3==c;Fa.prototype[a]=function(a){var b=this.clone();return b.__iteratees__.push({iteratee:pc(a,3),type:c}),b.__filtered__=b.__filtered__||d,b}}),d(["head","last"],function(a,b){var c="take"+(b?"Right":"");Fa.prototype[a]=function(){return this[c](1).value()[0]}}),d(["initial","tail"],function(a,b){var c="drop"+(b?"":"Right");Fa.prototype[a]=function(){return this.__filtered__?new Fa(this):this[c](1)}}),Fa.prototype.compact=function(){return this.filter(Nd)},Fa.prototype.find=function(a){return this.filter(a).head()},Fa.prototype.findLast=function(a){return this.reverse().find(a)},Fa.prototype.invokeMap=cd(function(a,b){return"function"==typeof a?new Fa(this):this.map(function(c){return mb(c,a,b)})}),Fa.prototype.reject=function(a){return a=pc(a,3),this.filter(function(b){return!a(b)})},Fa.prototype.slice=function(a,b){a=xd(a);var c=this;return c.__filtered__&&(a>0||0>b)?new Fa(c):(0>a?c=c.takeRight(-a):a&&(c=c.drop(a)),b!==P&&(b=xd(b),c=0>b?c.dropRight(-b):c.take(b-a)),c)},Fa.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},Fa.prototype.toArray=function(){return this.take(4294967295)},fb(Fa.prototype,function(a,b){var c=/^(?:filter|find|map|reject)|While$/.test(b),d=/^(?:head|last)$/.test(b),e=qa[d?"take"+("last"==b?"Right":""):b],f=d||/^find/.test(b);e&&(qa.prototype[b]=function(){function b(a){return a=e.apply(qa,j([a],h)),d&&m?a[0]:a}var g=this.__wrapped__,h=d?[1]:arguments,i=g instanceof Fa,k=h[0],l=i||Ef(g);l&&c&&"function"==typeof k&&1!=k.length&&(i=l=!1);var m=this.__chain__,n=!!this.__actions__.length,k=f&&!m,i=i&&!n;return!f&&l?(g=i?g:new Fa(this),g=a.apply(g,h),g.__actions__.push({func:Sc,args:[b],thisArg:P}),new Ea(g,m)):k&&i?a.apply(this,h):(g=this.thru(b),k?d?g.value()[0]:g.value():g)})}),d("pop push shift sort splice unshift".split(" "),function(a){var b=Zd[a],c=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",d=/^(?:pop|shift)$/.test(a);qa.prototype[a]=function(){var a=arguments;return d&&!this.__chain__?b.apply(this.value(),a):this[c](function(c){return b.apply(c,a)})}}),fb(Fa.prototype,function(a,b){var c=qa[b];if(c){var d=c.name+"";(Le[d]||(Le[d]=[])).push({name:b,func:c})}}),Le[dc(P,2).name]=[{name:"wrapper",func:P}],Fa.prototype.clone=function(){var a=new Fa(this.__wrapped__);return a.__actions__=Rb(this.__actions__),a.__dir__=this.__dir__,a.__filtered__=this.__filtered__,a.__iteratees__=Rb(this.__iteratees__),a.__takeCount__=this.__takeCount__,a.__views__=Rb(this.__views__),a},Fa.prototype.reverse=function(){if(this.__filtered__){var a=new Fa(this);a.__dir__=-1,a.__filtered__=!0}else a=this.clone(),a.__dir__*=-1;return a},Fa.prototype.value=function(){var a,b=this.__wrapped__.value(),c=this.__dir__,d=Ef(b),e=0>c,f=d?b.length:0;a=f;for(var g=this.__views__,h=0,i=-1,j=g.length;++if||f==a&&j==a)return Mb(b,this.__actions__);d=[];a:for(;a--&&j>i;){for(e+=c,f=-1,k=b[e];++f=this.__values__.length;return{done:a,value:a?P:this.__values__[this.__index__++]}},qa.prototype.plant=function(a){for(var b,c=this;c instanceof ua;){var d=Ic(c);d.__index__=0,d.__values__=P,b?e.__wrapped__=d:b=d;var e=d,c=c.__wrapped__}return e.__wrapped__=a,b},qa.prototype.reverse=function(){var a=this.__wrapped__;return a instanceof Fa?(this.__actions__.length&&(a=new Fa(this)),a=a.reverse(),a.__actions__.push({func:Sc,args:[Oc],thisArg:P}),new Ea(a,this.__chain__)):this.thru(Oc)},qa.prototype.toJSON=qa.prototype.valueOf=qa.prototype.value=function(){return Mb(this.__wrapped__,this.__actions__)},ne&&(qa.prototype[ne]=Tc),qa}var P,Q=1/0,R=NaN,S=/\b__p\+='';/g,T=/\b(__p\+=)''\+/g,U=/(__e\(.*?\)|\b__t\))\+'';/g,V=/&(?:amp|lt|gt|quot|#39|#96);/g,W=/[&<>"'`]/g,X=RegExp(V.source),Y=RegExp(W.source),Z=/<%-([\s\S]+?)%>/g,$=/<%([\s\S]+?)%>/g,_=/<%=([\s\S]+?)%>/g,aa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ba=/^\w*$/,ca=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,da=/[\\^$.*+?()[\]{}|]/g,ea=RegExp(da.source),fa=/^\s+|\s+$/g,ga=/^\s+/,ha=/\s+$/,ia=/\\(\\)?/g,ja=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ka=/\w*$/,la=/^0x/i,ma=/^[-+]0x[0-9a-f]+$/i,na=/^0b[01]+$/i,oa=/^\[object .+?Constructor\]$/,pa=/^0o[0-7]+$/i,qa=/^(?:0|[1-9]\d*)$/,ra=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,sa=/($^)/,ta=/['\n\r\u2028\u2029\\]/g,ua="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?)*",va=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]","g"),wa=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])"+ua,"g"),xa=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),ya=/[a-zA-Z0-9]+/g,za=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|\\d+","(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+ua].join("|"),"g"),Aa=/[a-z][A-Z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ba="Array Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Reflect RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Ca={};Ca["[object Float32Array]"]=Ca["[object Float64Array]"]=Ca["[object Int8Array]"]=Ca["[object Int16Array]"]=Ca["[object Int32Array]"]=Ca["[object Uint8Array]"]=Ca["[object Uint8ClampedArray]"]=Ca["[object Uint16Array]"]=Ca["[object Uint32Array]"]=!0,Ca["[object Arguments]"]=Ca["[object Array]"]=Ca["[object ArrayBuffer]"]=Ca["[object Boolean]"]=Ca["[object Date]"]=Ca["[object Error]"]=Ca["[object Function]"]=Ca["[object Map]"]=Ca["[object Number]"]=Ca["[object Object]"]=Ca["[object RegExp]"]=Ca["[object Set]"]=Ca["[object String]"]=Ca["[object WeakMap]"]=!1;var Da={};Da["[object Arguments]"]=Da["[object Array]"]=Da["[object ArrayBuffer]"]=Da["[object Boolean]"]=Da["[object Date]"]=Da["[object Float32Array]"]=Da["[object Float64Array]"]=Da["[object Int8Array]"]=Da["[object Int16Array]"]=Da["[object Int32Array]"]=Da["[object Map]"]=Da["[object Number]"]=Da["[object Object]"]=Da["[object RegExp]"]=Da["[object Set]"]=Da["[object String]"]=Da["[object Symbol]"]=Da["[object Uint8Array]"]=Da["[object Uint8ClampedArray]"]=Da["[object Uint16Array]"]=Da["[object Uint32Array]"]=!0,Da["[object Error]"]=Da["[object Function]"]=Da["[object WeakMap]"]=!1;var Ea={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Fa={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Ga={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Ha={function:!0,object:!0},Ia={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ja=parseFloat,Ka=parseInt,La=Ha[typeof exports]&&exports&&!exports.nodeType?exports:null,Ma=Ha[typeof module]&&module&&!module.nodeType?module:null,Na=A(Ha[typeof self]&&self),Oa=A(Ha[typeof window]&&window),Pa=Ma&&Ma.exports===La?La:null,Qa=A(Ha[typeof this]&&this),Ra=A(La&&Ma&&"object"==typeof global&&global)||Oa!==(Qa&&Qa.window)&&Oa||Na||Qa||Function("return this")(),Sa=O();(Oa||Na||{})._=Sa,"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return Sa}):La&&Ma?(Pa&&((Ma.exports=Sa)._=Sa),La._=Sa):Ra._=Sa}).call(this),function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){ -if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=!!a&&"length"in a&&a.length,c=fa.type(a);return"function"!==c&&!fa.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a,b,c){if(fa.isFunction(b))return fa.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fa.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ma.test(b))return fa.filter(b,a,c);b=fa.filter(b,a)}return fa.grep(a,function(a){return _.call(b,a)>-1!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b={};return fa.each(a.match(ra)||[],function(a,c){b[c]=!0}),b}function g(){X.removeEventListener("DOMContentLoaded",g),a.removeEventListener("load",g),fa.ready()}function h(){this.expando=fa.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ya,"-$&").toLowerCase(),"string"==typeof(c=a.getAttribute(d))){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:xa.test(c)?fa.parseJSON(c):c)}catch(a){}wa.set(a,b,c)}else c=void 0;return c}function j(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return fa.css(a,b,"")},i=h(),j=c&&c[3]||(fa.cssNumber[b]?"":"px"),k=(fa.cssNumber[b]||"px"!==j&&+i)&&Aa.exec(fa.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do{f=f||".5",k/=f,fa.style(a,b,k+j)}while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}function k(a,b){var c=void 0!==a.getElementsByTagName?a.getElementsByTagName(b||"*"):void 0!==a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&fa.nodeName(a,b)?fa.merge([a],c):c}function l(a,b){for(var c=0,d=a.length;d>c;c++)va.set(a[c],"globalEval",!b||va.get(b[c],"globalEval"))}function m(a,b,c,d,e){for(var f,g,h,i,j,m,n=b.createDocumentFragment(),o=[],p=0,q=a.length;q>p;p++)if((f=a[p])||0===f)if("object"===fa.type(f))fa.merge(o,f.nodeType?[f]:f);else if(Ha.test(f)){for(g=g||n.appendChild(b.createElement("div")),h=(Ea.exec(f)||["",""])[1].toLowerCase(),i=Ga[h]||Ga._default,g.innerHTML=i[1]+fa.htmlPrefilter(f)+i[2],m=i[0];m--;)g=g.lastChild;fa.merge(o,g.childNodes),g=n.firstChild,g.textContent=""}else o.push(b.createTextNode(f));for(n.textContent="",p=0;f=o[p++];)if(d&&fa.inArray(f,d)>-1)e&&e.push(f);else if(j=fa.contains(f.ownerDocument,f),g=k(n.appendChild(f),"script"),j&&l(g),c)for(m=0;f=g[m++];)Fa.test(f.type||"")&&c.push(f);return n}function n(){return!0}function o(){return!1}function p(){try{return X.activeElement}catch(a){}}function q(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)q(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),!1===e)e=o;else if(!e)return a;return 1===f&&(g=e,e=function(a){return fa().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=fa.guid++)),a.each(function(){fa.event.add(this,b,e,d,c)})}function r(a,b){return fa.nodeName(a,"table")&&fa.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function s(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function t(a){var b=Na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function u(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(va.hasData(a)&&(f=va.access(a),g=va.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)fa.event.add(b,e,j[e][c])}wa.hasData(a)&&(h=wa.access(a),i=fa.extend({},h),wa.set(b,i))}}function v(a,b){var c=b.nodeName.toLowerCase();"input"===c&&Da.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function w(a,b,c,d){b=Z.apply([],b);var e,f,g,h,i,j,l=0,n=a.length,o=n-1,p=b[0],q=fa.isFunction(p);if(q||n>1&&"string"==typeof p&&!da.checkClone&&Ma.test(p))return a.each(function(e){var f=a.eq(e);q&&(b[0]=p.call(this,e,f.html())),w(f,b,c,d)});if(n&&(e=m(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(g=fa.map(k(e,"script"),s),h=g.length;n>l;l++)i=e,l!==o&&(i=fa.clone(i,!0,!0),h&&fa.merge(g,k(i,"script"))),c.call(a[l],i,l);if(h)for(j=g[g.length-1].ownerDocument,fa.map(g,t),l=0;h>l;l++)i=g[l],Fa.test(i.type||"")&&!va.access(i,"globalEval")&&fa.contains(j,i)&&(i.src?fa._evalUrl&&fa._evalUrl(i.src):fa.globalEval(i.textContent.replace(Oa,"")))}return a}function x(a,b,c){for(var d,e=b?fa.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||fa.cleanData(k(d)),d.parentNode&&(c&&fa.contains(d.ownerDocument,d)&&l(k(d,"script")),d.parentNode.removeChild(d));return a}function y(a,b){var c=fa(b.createElement(a)).appendTo(b.body),d=fa.css(c[0],"display");return c.detach(),d}function z(a){var b=X,c=Qa[a];return c||(c=y(a,b),"none"!==c&&c||(Pa=(Pa||fa("