!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).biliMirror={})}(this,(function(e){"use strict";function t(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{a(r.next(e))}catch(e){i(e)}}function c(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,c)}a((r=r.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;let n=!1;function r(){return!1===n&&(n="undefined"!=typeof window),n}var o;const i=function(){if(r())return window}();function s(){if(r())return i.__biliMirror__=i.__biliMirror__||{},i.__biliMirror__}const c=r()&&(null===(o=document.getElementsByTagName("meta").spm_prefix)||void 0===o?void 0:o.content)||"0.0";function a(e,t,n,r=!1){e.addEventListener(t,n,r)}function l(){return Date.now()}const u=Object.prototype.toString;function d(e){return function(t){return u.call(t)===`[object ${e}]`}}const f={isNumber:d("Number"),isString:d("String"),isBoolean:d("Boolean"),isNull:d("Null"),isUndefined:d("Undefined"),isSymbol:d("Symbol"),isFunction:d("Function"),isObject:d("Object"),isArray:d("Array"),isProcess:d("process"),isWindow:d("Window")};function p(e){const t=/^[0-9a-zA-Z_-]+$/.test(e);return t||console.warn(`字符串:${e},不符合条件,任意数字,字母、下划线、中划线组成`),t}const m=(e,t=["chrome-extension"],n=!1)=>{if(0===t.length)return!1;if(null==(null==e?void 0:e.message))return!0;const[r]=e.message.split("?");if(r.includes(location.hostname))return!0;const o=(null==e?void 0:e.fileName)||"";return!(!n||o.endsWith(".js"))||t.map((e=>new RegExp(String.raw`${e}`))).some((e=>e.test(r)||e.test(o)))};function h(e){if("0"===e)return 0;if(f.isNumber(e))return e>10?10:e<=0?1:e;if(f.isString(e)&&!isNaN(e)){const t=parseInt(e);return t>10?10:t<=0?1:t}return console.warn("mirror-kv-[config] sampling rate error,pleace set 1-10"),1}function g(e){return Math.floor(10*Math.random()+1)>e}function v(){return"undefined"==typeof document||null==document.location?"":document.location.href}function b(e){if(!e)return{};const t=e.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};const n=t[6]||"",r=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],relative:t[5]+n+r}}function E(e,t,n,r=!1){if(void 0!==e&&(t in e||r)){const r=n(e[t]);"function"==typeof r&&(e[t]=r)}}const R=(e,t)=>{let n=!0;return function(...r){n&&(e.apply(this,r),n=!1,setTimeout((()=>{n=!0}),t))}},y=(e,t)=>{let n;return function(...r){clearTimeout(n),n=setTimeout((()=>{e.apply(this,r)}),t)}};function w(e){return e&&"object"==typeof e&&!Array.isArray(e)}function O(e,t){let n=Object.assign({},e);return w(e)&&w(t)&&Object.keys(t).forEach((r=>{w(t[r])?r in e?n[r]=O(e[r],t[r]):Object.assign(n,{[r]:t[r]}):Object.assign(n,{[r]:t[r]})})),n}var S="1.6.6";const _="@bilibili/bili-mirror",I=S;var T=function(e){"undefined"!=typeof window&&window.__BILI_X_ENGINE_SCRIPT_CACHE__&&void 0!==window.__BILI_X_ENGINE_SCRIPT_CACHE__[e]&&delete window.__BILI_X_ENGINE_SCRIPT_CACHE__[e]},C=function(e,t){if("undefined"==typeof window)return Promise.reject(new Error("window is not defined"));var n,r=e=e.replace(/^https?:\/\//,"//"),o=(n=r,"undefined"==typeof window?null:window.__BILI_X_ENGINE_SCRIPT_CACHE__&&window.__BILI_X_ENGINE_SCRIPT_CACHE__[n]||null);if(null!=o&&o.promise)return o.promise;var i=new Promise((function(n,r){var o=document.createElement("script");o.src=e,null!=t&&t.behavior&&o.setAttribute(t.behavior,""),o.onload=function(){var o=window;if(t.lib)return o[t.lib]?n(o[t.lib]):r(new Error('Failed to access library "'+t.lib+'" from '+e));n(null)},o.onerror=function(){r(new Error("Failed to load "+e))},document.head.appendChild(o)}));return function(e,t){"undefined"!=typeof window&&(window.__BILI_X_ENGINE_SCRIPT_CACHE__||(window.__BILI_X_ENGINE_SCRIPT_CACHE__={}),window.__BILI_X_ENGINE_SCRIPT_CACHE__[e]=t)}(r,{promise:i,lib:null==t?void 0:t.lib}),i.then((function(){!1===(null==t?void 0:t.cache)&&T(r)})).catch((function(){!1===(null==t?void 0:t.cache)&&T(r)})),i},P=function(e){return Promise.resolve(function(){try{return window.KvSDK?Promise.resolve(window.KvSDK):Promise.resolve(C("//s1.hdslb.com/bfs/seed/jinkela/kv-sdk/index.js",{lib:"KvSDK"}))}catch(e){return Promise.reject(e)}}()).then((function(t){return new t(e)}))},N=function(e){return Promise.resolve(function(){try{return window.ReporterPb?Promise.resolve(window.ReporterPb):Promise.resolve(C("//s1.hdslb.com/bfs/seed/jinkela/short/reporter-pb/index.js",{lib:"ReporterPb"}))}catch(e){return Promise.reject(e)}}()).then((function(t){return new t(e)}))};const A=s(),k={SPMID:"333.1333",GROUP:"bilimirror",KEY:"whitelist"};class j{constructor(){this.origin="bili",this.module="common",this.config={},this.kvOptions={},this._defaultKvConfig={retry:[],performance:1,poll:5,techpv:5,userLog:[],resourceTime:{},userLogDeep:10,track:{},filterEndJs:!1}}fetchWhiteListConfig(e,t,n=!1){return new Promise(((r,o)=>{e.get(t).then((t=>{if(!t)return n||console.warn(`${e.storage.appKey}-没有对应配置,返回默认配置`),void r(n?this._defaultKvConfig:{});const o=JSON.parse(t);r(o)})).catch((t=>{console.warn(`${e.storage.appKey},mirror获取白名单配置失败,返回默认配置`),r(this._defaultKvConfig)}))}))}getConfig(){return t(this,void 0,void 0,(function*(){this._defaultConfigSDK=yield P(Object.assign({appKey:k.SPMID,strict:1,reporter:{ignoreAppKeyNotFound:!0}},this.kvOptions));const{SPMID:e,GROUP:t,KEY:n}=k,r=this.spmId||c,o=yield this.fetchWhiteListConfig(this._defaultConfigSDK,`${t}.${n}`,!0);let i={};e!==r&&(this._configSDK&&delete this._configSDK,this._configSDK=yield P(Object.assign({appKey:r,strict:1,reporter:{ignoreAppKeyNotFound:!0}},this.kvOptions)),i=yield this.fetchWhiteListConfig(this._configSDK,`${t}.${n}`));const s=O(o,i);return new Promise((e=>{this.config.white=(null==s?void 0:s.white)||{},this.config["white-retry"]=(null==s?void 0:s.retry)||[],this.config["white-preformance-rate"]=s.performance?h(null==s?void 0:s.performance):1,this.config["poll-time"]=s.poll?h(null==s?void 0:s.poll):5,this.config["tech-pv"]=s.techpv?h(null==s?void 0:s.techpv):5,this.config["user-log"]=(null==s?void 0:s.userLog)||[],this.config["resource-time"]=(null==s?void 0:s.resourceTime)||{},this.config["user-log-deep"]=(null==s?void 0:s.userLogDeep)||10,this.config.track=(null==s?void 0:s.track)||{},this.config["filter-end-js"]=(null==s?void 0:s.filterEndjs)||!1,e()}))}))}bindOptions(e={}){return t(this,void 0,void 0,(function*(){return A.mirrorVersion=I,Object.keys(e).forEach((t=>{"config"!==t&&("module"===t&&"function"==typeof e[t]?this[t]=e[t]():this[t]=e[t])})),yield this.getConfig(),Promise.resolve("ok")}))}updateModule(e){this.module=e}}function L(){return A.options||(A.options=new j)}const $=r()?L():null;function D(e={}){return t(this,void 0,void 0,(function*(){if(r()){return yield $.bindOptions(e)}}))}var H,M,x,B,F=-1,U=function(e){addEventListener("pageshow",(function(t){t.persisted&&(F=t.timeStamp,e(t))}),!0)},K=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]},W=function(){var e=K();return e&&e.activationStart||0},G=function(e,t){var n=K(),r="navigate";return F>=0?r="back-forward-cache":n&&(document.prerendering||W()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},J=function(e,t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(Object.assign({type:e,buffered:!0},n||{})),r}}catch(e){}},X=function(e,t,n,r){var o,i;return function(s){t.value>=0&&(s||r)&&((i=t.value-(o||0))||void 0===o)&&(o=t.value,t.delta=i,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t))}},Y=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},q=function(e){var t=function(t){"pagehide"!==t.type&&"hidden"!==document.visibilityState||e(t)};addEventListener("visibilitychange",t,!0),addEventListener("pagehide",t,!0)},V=function(e){var t=!1;return function(n){t||(e(n),t=!0)}},z=-1,Q=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},Z=function(e){"hidden"===document.visibilityState&&z>-1&&(z="visibilitychange"===e.type?e.timeStamp:0,te())},ee=function(){addEventListener("visibilitychange",Z,!0),addEventListener("prerenderingchange",Z,!0)},te=function(){removeEventListener("visibilitychange",Z,!0),removeEventListener("prerenderingchange",Z,!0)},ne=function(){return z<0&&(z=Q(),ee(),U((function(){setTimeout((function(){z=Q(),ee()}),0)}))),{get firstHiddenTime(){return z}}},re=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},oe=[1800,3e3],ie=function(e,t){t=t||{},re((function(){var n,r=ne(),o=G("FCP"),i=J("paint",(function(e){e.forEach((function(e){"first-contentful-paint"===e.name&&(i.disconnect(),e.startTime=0&&M1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){le(e,t),o()},r=function(){o()},o=function(){removeEventListener("pointerup",n,ce),removeEventListener("pointercancel",r,ce)};addEventListener("pointerup",n,ce),addEventListener("pointercancel",r,ce)}(t,e):le(t,e)}},fe=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,de,ce)}))},pe=[100,300],me=[2500,4e3],he={},ge=[800,1800],ve=function e(t){document.prerendering?re((function(){return e(t)})):"complete"!==document.readyState?addEventListener("load",(function(){return e(t)}),!0):setTimeout(t,0)},be=function(e,t){t=t||{};var n=G("TTFB"),r=X(e,n,ge,t.reportAllChanges);ve((function(){var o=K();if(o){var i=o.responseStart;if(i<=0||i>performance.now())return;n.value=Math.max(i-W(),0),n.entries=[o],r(!0),U((function(){n=G("TTFB",0),(r=X(e,n,ge,t.reportAllChanges))(!0)}))}}))};const Ee=e=>!!r()&&(()=>{try{return r()&&PerformanceObserver?PerformanceObserver.supportedEntryTypes||[]:null}catch(e){console.error("bili-mirror: supportList 解析异常:",e)}})().includes(e);function Re(e){window.performance.getEntriesByType&&window.addEventListener("load",(function(){const t=window.performance;t&&setTimeout((()=>{const n=t.getEntriesByType("navigation")[0],r={redirectTime:n.redirectEnd-n.redirectStart,dnsTime:n.domainLookupEnd-n.domainLookupStart,tcpTime:n.connectEnd-n.connectStart,sslTime:"https:"===location.protocol?n.connectEnd-n.secureConnectionStart:0,ttfbTime:n.responseStart-n.startTime,requestDoneTime:n.responseEnd-n.responseStart,domParseTime:n.domContentLoadedEventEnd-n.responseEnd,resourceDownloadTime:n.loadEventEnd-n.domContentLoadedEventEnd,pageTime:n.duration};e({name:"PAGETIME",data:r,value:1})}),0)}))}function ye(e){/Safari/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)?(!function(e){if(!Ee("first-input"))return;const t=new PerformanceObserver((n=>{for(const r of n.getEntries()){t.disconnect();const n=r.processingStart-r.startTime;e({name:"FID",value:n,rating:n<100?"good":n>100&&n<300?"normal":"poor"})}}));t.observe({type:"first-input",buffered:!0})}((t=>{e(t)})),function(e){if(!Ee("paint"))return;const t=new PerformanceObserver((n=>{for(const r of n.getEntries())"first-contentful-paint"===r.name&&(t.disconnect(),e({name:"FCP",value:r.startTime,rating:r.startTime<1600?"good":r.startTime>1600&&r.startTime<3e3?"normal":"poor"}))}));t.observe({type:"paint",buffered:!0})}((t=>{e(t)})),function(e){if(!Ee("largest-contentful-paint"))return;const t=new PerformanceObserver((n=>{for(const r of n.getEntries())t.disconnect(),e({name:"LCP",value:r.startTime,rating:r.startTime<1600?"good":r.startTime>1600&&r.startTime<3e3?"normal":"poor"})}));t.observe({type:"largest-contentful-paint",buffered:!0})}((t=>{e(t)})),function(e){window.addEventListener("load",(function(){let{responseStart:t,navigationStart:n}=window.performance.timing,r=t-n;e({name:"TTFB",value:r,rating:r<200?"good":r>200&&r<500?"normal":"poor"})}))}((t=>{e(t)})),Re((t=>{e(t)}))):(!function(e,t){t=t||{},re((function(){var n,r=ne(),o=G("LCP"),i=function(e){var t=e[e.length-1];t&&t.startTime{e(t)})),function(e,t){t=t||{},re((function(){var n,r=ne(),o=G("FID"),i=function(e){e.startTime{e(t)})),function(e,t){t=t||{},ie(V((function(){var n,r=G("CLS",0),o=0,i=[],s=function(e){e.forEach((function(e){if(!e.hadRecentInput){var t=i[0],n=i[i.length-1];o&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(o+=e.value,i.push(e)):(o=e.value,i=[e])}})),o>r.value&&(r.value=o,r.entries=i,n())},c=J("layout-shift",s);c&&(n=X(e,r,se,t.reportAllChanges),q((function(){s(c.takeRecords()),n(!0)})),U((function(){o=0,r=G("CLS",0),n=X(e,r,se,t.reportAllChanges),Y((function(){return n()}))})),setTimeout(n,0))})))}((t=>{e(t)})),ie((t=>{e(t)})),be((t=>{e(t)})),Re((t=>{e(t)})))}const we="MIRROR_TRACK",Oe="log",Se="key",_e={createIndexedDB:()=>new Promise(((e,t)=>{const n=indexedDB.open(we,1);n.onupgradeneeded=e=>{const t=e.target.result;t.objectStoreNames.contains(Oe)||t.createObjectStore(Oe,{keyPath:Se})},n.onsuccess=()=>{event.target.result.close(),e()},n.onerror=()=>{console.log("Indexed Start Error"),t()}})),add(e){const t=function(){const e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`}()+"_"+Math.ceil(999*Math.random())+"Z",n=indexedDB.open(we,1);n.onupgradeneeded=e=>{const t=e.target.result;t.objectStoreNames.contains(Oe)||t.createObjectStore(Oe,{keyPath:Se})},n.onsuccess=n=>{const r=n.target.result;if(!r.objectStoreNames.contains(Oe))return;const o=r.transaction(Oe,"readwrite").objectStore(Oe),i=o.count();i.onsuccess=()=>{o.put({[Se]:`[${t}]-${e}`}),Number(i.result)<=1e5||(o.openCursor().onsuccess=e=>{const t=e.target.result;t&&t.delete()})},i.onerror=()=>{console.log("mirror indexDb count error")},r.close()},n.onerror=()=>{console.log("add Indexed Open Error")}},getAll:(e=!0)=>new Promise(((t,n)=>{let r=[];const o=indexedDB.open(we);o.onsuccess=o=>{const i=o.target.result;if(!i.objectStoreNames.contains(Oe))return void n("the store log not exists in the MIRROR_TRACK databse");const s=i.transaction(Oe,"readonly").objectStore(Oe);if(e)s.openCursor().onsuccess=e=>{const n=e.target.result;if(n)r.push(n.key),r.push("\r\n"),n.continue();else{const e=new Blob(r,{type:"text/plain;charset=utf-8"});t(e)}},s.openCursor().onerror=()=>{n("OpenCursor Error")};else{s.getAll().onsuccess=function(e){const n=e.target.result;t(n)}}i.close()},o.onerror=()=>{n("Indexed Open Error")}})),clearStore(){const e=indexedDB.open(we);e.onsuccess=e=>{const t=e.target.result;if(!t.objectStoreNames.contains(Oe))return void console.log(`Object store ${Oe} does not exist`);t.transaction(Oe,"readwrite").objectStore(Oe).clear().onsuccess=function(e){console.log("All entries have been removed from the store.")},t.close()},e.onerror=function(e){console.log("Error opening db",e.target.error)}},deleteIndexedDB(){const e=indexedDB.deleteDatabase(we);e.onsuccess=()=>{console.log("Delete Success"),_e.createIndexedDB()},e.onerror=()=>{console.log("Delete Error")}}};var Ie,Te,Ce,Pe,Ne,Ae,ke;!function(e){e.INIT="init",e.ERROR="error",e.UNHANDLEDREJECTION="unhandledrejection",e.RESOURCE="resource",e.PERFORMANCE="performance",e.WHITESCREEN="whiteScreen",e.BREABCRUMB="breadcrumb"}(Ie||(Ie={})),function(e){e.ERROR="error",e.CLICK="click",e.HISTORY="history",e.HASHCHANGE="hashchange",e.UNHANDLEDREJECTION="unhandledrejection",e.RESOURCE="resource",e.WHITE="white",e.CUSTOM="custom",e.SCROLL="scroll",e.API="api"}(Te||(Te={})),function(e){e.BEFORE="mirrorHandlerBefore",e.AFTER="mirrorHandlerAfter"}(Ce||(Ce={})),function(e){e.ERROR="error",e.OK="ok"}(Pe||(Pe={})),function(e){e.AUTO="auto",e.DEFAULT="default"}(Ne||(Ne={})),function(e){e.HISTORY="history",e.HASH="hash",e.DOM="dom",e.JS="js",e.PROMISE="promise",e.RESOURCE="resource",e.WHITE="white",e.SCROLL="scroll",e.API="api"}(Ae||(Ae={})),function(e){e.LOAD="info-load",e.REFRESH="info-refresh",e.PAGETABSTATUS="info-visibilitychange",e.DEVICE="info-device",e.SCROLL="info-scroll",e.APISUCCESS="request-success",e.APIERROR="request-error",e.PAGECLOSE="info-close",e.CLICK="info-click",e.HISTORY="info-history",e.HASHCHANGE="info-hashchange",e.ERROR="error-js",e.UNHANDLEDREJECTION="error-unhandledrejection",e.RESOURCE="error-resource",e.WHITE="error-white"}(ke||(ke={}));const je={isExclusive:1},Le={mirrorPolymer:3},$e=(e,n="before",r)=>{const o=[];let i=!1,s=0;return{start(){return new Promise((c=>t(this,void 0,void 0,(function*(){if(!i){for(i=!0;s{e(),this.repeat(e,t)}),t)}clear(){clearTimeout(this.timeID)}}let He=null;class Me{before(e,n){return new Promise((r=>t(this,void 0,void 0,(function*(){if($.plugins&&f.isArray($.plugins))try{const t=$.plugins,o=yield $e(t,"before",{type:e,data:n}).start();let[i]=o.slice(-1);r(i)}catch(e){console.warn("bili-mirror:plugin function before hook error,please check"),r(!0)}else if($.plugins&&$.plugins.mirrorHandleBefore)try{$.plugins.mirrorHandleBefore(e,n).then((e=>{r(e)}))}catch(e){console.warn("bili-mirror:plugin function before hook error,please check"),r(!0)}else r(!0)}))))}after(e,n){return new Promise((r=>t(this,void 0,void 0,(function*(){if($.plugins&&f.isArray($.plugins))try{const t=$.plugins;yield $e(t,"after",{type:e,data:n}).start(),r()}catch(e){console.warn("bili-mirror:plugin function after hook error,please check"),r()}else if($.plugins&&$.plugins.mirrorHandleAfter)try{$.plugins.mirrorHandleAfter(e,n).then((()=>{r()}))}catch(e){console.warn("bili-mirror:plugin function after hook error,please check"),r()}else r()}))))}}He||(He=new Me);const xe=s();const Be=r()?xe.breadcrumb||(xe.breadcrumb=new class{constructor(){this.maxBreadcrumbs=10,this.stack=[],this.isSet=!1}push(e){return t(this,void 0,void 0,(function*(){(null==$?void 0:$.config["user-log-deep"])&&!this.isSet&&(this.maxBreadcrumbs=null==$?void 0:$.config["user-log-deep"],this.isSet=!0);(yield He.before(Ie.BREABCRUMB,e))&&(this.immediatePush(e),a(i,"beforeunload",(()=>{this.stack.filter((e=>"error"===e.status)).length&&(this.goToReport(this.stack),window.__biliMirrorPbInstance__&&window.__biliMirrorPbInstance__.flush&&window.__biliMirrorPbInstance__.flush())})))}))}immediatePush(e){if(e.time||(e.time=l()),this.stack.length>=this.maxBreadcrumbs){this.stack.filter((e=>"error"===e.status)).length?(this.goToReport(this.stack),this.clear()):this.clear()}this.stack.push(e),this.stack.sort(((e,t)=>e.time-t.time))}shift(){return void 0!==this.stack.shift()}clear(){this.stack=[]}getStack(){return this.stack}goToReport(e){let t={};e.forEach(((e,n)=>{t[`logStep-${n}`]=e})),yt({type:"custom",event:`${$.origin}.${$.module}.USERLOG`,msg:Object.assign({userLogInfo:Object.assign({},t)},je)}),He.after(Ie.BREABCRUMB,this.stack),this.clear()}}):null;let Fe=null;const Ue=s();function Ke(e){const t=(null==$?void 0:$.config["user-log"])||null;return!!t&&t.find((t=>t===e))}function We(){return"log"!==(null==Ue?void 0:Ue.logType)}class Ge{constructor(){}handleHistory(e){const{from:t,to:n}=e,{relative:r}=b(t),{relative:o}=b(n);We()&&Qe(ke.HISTORY,"history跳转",{from:r||"/",to:o||"/"}),Ke(Ae.HISTORY)&&Be.push({category:Te.HISTORY,status:Pe.OK,time:l(),msg:{from:r||"/",to:o||"/"}})}handleHashChange(e){const{oldURL:t,newURL:n}=e,{relative:r}=b(t),{relative:o}=b(n);We()&&Qe(ke.HASHCHANGE,"hashChange跳转",{from:r,to:o}),Ke(Ae.HASH)&&Be.push({category:Te.HASHCHANGE,status:Pe.OK,time:l(),msg:{from:r,to:o}})}handleDomClick(e){const t=function(e){if(e.target.offsetParent){const t=e.target.offsetParent.tagName.toLowerCase();return"body"===t||"html"===t||void 0===t?"":e.target.outerHTML}return e.target.outerHTML}(e);t&&(We()&&Qe(ke.CLICK,"点击",{dom:t}),Ke(Ae.DOM)&&Be.push({category:Te.CLICK,status:Pe.OK,time:l(),msg:{clickDom:t}}))}handleScroll(){const e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop;We()&&Qe(ke.SCROLL,"页面滚动",{top:e}),Ke(Ae.SCROLL)&&Be.push({category:Te.SCROLL,status:Pe.OK,time:l(),msg:{top:e}})}handleJsError(e){We()&&Qe(ke.ERROR,"js报错",{message:e.message}),Ke(Ae.JS)&&Be.push({category:Te.ERROR,status:Pe.ERROR,time:e.time||l(),msg:{message:e.message}})}handlePromiseError(e){We()&&Qe(ke.UNHANDLEDREJECTION,"rejection错误",{message:e.message}),Ke(Ae.PROMISE)&&Be.push({category:Te.UNHANDLEDREJECTION,status:Pe.ERROR,time:e.time||l(),msg:{message:e.message}})}handleResourceError(e){We()&&Qe(ke.RESOURCE,"resource错误",{message:e.message,name:null==e?void 0:e.name}),Ke(Ae.RESOURCE)&&Be.push({category:Te.RESOURCE,status:Pe.ERROR,time:e.time||l(),msg:{message:e.message,name:null==e?void 0:e.name}})}handleWhiteScreen(){We()&&Qe(ke.WHITE,"白屏错误",{url:location.href}),Ke(Ae.WHITE)&&Be.push({category:Te.WHITE,status:Pe.ERROR,time:l(),msg:{url:location.href}})}handleRequest(e){We()&&Qe(Je(e.httpCode)?ke.APISUCCESS:ke.APIERROR,`请求httpCode:${e.httpCode}`,{api:e.api,traceId:null==e?void 0:e.headers["X-Bili-Trace-Id"],code:e.code,message:e.msg}),Ke(Ae.API)&&Be.push({category:Te.API,status:Je(e.httpCode)?Pe.OK:Pe.ERROR,time:l(),msg:{api:e.api,traceId:null==e?void 0:e.headers["X-Bili-Trace-Id"],code:e.code,message:e.msg}})}}function Je(e){return e>=200&&e<300}Fe||(Fe=new Ge);let Xe=v();const Ye={historyReplace(){if(!function(){const e=i.chrome,t=e&&e.app&&e.app.runtime,n="history"in i&&!!i.history.pushState&&!!i.history.replaceState;return!t&&n}())return;const e=i.onpopstate;function t(e){return function(...t){const n=t.length>2?t[2]:void 0;if(n){const e=Xe,t=String(n);Xe=t,Fe.handleHistory({from:e,to:t})}return e.apply(this,t)}}i.onpopstate=function(...t){const n=v(),r=Xe;Xe=n,Fe.handleHistory({from:r,to:n}),e&&e.apply(this,t)},E(i.history,"pushState",t),E(i.history,"replaceState",t)},hashChangeeReplace(){var e,t;e=i,t="onhashchange",Object.prototype.hasOwnProperty.call(e,t)&&a(i,"hashchange",(function(e){Fe.handleHashChange(e)}))},domClickReplace(){if(!("document"in i))return;const e=R(Fe.handleDomClick,300);a(i.document,"click",(function(t){e(t)}),!0)},scrollReplace(){const e=y(Fe.handleScroll,1e3);a(i,"scroll",(function(t){e(t)}),!0)},jsErrorReplace(e){null==Fe||Fe.handleJsError(e)},promiseErrorReplace(e){null==Fe||Fe.handlePromiseError(e)},resourceErrorReplace(e){null==Fe||Fe.handleResourceError(e)},whiteErrorReplace(){null==Fe||Fe.handleWhiteScreen()},apiReplace(e){null==Fe||Fe.handleRequest(e)}},qe=s();function Ve(e){const t=document.cookie.match(new RegExp("(^| )"+e+"=([^;]+)"));return t?decodeURIComponent(t[2]):null}function ze(){const e=function(){const e=null==$?void 0:$.config.track,t=Ve("buvid3"),n=Ve("DedeUserID");return!!e&&0!==Object.keys(e).length&&(Array.isArray(null==e?void 0:e.mid)?(null==e?void 0:e.mid.includes(n))||(null==e?void 0:e.mid.includes("*")):!!Array.isArray(null==e?void 0:e.buvid)&&((null==e?void 0:e.buvid.includes(t))||(null==e?void 0:e.buvid.includes("*"))))}(),t=function(){var e;return null===(e=null==$?void 0:$.config["user-log"])||void 0===e?void 0:e.length}();return e&&t?"all":e&&!t?"track":!e&&t?"log":"none"}function Qe(e,t,n){let r=`[${e}]: ${t} ${"string"==typeof n?n:JSON.stringify(n||"")}`;_e.add(r)}function Ze(e){return new Promise(((n,r)=>t(this,void 0,void 0,(function*(){const t=new FormData;t.append("log",e),t.append("project",function(){const{spmId:e,origin:t,module:n}=qe.options;return`${e||c}.${t}.${n}`}());try{const e=yield fetch("https://api.bilibili.com/x/web-frontend/action-log/upload",{method:"POST",body:t,credentials:"include"});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const r=yield e.json();n(r)}catch(e){r("Failed to upload log: "+e)}}))))}function et(){return t(this,void 0,void 0,(function*(){r()&&(qe.logType=ze(),"none"!==ze()&&("log"!==qe.logType&&(yield _e.createIndexedDB(),function(){let e=performance.getEntriesByType("navigation");if(e.length>0)if("reload"===e[0].type)Qe(ke.REFRESH,"页面刷新",{url:location.href});else{Qe(ke.LOAD,"页面载入",{url:location.href});const e=window.innerWidth,t=window.innerHeight;Qe(ke.DEVICE,"设备信息",{ua:navigator.userAgent,window_size:`${e}*${t}`})}i.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState?Qe(ke.PAGETABSTATUS,"选项卡被激活"):"hidden"===document.visibilityState&&Qe(ke.PAGETABSTATUS,"选项卡被隐藏")})),i.addEventListener("beforeunload",(()=>{Qe(ke.PAGECLOSE,"页面关闭")}))}()),Ye.historyReplace(),Ye.hashChangeeReplace(),Ye.domClickReplace(),Ye.scrollReplace()))}))}let tt=null,nt=null,rt=6e4*((null==$?void 0:$.config["poll-time"])||5);const ot="BILI_MIRROR_REPORT_POOL";(null==$?void 0:$.config["poll-time"])||setTimeout((()=>{rt=6e4*((null==$?void 0:$.config["poll-time"])||5)}),1e3);const it=()=>{try{let e=JSON.parse(localStorage.getItem(ot)||"{}");if(!Object.keys(e).length)return;Object.entries(e).forEach((([e,t])=>{tt.tech(e,t)})),localStorage.setItem(ot,"{}")}catch(e){}},st=()=>{nt||(nt=new De,nt.repeat(it,rt),a(i,"beforeunload",(function(){it(),ct()})))},ct=()=>{tt&&tt.flush&&tt.flush(),null==nt||nt.clear()},at="_BiliGreyResult",lt=()=>{const e=ut("offline-version"),t=ut("offline-name"),n=ut("offline-plat");return e?{offlineVersion:e,offlineName:t,offlinePlat:n}:{}},ut=e=>{var t;return(null===(t=document.getElementsByTagName("meta")[e])||void 0===t?void 0:t.content)||void 0},dt=(()=>{if(!r())return{};if(!i[at])return{};const e=i[at];var t={};Object.entries(e).forEach((([e,n])=>{t[`${at}_${e}`]=n}));const n=lt();return Object.assign(Object.assign({},t),n)})(),ft=[];let pt=!1,mt="",ht=null;const gt=e=>{let t="";return t=e.diyevent?e.eventId||e.event:e.otherSpmId?`${e.otherSpmId}.${e.eventId}`:(null==$?void 0:$.spmId)?`${null==$?void 0:$.spmId}.${e.eventId}`:`${c}.${e.eventId}`,t};function vt(){if(ft.length&&!pt){pt=!0;const[e,t,n,r]=ft.shift();if("middleWare"===t){if(ht)return pt=!1,wt(n,r),void vt();e(!0).then((e=>{var t;pt=!1,ht=e,tt!==(t=ht)&&(tt=t),Ot(n,r),vt()}))}else e().then((()=>{pt=!1,t&&n&&t(n,r||void 0),vt()}))}}const bt=e=>{const t=mt?window[mt]:window.__biliMirrorPbInstance__;e=It(e);const n=gt(e);t[e.type](n,e.msg)},Et=(e,t)=>{t&&Object.keys(t).length>0&&St(t),e=It(e);const n=gt(e),r=mt?window[mt]:window.__biliMirrorPbInstance__,o=Object.assign(Object.assign(Object.assign({},e.msg),dt),{mirrorVersion:S,type:e.type||"custom"});r.tech(n,o)},Rt=e=>{ft.push([_t,bt,e]),vt()},yt=(e,t)=>{ft.push([_t,Et,e,t]),vt()},wt=(e,t)=>{var n;n=e.msg,"none"!==ze()&&Ye.apiReplace(n),!e.msg.message&&e.msg.msg&&(e.msg.message=e.msg.msg),ht?Ot(e,t):(ft.push([_t,"middleWare",e,t]),vt())},Ot=(e,t)=>{t&&void 0!==(null==t?void 0:t.isBatch)||(t=Object.assign(t||{},{isBatch:!1}));const n=((null==t?void 0:t.spmId)||c)+"."+((null==t?void 0:t.origin)||(null==$?void 0:$.origin))+"."+((null==t?void 0:t.module)||(null==$?void 0:$.module));(null==t?void 0:t.isBatch)?((e,t,n)=>{var r;const o=(null===(r=null==t?void 0:t.api)||void 0===r?void 0:r.split("?")[0])||"";try{let t=JSON.parse(localStorage.getItem(ot)||"{}");t[e]||(t[e]=Object.assign(Object.assign({},n),Le)),t[e][o]?t[e][o]++:t[e][o]=1,localStorage.setItem(ot,JSON.stringify(t))}catch(e){}st()})(n+(t.eventId||".DATA.successReport"),e.msg,Object.assign({type:"custom",mirrorVersion:S},dt)):ht.tech(n+(t.eventId||".ERROR.errorReport"),Object.assign(Object.assign({type:e.type||"custom",mirrorVersion:S},e.msg),dt))},St=(e={feature:{tech:!0}})=>{window.__biliMirrorPbInstance__.options=Object.assign({feature:{tech:!0}},e)},_t=(e=!1)=>{try{return new Promise(((t,n)=>{if(r()||n("not support in server"),e){const e={feature:{tech:!0},autoPv:!1,batch:!1};if(window.ReporterPb){const n=new window.ReporterPb(Object.assign({},e));t(n)}else N(Object.assign({},e)).then((e=>{t(e)}))}else{const e=(null==$?void 0:$.pbOtherNameIns)?null==$?void 0:$.pbOtherNameIns:"";if(f.isObject(window[e])&&Object.keys(window[e]).length)mt=e,console.warn(`Is using ${e} to report,Please confirm open [tech] config`),t();else if(window.__biliMirrorPbInstance__)t();else{const e=O({feature:{tech:!0}},(null==$?void 0:$.pbOptions)||{});window.ReporterPb?(window.__biliMirrorPbInstance__=new window.ReporterPb(e),t()):N(Object.assign({},e)).then((e=>{window.__biliMirrorPbInstance__=e,t()}))}}}))}catch(e){console.error("bili-mirror:load pb-report-Error load failed:",e)}};function It(e){e.event&&!e.eventId&&(e.eventId=e.event);return e.eventId.split(".").length<=1&&(e.eventId=`${null==$?void 0:$.origin}.${null==$?void 0:$.module}.${e.eventId}`),"appear"===e.type&&(e.type="exposure"),e}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function Tt(e,t){return e(t={exports:{}},t.exports),t.exports}var Ct=Tt((function(e,t){e.exports=function(){function e(e){return!isNaN(parseFloat(e))&&isFinite(e)}function t(e){return e.charAt(0).toUpperCase()+e.substring(1)}function n(e){return function(){return this[e]}}var r=["isConstructor","isEval","isNative","isToplevel"],o=["columnNumber","lineNumber"],i=["fileName","functionName","source"],s=["args"],c=["evalOrigin"],a=r.concat(o,i,s,c);function l(e){if(e)for(var n=0;n-1&&(e=e.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));var t=e.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),r=t.match(/ (\(.+\)$)/);t=r?t.replace(r[0],""):t;var o=this.extractLocation(r?r[1]:t),i=r&&t||void 0,s=["eval",""].indexOf(o[0])>-1?void 0:o[0];return new n({functionName:i,fileName:s,lineNumber:o[1],columnNumber:o[2],source:e})}),this)},parseFFOrSafari:function(e){return e.stack.split("\n").filter((function(e){return!e.match(i)}),this).map((function(e){if(e.indexOf(" > eval")>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),-1===e.indexOf("@")&&-1===e.indexOf(":"))return new n({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,r=e.match(t),o=r&&r[1]?r[1]:void 0,i=this.extractLocation(e.replace(t,""));return new n({functionName:o,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})}),this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var t=/Line (\d+).*script (?:in )?(\S+)/i,r=e.message.split("\n"),o=[],i=2,s=r.length;i/,"$2").replace(/\([^)]*\)/g,"")||void 0;i.match(/\(([^)]*)\)/)&&(t=i.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var c=void 0===t||"[arguments not available]"===t?void 0:t.split(",");return new n({functionName:s,args:c,fileName:o[0],lineNumber:o[1],columnNumber:o[2],source:e})}),this)}})}));const Nt=e=>{const t=e.target;if(null==t?void 0:t.localName){const e=function(e){return{time:l(),message:e.src||e.href||"",name:e.localName}}(t);return Object.assign(Object.assign({},e),{type:"resourceError"})}return null},At=[],kt=e=>{const t=(n=(null==e?void 0:e.message)||(null==e?void 0:e.fileName),window.btoa(decodeURIComponent(encodeURIComponent(n))));var n;return At.some((e=>e===t))?(console.warn(`Duplicate error, not reported,${null==e?void 0:e.message}`),!1):(At.push(t),!0)},jt={handleError(e){var n,r,o,s,c;return t(this,void 0,void 0,(function*(){if((null==i?void 0:i.screen.width)<=100||i.screen.height<=100)return;if((null==i?void 0:i.innerWidth)<=100||i.innerHeight<=100)return;const t=e.target;try{if(!t||e.target&&!e.target.localName){const t=(e=>{var t;const n=e.target;if(!n||e.target&&!(null===(t=e.target)||void 0===t?void 0:t.localName)){let t=Pt.parse(n?e.error:e).slice(0,5),r=[];t.forEach((e=>{let{source:t}=e;const n=t?t.split(" ").join("").split("./"):"";r.push(n)}));let o=Pt.parse(n?e.error:e)[0],{fileName:i,columnNumber:s,lineNumber:c}=o;return{type:"error",time:l(),message:e.message,fileName:i,line:c,column:s,stack:JSON.stringify(r)}}return null})(e),i=null===(r=null===(n=null==$?void 0:$.config)||void 0===n?void 0:n.white)||void 0===r?void 0:r.error,s=(null===(o=null==$?void 0:$.config)||void 0===o?void 0:o["filter-end-js"])||!1;if(!m(t,i,s)){if(!kt(t))return;if(!(yield He.before(Ie.ERROR,t)))return;yt({type:"error",eventId:`${$.origin}.${$.module}.ERROR.jsError`,msg:t},$.pbOptions||{}),Ye.jsErrorReplace(t),He.after(Ie.ERROR,t)}}if(null==t?void 0:t.localName){let t=Nt(e);const n=null===(c=null===(s=null==$?void 0:$.config)||void 0===s?void 0:s.white)||void 0===c?void 0:c.resource;if(!m(t,n)){if(!kt(t))return;if(!(yield He.before(Ie.RESOURCE,t)))return;yt({type:"error",eventId:`${$.origin}.${$.module}.ERROR.resourceError`,msg:Object.assign(Object.assign({},t),{error_type:"AssetsError",headless:""==navigator.language?"headless":"normal",webdriver:null===navigator||void 0===navigator?void 0:navigator.webdriver})},$.pbOptions||{}),Ye.resourceErrorReplace(t),He.after(Ie.RESOURCE,t)}}}catch(e){console.warn("bili-mirror: handleError-Error parsing failed:",e)}}))},handleUnhandleRejection(e){var n,r,o;return t(this,void 0,void 0,(function*(){try{if((null==i?void 0:i.screen.width)<=100||i.screen.height<=100)return;if((null==i?void 0:i.innerWidth)<=100||i.innerHeight<=100)return;const t=(e=>{let t=Pt.parse(e.reason).slice(0,5),n=[];t.forEach((e=>{let{source:t}=e;const r=t?t.split(" ").join("").split("./"):"";n.push(r)}));let r=Pt.parse(e.reason)[0],{fileName:o,columnNumber:i,lineNumber:s}=r;var c;return{type:"rejectionError",time:l(),message:(c=e.reason.message||e.reason.stack,f.isString(c)?c:f.isUndefined(c)?"undefined":JSON.stringify(c)),fileName:o,line:s,column:i,stack:JSON.stringify(n)}})(e),s=null===(r=null===(n=null==$?void 0:$.config)||void 0===n?void 0:n.white)||void 0===r?void 0:r.rejection,c=(null===(o=null==$?void 0:$.config)||void 0===o?void 0:o["filter-end-js"])||!1;if(!m(t,s,c)){if(!kt(t))return;if(!(yield He.before(Ie.UNHANDLEDREJECTION,t)))return;yt({type:"error",eventId:`${$.origin}.${$.module}.ERROR.rejectionError`,msg:t},$.pbOptions||{}),Ye.promiseErrorReplace(t),He.after(Ie.UNHANDLEDREJECTION,t)}}catch(e){console.warn("bili-mirror: handleUnhandleRejection-Error parsing failed:",e)}}))},handlePerformance(){return t(this,void 0,void 0,(function*(){try{if(!PerformanceObserver||!(null===PerformanceObserver||void 0===PerformanceObserver?void 0:PerformanceObserver.supportedEntryTypes))return;if(g($.config["white-preformance-rate"]))return;ye((e=>t(this,void 0,void 0,(function*(){let{name:t,value:n}=e;if(!n||n<0)return;(yield He.before(Ie.PERFORMANCE,e))&&(yt({type:"performance",eventId:`${$.origin}.${$.module}.PERFORMANCE.${e.name}`,msg:"PAGETIME"===t?Object.assign({},null==e?void 0:e.data):Object.assign({},e)},$.pbOptions||{}),He.after(Ie.PERFORMANCE,e))}))))}catch(e){console.warn("bili-mirror: performance-Error parsing failed:",e)}}))}};var Lt;!function(e){e.ERROR="error",e.OK="ok"}(Lt||(Lt={}));let $t=null,Dt=null;const Ht="BILI_MIRROR_RESOURCE_TIME",Mt=["xmlhttprequest","fetch","img","image","link","css","video","iframe","script"],xt={API:"xmlhttprequest,fetch",IMG:"img,image",CSS:"link,css",JS:"script",VIDEO:"video",IFRAME:"iframe"};class Bt{constructor(){this._cleanUpReportPool=()=>{null==$t||$t.clear(),window.__biliMirrorPbInstance__&&window.__biliMirrorPbInstance__.flush&&window.__biliMirrorPbInstance__.flush()},this.config=$.config["resource-time"]||{},this.resourceWaitList=[],this.disablePush=!1}on(){PerformanceObserver&&(null===PerformanceObserver||void 0===PerformanceObserver?void 0:PerformanceObserver.supportedEntryTypes)&&(this._getAllData(),this._createObserver())}destroy(){Dt&&Dt.disconnect(),null==$t||$t.clear()}_getAllData(){const e=performance.getEntriesByType("resource");(e||e.length)&&e.forEach((e=>{this.resourceWaitList.push(e)}))}_handlerResourceInit(){for(this.disablePush=!0;this.resourceWaitList.length;){let e=this.resourceWaitList.shift();if(!this._isCheckResource(e))continue;const t=this._computeResourceData_(e);this._addResourceReportPool(t)}this.disablePush=!1,this._startReportInterval()}_isCheckResource(e){if(!Mt.includes(e.initiatorType))return!1;if(!Object.keys(this.config).length)return!1;let t=!1;for(let n in this.config){if(xt[n].split(",").includes(e.initiatorType)){if("*"===this.config[n]){t=!0;break}if(!this.config[n])continue;if(Array.isArray(this.config[n])&&this.config[n].length)for(let r=0;r{this._clearResourceReport(),this._cleanUpReportPool()})))}_clearResourceReport(){try{let e=JSON.parse(localStorage.getItem(Ht)||"{}");Object.keys(e).length&&yt({type:"performance",eventId:`${$.origin}.${$.module}.PERFORMANCE.RESOURCETIME`,msg:{resourceListInfo:Object.assign({},e)}}),localStorage.setItem(Ht,"")}catch(e){}}_createObserver(){Dt=new PerformanceObserver((e=>{e.getEntries().forEach((e=>{this.resourceWaitList.push(e.toJSON())})),this.disablePush||this._handlerResourceInit()})),Dt.observe({entryTypes:["resource"]})}}function Ft(e){if(r()){if(a(i,"error",(function(e){jt.handleError(e)}),!0),a(i,"unhandledrejection",(function(e){jt.handleUnhandleRejection(e)})),jt.handlePerformance(),null==e?void 0:e.whiteScreen)try{!function(e){if((null==i?void 0:i.screen.width)<=10||i.screen.height<=10)return;if((null==i?void 0:i.innerWidth)<=10||i.innerHeight<=10)return;const n=e.checkNum||3,r=e.maxLoop||9,o=e.elemArry||e.checkDom||["html","body","#app"],c=e.callback||function(){},a=s();let l=0;const u=[];let d=[],f={};function p(e){return e.id?"#"+e.id:e.className&&"string"==typeof e.className?"."+e.className.split(" ").filter((e=>!!e)).join("."):e.nodeName.toLowerCase()}function m(t){const n=p(t);e.isSkeleton&&(l?d.push(n):u.push(n));let r=!1;if(!n||!o)return r;for(let e=0;e<=o.length;e++)if(o[e]&&n.match(o[e])){r=!0;break}return r}function h(){return t(this,void 0,void 0,(function*(){if(!document||!document.elementsFromPoint)return void console.warn("当前浏览器不支持elementsFromPoint方法,白屏检测跳过");if(!(yield He.before(Ie.WHITESCREEN)))return;f.check_list=o;let t=!0;for(let e=1;e<=7;e+=3){const r=i.innerWidth*e/10,o=i.innerHeight/2,s=i.innerWidth/2,c=i.innerHeight*e/10,a=document.elementsFromPoint(r,o),l=document.elementsFromPoint(s,c);if(a.length>n){const e=[];f[`pointX-${r}-${o}`]||(f[`pointX-${r}-${o}`]=[]);for(let n=0;nn&&5!=e){const e=[];f[`pointY-${s}-${c}`]||(f[`pointY-${s}-${c}`]=[]);for(let n=0;n=r&&(yt({type:"error",eventId:`${$.origin}.${$.module}.ERROR.whiteScreen`,msg:{_BiliCheckDom_Point:Object.assign({},f)}}),Ye.whiteErrorReplace()),He.after(Ie.WHITESCREEN,Object.assign({},f))}))}function g(){l>=r&&a._loopTimer?(clearTimeout(a._loopTimer),a._loopTimer=null):a._loopTimer=setTimeout((()=>{l++,e.isSkeleton&&(d=[]),h()}),1e3)}e.isSkeleton?"complete"!=document.readyState&&h():"complete"===document.readyState?h():i.addEventListener("load",h)}(e.whiteScreen)}catch(e){console.error("bili-mirror: whiteScreen错误解析异常:",e)}$.config["resource-time"]&&Object.keys($.config["resource-time"]).length&&a(i,"load",(function(){const e=new Bt;try{e.on()}catch(t){e.destroy(),console.warn("bili-mirror:resource-watch error",t)}}))}}const Ut=(e={})=>{const t=null==$?void 0:$.config["tech-pv"];if(!t)return;if(g(t))return;const n=`${$.origin}.${$.module}.TECHPV.0.0`;yt({eventId:n,type:"custom",msg:Object.assign(Object.assign({},e),je)})};var Kt;const Wt=s(),Gt=e=>{!function(e){const t=L();null==t||t.updateModule(e)}(e)},Jt=e=>{r()&&Rt(e)},Xt=e=>{r()&&yt(e)},Yt=e=>{r()&&St(e)},qt=(e,t)=>{r()&&Rt({type:"pv",eventId:"0.0",msg:e,otherSpmId:t||null})},Vt=e=>{r()&&p(e.key)&&yt({type:"custom",eventId:e.eventId,diyevent:!0,msg:Object.assign(Object.assign({exclusiveFrom:(null==e?void 0:e.key)||""},e.msg),je)})},zt=()=>new Promise(((e,t)=>{_e.getAll().then((n=>{Ze(n).then((t=>{e(t)})).catch((e=>{t(e)}))})).catch((e=>{t(e)}))})),Qt=(e,t,n)=>{Qe(e,t,n)},Zt=()=>_e.getAll(!1);function en(e){r()&&(Wt.isInited||(Wt.isInited=!0,Wt.mirrorInitMode||(Wt.mirrorInitMode=Ne.DEFAULT),D(e).then((()=>t(this,void 0,void 0,(function*(){yield _t();(yield He.before(Ie.INIT,e))&&(Ft(null==e?void 0:e.config),Ut(),et(),He.after(Ie.INIT,e),console.info("%c%s","line-height: 30px; color: #FF6699",`bili-fe-mirror:${I}`))})))).catch((e=>{console.warn(e)}))))}const tn=(e,t)=>{r()&&wt(e,t)},nn=e=>{if(!r())return;if(!p(e.name))return;const t=`${$.origin}.${$.module}.PERFORMANCE.${e.name}`;yt({type:"performance",eventId:t,msg:{name:e.name,value:e.value}})},rn=(e={})=>{Ut(e)};if(r()){window.__INITIAL_MIRROR__=en,window.__MIRROR_REPORT__={techReportPb:Xt,customReportPb:Jt,pbReportPv:qt,changePbOptions:Yt,canBatchTechReport:tn,customPerformanceQuota:nn,exclusiveBisReport:Vt,changeMirrorModule:Gt,mirrorTechPvReport:rn,trackLogReport:zt,trackCustomLog:Qt,trackGetLog:Zt};const e=window.__MIRROR_CONFIG__,t=null===(Kt=null==e?void 0:e.config)||void 0===Kt?void 0:Kt.isAutoInit;e&&f.isObject(e)&&t&&(!Wt.mirrorInitMode&&(Wt.mirrorInitMode=Ne.AUTO),en(e))}var on={SDK_NAME:_,SDK_VERSION:I,init:en,install:function(e,t={}){let n=e.config.errorHandler;e.config.errorHandler=function(e,t,r){jt.handleError(e),n&&n.apply(null,[e,t,r]),console.error(e)},en(t)},errorBoundary:e=>{jt.handleError(e)}};e.canBatchTechReport=tn,e.changeMirrorModule=Gt,e.changePbOptions=Yt,e.customPerformanceQuota=nn,e.customReport=Jt,e.customReportPb=Jt,e.default=on,e.exclusiveBisReport=Vt,e.mirrorTechPvReport=rn,e.pbReportPv=qt,e.techReportPb=Xt,e.trackCustomLog=Qt,e.trackGetLog=Zt,e.trackLogReport=zt,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=biliMirror.umd.mini.js.map