1(function(){"use strict";angular.module("easyzoom",["ui.router","ui.bootstrap","ngMessages","angularMoment","ngTagsInput","uiCropper","ngBootbox","cgNotify","gettext","uiGmapgoogle-maps","ngSanitize","remoteValidation","ngAnimate","ngCookies","infinite-scroll","ngclipboard","angular-svg-round-progressbar","ngSelectable","timer","perfect_scrollbar","slickCarousel","angular-click-outside","socialLogin","angularModalService","youtube-embed","easyzoom.core","easyzoom.common","easyzoom.market","easyzoom.manage","easyzoom.image","angularScreenfull"])})(),function(){"use strict";function n(n,t,i,r,u,f,e,o){t.debugEnabled(location.hostname==="localhost");o.options({appendToBody:!0});i.setGoogleKey("869113533458-3vvse2pkumgudr24vso72jvhu15rf9gs.apps.googleusercontent.com");i.setFbKey({appId:"776389572557071",apiVersion:"v2.9"});e.defaults.path="/";f.decorator("$uiViewScroll",function(){return function(n){$("html, body").animate({scrollTop:n.offset().top},500)}});r.configure({key:"AIzaSyCzEKx4VV4f4pWxODp1aWr4pv3l0eWZs6Q",v:"3",libraries:"geometry,places",transport:"auto"});var s,h=["$q","$injector",function(n,t){return{success:function(n){s=s||t.get("$http");var i=t.get("$timeout"),r=t.get("$rootScope");return s.pendingRequests.length<1&&i(function(){s.pendingRequests.length<1&&r.htmlReady()},700),n}}}];n.interceptors.push(h)}angular.module("easyzoom").config(n);n.$inject=["$httpProvider","$logProvider","socialProvider","uiGmapGoogleMapApiProvider","amTimeAgoConfig","$provide","$cookiesProvider","$uibTooltipProvider"]}(),function(){"use strict";function n(n,t,i){var r=n.get("Culture")||"en";t.setCurrentLanguage(r);t.loadRemote("/Scripts/app/lang/"+r+".json");i.isDeploymentMode=!1}angular.module("easyzoom").run(n);n.$inject=["cookies","gettextCatalog","$rootScope"]}(),function(){"use strict";function n(n,t,i,r,u){t.otherwise("/error/404");t.rule(function(n,t){var i=t.path(),r=i[i.length-1]==="/";if(r)return i.substr(0,i.length-1)});u.html5Mode({enabled:!0,requireBase:!1});n.state("error",{url:"/error/{page:int}/{message:string}",params:{page:{value:500,squash:!0},message:{value:"Default Error",squash:!0}},templateUrl:function(n){return"/Ng/Error/Error"+n.page+"?msg="+n.message},data:{pageTitle:r("Error")}}).state("status",{url:"/status/{type:string}",data:{pageTitle:r("Status")}}).state("info",{url:"/info/{page:string}",data:{pageTitle:r("Info")},controller:"InfoController",templateUrl:function(n){return"/Ng/Info/"+n.page}}).state("catalogDefault",{url:"/{selection:(?:popular|new|editors|largest|market)}",params:{selection:{value:"popular"}},templateUrl:"/Ng/Catalog/Index",controller:"CatalogController",data:{pageTitle:r("Catalog")}}).state("catalog",{url:"/{selection:(?:popular|new|editors|largest|market)}/{category:int}",params:{selection:{value:"popular"},category:{value:0,squash:!1}},templateUrl:"/Ng/Catalog/Index",controller:"CatalogController",data:{pageTitle:r("Catalog"),url:"/"}}).state("login",{url:"/auth/login?{return:string}",templateUrl:"/Ng/Auth/Login",controller:"AuthenticationController",params:{"return":{squash:!0}},data:{pageTitle:r("Login"),description:"",url:"/auth/login"}}).state("signup",{url:"/auth/signup?confirmed&{return:string}",templateUrl:"/Ng/Auth/Signup",controller:"AuthenticationController",params:{confirmed:{squash:!0},"return":{squash:!0}},data:{pageTitle:r("Sign Up"),url:"/auth/signup"}}).state("forgotPassword",{url:"/auth/forgotpassword",templateUrl:"/Ng/Auth/ForgotPassword",controller:"ForgotPasswordController",data:{pageTitle:r("Forgot Password"),description:"",url:"/auth/forgotpassword"}}).state("resetPassword",{url:"/auth/resetpassword?{UserId:string}&{code:string}&{email:string}",templateUrl:"/Ng/Auth/ResetPassword",controller:"ForgotPasswordController",data:{pageTitle:r("Reset Password"),url:"/auth/resetPassword"}}).state("settings",{url:"/settings/{page:string}",params:{page:{value:"profile"}},templateUrl:"/Ng/Settings/Index",controller:"SettingsController",data:{pageTitle:r("Settings"),url:"/settings/"},authentication:!0}).state("search",{url:"/search?{query:string}&{tag:string}",params:{query:{value:"",squash:!0},tag:{value:"",squash:!0}},templateUrl:"/Ng/Search/Index",controller:"SearchController",data:{pageTitle:r("Search"),url:"/search"}}).state("profile",{url:"/profile/{userid:int}/{page:string}",params:{userid:{value:0},page:{value:"images",squash:!0}},templateUrl:"/Ng/User/Profile",controller:"ProfileController",data:{pageTitle:r("Profile"),url:"/profile"}}).state("albumView",{url:"/album/{albumId:int}",params:{albumId:{value:0,squash:!0}},templateUrl:"/Ng/Viewing/Album",controller:"AlbumViewController",data:{pageTitle:r("Album"),url:"/album/"},resolve:{HttpService:"HttpService"}}).state("albumUrlAccess",{url:"/albumaccess/{accessKey:[0-9a-fA-F]{32}}",templateUrl:"/Ng/Viewing/Album",controller:"AlbumViewController",params:{accessKey:{value:""}},data:{pageTitle:r("Album"),url:"/album/"}}).state("manage",{url:"/manage",params:{},templateUrl:"/Ng/Manage/",data:{pageTitle:r("My Images"),url:"/manage/"},authentication:!0}
1).state("manage.images",{url:"/images/{imageId:int}?{page:int}&{take:int}",params:{imageId:{value:0,squash:!0},page:{value:1,squash:!0},take:{value:0,squash:!0}},controller:"ManageImagesController as vm",templateUrl:"/Ng/Manage/Images",authentication:!0}).state("manage.images_bought",{url:"/images/bought",controller:"ManageBoughtImagesController as imageVm",templateUrl:"/Ng/Manage/Images_Bought",authentication:!0}).state("manage.album",{url:"/album/{albumId:int}/{imageId:int}?{page:int}&{take:int}",params:{albumId:{value:0},imageId:{value:0,squash:!0},page:{value:1,squash:!0},take:{value:0,squash:!0}},controller:"ManageAlbumController as vm",templateUrl:"/Ng/Manage/Album",authentication:!0}).state("market",{url:"/manage/market",abstract:!0,params:{},templateUrl:"/Ng/Market/",data:{pageTitle:r("My Market"),url:"/manage/market"},authentication:!0}).state("market.activity",{url:"",parent:"market",templateUrl:"/Ng/Market/Activity",controller:"MarketActivityController as activityVm",data:{pageTitle:r("Market Activity"),url:"/manage/market"},authentication:!0}).state("market.images",{url:"/images",parent:"market",templateUrl:"/Ng/Market/Images",controller:"MarketImagesController as imagesVm",data:{pageTitle:r("Market Images"),url:"/manage/market/images"},authentication:!0}).state("market.albums",{url:"/albums",parent:"market",templateUrl:"/Ng/Market/Albums",data:{pageTitle:r("Market Albums"),url:"/manage/market/albums"},authentication:!0}).state("market.royalties",{url:"/royalties",parent:"market",templateUrl:"/Ng/Market/Royalties",controller:"MarketRoyaltiesController as royaltyVm",data:{pageTitle:r("Market Royalties"),url:"/manage/market/royalties"},authentication:!0}).state("imageView",{url:"/image/{imageId:int}/{selection:(?:popular|new|editors|largest|market|none)}/{category:int}?{purchaseResult:int}&{?debug}&{?roi}&{?show-annotations}",params:{imageId:{value:0,squash:!0},selection:{value:"none",squash:!0},category:{value:0,squash:!0},purchaseResult:{value:null,squash:!0},debug:{value:"false",squash:!0}},templateUrl:"/Ng/Viewing/Image",controller:"ImageViewController",data:{pageTitle:r("Image"),url:"/image/"}}).state("imageAlbumView",{url:"/image/{imageId:int}/album/{albumId:int}/{sort:int}?{mode:(?:view|manage)}",params:{imageId:{value:0,squash:!1},albumId:{value:0,squash:!1},sort:{value:0,squash:!0},mode:{value:"view",squash:!0}},templateUrl:"/Ng/Viewing/Image",controller:"ImageViewController",data:{pageTitle:r("Image"),url:"/image/"}}).state("imageUrlAccess",{url:"/imageaccess/{imageId:int}/{accessKey:[0-9a-fA-F]{32}}/{albumId:int}?{?roi}&{?show-annotations}",templateUrl:"/Ng/Viewing/Image",controller:"ImageViewController",params:{imageId:{value:0,squash:!0},accessKey:{value:"",squash:!1},albumId:{value:0,squash:!0}},data:{pageTitle:r("Image"),url:"/image/"}}).state("imageViewFrame",{url:"/imageviewer/{imageId:int}",templateUrl:"/Ng/Viewing/Image",controller:"ImageViewController",data:{pageTitle:r("Image"),url:"/image/"}}).state("uploadModal",{params:{album:{value:0,squash:!0}},url:"/upload?{album:int}",onEnter:["$rootScope","$stateParams",function(n,t){n.$broadcast("ez.upload.show",t)}],data:{pageTitle:r("Upload"),url:"/upload"},authentication:!0}).state("sharedUploadModal",{params:{shareAlbum:{value:"",squash:!0}},url:"/sharedUpload?{sharedAlbum:[0-9a-fA-F]{32}}",onEnter:["$rootScope","$stateParams",function(n,t){n.$broadcast("ez.upload.show",t)}],data:{pageTitle:r("Upload"),url:"/sharedUpload"},authentication:!0}).state("uploadMobile",{params:{album:{value:0,squash:!0},shareAlbum:{value:"",squash:!0}},url:"/mobileUpload?{album:int}",templateUrl:"/Ng/Upload/Index",controller:"UploadController",data:{pageTitle:r("Upload"),url:"/upload"},authentication:!0}).state("upload",{url:"/uploader?{album:int}",params:{album:{value:0,squash:!0}},onEnter:["$state","$location","$stateParams","configuration","$timeout",function(n,t,i,r,u){u(function(){r.get("isMobile")?n.go("uploadMobile",{album:i.album}):n.go("uploadModal",{album:i.album})})}]}).state("sharedUpload",{url:"/sharedUploader?{sharedAlbum:[0-9a-fA-F]{32}}",params:{shareAlbum:{value:"",squash:!0}},onEnter:["$state","$location","$stateParams","configuration","$timeout",function(n,t,i,r,u){u(function(){r.get("isMobile")?n.go("uploadMobile",{sharedAlbum:i.sharedAlbum}):n.go("sharedUploadModal",{sharedAlbum:i.sharedAlbum})})}]}).state("plans",{url:"/plans?{upgradeResult:int}",params:{upgradeResult:{value:null,squash:!0}},templateUrl:"/Ng/SubscriptionPlan/Index",controller:"SubscriptionPlanController",data:{pageTitle:r("Plans"),url:"/plans"}}).state("planUpgrade",{url:"/plans/upgrade/{planName:string}?{renewal:int}",templateUrl:"/Ng/SubscriptionPlan/Upgrade",controller:"SubscriptionPlanUpgradeController",params:{planName:{value:"pro"},renewal:{value:0}},data:{pageTitle:r("Plans"),url:"/plans/upgrade"}})}angular.module("easyzoom").config(n);n.$inject=["$stateProvider","$urlRouterProvider","$httpProvider","gettext","$locationProvider"]}(),function(){"use strict";angular.module("easyzoom.core",["ui.router","cgNotify","ngCookies"])}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a,v){function y(t){n.User&&o.Update
1CookiesConsent(t,function(){});l.set("CookiesConsent",t);n.CookiesConsent=t}function p(t){n.Categories=t;n.SelectedCategoryId=t[0].Key}n.TiledImagesRoot="";n.ProfileImagesRoot="";n.AlbumImagesRoot="";n.Categories=[];n.AnnotationTypes=[];n.currentStateName="";n.retrieveTagPage=!1;n.User=null;n.bypass=!1;n.app={currentPage:"catalog",isMobile:!1,pageLoading:!0};n.getSiteName=function(){var n=document.head.querySelector("meta[name='sim:ez-mode']"),t=n?n.getAttribute("content")||"ez":"ez";return t==="pz"?f.getString("PathoZoom"):f.getString("EasyZoom")};n.state={uploadPending:!1};n.searchQuery="";t.meta={title:"",keywords:"high resolution images, macro, photography, microscope, astronomy, gigapixel images",url:location.href,image:{url:"/Content/img/ez-logo-full.png",height:281,width:281,type:"image/jpeg"},description:"EasyZoom gives you the opportunity to discover and share high resolution images. Photography, microscope, astronomy, gigapixel images and more."};n.init=function(t,i,r,u){n.TiledImagesRoot=t.replace("-",":");n.ProfileImagesRoot=i.replace("-",":");n.AlbumImagesRoot=r.replace("-",":");o.LoadCategories(p);a.set("tiledImagesRoot",n.TiledImagesRoot);a.set("isMobile",u);setTimeout(function(){v.notifyIfNeeded("completeYourProfileInformation")},1e3)};n.$on("$stateChangeStart",function(u,s,c){if(!u.defaultPrevented){t.$broadcast("ez.upload.hide");s.name.indexOf(".")===-1&&r.current.name.indexOf(".")===-1&&(angular.element("#page-body").css("opacity",0),n.app.pageLoading=!0);n.app.currentPage="";angular.element(".modal-backdrop").remove();n.currentStateName=r.current.name;var a=l.get("AccessToken");a?!n.bypass&&e.IsTokenExists()&&(i.debug("AccessToken exists",a),u.preventDefault(),n.bypass=!0,n.User=l.get("User"),e.ValidateToken(function(){if(n.bypass=!0,e.IsAuthenticated()){var t=f.getCurrentLanguage();e.LoadUserHeader(function(){var n=l.get("Culture")||"en";t!==n&&h.location.reload();f.setCurrentLanguage(n);f.loadRemote("/Scripts/app/lang/"+n+".json")})}r.go(s.name,c)},function(){n.User=null;r.go(s.name,c)})):(i.debug("no AccessToken in cookies",a),n.User=null,n.bypass=!1,e.ClearAuthInfo());n.CookiesConsent=l.get("CookiesConsent");!n.CookiesConsent&&n.User&&(n.CookiesConsent=n.User.CookiesConsent,l.set("CookiesConsent",n.User.CookiesConsent));n.User&&n.User.CookiesConsent==null&&n.CookiesConsent&&o.UpdateCookiesConsent(n.CookiesConsent);t.meta={title:"",keywords:"high resolution images, macro, photography, microscope, astronomy, gigapixel images",site_name:n.getSiteName(),url:location.href,image:{url:"/Content/img/ez-logo-full.png",height:281,width:281,type:"image/jpeg"},description:"EasyZoom gives you the opportunity to discover and share high resolution images. Photography, microscope, astronomy, gigapixel images and more."}}});n.$on("$stateChangeSuccess",function(){n.currentStateName=r.current.name;n.currentStateName==="search"&&r.params.tag.length>0&&(n.retrieveTagPage=!0);n.app.pageLoading=!1;n.setPageTitle(r.current.data);n.onPageLoad()});n.$on("$stateChangeError",function(n,t,u,e,s,h){t.name==="error"?o.Notify({message:f.getString("LoadFailedError"),classes:"alert alert-danger"}):r.go("error",{page:500,message:"Cant load page"},{location:!1});i.error("Cant load page:"+h+" - "+n+" - "+t+" - "+u+" - "+e+" - "+s)});$(document).on("ps-y-reach-end",function(){$(window).trigger("scroll")});document.documentElement.addEventListener("gesturestart",function(n){n.preventDefault()},!1);n.$on("$viewContentLoaded",function(){});n.onPageLoad=function(){n.app.currentPage=r.current.name;angular.element("#page-body").css("opacity",1)};n.setPageTitle=function(i){typeof i!="undefined"&&i!==null&&(t.meta.title=i.pageTitle?f.getString(i.pageTitle)+" - "+n.getSiteName():n.getSiteName(),document.title=t.meta.title,t.meta.description=i.description?i.description:f.getString("EasyZoomTagline"),t.meta.keywords=i.keywords?i.keywords:f.getString("CatalogMetaKeywords"),t.meta.url=typeof i.url!="undefined"?location.origin+i.url:location.origin)};n.getProfileImage=function(t,i){return typeof t!="undefined"?n.ProfileImagesRoot+"/"+t+"_profile_"+i+".jpg?":"/Content/img/placeholder/profile.svg"};n.imgLoaded=function(n,t){t.data("img-type")==="image"?n==="failed"?t.css({visibility:"hidden"}):t.css({visibility:"visible"}):t.data("img-type")==="hide"?n==="failed"?t.hide():t.show():(t.removeClass("loaded loaded-failed"),n==="done"?t.addClass("loaded"):n==="failed"&&(typeof t.data("img-type")!="undefined"&&t.data("img-type")!==""&&(t.data("img-type")==="profile"?t.attr("src","/Content/img/placeholder/profile.svg"):t.attr("src","/Content/img/placeholder/"+t.data("img-type")+".png")),t.addClass("loaded-failed")))};n.acceptCookiesConsent=function(n){n.preventDefault();y(!0)};n.refuseCookiesConsent=function(n){n.preventDefault();y(!1)};n.submitSearch=function(){return(i.debug("searchQuery="+n.searchQuery),n.searchQuery===""||n.searchQuery.length>100)?!1:(r.go("search",{tag:"",query:n.searchQuery}),n.searchQuery="",!0)};n.getCategoryTitleById=function(t){if(typeof t=="undefined"||!t)return f.getString("MenuAllCategories");for(var i=0;i<n.Categories.length;i++)if(n.Categories[i].Key===t)return n.Categories[i].Value;return null};n.gaSendEvent=function(n){window.ga&&ga("send","event",n,"click")}}angular.module("easyzoom").controller("AppController",n);n.$inject=["$scope","$rootScope","$log","$state","$urlRouter","gettextCatalog","AuthenticationService","HttpService","LoginRouter","$window","notify","cookies","configuration","onceNotifier"]}(),function(){"use strict";function n(n){n.$on("$viewContentLoaded",function(){var t=angular.element(".ez-info-wrap h1:first").text(),i={pageTitle:t,description:t};n.setPageTitle(i)})}angular.module("easyzoom").controller("InfoController",n);n.$inject=["$scope"]}(),function(){"use strict";function n(n){function t(){var n=Math.max(document.documentElement.clientWidth,window.innerWidth||0);
1return n<768?10:20}function i(){var n=Math.max(document.documentElement.clientWidth,window.innerWidth||0);return n>=1200?Math.floor(n/288)*4:n>=767?Math.floor(n/250)*5:Math.floor(n/152)*5}function r(t,i){var r=n.get(t),u;r==null&&(r={});for(u in i)r[u]=i[u];n.set(t,r)}return{getManageImageTake:t,getImageTake:i,updateCookieObject:r}}angular.module("easyzoom").factory("commonHelper",n);n.$inject=["cookies"]}(),function(){"use strict";function n(n){function i(i,r,u){var f=i.ezImgSrc,o=u.ezImgSize?u.ezImgSize:t,e=n.get("tiledImagesRoot")+"/"+f+"/"+f+"_"+o+".jpg";r.attr("src",e);i.$watch("model",function(n,t){if(t===!1&&n===!0){var i=Date.now();r.attr("src",e+"?"+i)}})}var t=272;return{link:i,restrict:"A",scope:{ezImgSrc:"=",ezImgSize:"=",model:"=imgReload"}}}angular.module("easyzoom").directive("ezImgSrc",n);n.$inject=["configuration"]}(),function(){"use strict";function n(n){function t(t,i,r){var u=r.ezShowIfAuth==="true";r.ezShowIfAuth===""&&(u=!0);t.$watch(function(){return n.IsAuthenticated()},function(n){if(r.ezShowIfAuth==="anonymous"){i.css("display","");return}n===null?i.css("display","none"):i.css("display",u===n?"":"none")})}return{link:t,multiElement:!0,restrict:"A"}}angular.module("easyzoom").directive("ezShowIfAuth",n);n.$inject=["AuthenticationService","$animate"]}(),function(){"use strict";function n(){function n(n,t,i){var r=angular.element('<div class="ez-catalog-attention-block ez-loader"><div><span><\/span><\/div><\/div>');t.before(r);n.$watch(i.ezLoader,function(n){n?(t.css("display","none"),r.css("display","")):(t.css("display",""),r.css("display","none"))})}return{link:n,restrict:"A"}}angular.module("easyzoom").directive("ezLoader",n)}(),function(){"use strict";function n(){return{restrict:"A",link:function(n,t){t.bind("load",function(){n.$apply(function(){n.imgLoaded("done",t)})});t.bind("error",function(){n.$apply(function(){n.imgLoaded("failed",t)})})}}}angular.module("easyzoom").directive("imagesLoaded",n)}(),function(){"use strict";function t(n,t){var r=n.match(/^\s*({[^}]*})\s*$/),i;if(r&&(n=t+"("+r[1]+")"),i=n.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!i||i.length!==4)throw new Error("Invalid state ref '"+n+"'");return{state:i[1],paramExpr:i[3]||null}}function i(n,t,i){var r=n.compile(t.current.url);return r.exec(i.url())}function n(n,r,u,f){return{restrict:"A",link:function(e,o,s){var h=t(s.transitionTo,n.current.name),c={state:h.state,href:null,params:null},l=function(t){t&&(c.params=angular.copy(t));c.href=n.href(h.state,c.params,c.options);o.attr("href",c.href)};h.paramExpr&&(e.$watch(h.paramExpr,function(n){n!==c.params&&l(n)},!0),c.params=angular.copy(e.$eval(h.paramExpr)));l();o.bind("click",function(t){t.preventDefault();n.transitionTo(h.state,e.$eval(h.paramExpr),{notify:!1}).then(function(){r.$broadcast("$transitionToSuccess",i(u,n,f))})})}}}angular.module("easyzoom").directive("transitionTo",n);n.$inject=["$state","$rootScope","$urlMatcherFactory","$location"]}(),function(){"use strict";function n(){return{restrict:"A",link:function(n,t,i){var r=i.href;t.on("click",function(n){n.preventDefault();var i;i=r?angular.element(r):t;angular.element("body, html").animate({scrollTop:i.offset().top},"slow")})}}}angular.module("easyzoom").directive("scrollTo",n)}(),function(){"use strict";function n(){return{restrict:"AE",replace:!0,transclude:!0,template:function(n,t){var i="";return i+="<span",i+=' class="switch'+(t.class?" "+t.class:"")+'"',i+=t.ngModel?' ng-click="'+t.disabled+" ? "+t.ngModel+" : "+t.ngModel+"=!"+t.ngModel+(t.ngChange?"; "+t.ngChange+'()"':'"'):"",i+=' ng-class="{ checked:'+t.ngModel+", disabled:"+t.disabled+' }"',i+=">",i+="<small><\/small>",i+='<input type="checkbox"',i+=t.id?' id="'+t.id+'"':"",i+=t.name?' name="'+t.name+'"':"",i+=t.ngModel?' ng-model="'+t.ngModel+'"':"",i+=' style="display:none" />',i+='<span class="switch-text">',i+=t.on?'<span class="on">'+t.on+"<\/span>":"",i+=t.off?'<span class="off">'+t.off+"<\/span>":" ",i+"<\/span>"}}}angular.module("easyzoom").directive("switch",n)}(),function(){"use strict";function n(){function n(){ngModel.$parsers.push(function(n){return n==="true"});ngModel.$formatters.push(function(n){return""+n})}return{link:n,require:"ngModel",restrict:"EA"}}angular.module("easyzoom").directive("convertToBool",n)}(),function(){"use strict";function n(){function n(){ngModel.$parsers.push(function(n){return parseInt(n,10)});ngModel.$formatters.push(function(n){return""+n})}return{link:n,require:"ngModel",restrict:"EA"}}angular.module("easyzoom").directive("convertToNumber",n)}(),function(){"use strict";function n(n,t){function r(n){try{return JSON.parse(n)}catch(t){return n}}function f(n){if(n==="persistent"){var t=new Date;t.setDate(t.getDate()+30);i.options.expires=t}else n==="session"&&(i.options.expires="")}function e(r,u){var f=i.prefix+r;t.debug("will set cookie '"+f+"' with options",i.options);typeof u=="string"?n.put(f,u,i.options):n.putObject(f,u,i.options)}function o(t){var f=i.prefix+t,u=r(n.get(f));return typeof u=="undefined"?null:u}function s(){var u=n.getAll(),f={},t,e;for(t in u)u.hasOwnProperty(t)&&(e=t.replace(i.prefix,""),f[e]=r(u[t]));return f}function h(t){n.remove(i.prefix+t,i.options)}function c(){var r=n.getAll();for(var t in r)r.hasOwnProperty(t)&&t.indexOf(i.prefix)>-1&&n.remove(t)}var u={set:e,get:o,getAll:s,remove:h,clear:c,setExpiring:f},i={prefix:"easyzoom.",options:{path:"/",expires:""}};return u}angular.module("easyzoom.core").service("cookies",n);n.$inject=["$cookies","$log"]}(),function(){"use strict";function n(){function t(t){return typeof n[t]=="undefined"?null:n[t]}function i(t,i){if(!t||typeof i=="undefined")throw"ConfigurationService: key or value cannot be empty";n[t]=i}function r(){return n}var n={};return{get:t,set:i,getAll:r}}angular.module("easyzoom.core").factory("configuration",n)}(),function(){"use strict";function n(n,t,i,r){function s(n){var t={headers:n}
1,i=r.get("AccessToken");return i&&(t.headers.Authorization="Bearer "+i),t}var u=function(t,r,u,f){n.get(t,s(r)).then(function(n){typeof u=="function"?u(n.data,n.status):typeof u!="undefined"&&i({message:u,classes:"alert alert-success"})},function(n,t){typeof f=="function"?f(n.data||"Connection failed",t):typeof f!="undefined"?i({message:f,classes:"alert alert-danger"}):i({message:"Connection failed",classes:"alert alert-danger"})})},f=function(t,r,u,f,e){n.post(t,r,s(u)).then(function(n){typeof f=="function"?f(n.data,n.status):typeof f!="undefined"&&i({message:f,classes:"alert alert-success"})},function(n){typeof e=="function"?e(n.data||"Connection failed",n.status):typeof e!="undefined"?i({message:e,classes:"alert alert-danger"}):i({message:"Connection failed",classes:"alert alert-danger"})})},e=function(t,i,r,u,f){n.put(t,i,s(r)).then(function(n){typeof u=="function"&&u(n.data,n.status)},function(n,t){typeof f=="function"&&f(n.data||"Connection failed",t)})},o=function(i,r,u,f){n.delete(i,s(r)).then(function(n){typeof u=="function"&&u(n.data,n.status)},function(n,i,r,u){t.error("Error status: "+n+"...."+i+"...."+r+"...."+u);typeof f=="function"&&f(n.data||"Connection failed",i)})},h=function(n){u("/api/dictionary/language",{},n)},c=function(n){u("/api/dictionary/category",{},n)},l=function(n,t){u("/api/dictionary/annotationtype",{},n,t)},a=function(n,t){u("/api/dictionary/country",{},n,t)},v=function(n,t){u("/api/upload/coverphoto/delete/",{},n,t)},y=function(n,t){u("/api/upload/profilephoto/delete/",{},n,t)},p=function(n,t,i){e("/api/user",n,{},t,i)},w=function(n,t,i){f("/api/user/updateSocial",n,{},t,i)},b=function(n,t,i){u("/api/user/flag/"+n,{},t,i)},k=function(n,t,i){f("/api/account/changepassword",n,{},t,i)},d=function(n,t,i){u("/api/user/settings/"+n,{},t,i)},g=function(n,t){u("/api/me/notificationsettings",{},n,t)},nt=function(n,t,i){e("/api/me/notificationsettings",n,{},t,i)},tt=function(n,t,i){u("/api/me/stats/"+n,{},t,i)},it=function(n,t){u("/api/me/stats_all/",{},n,t)},rt=function(n,t,i){u("/api/user/personaldata/"+n,{},t,i)},ut=function(n,t,i,r,f){u("/api/user/"+n+"/images/"+t+"/"+i,{},r,f)},ft=function(n,t,i){u("/api/user/"+n,{},t,i)},et=function(n,t){u("/api/account/userheader",{},n,t)},ot=function(n,t,i){u(n+Id,{},t,i)},st=function(n,t,i){f("/api/me/subscriptionplan/changerequest",n,{},t,i)},ht=function(n,t,i){f("/api/me/subscriptionplan/renewalrequest",n,{},t,i)},ct=function(n,t){o("/api/user",{},n,t)},lt=function(n,t,i){f("/api/user/cookie-state-change",n,{},t,i)},at=function(n,t){f("/api/images/filter",n,{},t)},vt=function(n,t,i){f("/api/me/images/filter",n,{},t,i)},yt=function(n,t,i){u("/api/search/"+encodeURIComponent(n),{},t,i)},pt=function(n,t,i){u("/api/tag/"+encodeURIComponent(n),{},t,i)},wt=function(n,t,i){f("/api/album",n,{},t,i)},bt=function(n,t){u("/api/me/album/",{},n,t)},kt=function(n,t,i){u("/api/user/"+n+"/album",{},t,i)},dt=function(n,t,i){u("/api/album/"+n,{},t,i)},gt=function(n,t,i){u("/api/album/shared/"+n,{},t,i)},ni=function(n,t,i){u("/api/me/album/"+n,{},t,i)},ti=function(n,t,i){e("/api/album/"+n.Id,n,{},t,i)},ii=function(n,t,i){o("/api/album/"+n,{},t,i)},ri=function(n,t,i,r){f("/api/album/"+n+"/images/",{images:t},{},i,r)},ui=function(n,t,i,r){f("/api/albums/images",{imageIds:n,albums:t},{},i,r)},fi=function(n,t,i,r){f("/api/albums/image",{imageId:n,albums:t},{},i,r)},ei=function(n,t,i){u("/api/album/urlaccess/"+n,{},t,i)},oi=function(n,t,i){f("/api/album/"+n+"/urlaccess/",{},{},t,i)},si=function(n,t,i){o("/api/album/"+n+"/urlaccess/",{},t,i)},hi=function(n,t,i){u("/api/album/"+n+"/urlaccess/",{},t,i)},ci=function(n,t,i){u("/api/image/"+n+"/timeleft",{},t,i)},li=function(n,t,i){f("/api/images/status",n,{},t,i)},ai=function(n,t,i,r){f("/api/images/status/anonymous",n,{"Grant-Code":t},i,r)},vi=function(n,t,i,r){f("/api/album/images/remove",{albumId:n,imageIds:t},{},i,r)},yi=function(n,t,i,r,f,e,o){u("/api/album/"+n+"/images/"+i+"/"+r+"/"+f,{"Grant-Code":t},e,o)},pi=function(n,t,i,r){u("/api/upload/albumcover/delete/"+n+"/"+t,{},i,r)},wi=function(n,t,i){u("/api/image/"+n,{},t,i)},bi=function(n,t,i){u("/api/image/"+n,{},t,i)},ki=function(n,t,i){u("/api/image/urlaccess/"+n,{},t,i)},di=function(n,t,i,r){u("/api/image/"+n+"/albumKey/"+t,{},i,r)},gi=function(n,t,i,r){f("/api/image/"+n+"/urlaccess/",t,{},i,r)},nr=function(n,t,i){o("/api/image/"+n+"/urlaccess/",{},t,i)},tr=function(n,t,i,r){e("/api/image/"+n+"/urlaccess/"+t,{},{},i,r)},ir=function(n,t,i,r){e("/api/album/"+n+"/urlaccess/"+t,{},{},i,r)},rr=function(n,t,i){u("/api/image/"+n+"/urlaccess/",{},t,i)},ur=function(n,t,i){f("/api/image/update",n,{},t,i)},fr=function(n,t,i){f("/api/image/updates",n,{},t,i)},er=function(n,t,i){o("/api/image/delete/"+n,{},t,i)},or=function(n,t,i){f("/api/image/delete",n,{},t,i)},sr=function(n,t,i){u("/api/upload/checklimit/"+n,{},t,i)},hr=function(n,t,i){f("/api/upload/publish",n,{},t,i)},cr=function(n,t,i,r){f("/api/upload/publish/anonymous",n,t,i,r)},lr=function(n,t,i){f("/api/imagecopy/byid",n,{},t,i)},ar=function(n,t,i){f("/api/imagecopy/byaccesskey",n,{},t,i)},vr=function(n,t,i){f("/api/imagecopy/byalbumaccesskey",n,{},t,i)},yr=function(n,t,i){f("/api/image/like",n,{},t,i)},pr=function(n,t,i){f("/api/image/report",n,{},t,i)},wr=function(n,t,i,r,u){f("/api/image/share",{Recipients:n,Content:t,ImageId:i},{},r,u)},br=function(n,t,i){u("/api/image/exiffull/"+n,{},t,i)},kr=function(n,t,i){u("/api/image/"+n+"/related",{},t,i)},dr=function(n,t,i,r,f,e,o,s){e?u("/api/images/prevnext/"+n+"/"+t+"/"+i+"/"+r+"/"+f+"/"+e,{},o,s):u("/api/images/prevnext/"+n+"/"+t+"/"+i+"/"+r+"/"+f,{},o,s)},gr=function(n,t,i,r){u("/api/image/"+n+"/comment",{"Grant-Code":t},i,r)},nu=function(n,t,i,r){f("/api/comment/",n,{"Grant-Code":t},i,r)},tu=function(n,t,i){f("/api/parseLink",{url:n},{},t,i)},iu=function(n,t,i,r){e("/api/comment/",n,{"Grant-Code":t},i,r)},ru=function(n,t,i,r){o("/api/comment/"+n,{"Grant-Code":t},i,r)},uu=function(n,t,i,r,f){u("/api/image/"+n+"/comment/"+t+"/replies",{"Grant-Code":i},r,f)},fu=function(n,t,i,r){f("/api/comment/",n,{"Grant-Code":t},i,r)},eu=function(n,t){e("/api/image/subscription/change",n,{"Grant-Code":t})},ou=function(n,t,i){u("/api/me/caneditimage/"+n,{},t,i)},su=function(n,t){u("/api/subscriptionplan",{},n,t)},hu=function(n,t){u("/api/me/subscriptionplan",{},n,t)},cu=function(n,t){u("/api/me/subscriptionplan/capabilities",{},n,t)},lu=function(n,t,i){u("/api/subscriptionplan/capabilities/anonymous",n,t,i)},au=function(n,t){f("/api/me/subscriptionplan/cancel",{},n,t)},vu=function(n,t,i){f("/api/market/buyimage",n,{},t,i)},yu=function(n,t){u("/api/merchant/activityLog",{},n,t)},pu=function(n,t){u("/api/merchant/imagesSalesDetailsCount",{},n,t)},wu=function(n,t){u("/api/merchant/imagesSalesDetails",{},n,t)},bu=function(n,t){u("/api/merchant/royaltyPayouts",{},n,t)},ku=function(n,t){u("/api/market/purchasedimages",{},n,t)};return{ProcessPostRequest:f,ProcessGetRequest:u,LoadLanguages:h,LoadCategories:c,LoadCountries:a,LoadAnnotationTypes:l,GetUserImages:ut,GetUserSettings:d,GetProfileUserInfo:ft,GetUserHeader:et,UpdateUser:p,UpdateUserSocial:w,SetUserFlag:b,ChangePassword:k,Update
1CookiesConsent:lt,DeleteCoverPhoto:v,DeleteProfilePhoto:y,GetMe:ot,ChangeSubscriptionPlan:st,RenewSubscriptionPlan:ht,GetUserNotificationSettings:g,UpdateUserNotificationsSettings:nt,DeactivateAccount:ct,GetUserStats:tt,GetAllUserStats:it,ExportPersonalData:rt,CreateAlbum:wt,LoadMyAlbums:bt,LoadUserPublicAlbums:kt,LoadAlbum:dt,LoadAlbumByAccessKey:gt,LoadMyAlbum:ni,DeleteAlbum:ii,AddImagesToAlbum:ri,AddImagesToAlbums:ui,SetImageAlbums:fi,UpdateAlbumInformation:ti,GetAlbumWithDirectAccess:ei,GetAlbumImages:yi,DeleteAlbumCover:pi,GetImagesByFilter:at,SearchItems:yt,GetTagItems:pt,PublishImages:hr,PublishImagesAnonymously:cr,CheckUploadLimit:sr,GetMyImagesByFilter:vt,UpdateImageInformation:ur,UpdateMultipleImageInformation:fr,DeleteImage:er,DeleteImages:or,GetImageShareableAccess:gi,DeleteImageShareableAccess:nr,UpdateImageShareableAccess:tr,UpdateAlbumShareableAccess:ir,GetCurrentImageAccessState:rr,GetAlbumShareableAccess:oi,DeleteAlbumShareableAccess:si,GetCurrentAlbumAccessState:hi,GetImageProcessingTimeLeft:ci,GetImageProcessingStatuses:li,GetImageProcessingStatusesAnonymously:ai,RemoveImagesFromAlbum:vi,GetImageInformation:wi,GetImageInformationSelCat:bi,GetImageInformationWithDirectAccess:ki,GetImageInformationWithAlbumDirectAccess:di,GetRelatedImages:kr,GetPrevNextImages:dr,CopyImageById:lr,CopyImageByAccessKey:ar,CopyImageByAlbumAccessKey:vr,LikeImage:yr,GetComments:gr,AddComment:nu,UpdateComment:iu,DeleteComment:ru,ReportImage:pr,ShareByEmail:wr,LoadFullExif:br,ParseLink:tu,GetCommentReplies:uu,AddCommentReply:fu,ChangeImageSubscription:eu,UserCanEditImage:ou,GetSubscriptionPlans:su,GetUserSubscriptionPlan:hu,GetUserPlanCapabilities:cu,GetSharedAlbumPlanCapabilities:lu,CancelSubscriptionPlan:au,BuyImage:vu,GetActivityLog:yu,LoadMarketCounts:pu,GetMarketImages:wu,GetRoyalties:bu,GetBoughtImages:ku,Notify:function(n){t.debug("notify: "+n.message);var r=$(".ez-navbar").offset();i.config({duration:3e3,position:"right",startTop:r.top+$(".ez-navbar").outerHeight()+10});i(n)}}}angular.module("easyzoom.core").service("HttpService",n);n.$inject=["$http","$log","notify","cookies"]}(),function(){"use strict";function n(n,t,i){var u=function(n,t,i){var u={"Content-Type":undefined};r("/api/upload/profilephoto",n,"",u,t,i)},f=function(n,t,i){var u={"Content-Type":undefined};r("/api/upload/coverphoto",n,"",u,t,i)},e=function(n,t,i,u){var f={"Content-Type":undefined};r("/api/upload/albumcover/"+n,t,"",f,i,u)},o=function(n,t,i,u){var f={"Content-Type":undefined};r("/api/upload/attachment",n,t,f,i,u)},r=function(t,r,u,f,e,o){var h=f,c=i.get("AccessToken"),s;c&&(h.Authorization="Bearer "+c);s=new FormData;s.append("file",r);s.append("fileName",u);n.post(t,s,{transformRequest:angular.identity,headers:h}).then(function(n,t){typeof e=="function"&&e(n.data,t)},function(n,t){typeof o=="function"&&o(n.data||"Request failed",t)})};return{UploadProfilePhoto:u,UploadCoverPhoto:f,UploadAlbumCover:e,UploadAttachedFile:o}}angular.module("easyzoom").factory("HttpUploadService",n);n.$inject=["$http","$log","cookies"]}(),function(){"use strict";function n(n,t,i,r,u,f){function c(){e=t.get("User")}function l(n){switch(n){case"notmedical":y();break;case"completeYourProfileInformation":a()}}function a(){var n=!1,t;if(e&&!e.IsProfileComplete&&(typeof e.NotificationAboutCompleteUserProfile!="undefined"&&e.NotificationAboutCompleteUserProfile&&(t=new Date(e.NotificationAboutCompleteUserProfile.expires)<new Date,n=!t),!n)){i.setStrings("en",{CompleteYourProfileInformation:"Please complete your profile to avoid account restrictions.",actionButtonText:"Complete now",remindMeLaterButtonText:"Remind me later"});i.setStrings("de",{CompleteYourProfileInformation:"Bitte vervollständigen Sie Ihr Profil, um Kontobeschränkungen zu vermeiden.",actionButtonText:"Jetzt vervollständigen",remindMeLaterButtonText:"Später erinnern"});var u=i.getString("CompleteYourProfileInformation"),f=i.getString("actionButtonText"),o=i.getString("remindMeLaterButtonText");r.showModal({templateUrl:"/Ng/Shared/_NotificationModal",controller:"NotificationModalController",controllerAs:"vm",inputs:{notificationMessage:u,okCallback:function(){v()},actionButtonText:f,remindMeLaterButtonText:o,remindMeLaterCallback:function(){s()}}}).then(function(n){n.element.modal({backdrop:"static",keyboard:!1})})}}function v(){s();n.go("settings",{page:"account"})}function s(){var n=new Date;n.setDate(n.getDate()+5);f.SetUserFlag(2,function(){e.NotificationAboutCompleteUserProfile={notified:!0,expires:n};t.set("User",e)})}function y(){var n=!1,f,s,h;(u.IsAuthenticated()&&typeof e.NotificationAboutNotMedicalUsageShown!="undefined"&&e.NotificationAboutNotMedicalUsageShown?n=e.NotificationAboutNotMedicalUsageShown:(f=t.get(o),f!==null&&(n=!0)),n)||(i.setStrings("en",{actionButtonText:"I agree"}),i.setStrings("de",{actionButtonText:"Ich stimme zu"}
1),s=i.getString("actionButtonText"),h=i.getString("ForNotMedicalPurpose"),r.showModal({templateUrl:"/Ng/Shared/_NotificationModal",controller:"NotificationModalController",controllerAs:"vm",inputs:{notificationMessage:h,okCallback:function(){p()},actionButtonText:s,remindMeLaterCallback:null}}).then(function(n){n.element.modal({backdrop:"static",keyboard:!1})}))}function p(){u.IsAuthenticated()?f.SetUserFlag(1,function(){e.NotificationAboutNotMedicalUsageShown=!0;t.set("User",e)}):t.set(o,"true")}var o="NotifiedNotMedical",e=null,h={notifyIfNeeded:l};return c(),h}angular.module("easyzoom.core").service("onceNotifier",n);n.$inject=["$state","cookies","gettextCatalog","ModalService","AuthenticationService","HttpService"]}(),function(){"use strict";function n(){function n(n,t){if(typeof unit=="undefined"&&(t="GB"),n===0)return"0 "+t;if(isNaN(parseFloat(n))||!isFinite(n))return"-";var r=Math.floor(Math.log(n)/Math.log(1024)),i=(n/Math.pow(1024,Math.floor(r))).toFixed(1);return(i.match(/\.0*$/)?i.substr(0,i.indexOf(".")):i)+" "+["bytes","kB","MB","GB","TB","PB"][r]}return n}angular.module("easyzoom.core").filter("bytes",n)}()
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.