UNPKG

skywalking-client-js-netease

Version:

Client-side JavaScript exception and tracing library for Apache SkyWalking APM

2 lines 151 kB
(()=>{"use strict";function e(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}var t,r,n,o;!function(e){e.AJAX_ERROR="ajax",e.RESOURCE_ERROR="resource",e.VUE_ERROR="vue",e.PROMISE_ERROR="promise",e.JS_ERROR="js",e.UNKNOWN_ERROR="unknown"}(t||(t={})),function(e){e.INFO="Info",e.WARNING="Warning",e.ERROR="Error"}(r||(r={})),function(e){e.ERROR="/browser/errorLog",e.ERRORS="/browser/errorLogs",e.PERF="/browser/perfData",e.SEGMENT="/v3/segment",e.SEGMENTS="/v3/segments"}(n||(n={})),function(e){e[e.OPENED=1]="OPENED",e[e.DONE=4]="DONE"}(o||(o={}));var i=10001,a="<browser>";const s=function(){function e(e,t){this.url="","ERROR"===e?this.url=t+n.ERROR:"ERRORS"===e?this.url=t+n.ERRORS:"SEGMENT"===e?this.url=t+n.SEGMENT:"SEGMENTS"===e?this.url=t+n.SEGMENTS:"PERF"===e&&(this.url=t+n.PERF)}return e.prototype.sendByFetch=function(e){if(delete e.collector,this.url){var t=new Request(this.url,{method:"POST",body:JSON.stringify(e)});fetch(t).then((function(e){if(e.status>=400||0===e.status)throw new Error("Something went wrong on api server!")})).catch((function(e){console.error(e)}))}},e.prototype.sendByXhr=function(e){if(this.url){var t=new XMLHttpRequest;t.open("post",this.url,!0),t.setRequestHeader("Content-Type","application/json"),t.onreadystatechange=function(){4===t.readyState&&t.status<400&&console.log("Report successfully")},t.send(JSON.stringify(e))}},e}(),c={sessionId:null},u=new(function(){function e(){this.queues=[],this.collector=""}return e.prototype.addTask=function(e,t){e.sessionId=c.sessionId,document.referrer&&(e.referrer=document.referrer),this.queues.push(e),this.collector=t},e.prototype.fireTasks=function(){this.queues&&this.queues.length&&(new s("ERRORS",this.collector).sendByXhr(this.queues),this.queues=[])},e.prototype.finallyFireTasks=function(){var e=window.onbeforeunload,t=this;window.onbeforeunload=function(){t.queues.length&&(new s("ERRORS",t.collector).sendByXhr(t.queues),e&&e.apply(this,arguments))}},e}());var l,f=!1;const p=function(){function e(){this.logInfo={uniqueId:"",service:"",serviceVersion:"",pagePath:"",category:t.UNKNOWN_ERROR,grade:r.INFO,errorUrl:"",line:0,col:0,message:"",firstReportedError:!1,collector:""}}return e.prototype.traceInfo=function(e){this.logInfo=e||this.logInfo;var r=[t.AJAX_ERROR,t.RESOURCE_ERROR,t.UNKNOWN_ERROR];f||r.includes(this.logInfo.category)||(f=!0,this.logInfo.firstReportedError=!0);var n=this.logInfo.collector;delete this.logInfo.collector,u.addTask(this.logInfo,n),u.finallyFireTasks(),l||(l=setInterval((function(){u.fireTasks()}),6e4))},e}();var h,d=(h=function(e,t){return(h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}h(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});const g=new(function(n){function o(){return null!==n&&n.apply(this,arguments)||this}return d(o,n),o.prototype.handleErrors=function(n){var o=window.onerror,i=this;window.onerror=function(a,s,c,u,l){i.logInfo={uniqueId:e(),service:n.service,serviceVersion:n.serviceVersion,pagePath:n.pagePath,category:t.JS_ERROR,grade:r.ERROR,errorUrl:s,line:c,col:u,message:a,collector:n.collector,stack:l.stack},i.traceInfo(),o&&o.apply(this,arguments)}},o}(p));var v=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();const m=new(function(n){function o(){return null!==n&&n.apply(this,arguments)||this}return v(o,n),o.prototype.handleErrors=function(n){var o=this;window.addEventListener("unhandledrejection",(function(i){try{var a="";if(!i||!i.reason)return;i.reason.config&&i.reason.config.url&&(a=i.reason.config.url),o.logInfo={uniqueId:e(),service:n.service,serviceVersion:n.serviceVersion,pagePath:n.pagePath,category:t.PROMISE_ERROR,grade:r.ERROR,errorUrl:a||location.href,message:i.reason.message,stack:i.reason.stack,collector:n.collector},o.traceInfo()}catch(e){console.log(e)}}))},o}(p));var y=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();const R=new(function(o){function i(){return null!==o&&o.apply(this,arguments)||this}return y(i,o),i.prototype.handleError=function(o){var i=this;window.XMLHttpRequest&&window.addEventListener("xhrReadyStateChange",(function(a){var s=a.detail;4===s.readyState&&s.getRequestConfig[1]!==o.collector+n.ERRORS&&(0!==s.status&&s.status<400||(i.logInfo={uniqueId:e(),service:o.service,serviceVersion:o.serviceVersion,pagePath:o.pagePath,category:t.AJAX_ERROR,grade:r.ERROR,errorUrl:s.getRequestConfig[1],message:"status: "+s.status+"; statusText: "+s.statusText+";",collector:o.collector,stack:s.responseText},i.traceInfo()))}))},i}(p));var w=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();const E=new(function(n){function o(){return null!==n&&n.apply(this,arguments)||this}return w(o,n),o.prototype.handleErrors=function(n){var o=this;window.addEventListener("error",(function(i){try{if(!i)return;var a=i.target||i.srcElement;if(!(a instanceof HTMLScriptElement||a instanceof HTMLLinkElement||a instanceof HTMLImageElement))return;o.logInfo={uniqueId:e(),service:n.service,serviceVersion:n.serviceVersion,pagePath:n.pagePath,category:t.RESOURCE_ERROR,grade:"IMG"===a.tagName?r.WARNING:r.ERROR,errorUrl:a.src||a.href||location.href,message:"load "+a.tagName+" resource error",collector:n.collector,stack:"load "+a.tagName+" resource error"},o.traceInfo()}catch(e){throw e}}))},o}(p));var S=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();const O=new(function(n){function o(){return null!==n&&n.apply(this,arguments)||this}return S(o,n),o.prototype.handleErrors=function(n,o){var i=this;o.config.errorHandler=function(o,a,s){try{i.logInfo={uniqueId:e(),service:n.service,serviceVersion:n.serviceVersion,pagePath:n.pagePath,category:t.VUE_ERROR,grade:r.ERROR,errorUrl:location.href,message:s,collector:n.collector,stack:o.stack},i.traceInfo()}catch(o){throw o}}},o}(p));var I=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();const b=new(function(n){function o(){return null!==n&&n.apply(this,arguments)||this}return I(o,n),o.prototype.handleErrors=function(n,o){this.logInfo={uniqueId:e(),service:n.service,serviceVersion:n.serviceVersion,pagePath:n.pagePath,category:t.JS_ERROR,grade:r.ERROR,errorUrl:o.name||location.href,message:o.message,collector:n.collector||location.origin,stack:o.stack},this.traceInfo()},o}(p)),T=function(){function e(){}return e.prototype.getPerfTiming=function(){try{var e=window.performance.timing;if("function"==typeof window.PerformanceNavigationTiming){var t=performance.getEntriesByType("navigation")[0];t&&(e=t)}return{redirectTime:void 0!==e.navigationStart?parseInt(String(e.fetchStart-e.navigationStart),10):void 0!==e.redirectEnd?parseInt(String(e.redirectEnd-e.redirectStart),10):0,dnsTime:parseInt(String(e.domainLookupEnd-e.domainLookupStart),10),ttfbTime:parseInt(String(e.responseStart-e.requestStart),10),tcpTime:parseInt(String(e.connectEnd-e.connectStart),10),transTime:parseInt(String(e.responseEnd-e.responseStart),10),domAnalysisTime:parseInt(String(e.domInteractive-e.responseEnd),10),fptTime:parseInt(String(e.responseEnd-e.fetchStart),10),domReadyTime:parseInt(String(e.domContentLoadedEventEnd-e.fetchStart),10),loadPageTime:parseInt(String(e.loadEventStart-e.fetchStart),10),resTime:parseInt(String(e.loadEventStart-e.domContentLoadedEventEnd),10),sslTime:"https:"===location.protocol&&e.secureConnectionStart>0?parseInt(String(e.connectEnd-e.secureConnectionStart),10):void 0,ttlTime:parseInt(String(e.domInteractive-e.fetchStart),10),firstPackTime:parseInt(String(e.responseStart-e.domainLookupStart),10),fmpTime:0}}catch(e){throw e}},e}();var P,_=function(e,t){return window.getComputedStyle?window.getComputedStyle(e,null)[t]:e.currentStyle[t]};!function(e){e[e.SVG=2]="SVG",e[e.IMG=2]="IMG",e[e.CANVAS=4]="CANVAS",e[e.OBJECT=4]="OBJECT",e[e.EMBED=4]="EMBED",e[e.VIDEO=4]="VIDEO"}(P||(P={}));var x=performance.now(),C=["SCRIPT","STYLE","META","HEAD","LINK"],N=window.innerWidth,k=window.innerHeight;const A=function(){function e(){this.fmpTime=0,this.statusCollector=[],this.flag=!0,this.observer=null,this.callbackCount=0,this.entries={},performance&&performance.getEntries?this.initObserver():console.log("your browser do not support performance.getEntries")}return e.prototype.getFirstSnapShot=function(){var e=performance.now(),t=document.body;t&&this.setTag(t,this.callbackCount),this.statusCollector.push({time:e})},e.prototype.initObserver=function(){var e=this;this.getFirstSnapShot(),this.observer=new MutationObserver((function(){e.callbackCount+=1;var t=performance.now(),r=document.body;r&&e.setTag(r,e.callbackCount),e.statusCollector.push({time:t})})),this.observer.observe(document,{childList:!0,subtree:!0}),"complete"===document.readyState?this.calculateFinalScore():window.addEventListener("load",(function(){e.calculateFinalScore()}),!1)},e.prototype.calculateFinalScore=function(){var e=this;if(MutationEvent&&this.flag)if(this.checkNeedCancel(x)){this.observer.disconnect(),this.flag=!1;for(var t=null,r=0,n=this.getTreeScore(document.body).dpss;r<n.length;r++){var o=n[r];t&&t.st?t.st<o.st&&(t=o):t=o}if(performance.getEntries().forEach((function(t){e.entries[t.name]=t.responseEnd})),!t)return!1;var i=this.filterResult(t.els),a=this.getFmpTime(i);this.fmpTime=a}else setTimeout((function(){e.calculateFinalScore()}),500)},e.prototype.getFmpTime=function(e){for(var t=0,r=0,n=e;r<n.length;r++){var o=n[r],i=0;if(1===o.weight){var a=parseInt(o.ele.getAttribute("fmp_c"),10);i=this.statusCollector[a]&&this.statusCollector[a].time}else if(2===o.weight)if("IMG"===o.ele.tagName)i=this.entries[o.ele.src];else if("SVG"===o.ele.tagName)a=parseInt(o.ele.getAttribute("fmp_c"),10),i=this.statusCollector[a]&&this.statusCollector[a].time;else{var s=_(o.ele,"background-image").match(/url\(\"(.*?)\"\)/),c=void 0;s&&s[1]&&(c=s[1]),c.includes("http")||(c=location.protocol+s[1]),i=this.entries[c]}else 4===o.weight&&("CANVAS"===o.ele.tagName?(a=parseInt(o.ele.getAttribute("fmp_c"),10),i=this.statusCollector[a]&&this.statusCollector[a].time):"VIDEO"===o.ele.tagName&&((i=this.entries[o.ele.src])||(i=this.entries[o.ele.poster])));"number"!=typeof i&&(i=0),t<i&&(t=i)}return t},e.prototype.filterResult=function(e){if(1===e.length)return e;var t=0;e.forEach((function(e){t+=e.st}));var r=t/e.length;return e.filter((function(e){return e.st>r}))},e.prototype.checkNeedCancel=function(e){var t=performance.now()-e,r=this.statusCollector.length>0?this.statusCollector[this.statusCollector.length-1].time:0;return t>3e3||t-r>1e3},e.prototype.getTreeScore=function(e){if(!e)return{};for(var t=[],r=0,n=e.children;r<n.length;r++){var o=n[r];if(o.getAttribute("fmp_c")){var i=this.getTreeScore(o);i.st&&t.push(i)}}return this.calcaulteGrades(e,t)},e.prototype.calcaulteGrades=function(e,t){var r=e.getBoundingClientRect(),n=r.width,o=r.height,i=r.left,a=r.top,s=!0;(k<a||N<i)&&(s=!1);var c=0;t.forEach((function(e){c+=e.st}));var u=Number(P[e.tagName])||1;1===u&&_(e,"background-image")&&"initial"!==_(e,"background-image")&&"none"!==_(e,"background-image")&&(u=P.IMG);var l=s?n*o*u:0,f=[{ele:e,st:l,weight:u}],p=e,h=this.calculateAreaParent(e);if(c>l*h||0===h){l=c,f=[];for(var d=0,g=t;d<g.length;d++){var v=g[d];f=f.concat(v.els)}}return{dpss:t,st:l,els:f,root:p}},e.prototype.calculateAreaParent=function(e){var t=e.getBoundingClientRect(),r=t.left,n=t.right,o=t.top,i=t.bottom,a=t.width,s=t.height,c=N,u=k,l=n-r+(c-0)-(Math.max(n,c)-Math.min(r,0)),f=i-o+(u-0)-(Math.max(i,u)-Math.min(o,0));return l<=0||f<=0?0:l*f/(a*s)},e.prototype.setTag=function(e,t){var r=e.tagName;if(-1===C.indexOf(r)){var n=e.children;if(n&&n.length>0)for(var o=n.length-1;o>=0;o--){var i=n[o];if(null===i.getAttribute("fmp_c")){var a=i.getBoundingClientRect(),s=a.left,c=a.top,u=a.width,l=a.height;if(k<c||N<s||0===u||0===l)continue;i.setAttribute("fmp_c",""+t)}this.setTag(i,t)}}},e}();var L=function(){return(L=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};const M=new(function(){function e(){this.perfConfig={perfDetail:{}}}return e.prototype.recordPerf=function(e){return t=this,r=void 0,o=function(){var t,r,n,o=this;return function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}(this,(function(i){switch(i.label){case 0:return t={fmpTime:void 0},r=e.enableSPA?location.href:e.pagePath,e.autoTracePerf?(n=this.perfConfig,[4,(new T).getPerfTiming()]):[3,3];case 1:return n.perfDetail=i.sent(),e.useFmp?[4,new A]:[3,3];case 2:t=i.sent(),i.label=3;case 3:return setTimeout((function(){var n=e.autoTracePerf?L(L({},o.perfConfig.perfDetail),{fmpTime:e.useFmp?parseInt(String(t.fmpTime),10):void 0}):void 0,i=L(L({},n),{pagePath:r,serviceVersion:e.serviceVersion,service:e.service,sessionId:c.sessionId});document.referrer&&(i.referrer=document.referrer),new s("PERF",e.collector).sendByXhr(i),o.clearPerf()}),6e3),[2]}}))},new((n=void 0)||(n=Promise))((function(e,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(t){var r;t.done?e(t.value):(r=t.value,r instanceof n?r:new n((function(e){e(r)}))).then(a,s)}c((o=o.apply(t,r||[])).next())}));var t,r,n,o},e.prototype.clearPerf=function(){window.performance&&window.performance.clearResourceTimings&&(window.performance.clearResourceTimings(),this.perfConfig={perfDetail:{}})},e}()),V="function"==typeof btoa,F="function"==typeof Buffer,q=("function"==typeof TextDecoder&&new TextDecoder,"function"==typeof TextEncoder?new TextEncoder:void 0),D=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],U=((e=>{let t={};e.forEach(((e,r)=>t[e]=r))})(D),String.fromCharCode.bind(String)),j=("function"==typeof Uint8Array.from&&Uint8Array.from.bind(Uint8Array),e=>e.replace(/[+\/]/g,(e=>"+"==e?"-":"_")).replace(/=+$/m,"")),G=V?e=>btoa(e):F?e=>Buffer.from(e,"binary").toString("base64"):e=>{let t,r,n,o,i="";const a=e.length%3;for(let a=0;a<e.length;){if((r=e.charCodeAt(a++))>255||(n=e.charCodeAt(a++))>255||(o=e.charCodeAt(a++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|o,i+=D[t>>18&63]+D[t>>12&63]+D[t>>6&63]+D[63&t]}return a?i.slice(0,a-3)+"===".substring(a):i},B=F?e=>Buffer.from(e).toString("base64"):e=>{let t=[];for(let r=0,n=e.length;r<n;r+=4096)t.push(U.apply(null,e.subarray(r,r+4096)));return G(t.join(""))},X=e=>{if(e.length<2)return(t=e.charCodeAt(0))<128?e:t<2048?U(192|t>>>6)+U(128|63&t):U(224|t>>>12&15)+U(128|t>>>6&63)+U(128|63&t);var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return U(240|t>>>18&7)+U(128|t>>>12&63)+U(128|t>>>6&63)+U(128|63&t)},H=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,W=F?e=>Buffer.from(e,"utf8").toString("base64"):q?e=>B(q.encode(e)):e=>G(e.replace(H,X)),J=(e,t=!1)=>t?j(W(e)):W(e);var K=function(){return(K=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function Y(t,r){var s=window.XMLHttpRequest,u=XMLHttpRequest.prototype.send,l=XMLHttpRequest.prototype.open;function f(e){var t=new CustomEvent(e,{detail:this});window.dispatchEvent(t)}s.getRequestConfig=[],window.XMLHttpRequest=function(){var e=new s;return e.addEventListener("readystatechange",(function(){f.call(this,"xhrReadyStateChange")}),!1),e.open=function(e,t,r,n,o){return this.getRequestConfig=arguments,l.apply(this,arguments)},e.send=function(e){return u.apply(this,arguments)},e};var p=[];window.addEventListener("xhrReadyStateChange",(function(s){var u={traceId:"",service:t.service+a,spans:[],serviceInstance:t.serviceVersion,traceSegmentId:""},l=t.enableSPA?location.href:t.pagePath,f=s.detail.readyState,h=s.detail.getRequestConfig,d={};if(h[1].startsWith("http://")||h[1].startsWith("https://")?d=new URL(h[1]):h[1].startsWith("//")?d=new URL(""+window.location.protocol+h[1]):(d=new URL(window.location.href)).pathname=h[1],!t.noTraceOrigins.some((function(e){if("string"==typeof e){if(e===d.origin)return!0}else if(e instanceof RegExp&&e.test(d.origin))return!0}))){var g=new URL(t.collector);if(![g.pathname+n.ERROR,g.pathname+n.ERRORS,g.pathname+n.PERF,g.pathname+n.SEGMENTS].includes(d.pathname)||t.traceSDKInternal){if(f===o.OPENED){var v=e(),m=e();p.push({event:s.detail,startTime:(new Date).getTime(),traceId:v,traceSegmentId:m});var y=String(J(v)),R=String(J(m)),w=String(J(u.service)),E=String(J(u.serviceInstance)),S=String(J(l)),O=String(J(d.host)),I="1-"+y+"-"+R+"-"+u.spans.length+"-"+w+"-"+E+"-"+S+"-"+O;s.detail.setRequestHeader("sw8",I)}if(f===o.DONE){for(var b=(new Date).getTime(),T=0;T<p.length;T++)if(p[T].event.readyState===o.DONE){var P={};p[T].event.status&&(P=new URL(p[T].event.responseURL));var _={operationName:l,startTime:p[T].startTime,endTime:b,spanId:u.spans.length,spanLayer:3,spanType:1,isError:0===s.detail.status||s.detail.status>=400,parentSpanId:u.spans.length-1,componentId:i,peer:P.host,tags:t.detailMode?[{key:"http.method",value:h[0]},{key:"url",value:p[T].event.responseURL||d.protocol+"//"+d.host+d.pathname},{key:"sessionId",value:c.sessionId}]:void 0};document.referrer&&(_.tags=_.tags?_.tags:[],_.tags.push({key:"document.referrer",value:document.referrer})),(u=K(K({},u),{traceId:p[T].traceId,traceSegmentId:p[T].traceSegmentId})).spans.push(_),p.splice(T,1)}r.push(u)}}}}))}var z=function(){return(z=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},Q=function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{c(n.next(e))}catch(e){i(e)}}function s(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))},Z=function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}};var $=function(){return($=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};const ee={customOptions:{collector:location.origin,jsErrors:!0,apiErrors:!0,resourceErrors:!0,autoTracePerf:!0,useFmp:!1,enableSPA:!1,traceSDKInternal:!1,detailMode:!0,noTraceOrigins:[],apmSessionIdFunc:e,traceTimeInterval:6e4},register:function(o){this.customOptions=$($({},this.customOptions),o),c.sessionId||(c.sessionId=this.customOptions.apmSessionIdFunc()),this.catchErrors(this.customOptions),this.customOptions.enableSPA||this.performance(this.customOptions),function(o){var u=[];Y(o,u),function(o,s){var u=this,l=window.fetch;window.fetch=function(){for(var f=[],h=0;h<arguments.length;h++)f[h]=arguments[h];return Q(u,void 0,void 0,(function(){var u,h,d,g,v,m,y,R,w,E,S,O,I,b,T,P,_,x,C,N,k;return Z(this,(function(A){switch(A.label){case 0:return u=(new Date).getTime(),h=e(),d=e(),g=o.enableSPA?location.href:o.pagePath,v={traceId:"",service:o.service+a,spans:[],serviceInstance:o.serviceVersion,traceSegmentId:""},m={},f[0].startsWith("http://")||f[0].startsWith("https://")?m=new URL(f[0]):f[0].startsWith("//")?m=new URL(""+window.location.protocol+f[0]):(m=new URL(window.location.href)).pathname=f[0],y=o.noTraceOrigins.some((function(e){if("string"==typeof e){if(e===m.origin)return!0}else if(e instanceof RegExp&&e.test(m.origin))return!0})),R=new URL(o.collector),(w=!(y||[n.ERROR,n.ERRORS,n.PERF,n.SEGMENTS].includes(m.pathname.replace(new RegExp("^"+R.pathname),""))&&!o.traceSDKInternal))&&(E=String(J(h)),S=String(J(d)),O=String(J(v.service)),I=String(J(v.serviceInstance)),b=String(J(g)),T=String(J(m.host)),P=v.spans.length,_="1-"+E+"-"+S+"-"+P+"-"+O+"-"+I+"-"+b+"-"+T,f[1]||(f[1]={}),f[1].headers||(f[1].headers={}),f[1].headers.sw8=_),[4,l.apply(void 0,f)];case 1:x=A.sent();try{x&&(0===x.status||x.status>=400)&&(C={uniqueId:e(),service:o.service,serviceVersion:o.serviceVersion,pagePath:g,category:t.AJAX_ERROR,grade:r.ERROR,errorUrl:x&&x.url||m.protocol+"//"+m.host+m.pathname,message:"status: "+(x?x.status:0)+"; statusText: "+(x&&x.statusText)+";",collector:o.collector,stack:"Fetch: "+x&&x.statusText},(new p).traceInfo(C)),w&&(N=(new Date).getTime(),k={operationName:g,startTime:u,endTime:N,spanId:v.spans.length,spanLayer:3,spanType:1,isError:x&&(0===x.status||x.status>=400),parentSpanId:v.spans.length-1,componentId:i,peer:m.host,tags:o.detailMode?[{key:"http.method",value:f[1].method||"GET"},{key:"url",value:x&&x.url||m.protocol+"//"+m.host+m.pathname},{key:"sessionId",value:c.sessionId}]:void 0},document.referrer&&(k.tags=k.tags?k.tags:[],k.tags.push({key:"document.referrer",value:document.referrer})),(v=z(z({},v),{traceId:h,traceSegmentId:d})).spans.push(k),s.push(v))}catch(e){throw e}return[2,x.clone()]}}))}))}}(o,u);var l=window.onbeforeunload;window.onbeforeunload=function(e){u.length&&(new s("SEGMENTS",o.collector).sendByXhr(u),l&&l.apply(this,arguments))},setInterval((function(){u.length&&(new s("SEGMENTS",o.collector).sendByXhr(u),u.splice(0,u.length))}),o.traceTimeInterval)}(this.customOptions)},performance:function(e){"complete"===document.readyState?M.recordPerf(e):window.addEventListener("load",(function(){M.recordPerf(e)}),!1),this.customOptions.enableSPA&&window.addEventListener("hashchange",(function(){M.recordPerf(e)}),!1)},catchErrors:function(e){var t=e.service,r=e.serviceVersion,n=e.collector,o=e.enableSPA?location.href:e.pagePath;e.jsErrors&&(g.handleErrors({service:t,pagePath:o,serviceVersion:r,collector:n}),m.handleErrors({service:t,pagePath:o,serviceVersion:r,collector:n}),e.vue&&O.handleErrors({service:t,pagePath:o,serviceVersion:r,collector:n},e.vue)),e.apiErrors&&R.handleError({service:t,pagePath:o,serviceVersion:r,collector:n}),e.resourceErrors&&E.handleErrors({service:t,pagePath:o,serviceVersion:r,collector:n})},setPerformance:function(e){this.customOptions=$($({},this.customOptions),e),this.performance(this.customOptions)},reportFrameErrors:function(e,t){b.handleErrors(e,t)}};window.ClientMonitor=ee})(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9za3l3YWxraW5nLWNsaWVudC1qcy1uZXRlYXNlLy4vc3JjL3NlcnZpY2VzL3V1aWQudHMiLCJ3ZWJwYWNrOi8vc2t5d2Fsa2luZy1jbGllbnQtanMtbmV0ZWFzZS8uL3NyYy9zZXJ2aWNlcy9jb25zdGFudC50cyIsIndlYnBhY2s6Ly9za3l3YWxraW5nLWNsaWVudC1qcy1uZXRlYXNlLy4vc3JjL3NlcnZpY2VzL3JlcG9ydC50cyIsIndlYnBhY2s6Ly9za3l3YWxraW5nLWNsaWVudC1qcy1uZXRlYXNlLy4vc3JjL3NlcnZpY2VzL3Nlc3Npb24udHMiLCJ3ZWJwYWNrOi8vc2t5d2Fsa2luZy1jbGllbnQtanMtbmV0ZWFzZS8uL3NyYy9zZXJ2aWNlcy90YXNrLnRzIiwid2VicGFjazovL3NreXdhbGtpbmctY2xpZW50LWpzLW5ldGVhc2UvLi9zcmMvc2VydmljZXMvYmFzZS50cyIsIndlYnBhY2s6Ly9za3l3YWxraW5nLWNsaWVudC1qcy1uZXRlYXNlLy4vc3JjL2Vycm9ycy9qcy50cyIsIndlYnBhY2s6Ly9za3l3YWxraW5nLWNsaWVudC1qcy1uZXRlYXNlLy4vc3JjL2Vycm9ycy9wcm9taXNlLnRzIiwid2VicGFjazovL3NreXdhbGtpbmctY2xpZW50LWpzLW5ldGVhc2UvLi9zcmMvZXJyb3JzL2FqYXgudHMiLCJ3ZWJwYWNrOi8vc2t5d2Fsa2luZy1jbGllbnQtanMtbmV0ZWFzZS8uL3NyYy9lcnJvcnMvcmVzb3VyY2UudHMiLCJ3ZWJwYWNrOi8vc2t5d2Fsa2luZy1jbGllbnQtanMtbmV0ZWFzZS8uL3NyYy9lcnJvcnMvdnVlLnRzIiwid2VicGFjazovL3NreXdhbGtpbmctY2xpZW50LWpzLW5ldGVhc2UvLi9zcmMvZXJyb3JzL2ZyYW1lcy50cyIsIndlYnBhY2s6Ly9za3l3YWxraW5nLWNsaWVudC1qcy1uZXRlYXNlLy4vc3JjL3BlcmZvcm1hbmNlL3BlcmYudHMiLCJ3ZWJwYWNrOi8vc2t5d2Fsa2luZy1jbGllbnQtanMtbmV0ZWFzZS8uL3NyYy9wZXJmb3JtYW5jZS9mbXAudHMiLCJ3ZWJwYWNrOi8vc2t5d2Fsa2luZy1jbGllbnQtanMtbmV0ZWFzZS8uL3NyYy9wZXJmb3JtYW5jZS9pbmRleC50cyIsIndlYnBhY2s6Ly9za3l3YWxraW5nLWNsaWVudC1qcy1uZXRlYXNlLy4vbm9kZV9tb2R1bGVzL2pzLWJhc2U2NC9iYXNlNjQubWpzIiwid2VicGFjazovL3NreXdhbGtpbmctY2xpZW50LWpzLW5ldGVhc2UvLi9zcmMvdHJhY2UvaW50ZXJjZXB0b3JzL3hoci50cyIsIndlYnBhY2s6Ly9za3l3YWxraW5nLWNsaWVudC1qcy1uZXRlYXNlLy4vc3JjL21vbml0b3IudHMiLCJ3ZWJwYWNrOi8vc2t5d2Fsa2luZy1jbGllbnQtanMtbmV0ZWFzZS8uL3NyYy90cmFjZS9zZWdtZW50LnRzIiwid2VicGFjazovL3NreXdhbGtpbmctY2xpZW50LWpzLW5ldGVhc2UvLi9zcmMvdHJhY2UvaW50ZXJjZXB0b3JzL2ZldGNoLnRzIiwid2VicGFjazovL3NreXdhbGtpbmctY2xpZW50LWpzLW5ldGVhc2UvLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOlsidXVpZCIsInJlcGxhY2UiLCJjIiwiciIsIk1hdGgiLCJyYW5kb20iLCJ0b1N0cmluZyIsIkVycm9yc0NhdGVnb3J5IiwiR3JhZGVUeXBlRW51bSIsIlJlcG9ydFR5cGVzIiwiUmVhZHlTdGF0dXMiLCJDb21wb25lbnRJZCIsIlNlcnZpY2VUYWciLCJ0eXBlIiwiY29sbGVjdG9yIiwidXJsIiwidGhpcyIsIkVSUk9SIiwiRVJST1JTIiwiU0VHTUVOVCIsIlNFR01FTlRTIiwiUEVSRiIsInNlbmRCeUZldGNoIiwiZGF0YSIsInNlbmRSZXF1ZXN0IiwiUmVxdWVzdCIsIm1ldGhvZCIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5IiwiZmV0Y2giLCJ0aGVuIiwicmVzcG9uc2UiLCJzdGF0dXMiLCJFcnJvciIsImNhdGNoIiwiZXJyb3IiLCJjb25zb2xlIiwic2VuZEJ5WGhyIiwieGhyIiwiWE1MSHR0cFJlcXVlc3QiLCJvcGVuIiwic2V0UmVxdWVzdEhlYWRlciIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsInJlYWR5U3RhdGUiLCJsb2ciLCJzZW5kIiwic2Vzc2lvbklkIiwicXVldWVzIiwiYWRkVGFzayIsInNlc3Npb24iLCJkb2N1bWVudCIsInJlZmVycmVyIiwicHVzaCIsImZpcmVUYXNrcyIsImxlbmd0aCIsImZpbmFsbHlGaXJlVGFza3MiLCJvcmlnaW5PbmJlZm9yZXVubG9hZCIsIndpbmRvdyIsIm9uYmVmb3JldW5sb2FkIiwiX3RoYXQiLCJhcHBseSIsImFyZ3VtZW50cyIsImludGVydmFsIiwianNFcnJvclB2IiwibG9nSW5mbyIsInVuaXF1ZUlkIiwic2VydmljZSIsInNlcnZpY2VWZXJzaW9uIiwicGFnZVBhdGgiLCJjYXRlZ29yeSIsIlVOS05PV05fRVJST1IiLCJncmFkZSIsIklORk8iLCJlcnJvclVybCIsImxpbmUiLCJjb2wiLCJtZXNzYWdlIiwiZmlyc3RSZXBvcnRlZEVycm9yIiwidHJhY2VJbmZvIiwiRXhjbHVkZUVycm9yVHlwZXMiLCJBSkFYX0VSUk9SIiwiUkVTT1VSQ0VfRVJST1IiLCJpbmNsdWRlcyIsInNldEludGVydmFsIiwiaGFuZGxlRXJyb3JzIiwib3B0aW9ucyIsIm9yZ2luRXJyb3IiLCJvbmVycm9yIiwiSlNfRVJST1IiLCJzdGFjayIsImFkZEV2ZW50TGlzdGVuZXIiLCJldmVudCIsInJlYXNvbiIsImNvbmZpZyIsIlBST01JU0VfRVJST1IiLCJsb2NhdGlvbiIsImhyZWYiLCJoYW5kbGVFcnJvciIsImRldGFpbCIsImdldFJlcXVlc3RDb25maWciLCJzdGF0dXNUZXh0IiwicmVzcG9uc2VUZXh0IiwidGFyZ2V0Iiwic3JjRWxlbWVudCIsIkhUTUxTY3JpcHRFbGVtZW50IiwiSFRNTExpbmtFbGVtZW50IiwiSFRNTEltYWdlRWxlbWVudCIsInRhZ05hbWUiLCJXQVJOSU5HIiwic3JjIiwiVnVlIiwiZXJyb3JIYW5kbGVyIiwidm0iLCJpbmZvIiwiVlVFX0VSUk9SIiwibmFtZSIsIm9yaWdpbiIsImdldFBlcmZUaW1pbmciLCJ0aW1pbmciLCJwZXJmb3JtYW5jZSIsIlBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyIsIm50MlRpbWluZyIsImdldEVudHJpZXNCeVR5cGUiLCJyZWRpcmVjdFRpbWUiLCJ1bmRlZmluZWQiLCJuYXZpZ2F0aW9uU3RhcnQiLCJwYXJzZUludCIsIlN0cmluZyIsImZldGNoU3RhcnQiLCJyZWRpcmVjdEVuZCIsInJlZGlyZWN0U3RhcnQiLCJkbnNUaW1lIiwiZG9tYWluTG9va3VwRW5kIiwiZG9tYWluTG9va3VwU3RhcnQiLCJ0dGZiVGltZSIsInJlc3BvbnNlU3RhcnQiLCJyZXF1ZXN0U3RhcnQiLCJ0Y3BUaW1lIiwiY29ubmVjdEVuZCIsImNvbm5lY3RTdGFydCIsInRyYW5zVGltZSIsInJlc3BvbnNlRW5kIiwiZG9tQW5hbHlzaXNUaW1lIiwiZG9tSW50ZXJhY3RpdmUiLCJmcHRUaW1lIiwiZG9tUmVhZHlUaW1lIiwiZG9tQ29udGVudExvYWRlZEV2ZW50RW5kIiwibG9hZFBhZ2VUaW1lIiwibG9hZEV2ZW50U3RhcnQiLCJyZXNUaW1lIiwic3NsVGltZSIsInByb3RvY29sIiwic2VjdXJlQ29ubmVjdGlvblN0YXJ0IiwidHRsVGltZSIsImZpcnN0UGFja1RpbWUiLCJmbXBUaW1lIiwiZSIsIkVMRV9XRUlHSFQiLCJnZXRTdHlsZSIsImVsZW1lbnQiLCJhdHRyIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImN1cnJlbnRTdHlsZSIsIlNUQVJUX1RJTUUiLCJub3ciLCJJR05PUkVfVEFHX1NFVCIsIldXIiwiaW5uZXJXaWR0aCIsIldIIiwiaW5uZXJIZWlnaHQiLCJzdGF0dXNDb2xsZWN0b3IiLCJmbGFnIiwib2JzZXJ2ZXIiLCJjYWxsYmFja0NvdW50IiwiZW50cmllcyIsImdldEVudHJpZXMiLCJpbml0T2JzZXJ2ZXIiLCJnZXRGaXJzdFNuYXBTaG90IiwidGltZSIsIiRib2R5Iiwic2V0VGFnIiwiTXV0YXRpb25PYnNlcnZlciIsIm9ic2VydmUiLCJjaGlsZExpc3QiLCJzdWJ0cmVlIiwiY2FsY3VsYXRlRmluYWxTY29yZSIsIk11dGF0aW9uRXZlbnQiLCJjaGVja05lZWRDYW5jZWwiLCJkaXNjb25uZWN0IiwidHAiLCJnZXRUcmVlU2NvcmUiLCJkcHNzIiwiaXRlbSIsInN0IiwiZm9yRWFjaCIsInJlc3VsdEVscyIsImZpbHRlclJlc3VsdCIsImVscyIsImZtcFRpbWluZyIsImdldEZtcFRpbWUiLCJzZXRUaW1lb3V0IiwicnQiLCJ3ZWlnaHQiLCJpbmRleCIsImVsZSIsImdldEF0dHJpYnV0ZSIsIm1hdGNoIiwicG9zdGVyIiwic3VtIiwiYXZnIiwiZmlsdGVyIiwic3RhcnQiLCJsYXN0Q2FsVGltZSIsIm5vZGUiLCJjaGlsZHJlbiIsImNoaWxkIiwicyIsImNhbGNhdWx0ZUdyYWRlcyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIndpZHRoIiwiaGVpZ2h0IiwibGVmdCIsInRvcCIsImlzSW5WaWV3UG9ydCIsInNkcCIsIk51bWJlciIsIklNRyIsInJvb3QiLCJhcmVhUGVyY2VudCIsImNhbGN1bGF0ZUFyZWFQYXJlbnQiLCJjb25jYXQiLCJyaWdodCIsImJvdHRvbSIsIndpblJpZ2h0Iiwid2luQm90dG9tIiwib3ZlcmxhcFgiLCJtYXgiLCJtaW4iLCJvdmVybGFwWSIsImluZGV4T2YiLCIkY2hpbGRyZW4iLCJpIiwiJGNoaWxkIiwic2V0QXR0cmlidXRlIiwicGVyZkNvbmZpZyIsInBlcmZEZXRhaWwiLCJyZWNvcmRQZXJmIiwiZm1wIiwiZW5hYmxlU1BBIiwiYXV0b1RyYWNlUGVyZiIsInVzZUZtcCIsInBlcmZJbmZvIiwiY2xlYXJQZXJmIiwiY2xlYXJSZXNvdXJjZVRpbWluZ3MiLCJfaGFzYnRvYSIsImJ0b2EiLCJfaGFzQnVmZmVyIiwiQnVmZmVyIiwiX1RFIiwiVGV4dERlY29kZXIiLCJUZXh0RW5jb2RlciIsImI2NGNocyIsIl9mcm9tQ0MiLCJhIiwidGFiIiwiZnJvbUNoYXJDb2RlIiwiYmluZCIsIl9ta1VyaVNhZmUiLCJVaW50OEFycmF5IiwiZnJvbSIsIm0wIiwiX2J0b2EiLCJiaW4iLCJ1MzIiLCJjMCIsImMxIiwiYzIiLCJhc2MiLCJwYWQiLCJjaGFyQ29kZUF0IiwiVHlwZUVycm9yIiwic2xpY2UiLCJzdWJzdHJpbmciLCJfZnJvbVVpbnQ4QXJyYXkiLCJ1OGEiLCJzdHJzIiwibCIsInN1YmFycmF5Iiwiam9pbiIsImNiX3V0b2IiLCJjYyIsInJlX3V0b2IiLCJfZW5jb2RlIiwiZW5jb2RlIiwidXJsc2FmZSIsInhockludGVyY2VwdG9yIiwic2VnbWVudHMiLCJvcmlnaW5hbFhIUiIsInhoclNlbmQiLCJwcm90b3R5cGUiLCJ4aHJPcGVuIiwiYWpheEV2ZW50VHJpZ2dlciIsImFqYXhFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGlzcGF0Y2hFdmVudCIsImxpdmVYSFIiLCJjYWxsIiwiYXN5bmMiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwic2VnQ29sbGVjdG9yIiwic2VnbWVudCIsInRyYWNlSWQiLCJzcGFucyIsInNlcnZpY2VJbnN0YW5jZSIsInRyYWNlU2VnbWVudElkIiwieGhyU3RhdGUiLCJzdGFydHNXaXRoIiwiVVJMIiwicGF0aG5hbWUiLCJub1RyYWNlT3JpZ2lucyIsInNvbWUiLCJydWxlIiwiUmVnRXhwIiwidGVzdCIsImNvbGxlY3RvclVSTCIsInRyYWNlU0RLSW50ZXJuYWwiLCJPUEVORUQiLCJzdGFydFRpbWUiLCJEYXRlIiwiZ2V0VGltZSIsInRyYWNlSWRTdHIiLCJzZWdtZW50SWQiLCJpbnN0YW5jZSIsImVuZHBvaW50IiwicGVlciIsImhvc3QiLCJ2YWx1ZXMiLCJET05FIiwiZW5kVGltZSIsInJlc3BvbnNlVVJMIiwiZXhpdFNwYW4iLCJvcGVyYXRpb25OYW1lIiwic3BhbklkIiwic3BhbkxheWVyIiwic3BhblR5cGUiLCJpc0Vycm9yIiwicGFyZW50U3BhbklkIiwiY29tcG9uZW50SWQiLCJ0YWdzIiwiZGV0YWlsTW9kZSIsImtleSIsInZhbHVlIiwic3BsaWNlIiwiY3VzdG9tT3B0aW9ucyIsImpzRXJyb3JzIiwiYXBpRXJyb3JzIiwicmVzb3VyY2VFcnJvcnMiLCJhcG1TZXNzaW9uSWRGdW5jIiwidHJhY2VUaW1lSW50ZXJ2YWwiLCJyZWdpc3RlciIsImNvbmZpZ3MiLCJjYXRjaEVycm9ycyIsIm9yaWdpbkZldGNoIiwiYXJncyIsIm5vVHJhY2UiLCJoYXNUcmFjZSIsImhlYWRlcnMiLCJjbG9uZSIsIndpbmRvd0ZldGNoIiwidHJhY2VTZWdtZW50IiwidnVlIiwic2V0UGVyZm9ybWFuY2UiLCJyZXBvcnRGcmFtZUVycm9ycyIsIkNsaWVudE1vbml0b3IiXSwibWFwcGluZ3MiOiJtQkFpQmUsU0FBU0EsSUFDdEIsTUFBTyx1Q0FBdUNDLFFBQVEsU0FBUyxTQUFDQyxHQUU5RCxJQUFNQyxFQUFxQixHQUFoQkMsS0FBS0MsU0FBaUIsRUFJakMsT0FGZ0IsTUFBTkgsRUFBWUMsRUFBUyxFQUFKQSxFQUFXLEdBRTdCRyxTQUFTLE9DTnRCLElBQVlDLEVBUUFDLEVBS0FDLEVBVUFDLEdBdkJaLFNBQVlILEdBQ1Ysb0JBQ0EsNEJBQ0Esa0JBQ0EsMEJBQ0EsZ0JBQ0EsMEJBTkYsQ0FBWUEsTUFBYyxLQVExQixTQUFZQyxHQUNWLGNBQ0Esb0JBQ0EsZ0JBSEYsQ0FBWUEsTUFBYSxLQUt6QixTQUFZQyxHQUNWLDRCQUNBLDhCQUNBLDJCQUNBLHdCQUNBLDBCQUxGLENBQVlBLE1BQVcsS0FVdkIsU0FBWUMsR0FDVix1QkFDQSxtQkFGRixDQUFZQSxNQUFXLEtBSWhCLElBQU1DLEVBQWMsTUFDZEMsRUFBYSxZQ3NCMUIsUUFuREEsV0FHRSxXQUFZQyxFQUFjQyxHQUZsQixLQUFBQyxJQUFjLEdBR1AsVUFBVEYsRUFDRkcsS0FBS0QsSUFBTUQsRUFBWUwsRUFBWVEsTUFDakIsV0FBVEosRUFDVEcsS0FBS0QsSUFBTUQsRUFBWUwsRUFBWVMsT0FDakIsWUFBVEwsRUFDVEcsS0FBS0QsSUFBTUQsRUFBWUwsRUFBWVUsUUFDakIsYUFBVE4sRUFDVEcsS0FBS0QsSUFBTUQsRUFBWUwsRUFBWVcsU0FDakIsU0FB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