define(["angular","lodash","cjt/util/locale","cjt/util/html","cjt/util/parse","cjt/io/api","cjt/io/uapi-request","app/views/Certificate","app/services/VirtualHost","cjt/io/uapi","cjt/services/alertService"],(function(e,t,i,a,r,n,o){"use strict";var s,d={evClickThroughStatus:i.maketext("Sign the Agreement"),ovCallbackStatus:i.maketext("Schedule a Call"),DEFAULT:i.maketext("Complete this Now")},c={ovCallbackStatus:"fas fa-phone-square",DEFAULT:"fas fa-external-link-alt"},_={csrStatus:{label:i.maketext("[output,abbr,CSR,Certificate Signing Request] Status:"),inProgress:i.maketext("Validating the [output,abbr,CSR,Certificate Signing Request] status …")},dcvStatus:{label:i.maketext("[output,abbr,DCV,Domain Control Validation] Status:"),inProgress:i.maketext("Validating the [output,abbr,DCV,Domain Control Validation] status …")},evClickThroughStatus:{label:i.maketext("[output,abbr,EV,Extended Validation] Click-Through Status:"),inProgress:i.maketext("Validating the [output,abbr,EV,Extended Validation] click-through status …")},freeDVUPStatus:{label:i.maketext("Free [output,abbr,DV,Domain Validated] Up Status:"),inProgress:i.maketext("Validating the free [output,abbr,DV,Domain Validated] up status …")},organizationValidationStatus:{label:i.maketext("[output,abbr,OV,Organization Validation] Status:"),inProgress:i.maketext("Validating the [output,abbr,OV,Organization Validation] status …")},ovCallbackStatus:{label:i.maketext("[output,abbr,OV,Organization Validation] Callback Status:"),inProgress:i.maketext("Validating the [output,abbr,OV,Organization Validation] callback status …")},validationStatus:{label:i.maketext("Validation Status:"),inProgress:i.maketext("Checking the validation status …")}};function u(e){return/^\*/.test(e)}function l(e){return("0"+e).slice(-2)}try{s=e.module("App")}catch(t){s=e.module("App",["cjt2.services.alert"])}return s.factory("CertificatesService",["VirtualHost","Certificate","$q","$log","alertService",function(s,f,m,p,v){var g,h,x={},b=[],y=[],k=[],w=[],S=[],A=[],C=null,E=[],P={},V={},D={},O={},N=new Date,j=!1;function R(e,a){var r=i.maketext("The “[_1]” [asis,API] failed due to the following error: [_2]",t.escape(e),a);v.add({type:"danger",message:r,group:"tlsWizard"})}function z(){return localStorage.getItem("tls_wizard_data")}x.add_new_certificate=function(e){return E.push(e),E},x.get_purchasing_certs=function(){return E},x.get_order_by_id=function(e){for(var t=0;t<S.length;t++)if(S[t].order_id===e)return S[t]},x.add_order=function(t){var i=x.get_order_by_id(t.order_id);return i?e.extend(i,t):S.push(t),S},x.restore=function(){if(x.get_virtual_hosts().length)return!1;var t=z();if(!t)return!1;var i=JSON.parse(t);return e.forEach(i.virtual_hosts,(function(e){b.push(new s(e))})),e.forEach(i.purchasing_certs,(function(e){x.add_new_certificate(new f(e))})),i.orders=i.orders?i.orders:[],S=i.orders,b.length===i.virtual_hosts.length&&S.length===i.orders.length},x.add_virtual_host=function(e,t){var i=new s({display_name:e,is_ssl:t}),a=b.length;return b.push(i),a},x.get_virtual_hosts=function(){return b},x.doesDomainMatchOneOf=function(e,t){return null!==t&&null!==e&&t.some((function(t){var i,a,r=e;if(t===r)return!0;if(u(t))i=t,a=r;else{if(!u(r))return!1;i=r,a=t}return(i=i.replace(/^\*\./,""))===(a=a.replace(/^[^.]+\./,""))}))},x._getWWWDomainsLookup=function(){return O},x.add_raw_domain=function(t){if(/^www\./.test(t.domain))O[t.domain]=!0;else{t.virtual_host=t.vhost_name,t.order_by_name=t.domain,t.is_wildcard=0===t.domain.indexOf("*."),t.is_proxy=t.is_proxy&&"1"===t.is_proxy.toString(),t.stripped_domain=t.domain,x.add_domain(t);var i=t.domain.match(/^(mail|ipv6)\./);t.is_wildcard||t.is_proxy||i||x.add_domain(e.extend({},t,{domain:"*."+t.domain,is_wildcard:!0}))}},x._getWildcardMap=function(){return D},x.domain_covered_by_wildcard=function(e){return D[e]},x.compare_wildcard_domain=function(e,t){return D[t]===e.domain},x.build_wildcard_map=function(){D={};var e,i=x.get_all_domains();i.forEach((function(a){if(!1===a.is_wildcard)return!1;e=new RegExp("^[^\\.]+\\."+t.escapeRegExp(a.stripped_domain.replace(/^\*\./,""))+"$"),i.forEach((function(t){a.domain!==t.domain&&e.test(t.domain)&&(D[t.domain]=a)}))}))},x.get_domain_certificate_status=function(e){var t=x.get_domain_certificate(e.domain);if(t&&t.certificate){var i=new Date(1e3*t.certificate.not_after),a=(i-N)/1e3/60/60/24;return i<N?"expired":a<30&&a>0?"expiring_soon":"active"}return"unsecured"},x._getSSLDomains=function(){return P},x._getInstalledHostsMap=function(){return V},x._getInstalledHosts=function(){return C},x.add_domain=function(t){var i=x.get_virtual_host_by_display_name(t.virtual_host);if(0===i||i||(i=x.add_virtual_host(t.virtual_host,1)),b[i].is_ssl=1,!x.get_domain_by_domain(t.domain)){P[t.domain]=null;var a=V[t.virtual_host];return a&&a.certificate&&e.forEach(a.certificate.domains,(function(e){t.domain!==e?t.domain.replace(/^[^.]+\./,"*.")===e&&(P[t.domain]=a):P[t.domain]=a})),t.type=t.is_wildcard?"wildcard_domain":"main_domain",t.proxy_type=t.is_proxy?"proxy_domain":"main_domain",t.certificate_status=x.get_domain_certificate_status(t),b[i].add_domain(t)}},x.remove_virtual_host=function(e){var i=x.get_virtual_host_by_display_name(e);t.isNil(i)||b[i].remove_all_domains()},x.get_virtual_host_by_display_name=function(e){for(var t=0;t<b.length;t++){if("*"===b[t].display_name)return 0;if(b[t].display_name===e)return t}},x._runUAPI=function(e){var t=m.defer();return n.promise(e.getRunArguments()).done((function(e){(e=e.parsedResponse).status?t.resolve(e):t.reject(e.error)})),t.promise},x.set_confirmed_status_for_ssl_certificates=function(t,i){var a=m.defer(),r=new o.Class,s=[];return e.forEach(i.certificates,(function(e){s.push(e.order_item_id)})),r.initialize("Market","set_status_of_pending_queue_items"),r.addArgument("provider",t),r.addArgument("status","confirmed"),r.addArgument("order_item_id",s),n.promise(r.getRunArguments()).done((function(e){var t=(e=e.parsedResponse).status?"resolve":"reject";a[t](e)})),a.promise},x.fetch_domains=function(){var i=x.fetch_installed_hosts();if(!1!==t.isFunction(i.then))return i.then((function(){return x.fetch_domains()}));if(CPANEL.PAGE.domains&&(e.forEach(CPANEL.PAGE.domains,(function(e){x.add_raw_domain(e)})),x.get_all_domains().length))return!0;var a=m.defer(),r=new o.Class;return r.initialize("WebVhosts","list_ssl_capable_domains"),n.promise(r.getRunArguments()).done((function(e){(e=e.parsedResponse).status?a.resolve(e):a.reject(e.error)})),a.promise.then((function(t){e.forEach(t.data,(function(e){x.add_raw_domain(e)}))}),(function(e){R("WebVHosts::list_ssl_capable_domains",e)})),a.promise},x.get_store_login_url=function(e,t){var i=m.defer(),a=new o.Class;return a.initialize("Market","get_login_url"),a.addArgument("provider",e),a.addArgument("url_after_login",t),n.promise(a.getRunArguments()).done((function(e){(e=e.parsedResponse).status?i.resolve(e):i.reject(e.error)})),i.promise},x.store_settings=function(e){var t=x.get_storable_settings(e);return localStorage.setItem("tls_wizard_data",t),z()===t},x.save=x.store_settings,x.get_stored_extra_settings=function(){var e=z();return e&&(e=JSON.parse(e).extras),e||{}},x.clear_stored_settings=function(){return localStorage.removeItem("tls_wizard_data")},x.get_storable_settings=function(e){var i=z();return(i=i?JSON.parse(i):{}).extras||(i.extras={}),e&&t.assign(i.extras,e),t.assign(i,{orders:S,virtual_hosts:b,purchasing_certs:x.get_purchasing_certs()}),JSON.stringify(i)},x.get_all_domains=function(){return y=[],e.forEach(b,(function(e){y=y.concat(e.get_domains())})),y},x.get_all_selected_domains=function(){return k=[],e.forEach(b,(function(e){k=k.concat(e.get_selected_domains())})),k},x.get_products=function(){return w},x.fetch_products=function(){if(x.get_products().length)return!0;if(CPANEL.PAGE.products&&(e.forEach(CPANEL.PAGE.products,(function(e){x.add_raw_product(e)})),x.get_products().length))return!0;w=[];var t=m.defer(),i=new o.Class;return i.initialize("Market","get_all_products"),i.addFilter("enabled","eq","1"),i.addFilter("product_group","eq","ssl_certificate"),i.addSorting("recommended","dsc","numeric"),i.addSorting("x_price_per_domain","asc","numeric"),n.promise(i.getRunArguments()).done((function(e){(e=e.parsedResponse).status?t.resolve(e):t.reject(e.error)})),t.promise.then((function(t){e.forEach(t.data,(function(e){e.product_id+="",["x_warn_after","x_price_per_domain","x_max_http_redirects"].forEach((function(t){e[t]&&(e[t]=r.parseNumber(e[t]))})),x.add_raw_product(e)}))}),(function(e){R("Market::get_all_products",e)})),t.promise},x._make_certificate_term_label=function(e,t){return{year:i.maketext("[quant,_1,Year,Years]",t),month:i.maketext("[quant,_1,Month,Months]",t),day:i.maketext("[quant,_1,Day,Days]",t)}[e]||t+" "+e},x._make_validation_type_label=function(e){return{dv:i.maketext("[output,abbr,DV,Domain Validated] Certificate"),ov:i.maketext("[output,abbr,OV,Organization Validated] Certificate"),ev:i.maketext("[output,abbr,EV,Extended Validation] Certificate")}[e]||e},x.add_raw_product=function(e){e.id=e.product_id,e.provider=e.provider_name,e.provider_display_name=e.provider_display_name||e.provider,e.price=Number(e.x_price_per_domain),e.wildcard_price=Number(e.x_price_per_wildcard_domain),e.wildcard_parent_domain_included=e.x_wildcard_parent_domain_free&&"1"===e.x_wildcard_parent_domain_free.toString(),e.icon_mime_type=e.icon_mime_type?e.icon_mime_type:"image/png",e.is_wildcard=!isNaN(e.wildcard_price),e.x_certificate_term=e.x_certificate_term||[1,"year"],e.x_certificate_term_display_name=x._make_certificate_term_label(e.x_certificate_term[1],e.x_certificate_term[0]),e.x_certificate_term_key=e.x_certificate_term.join("_"),e.x_validation_type_display_name=x._make_validation_type_label(e.x_validation_type),e.x_supports_dns_dcv=r.parsePerlBoolean(e.x_supports_dns_dcv),e.validity_period=e.x_certificate_term,w.push(e)},x.get_domain_search_options=function(){return h||(h={domainType:{label:i.maketext("Domain Types:"),item_key:"type",options:[{value:"main_domain",label:i.maketext("Non-Wildcard"),description:i.maketext("Only list Non-Wildcard domains.")},{value:"wildcard_domain",label:i.maketext("Wildcard"),description:i.maketext("Only list Wildcard domains.")}]},proxyDomainType:{label:i.maketext("Service Subdomain Types:"),item_key:"proxy_type",options:[{value:"proxy_domain",label:i.maketext("[asis,cPanel] Service Subdomains"),description:i.maketext("Only list Service Subdomains.")},{value:"main_domain",label:i.maketext("Other Domains"),description:i.maketext("Only list non-Service Subdomains.")}]},sslType:{label:i.maketext("[asis,SSL] Types:"),item_key:"certificate_type",options:[{value:"unsecured",label:i.maketext("Unsecured or Self-signed"),description:i.maketext("Only list unsecured or self-signed domains.")},{value:"dv",label:x._make_validation_type_label("dv"),description:i.maketext("Only list domains with [asis,DV] Certificates.")},{value:"ov",label:x._make_validation_type_label("ov"),description:i.maketext("Only list domains with [asis,OV] Certificates.")},{value:"ev",label:x._make_validation_type_label("ev"),description:i.maketext("Only list domains with [asis,EV] Certificates.")}]},sslStatus:{label:i.maketext("[asis,SSL] Statuses:"),item_key:"certificate_status",options:[{value:"unsecured",label:i.maketext("Unsecured"),description:i.maketext("Only list unsecured domains.")},{value:"active",label:i.maketext("Active"),description:i.maketext("Only list domains with an active certificate.")},{value:"expired",label:i.maketext("Expired"),description:i.maketext("Only list domains whose certificate is expiring soon.")},{value:"expiring_soon",label:i.maketext("Expiring Soon"),description:i.maketext("Only list domains with certificates that expire soon.")}]}},x.get_domain_search_options())},x.get_product_search_options=function(){if(g)return g;g={validationType:{label:i.maketext("[asis,SSL] Validation Types"),item_key:"x_validation_type",options:[]},sslProvider:{label:i.maketext("[asis,SSL] Providers"),item_key:"provider",options:[]},certTerms:{label:i.maketext("Certificate Terms"),item_key:"x_certificate_term_key",options:[]}};var t=x.get_products(),a={},r={},n={};for(var o in e.forEach(t,(function(e){a[e.x_certificate_term_key]={value:e.x_certificate_term_key,label:e.x_certificate_term_display_name,description:i.maketext("Only list products with a term of ([_1]).",e.x_certificate_term_display_name)},r[e.provider]={value:e.provider,label:e.provider_display_name,description:i.maketext("Only list products from the “[_1]” provider.",e.provider_display_name)},n[e.x_validation_type]={value:e.x_validation_type,label:e.x_validation_type_display_name,description:i.maketext("Only list products that use the “[_1]” validation type.",e.x_validation_type_display_name)}})),e.forEach(a,(function(e){g.certTerms.options.push(e)})),e.forEach(r,(function(e){g.sslProvider.options.push(e)})),e.forEach(n,(function(e){g.validationType.options.push(e)})),g)g.hasOwnProperty(o)&&g[o].options.length<=1&&delete g[o];return x.get_product_search_options()},x.get_product_by_id=function(e,t){for(var i=0;i<w.length;i++)if(w[i].id===t&&w[i].provider===e)return w[i]};var L=function(n,s){var d={},c=[],_={};if(e.forEach(n,(function(e){-1===e.resolved&&(d[e.domain]=e,u(e.domain)?_[e.domain]=e:c.push(e.domain),e.dcvPassed={},e.resolving=!0)})),0!==Object.keys(d).length){var l;if(c.length){var f=(new o.Class).initialize("DCV","check_domains_via_http",{domain:c,dcv_file_allowed_characters:JSON.stringify(s.dcv_file_allowed_characters),dcv_file_random_character_count:s.dcv_file_random_character_count,dcv_file_extension:s.dcv_file_extension,dcv_file_relative_path:s.dcv_file_relative_path,dcv_user_agent_string:s.dcv_user_agent_string}),m=w.filter((function(e){return 0===e.x_max_http_redirects}));l=x._runUAPI(f).then((function(e){for(var a=0;a<c.length;a++){var n=c[a],o=d[n];if(o.resolution_failure_reason=e.data[a].failure_reason,o.redirects_count=r.parseNumber(e.data[a].redirects_count),o.redirects_count&&!o.resolution_failure_reason&&m.length){var s=i.maketext("“[_1]”’s [output,abbr,DCV,Domain Control Validation] check completed correctly, but the check required an [asis,HTTP] redirection. The system tried to exclude such redirections from this domain by editing the website document root’s “[_2]” file, but the redirection persists. You should investigate further.",t.escape(o.domain),".htaccess");v.add({type:"danger",message:s,group:"tlsWizard"})}o.dcvPassed.http=!o.resolution_failure_reason,!o.dcvPassed.http||o.redirects_count?_[o.domain]=o:o.resolved=o.dcvPassed.http?1:0}}),(function(e){R("DCV::check_domains_via_http",e)}))}else l=Promise.resolve();return l.then((function(){var e=Object.values(_);if(e.length)return function(e){var t=(new o.Class).initialize("DCV","check_domains_via_dns",{domain:e.map((function(e){return e.domain}))});return x._runUAPI(t).then((function(t){for(var n=0;n<e.length;n++){var o=e[n];o.resolving=!1,o.dcvPassed.dns=r.parsePerlBoolean(t.data[n].succeeded),o.dcvPassed.dns?o.resolved=1:(o.resolved=0,o.resolution_failure_reason?o.resolution_failure_reason+=" "+a.decode(i.maketext("[asis,DNS]-based [output,abbr,DCV,Domain Control Validation] also failed.")):o.resolution_failure_reason=a.decode(i.maketext("[asis,DNS]-based [output,abbr,DCV,Domain Control Validation] failed.")))}}),(function(e){R("DCV::check_domains_via_dns",e)}))}(e)})).finally((function(){Object.values(d).forEach((function(e){e.resolving=!1}))}))}};x.get_default_provider_name=function(){var e=x.get_products(),t=e.filter((function(e){return"cPStore"===e.provider_name}));return(t.length?t[0]:e[0]).provider_name},x.get_provider_specific_dcv_constraints=function(e){var t=(new o.Class).initialize("Market","get_provider_specific_dcv_constraints",{provider:e});return x._runUAPI(t)},x.ensure_domains_can_pass_dcv=function(e,t){return x.get_provider_specific_dcv_constraints(t).then((function(t){return L(e,t.data)}),(function(e){R("Market::get_provider_specific_dcv_constraints",e)}))},x.verify_login_token=function(e,t,i){var a=m.defer(),r=new o.Class;return r.initialize("Market","validate_login_token"),r.addArgument("login_token",t),r.addArgument("url_after_login",i),r.addArgument("provider",e),n.promise(r.getRunArguments()).done((function(e){(e=e.parsedResponse).status?a.resolve(e):a.reject(e.error)})),a.promise},x.set_url_after_checkout=function(e,t,i,a){var r=m.defer(),s=new o.Class;return s.initialize("Market","set_url_after_checkout"),s.addArgument("provider",e),s.addArgument("access_token",t),s.addArgument("order_id",i),s.addArgument("url_after_checkout",a),n.promise(s.getRunArguments()).done((function(e){var t=(e=e.parsedResponse).status?"resolve":"reject";r[t](e)})),r.promise};var M=function(e,t,i,a){var r=m.defer(),s=new o.Class;s.initialize("Market","request_ssl_certificates"),s.addArgument("provider",e),s.addArgument("access_token",t),s.addArgument("url_after_checkout",a);var d=i.map((function(e){var t={product_id:e.get_product().id,subject_names:e.get_subject_names(),vhost_names:e.get_virtual_hosts(),price:e.get_price(),validity_period:e.get_validity_period()};if(e.get_product().x_identity_verification){var i=e.get_identity_verification();t.identity_verification={},e.get_product().x_identity_verification.forEach((function(e){var a,r=e.name;if(i[r])if("date"===e.type){var n;try{n=new Date(i[r])}catch(e){p.warn("new Date() failed; ignoring",i[r],e)}n&&(t.identity_verification[r]=[(a=n).getFullYear(),l(1+a.getMonth()),l(a.getDate())].join("-"))}else t.identity_verification[r]=i[r]}))}var a={};t.subject_names.forEach((function(e){var t=e.name;0===t.indexOf("*.")&&(a[t]=!0)}));var r=[];return t.subject_names.forEach((function(e){var t=e.name,i=!a["*."+t];(i=i&&O["www."+t])&&r.push({type:"dNSName",name:"www."+t,dcv_method:e.dcv_method})})),t.subject_names=t.subject_names.concat(r),JSON.stringify(t)}));return s.addArgument("certificate",d),n.promise(s.getRunArguments()).done((function(e){(e=e.parsedResponse).status?r.resolve(e):r.reject(e.error)})),r.promise.catch(x.reset.bind(x)),r.promise};x.request_certificates=function(e,t,i,a){var r=x.fetch_domains(),n=function(){return M(e,t,i,a)};return r.then?r.then(n):n()},x.get_pending_certificates=function(){return A};var T=function(e){(A=e).forEach((function(e){e.order_id+="",e.order_item_id+="",e.product_id+=""}))};x.fetch_pending_certificates=function(){if(CPANEL.PAGE.pending_certificates&&(T(CPANEL.PAGE.pending_certificates),CPANEL.PAGE.pending_certificates=null,A.length))return!0;var e=m.defer(),t=new o.Class;return t.initialize("Market","get_pending_ssl_certificates"),n.promise(t.getRunArguments()).done((function(t){(t=t.parsedResponse).status?e.resolve(t):e.reject(t.error)})),e.promise.then((function(e){T(e.data)}),(function(e){R("Market::pending_certificates",e)})),e.promise},x.add_raw_installed_host=function(e){C||(C=[]),e.certificate.is_self_signed=1===parseInt(e.certificate.is_self_signed,10),C.push(e),V[e.servername]=e},x.get_domain_certificate=function(e){return P[e]},x.get_domain_by_domain=function(e){for(var t=x.get_all_domains(),i=0;i<t.length;i++)if(t[i].domain===e)return t[i]},x.get_virtual_host_certificate=function(e){if(C){for(var t=0;t<C.length;t++)if(C[t].servername===e.display_name)return C[t];return C[0]?C[0]:void 0}},x.fetch_installed_hosts=function(){if(C)return!0;if(CPANEL.PAGE.installed_hosts){if(!CPANEL.PAGE.installed_hosts.length)return!0;if(C=[],V={},P={},e.forEach(CPANEL.PAGE.installed_hosts,(function(e){x.add_raw_installed_host(e)})),C.length)return!0}var t=m.defer(),i=new o.Class;return i.initialize("SSL","installed_hosts"),n.promise(i.getRunArguments()).done((function(e){(e=e.parsedResponse).status?t.resolve(e):t.reject(e.error)})),t.promise.then((function(t){C=[],V={},P={},e.forEach(t.data,(function(e){x.add_raw_installed_host(e)}))}),(function(e){R("SSL::installed_hosts",e)})),t.promise};var U=function(e){var t=new o.Class;return t.initialize("Batch","strict"),t.addArgument("command",e.map(JSON.stringify,JSON)),t};return x.install_certificate=function(e,t){var i=U(t.map((function(t){return["SSL","install_ssl",{cert:e,domain:t}]})));return x._runUAPI(i)},x.get_ssl_certificate_if_available=function(e,t){var i=new o.Class;return i.initialize("Market","get_ssl_certificate_if_available"),i.addArgument("provider",e),i.addArgument("order_item_id",t),x._runUAPI(i)},x.get_installed_ssl_for_domain=function(e){var t=new o.Class;return t.initialize("SSL","installed_host"),t.addArgument("domain",e),x._runUAPI(t)},x.cancel_pending_ssl_certificate_and_poll=function(e,t){var i=U([["Market","cancel_pending_ssl_certificate",{provider:e,order_item_id:t}],["Market","get_ssl_certificate_if_available",{provider:e,order_item_id:t}]]);return x._runUAPI(i)},x.cancel_pending_ssl_certificates=function(e,t){var i=U(t.map((function(t){return["Market","cancel_pending_ssl_certificate",{provider:e,order_item_id:t}]})));return x._runUAPI(i)},x.cancel_certificate=function(t,i,a){x.cancel_pending_ssl_certificate(i,a).then((function(){e.forEach(t.get_selected_domains(),(function(e){e.selected=!1}))}))},x.process_ssl_pending_queue=function(){var e=m.defer(),t=new o.Class;return t.initialize("Market","process_ssl_pending_queue"),n.promise(t.getRunArguments()).done((function(t){(t=t.parsedResponse).status?e.resolve(t):e.reject(t.error)})),e.promise},x.hard_reset=function(){x.reset(),CPANEL.PAGE.domains=null},x.reset=function(){b=[],y=[],w=[],C=null,E=[],P={},S=[],D={}},x.reset_purchasing_certificates=function(){E=[]},x.dismiss_introduction=function(){j=!0},x.show_introduction_block=function(){return!j&&!v.getAlerts().length},x.parseCertificateDomainDetails=function(t){var i={};return e.forEach(t,(function(e){i[e.domain]=e.status})),i},x.parseCertificateStatusDetails=function(t,a){var r=[];return t?(a=a||{},e.forEach(t,(function(e,t){var n=_[t];if(n||(n={label:t,inProgress:""}),"not-applicable"!==e&&"certificateStatus"!==t&&"csrStatus"!==t&&e){var o;o="not-completed"===e?n.inProgress:"completed"===e?i.maketext("Complete."):e;var s={label:n.label,status:o,rawLabel:t,rawStatus:e};a[t]&&(s.actionLabel=d[t]||d.DEFAULT,s.actionURL=a[t],s.actionIcon=c[t]||c.DEFAULT),r.push(s)}})),r):r},x.getCertificateStatusDetails=function(e,t){var i=new o.Class;return i.initialize("Market","get_certificate_status_details",{provider:e,order_item_id:t}),x._runUAPI(i).then((function(e){return{statusDetails:x.parseCertificateStatusDetails(e.data.status_details,e.data.action_urls),domainDetails:x.parseCertificateDomainDetails(e.data.domain_details)}}))},x}])}));