@sgrsoft/vpe-core-sdk 0.20.1 → 0.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vpe-core-sdk.cjs.js +1 -1
- package/dist/vpe-core-sdk.es.js +827 -827
- package/package.json +1 -1
package/dist/vpe-core-sdk.es.js
CHANGED
|
@@ -1,182 +1,183 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
var p = _t;
|
|
2
|
+
function Ie() {
|
|
3
|
+
var x = ["Monthly basic API calls exceeded. Please switch to a paid version.", "Subtitles", "Background Opacity", "Depressed", "License", "Bold", "3727712NAWLhV", "Auto Skip Ending", "Cannot play DASH video on iOS.", "Settings", "Drop Shadow", "In a moment", "1043652QPcqcR", "Yellow", "Blue", "2779280GMreRd", "Replay", "Fullscreen", "Invalid access. Please check your access_key.", "Player Execution Failed", "Play", "660838CWpDkx", "Provocative content", "Background Color", "Pause", "Skip Opening", "Green", "Black", "Default", "Auto", "minute(s)", "Video will start in {timeTxt}.", "Quality", "Required module was not loaded. (dash.js)", "Cancel", "This feature requires the Standard plan.", "Next video will play in {timeTxt} seconds.", "You do not have permission to play this video.", "Screen capture / screen recording has been detected.", "Window Opacity", "Drugs", "Font Weight", "Window Color", "None", "Auto Skip Opening", "Unmute", "Not used", "The video could not be played.", "This video is rated for all audiences.", "Cyan", "Skip Intro", "Required module was not loaded. (hls.js)", "Playback speed", "Cannot play video", "Text Opacity", "Autoplay", "Subtitles not available", "This video may be inappropriate for children under 15 and requires parental guidance.", "Unsupported format.", "Previous video", "Player Startup Failed", "2546803vruKCm", "Change text, color, and background styles", "Semi Bold", "Mute", "Auto Skip Intro", "Turn off captions", "Mini player", "Invalid URL format.", "Magenta", "min", "416598SHvgFw", "Font Color", "Auto Skip Opening/Ending", "You are muted.", "hour", "LIVE", "15854643QmYtmE", "FairPlay certificate validation failed.", "This video may be inappropriate for minors.", "Apply Default Style", "White", "Raised", "3lNFYVG", "Turn on captions", "hour(s)", "The live stream is OFFLINE.", "Thin", "Failed to communicate with the DRM license server.", "20SmCuFT", "Invalid DRM token."];
|
|
4
|
+
return Ie = function() {
|
|
5
|
+
return x;
|
|
6
|
+
}, Ie();
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
-
(
|
|
9
|
-
for (var e = Ct, i = a(); ; )
|
|
8
|
+
(function(x, t) {
|
|
9
|
+
for (var e = _t, i = x(); ; )
|
|
10
10
|
try {
|
|
11
|
-
var
|
|
12
|
-
if (
|
|
11
|
+
var a = parseInt(e(486)) / 1 + -parseInt(e(527)) / 2 * (parseInt(e(498)) / 3) + -parseInt(e(521)) / 4 + parseInt(e(504)) / 5 * (-parseInt(e(518)) / 6) + parseInt(e(476)) / 7 + -parseInt(e(512)) / 8 + parseInt(e(492)) / 9;
|
|
12
|
+
if (a === t) break;
|
|
13
13
|
i.push(i.shift());
|
|
14
14
|
} catch {
|
|
15
15
|
i.push(i.shift());
|
|
16
16
|
}
|
|
17
|
-
})(
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
var e =
|
|
17
|
+
})(Ie, 355083);
|
|
18
|
+
function _t(x, t) {
|
|
19
|
+
x = x - 445;
|
|
20
|
+
var e = Ie(), i = e[x];
|
|
21
21
|
return i;
|
|
22
22
|
}
|
|
23
|
-
const
|
|
24
|
-
var w =
|
|
25
|
-
function
|
|
26
|
-
var
|
|
27
|
-
return Ee = function() {
|
|
28
|
-
return a;
|
|
29
|
-
}, Ee();
|
|
30
|
-
}
|
|
31
|
-
(function(a, t) {
|
|
32
|
-
for (var e = At, i = a(); ; )
|
|
23
|
+
const zt = { common: { cancel: p(449), auto: p(535), normal: "Normal", notUse: p(461), prev: p(474), next: "Next video", delayText: "seconds until auto-play", license: p(510), play: p(526), pause: p(530), replay: p(522), fullOn: p(523), fullOff: "Exit fullscreen", muteOn: p(479), muteOff: p(460), captionOff: p(481), captionOn: p(499), setting: p(515), live: p(491), miniPlayer: p(482), isMute: p(489), subtitle: p(507), subtitleNot: p(471) }, settings: { autoplay: p(470), playbackRate: p(467), captions: p(507), quality: p(447) }, skip: { introSkip: p(465), openingSkip: p(531), endingSkip: "Skip Ending", autoSkipIntro: p(480), autoSkipOpening: p(459), autoSkipEnding: p(513), autoSkipOpeningEnding: p(488) }, ageRating: { noticeAll: p(463), notice12: "This video may be inappropriate for children under 12 and requires parental guidance.", notice15: p(472), notice19: p(494) }, contentWarning: { sexuality: "Sexuality", violence: "Violence", language: "Language", drugs: p(455), horror: "Horror", imitation: "Imitation risk", provocative: p(528) }, error: { "01": { title: p(468), desc: p(524) }, "02": { title: "Cannot play video", desc: p(452) }, "03": { title: "Authentication Failed", desc: "The network connection is unstable." }, "04": { title: p(468), desc: p(462) }, "05": { title: p(468), desc: "The license is not valid." }, "06": { title: "Cannot play video", desc: p(506) }, "07": { title: p(468), desc: p(473) }, "08": { title: p(468), desc: p(483) }, "09": { title: p(468), desc: p(501) }, 10: { title: p(468), desc: p(514) }, 11: { title: p(468), desc: p(505) }, 12: { title: "Cannot play video", desc: p(503) }, 13: { title: p(468), desc: p(493) }, 14: { title: "Cannot play video", desc: p(453) }, 15: { title: p(525), desc: p(466) }, 16: { title: p(525), desc: p(448) }, 17: { title: p(475), desc: p(450) } }, tv: { default: p(534), quality: p(447), subtitleStyle: "Subtitle Style", subtitleStyleDesc: p(477), applyDefaultStyle: p(495), fontColor: p(487), fontSize: "Font Size", textOpacity: p(469), edgeStyle: "Text Edge Style", bgColor: p(529), bgOpacity: p(508), windowColor: p(457), windowOpacity: p(454), fontWeight: p(456), weight: { thin: p(502), normal: "Normal", semiBold: p(478), bold: p(511), extraBold: "Extra Bold" }, color: { white: p(496), black: p(533), red: "Red", green: p(532), blue: p(520), yellow: p(519), magenta: p(484), cyan: p(464) }, edge: { none: p(458), dropShadow: p(516), raised: p(497), depressed: p(509), uniform: "Uniform" } }, alternative: { hour: p(500), minute: p(445), second: "second(s)", after: p(517), afterMin: p(485), afterHour: p(490), afterDay: "day", startPlay: p(446), nextPlay: p(451), afterPlay: "Scheduled" } };
|
|
24
|
+
var w = Ct;
|
|
25
|
+
(function(x, t) {
|
|
26
|
+
for (var e = Ct, i = x(); ; )
|
|
33
27
|
try {
|
|
34
|
-
var
|
|
35
|
-
if (
|
|
28
|
+
var a = -parseInt(e(263)) / 1 * (-parseInt(e(239)) / 2) + parseInt(e(254)) / 3 * (-parseInt(e(259)) / 4) + parseInt(e(304)) / 5 + -parseInt(e(297)) / 6 + -parseInt(e(279)) / 7 * (parseInt(e(253)) / 8) + parseInt(e(251)) / 9 + parseInt(e(299)) / 10 * (-parseInt(e(302)) / 11);
|
|
29
|
+
if (a === t) break;
|
|
36
30
|
i.push(i.shift());
|
|
37
31
|
} catch {
|
|
38
32
|
i.push(i.shift());
|
|
39
33
|
}
|
|
40
|
-
})(
|
|
41
|
-
function
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
34
|
+
})(ke, 119407);
|
|
35
|
+
function ke() {
|
|
36
|
+
var x = ["네트워크 연결이 원활하지 않습니다.", "{timeTxt}초 후 다음 영상이 재생됩니다.", "엔딩 건너뛰기", "인증 실패", "창 색상", "월 기본 제공 호출 건수를 초과하였습니다. 유료 버전으로 전환 후 사용 부탁 드립니다.", "오프닝/엔딩 자동 스킵", "이 영상은 12세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "인트로 건너뛰기", "음소거", "{timeTxt} 후 영상이 시작됩니다.", "자막 스타일", "49TONmEP", "잘못된 접근입니다. access_key를 확인해주세요.", "글자 테두리 스타일", "라이선스가 유효하지 않습니다.", "다음 동영상", "URL 형식이 잘못되었습니다.", "텍스트, 색상, 배경 스타일 변경", "음소거 해제", "오프닝 건너뛰기", "청록색", "그림자", "초록색", "배경 색상", "이 영상은 청소년이 시청하기에 부적절한 영상입니다.", "이 영상은 15세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "잠시 ", "미니플레이어", "약간 굵게", "43566cIAeNb", "음소거 상태입니다.", "500790pSLThb", "시간 ", "전체화면 해제", "11aduPxa", "배경 불투명도", "625575OoGSNb", "노란색", "필수 모듈이 로드되지 않았습니다. (hls.js)", "창 불투명도", "이전 동영상", "플레이어 구동 실패", "동영상을 재생할 수 없습니다.", "다시보기", "글꼴 크기", "258166ltBpkd", "DRM 토큰이 잘못되었습니다.", "전체화면", "Standard 요금제가 필요한 기능입니다.", "동영상을 재생할 수 없음", "사용안함", "오프닝 자동 스킵", "글꼴 색상", "자막켜기", "필수 모듈이 로드되지 않았습니다. (dash.js)", "빨간색", "자막 사용 불가", "183987XAUdJv", "글자 굵기", "3176RTAybG", "16785cyQcCf", "매우 굵게", "해상도", "재생 속도", "실시간", "68zEIztT", "성적 표현", "라이브스트림이 OFFLINE 입니다.", "FairPlay 인증서 검증에 실패하였습니다.", "1XycYmR", "인트로 자동 스킵", "화면 캡쳐 / 화면 녹화가 감지되었습니다.", "플레이어 실행 실패"];
|
|
37
|
+
return ke = function() {
|
|
38
|
+
return x;
|
|
39
|
+
}, ke();
|
|
45
40
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var
|
|
49
|
-
return
|
|
50
|
-
return a;
|
|
51
|
-
}, Te();
|
|
41
|
+
function Ct(x, t) {
|
|
42
|
+
x = x - 238;
|
|
43
|
+
var e = ke(), i = e[x];
|
|
44
|
+
return i;
|
|
52
45
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
46
|
+
const Wt = { common: { cancel: "취소", auto: "자동", normal: "보통", notUse: w(244), prev: w(308), next: w(283), delayText: "초 뒤 자동재생", license: "라이선스", play: "재생", pause: "일시정지", replay: w(311), fullOn: w(241), fullOff: w(301), muteOn: w(276), muteOff: w(286), captionOff: "자막끄기", captionOn: w(247), setting: "설정", live: w(258), miniPlayer: w(295), isMute: w(298), subtitle: "자막", subtitleNot: w(250) }, settings: { autoplay: "자동재생", playbackRate: w(257), captions: "자막", quality: w(256) }, skip: { introSkip: w(275), openingSkip: w(287), endingSkip: w(269), autoSkipIntro: w(264), autoSkipOpening: w(245), autoSkipEnding: "엔딩 자동 스킵", autoSkipOpeningEnding: w(273) }, ageRating: { noticeAll: "이 영상은 전체 관람가 영상입니다.", notice12: w(274), notice15: w(293), notice19: w(292) }, contentWarning: { sexuality: w(260), violence: "폭력", language: "욕설", drugs: "약물", horror: "공포", imitation: "모방위험", provocative: "자극적 장면" }, error: { "01": { title: "동영상을 재생할 수 없음", desc: w(280) }, "02": { title: w(243), desc: "동영상을 재생할 권한이 없습니다." }, "03": { title: w(270), desc: w(267) }, "04": { title: "동영상을 재생할 수 없음", desc: w(310) }, "05": { title: "동영상을 재생할 수 없음", desc: w(282) }, "06": { title: "동영상을 재생할 수 없음", desc: w(272) }, "07": { title: "동영상을 재생할 수 없음", desc: "지원하지 않는 형식입니다." }, "08": { title: w(243), desc: w(284) }, "09": { title: "동영상을 재생할 수 없음", desc: w(261) }, 10: { title: w(243), desc: "iOS에서 Dash 비디오를 재생할 수 없습니다." }, 11: { title: w(243), desc: w(240) }, 12: { title: w(243), desc: "DRM 라이선스 서버와 통신에 실패하였습니다." }, 13: { title: w(243), desc: w(262) }, 14: { title: "동영상을 재생할 수 없음", desc: w(265) }, 15: { title: "플레이어 실행 실패", desc: w(306) }, 16: { title: w(266), desc: w(248) }, 17: { title: w(309), desc: w(242) } }, tv: { default: "기본", quality: "화질", subtitleStyle: w(278), subtitleStyleDesc: w(285), applyDefaultStyle: "기본 스타일 적용", fontColor: w(246), fontSize: w(238), textOpacity: "텍스트 불투명도", edgeStyle: w(281), bgColor: w(291), bgOpacity: w(303), windowColor: w(271), windowOpacity: w(307), fontWeight: w(252), weight: { thin: "얇게", normal: "보통", semiBold: w(296), bold: "굵게", extraBold: w(255) }, color: { white: "흰색", black: "검정색", red: w(249), green: w(290), blue: "파란색", yellow: w(305), magenta: "자홍색", cyan: w(288) }, edge: { none: "없음", dropShadow: w(289), raised: "양각", depressed: "음각", uniform: "균일" } }, alternative: { hour: "시", minute: "분", second: "초", after: w(294), afterMin: "분 ", afterHour: w(300), afterDay: "일 ", startPlay: w(277), nextPlay: w(268), afterPlay: "예정" } };
|
|
47
|
+
var b = Tt;
|
|
48
|
+
function Tt(x, t) {
|
|
49
|
+
x = x - 443;
|
|
50
|
+
var e = Ee(), i = e[x];
|
|
56
51
|
return i;
|
|
57
52
|
}
|
|
58
|
-
|
|
59
|
-
(
|
|
60
|
-
for (var e = Rt, i = a(); ; )
|
|
53
|
+
(function(x, t) {
|
|
54
|
+
for (var e = Tt, i = x(); ; )
|
|
61
55
|
try {
|
|
62
|
-
var
|
|
63
|
-
if (
|
|
56
|
+
var a = -parseInt(e(473)) / 1 * (parseInt(e(469)) / 2) + parseInt(e(498)) / 3 + -parseInt(e(502)) / 4 * (parseInt(e(495)) / 5) + -parseInt(e(456)) / 6 + parseInt(e(487)) / 7 * (-parseInt(e(481)) / 8) + -parseInt(e(503)) / 9 + parseInt(e(447)) / 10;
|
|
57
|
+
if (a === t) break;
|
|
64
58
|
i.push(i.shift());
|
|
65
59
|
} catch {
|
|
66
60
|
i.push(i.shift());
|
|
67
61
|
}
|
|
68
|
-
})(
|
|
69
|
-
const
|
|
70
|
-
function
|
|
71
|
-
|
|
72
|
-
return
|
|
73
|
-
return
|
|
74
|
-
},
|
|
62
|
+
})(Ee, 809455);
|
|
63
|
+
const qt = { common: { cancel: b(457), auto: "自動", normal: "標準", notUse: b(458), prev: b(504), next: b(451), delayText: b(470), license: b(485), play: "再生", pause: "一時停止", replay: "リプレイ", fullOn: b(454), fullOff: b(466), muteOn: b(449), muteOff: b(476), captionOff: b(511), captionOn: b(461), setting: "設定", live: "ライブ", miniPlayer: b(471), isMute: b(475), subtitle: "字幕", subtitleNot: "字幕は利用できません" }, settings: { autoplay: b(501), playbackRate: b(468), captions: "字幕", quality: "画質" }, skip: { introSkip: b(505), openingSkip: b(509), endingSkip: b(479), autoSkipIntro: b(507), autoSkipOpening: b(462), autoSkipEnding: b(510), autoSkipOpeningEnding: b(480) }, ageRating: { noticeAll: "この映像は全年齢対象です。", notice12: b(478), notice15: "この映像は15歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", notice19: "この映像は未成年者の視聴には不適切な内容を含みます。" }, contentWarning: { sexuality: "性的表現", violence: "暴力", language: "暴言", drugs: "薬物", horror: "恐怖", imitation: b(464), provocative: b(474) }, error: { "01": { title: b(506), desc: b(445) }, "02": { title: b(506), desc: b(443) }, "03": { title: "認証に失敗しました", desc: b(472) }, "04": { title: "動画を再生できません", desc: b(500) }, "05": { title: b(506), desc: b(508) }, "06": { title: b(506), desc: b(483) }, "07": { title: b(506), desc: "サポートされていない形式です。" }, "08": { title: b(506), desc: b(450) }, "09": { title: b(506), desc: "ライブストリームはオフラインです。" }, 10: { title: b(506), desc: b(492) }, 11: { title: b(506), desc: b(491) }, 12: { title: b(506), desc: b(448) }, 13: { title: b(506), desc: b(496) }, 14: { title: b(506), desc: "画面キャプチャ/画面録画が検出されました。" }, 15: { title: b(488), desc: "必須モジュールが読み込まれていません。(hls.js)" }, 16: { title: "プレーヤーの起動に失敗しました", desc: b(489) }, 17: { title: b(488), desc: b(477) } }, tv: { default: "デフォルト", quality: "画質", subtitleStyle: b(460), subtitleStyleDesc: b(463), applyDefaultStyle: b(484), fontColor: b(493), fontSize: "フォントサイズ", textOpacity: b(486), edgeStyle: "文字エッジスタイル", bgColor: b(482), bgOpacity: b(499), windowColor: b(453), windowOpacity: b(444), fontWeight: b(467), weight: { thin: "細い", normal: "標準", semiBold: "やや太い", bold: "太い", extraBold: "極太" }, color: { white: "白", black: "黒", red: "赤", green: "緑", blue: "青", yellow: "黄", magenta: b(446), cyan: b(452) }, edge: { none: "なし", dropShadow: b(465), raised: b(455), depressed: "沈み込み", uniform: "均一" } }, alternative: { hour: "時間", minute: "分", second: "秒", after: b(459), afterMin: "分後", afterHour: b(490), afterDay: "日後", startPlay: b(497), nextPlay: b(494), afterPlay: "予定" } };
|
|
64
|
+
function Ee() {
|
|
65
|
+
var x = ["ドロップシャドウ", "全画面表示を終了", "文字の太さ", "再生速度", "2zcGiZv", "秒後に自動再生", "ミニプレーヤー", "ネットワーク接続が不安定です。", "776281VzydvR", "刺激的な場面", "ミュート状態です。", "ミュート解除", "この機能にはStandardプランが必要です。", "この映像は12歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", "エンディングをスキップ", "OP/ED自動スキップ", "8785456qrkuRa", "背景色", "月間の基本提供呼び出し回数を超過しました。有料版に切り替えてご利用ください。", "デフォルトスタイルを適用", "ライセンス", "テキスト不透明度", "7HsOJxB", "プレーヤーの起動に失敗しました", "必須モジュールが読み込まれていません。(dash.js)", "時間後", "DRMトークンが無効です。", "iOSではDASHビデオを再生できません。", "フォント色", "{timeTxt}秒後に次の動画が再生されます。", "5NNMmdP", "FairPlay証明書の検証に失敗しました。", "{timeTxt}後に動画が始まります。", "3748290jlTPzi", "背景不透明度", "動画を再生できませんでした。", "自動再生", "2577932ATFibv", "9440991EGjuim", "前の動画", "イントロをスキップ", "動画を再生できません", "イントロ自動スキップ", "ライセンスが無効です。", "オープニングをスキップ", "エンディング自動スキップ", "字幕をオフにする", "この動画を再生する権限がありません。", "ウィンドウ不透明度", "不正なアクセスです。access_keyを確認してください。", "マゼンタ", "37351850fajGEQ", "DRMライセンスサーバーとの通信に失敗しました。", "ミュート", "URLの形式が正しくありません。", "次の動画", "シアン", "ウィンドウ色", "全画面表示", "浮き出し", "3643290Iwrybt", "キャンセル", "使用しない", "しばらくして", "字幕スタイル", "字幕をオンにする", "オープニング自動スキップ", "テキスト、色、背景スタイルを変更", "模倣危険"];
|
|
66
|
+
return Ee = function() {
|
|
67
|
+
return x;
|
|
68
|
+
}, Ee();
|
|
75
69
|
}
|
|
76
|
-
|
|
77
|
-
|
|
70
|
+
const _e = Rt;
|
|
71
|
+
(function(x, t) {
|
|
72
|
+
const e = Rt, i = x();
|
|
78
73
|
for (; ; )
|
|
79
74
|
try {
|
|
80
|
-
if (-parseInt(e(
|
|
75
|
+
if (-parseInt(e(176)) / 1 + -parseInt(e(167)) / 2 * (parseInt(e(179)) / 3) + -parseInt(e(178)) / 4 * (parseInt(e(172)) / 5) + -parseInt(e(173)) / 6 * (-parseInt(e(171)) / 7) + parseInt(e(166)) / 8 * (-parseInt(e(168)) / 9) + parseInt(e(174)) / 10 + parseInt(e(175)) / 11 === t) break;
|
|
81
76
|
i.push(i.shift());
|
|
82
77
|
} catch {
|
|
83
78
|
i.push(i.shift());
|
|
84
79
|
}
|
|
85
|
-
})(Ce,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
function Zt(a) {
|
|
91
|
-
const t = a.split("-")[0];
|
|
92
|
-
return t in Dt ? t : "en";
|
|
80
|
+
})(Ce, 443570);
|
|
81
|
+
const At = { en: zt, ko: Wt, ja: qt }, Kt = () => typeof navigator !== _e(169) && typeof navigator[_e(177)] < "u";
|
|
82
|
+
function jt(x) {
|
|
83
|
+
const t = _e, e = x[t(170)]("-")[0];
|
|
84
|
+
return e in At ? e : "en";
|
|
93
85
|
}
|
|
94
|
-
function
|
|
95
|
-
const t =
|
|
86
|
+
function Je(x) {
|
|
87
|
+
const t = _e;
|
|
96
88
|
let e = "en";
|
|
97
|
-
|
|
98
|
-
const i =
|
|
99
|
-
return
|
|
89
|
+
x ? e = x : Kt() && (e = navigator[t(177)]);
|
|
90
|
+
const i = jt(e);
|
|
91
|
+
return At[i];
|
|
100
92
|
}
|
|
101
|
-
|
|
102
|
-
|
|
93
|
+
function Rt(x, t) {
|
|
94
|
+
return x = x - 166, Ce()[x];
|
|
95
|
+
}
|
|
96
|
+
function Ce() {
|
|
97
|
+
const x = ["44695tuJkwk", "45dCVxVm", "516kEOpWn", "3971910xOkYet", "16173212YOfAcd", "661081JJeFDt", "language", "237524LkZaCq", "932133MumrLS", "104lyoFxZ", "4tsgDtB", "108063HpAntc", "undefined", "split"];
|
|
98
|
+
return Ce = function() {
|
|
99
|
+
return x;
|
|
100
|
+
}, Ce();
|
|
101
|
+
}
|
|
102
|
+
Je();
|
|
103
|
+
var Jt = "2.0.9", Xt = 500, ot = "user-agent", xe = "", st = "?", _ = {
|
|
103
104
|
FUNCTION: "function",
|
|
104
105
|
OBJECT: "object",
|
|
105
106
|
STRING: "string",
|
|
106
107
|
UNDEFINED: "undefined"
|
|
107
|
-
},
|
|
108
|
+
}, D = "browser", Y = "cpu", F = "device", U = "engine", P = "os", ae = "result", l = "name", s = "type", u = "vendor", d = "version", O = "architecture", pe = "major", c = "model", ve = "console", v = "mobile", k = "tablet", C = "smarttv", B = "wearable", be = "xr", ue = "embedded", Zt = "fetcher", Q = "inapp", et = "brands", X = "formFactors", tt = "fullVersionList", ne = "platform", it = "platformVersion", Ue = "bitness", j = "sec-ch-ua", Qt = j + "-full-version-list", $t = j + "-arch", e0 = j + "-" + Ue, t0 = j + "-form-factors", i0 = j + "-" + v, x0 = j + "-" + c, Ot = j + "-" + ne, a0 = Ot + "-version", Mt = [et, tt, v, c, ne, it, O, X, Ue], we = "Amazon", $ = "Apple", ct = "ASUS", lt = "BlackBerry", J = "Google", dt = "Huawei", Ge = "Lenovo", ut = "Honor", ge = "LG", He = "Microsoft", Ve = "Motorola", pt = "Nvidia", ht = "OnePlus", Ye = "OPPO", se = "Samsung", ft = "Sharp", ce = "Sony", ze = "Xiaomi", We = "Zebra", bt = "Chrome", wt = "Chromium", W = "Chromecast", Se = "Edge", le = "Firefox", ee = "Opera", qe = "Facebook", gt = "Sogou", te = "Mobile ", ie = " Browser", Xe = "Windows", n0 = typeof window !== _.UNDEFINED, M = n0 && window.navigator ? window.navigator : void 0, Z = M && M.userAgentData ? M.userAgentData : void 0, r0 = function(x, t) {
|
|
108
109
|
var e = {}, i = t;
|
|
109
|
-
if (!
|
|
110
|
+
if (!Te(t)) {
|
|
110
111
|
i = {};
|
|
111
|
-
for (var
|
|
112
|
-
for (var r in t[
|
|
113
|
-
i[r] = t[
|
|
112
|
+
for (var a in t)
|
|
113
|
+
for (var r in t[a])
|
|
114
|
+
i[r] = t[a][r].concat(i[r] ? i[r] : []);
|
|
114
115
|
}
|
|
115
|
-
for (var o in
|
|
116
|
-
e[o] = i[o] && i[o].length % 2 === 0 ? i[o].concat(
|
|
116
|
+
for (var o in x)
|
|
117
|
+
e[o] = i[o] && i[o].length % 2 === 0 ? i[o].concat(x[o]) : x[o];
|
|
117
118
|
return e;
|
|
118
|
-
},
|
|
119
|
-
for (var t = {}, e = 0; e <
|
|
120
|
-
t[
|
|
119
|
+
}, Le = function(x) {
|
|
120
|
+
for (var t = {}, e = 0; e < x.length; e++)
|
|
121
|
+
t[x[e].toUpperCase()] = x[e];
|
|
121
122
|
return t;
|
|
122
|
-
},
|
|
123
|
-
if (typeof
|
|
124
|
-
for (var e in
|
|
125
|
-
if (
|
|
123
|
+
}, Ze = function(x, t) {
|
|
124
|
+
if (typeof x === _.OBJECT && x.length > 0) {
|
|
125
|
+
for (var e in x)
|
|
126
|
+
if (q(t) == q(x[e])) return !0;
|
|
126
127
|
return !1;
|
|
127
128
|
}
|
|
128
|
-
return
|
|
129
|
-
},
|
|
130
|
-
for (var e in
|
|
131
|
-
return /^(browser|cpu|device|engine|os)$/.test(e) || (t ?
|
|
132
|
-
},
|
|
133
|
-
return typeof
|
|
134
|
-
},
|
|
135
|
-
if (
|
|
136
|
-
for (var t = [], e = re(/\\?\"/g,
|
|
129
|
+
return he(x) ? q(t) == q(x) : !1;
|
|
130
|
+
}, Te = function(x, t) {
|
|
131
|
+
for (var e in x)
|
|
132
|
+
return /^(browser|cpu|device|engine|os)$/.test(e) || (t ? Te(x[e]) : !1);
|
|
133
|
+
}, he = function(x) {
|
|
134
|
+
return typeof x === _.STRING;
|
|
135
|
+
}, Ke = function(x) {
|
|
136
|
+
if (x) {
|
|
137
|
+
for (var t = [], e = re(/\\?\"/g, x).split(","), i = 0; i < e.length; i++)
|
|
137
138
|
if (e[i].indexOf(";") > -1) {
|
|
138
|
-
var
|
|
139
|
-
t[i] = { brand:
|
|
139
|
+
var a = Ae(e[i]).split(";v=");
|
|
140
|
+
t[i] = { brand: a[0], version: a[1] };
|
|
140
141
|
} else
|
|
141
|
-
t[i] =
|
|
142
|
+
t[i] = Ae(e[i]);
|
|
142
143
|
return t;
|
|
143
144
|
}
|
|
144
|
-
},
|
|
145
|
-
return
|
|
146
|
-
},
|
|
147
|
-
return
|
|
148
|
-
},
|
|
149
|
-
for (var t in
|
|
150
|
-
if (
|
|
151
|
-
var e =
|
|
152
|
-
typeof e ==
|
|
145
|
+
}, q = function(x) {
|
|
146
|
+
return he(x) ? x.toLowerCase() : x;
|
|
147
|
+
}, Qe = function(x) {
|
|
148
|
+
return he(x) ? re(/[^\d\.]/g, x).split(".")[0] : void 0;
|
|
149
|
+
}, V = function(x) {
|
|
150
|
+
for (var t in x)
|
|
151
|
+
if (x.hasOwnProperty(t)) {
|
|
152
|
+
var e = x[t];
|
|
153
|
+
typeof e == _.OBJECT && e.length == 2 ? this[e[0]] = e[1] : this[e] = void 0;
|
|
153
154
|
}
|
|
154
155
|
return this;
|
|
155
|
-
}, re = function(
|
|
156
|
-
return
|
|
157
|
-
},
|
|
158
|
-
return re(/\\?\"/g,
|
|
159
|
-
},
|
|
160
|
-
return
|
|
161
|
-
},
|
|
162
|
-
if (!(!
|
|
163
|
-
for (var e = 0, i,
|
|
156
|
+
}, re = function(x, t) {
|
|
157
|
+
return he(t) ? t.replace(x, xe) : t;
|
|
158
|
+
}, de = function(x) {
|
|
159
|
+
return re(/\\?\"/g, x);
|
|
160
|
+
}, Ae = function(x, t) {
|
|
161
|
+
return x = re(/^\s\s*/, String(x)), typeof t === _.UNDEFINED ? x : x.substring(0, t);
|
|
162
|
+
}, $e = function(x, t) {
|
|
163
|
+
if (!(!x || !t))
|
|
164
|
+
for (var e = 0, i, a, r, o, h, f; e < t.length && !h; ) {
|
|
164
165
|
var S = t[e], I = t[e + 1];
|
|
165
|
-
for (i =
|
|
166
|
-
if (
|
|
166
|
+
for (i = a = 0; i < S.length && !h && S[i]; )
|
|
167
|
+
if (h = S[i++].exec(x), h)
|
|
167
168
|
for (r = 0; r < I.length; r++)
|
|
168
|
-
f =
|
|
169
|
+
f = h[++a], o = I[r], typeof o === _.OBJECT && o.length > 0 ? o.length === 2 ? typeof o[1] == _.FUNCTION ? this[o[0]] = o[1].call(this, f) : this[o[0]] = o[1] : o.length >= 3 && (typeof o[1] === _.FUNCTION && !(o[1].exec && o[1].test) ? o.length > 3 ? this[o[0]] = f ? o[1].apply(this, o.slice(2)) : void 0 : this[o[0]] = f ? o[1].call(this, f, o[2]) : void 0 : o.length == 3 ? this[o[0]] = f ? f.replace(o[1], o[2]) : void 0 : o.length == 4 ? this[o[0]] = f ? o[3].call(this, f.replace(o[1], o[2])) : void 0 : o.length > 4 && (this[o[0]] = f ? o[3].apply(this, [f.replace(o[1], o[2])].concat(o.slice(4))) : void 0)) : this[o] = f || void 0;
|
|
169
170
|
e += 2;
|
|
170
171
|
}
|
|
171
|
-
}, N = function(
|
|
172
|
+
}, N = function(x, t) {
|
|
172
173
|
for (var e in t)
|
|
173
|
-
if (typeof t[e] ===
|
|
174
|
+
if (typeof t[e] === _.OBJECT && t[e].length > 0) {
|
|
174
175
|
for (var i = 0; i < t[e].length; i++)
|
|
175
|
-
if (
|
|
176
|
+
if (Ze(t[e][i], x))
|
|
176
177
|
return e === st ? void 0 : e;
|
|
177
|
-
} else if (
|
|
178
|
+
} else if (Ze(t[e], x))
|
|
178
179
|
return e === st ? void 0 : e;
|
|
179
|
-
return t.hasOwnProperty("*") ? t["*"] :
|
|
180
|
+
return t.hasOwnProperty("*") ? t["*"] : x;
|
|
180
181
|
}, mt = {
|
|
181
182
|
ME: "4.90",
|
|
182
183
|
"NT 3.51": "3.51",
|
|
@@ -198,7 +199,7 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
198
199
|
xr: ["VR", "XR"],
|
|
199
200
|
"?": ["Desktop", "Unknown"],
|
|
200
201
|
"*": void 0
|
|
201
|
-
},
|
|
202
|
+
}, o0 = {
|
|
202
203
|
Chrome: "Google Chrome",
|
|
203
204
|
Edge: "Microsoft Edge",
|
|
204
205
|
"Edge WebView2": "Microsoft Edge WebView2",
|
|
@@ -215,16 +216,16 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
215
216
|
/\b(?:crmo|crios)\/([\w\.]+)/i
|
|
216
217
|
// Chrome for Android/iOS
|
|
217
218
|
],
|
|
218
|
-
[
|
|
219
|
+
[d, [l, te + "Chrome"]],
|
|
219
220
|
[
|
|
220
221
|
/webview.+edge\/([\w\.]+)/i
|
|
221
222
|
// Microsoft Edge
|
|
222
223
|
],
|
|
223
|
-
[
|
|
224
|
+
[d, [l, Se + " WebView"]],
|
|
224
225
|
[
|
|
225
226
|
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
|
226
227
|
],
|
|
227
|
-
[
|
|
228
|
+
[d, [l, "Edge"]],
|
|
228
229
|
[
|
|
229
230
|
// Presto based
|
|
230
231
|
/(opera mini)\/([-\w\.]+)/i,
|
|
@@ -234,33 +235,33 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
234
235
|
/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
|
|
235
236
|
// Opera
|
|
236
237
|
],
|
|
237
|
-
[
|
|
238
|
+
[l, d],
|
|
238
239
|
[
|
|
239
240
|
/opios[\/ ]+([\w\.]+)/i
|
|
240
241
|
// Opera mini on iphone >= 8.0
|
|
241
242
|
],
|
|
242
|
-
[
|
|
243
|
+
[d, [l, ee + " Mini"]],
|
|
243
244
|
[
|
|
244
245
|
/\bop(?:rg)?x\/([\w\.]+)/i
|
|
245
246
|
// Opera GX
|
|
246
247
|
],
|
|
247
|
-
[
|
|
248
|
+
[d, [l, ee + " GX"]],
|
|
248
249
|
[
|
|
249
250
|
/\bopr\/([\w\.]+)/i
|
|
250
251
|
// Opera Webkit
|
|
251
252
|
],
|
|
252
|
-
[
|
|
253
|
+
[d, [l, ee]],
|
|
253
254
|
[
|
|
254
255
|
// Mixed
|
|
255
256
|
/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i
|
|
256
257
|
// Baidu
|
|
257
258
|
],
|
|
258
|
-
[
|
|
259
|
+
[d, [l, "Baidu"]],
|
|
259
260
|
[
|
|
260
261
|
/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i
|
|
261
262
|
// Maxthon
|
|
262
263
|
],
|
|
263
|
-
[
|
|
264
|
+
[d, [l, "Maxthon"]],
|
|
264
265
|
[
|
|
265
266
|
/(kindle)\/([\w\.]+)/i,
|
|
266
267
|
// Kindle
|
|
@@ -283,22 +284,22 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
283
284
|
/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i
|
|
284
285
|
// Ecosia/Weibo
|
|
285
286
|
],
|
|
286
|
-
[
|
|
287
|
+
[l, d],
|
|
287
288
|
[
|
|
288
289
|
/quark(?:pc)?\/([-\w\.]+)/i
|
|
289
290
|
// Quark
|
|
290
291
|
],
|
|
291
|
-
[
|
|
292
|
+
[d, [l, "Quark"]],
|
|
292
293
|
[
|
|
293
294
|
/\bddg\/([\w\.]+)/i
|
|
294
295
|
// DuckDuckGo
|
|
295
296
|
],
|
|
296
|
-
[
|
|
297
|
+
[d, [l, "DuckDuckGo"]],
|
|
297
298
|
[
|
|
298
299
|
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
|
299
300
|
// UCBrowser
|
|
300
301
|
],
|
|
301
|
-
[
|
|
302
|
+
[d, [l, "UCBrowser"]],
|
|
302
303
|
[
|
|
303
304
|
/microm.+\bqbcore\/([\w\.]+)/i,
|
|
304
305
|
// WeChat Desktop for Windows Built-in Browser
|
|
@@ -306,107 +307,107 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
306
307
|
/micromessenger\/([\w\.]+)/i
|
|
307
308
|
// WeChat
|
|
308
309
|
],
|
|
309
|
-
[
|
|
310
|
+
[d, [l, "WeChat"]],
|
|
310
311
|
[
|
|
311
312
|
/konqueror\/([\w\.]+)/i
|
|
312
313
|
// Konqueror
|
|
313
314
|
],
|
|
314
|
-
[
|
|
315
|
+
[d, [l, "Konqueror"]],
|
|
315
316
|
[
|
|
316
317
|
/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
|
|
317
318
|
// IE11
|
|
318
319
|
],
|
|
319
|
-
[
|
|
320
|
+
[d, [l, "IE"]],
|
|
320
321
|
[
|
|
321
322
|
/ya(?:search)?browser\/([\w\.]+)/i
|
|
322
323
|
// Yandex
|
|
323
324
|
],
|
|
324
|
-
[
|
|
325
|
+
[d, [l, "Yandex"]],
|
|
325
326
|
[
|
|
326
327
|
/slbrowser\/([\w\.]+)/i
|
|
327
328
|
// Smart Lenovo Browser
|
|
328
329
|
],
|
|
329
|
-
[
|
|
330
|
+
[d, [l, "Smart " + Ge + ie]],
|
|
330
331
|
[
|
|
331
332
|
/(av(?:ast|g|ira))\/([\w\.]+)/i
|
|
332
333
|
// Avast/AVG/Avira Secure Browser
|
|
333
334
|
],
|
|
334
|
-
[[
|
|
335
|
+
[[l, /(.+)/, "$1 Secure" + ie], d],
|
|
335
336
|
[
|
|
336
337
|
/norton\/([\w\.]+)/i
|
|
337
338
|
// Norton Private Browser
|
|
338
339
|
],
|
|
339
|
-
[
|
|
340
|
+
[d, [l, "Norton Private" + ie]],
|
|
340
341
|
[
|
|
341
342
|
/\bfocus\/([\w\.]+)/i
|
|
342
343
|
// Firefox Focus
|
|
343
344
|
],
|
|
344
|
-
[
|
|
345
|
+
[d, [l, le + " Focus"]],
|
|
345
346
|
[
|
|
346
347
|
/ mms\/([\w\.]+)$/i
|
|
347
348
|
// Opera Neon
|
|
348
349
|
],
|
|
349
|
-
[
|
|
350
|
+
[d, [l, ee + " Neon"]],
|
|
350
351
|
[
|
|
351
352
|
/ opt\/([\w\.]+)$/i
|
|
352
353
|
// Opera Touch
|
|
353
354
|
],
|
|
354
|
-
[
|
|
355
|
+
[d, [l, ee + " Touch"]],
|
|
355
356
|
[
|
|
356
357
|
/coc_coc\w+\/([\w\.]+)/i
|
|
357
358
|
// Coc Coc Browser
|
|
358
359
|
],
|
|
359
|
-
[
|
|
360
|
+
[d, [l, "Coc Coc"]],
|
|
360
361
|
[
|
|
361
362
|
/dolfin\/([\w\.]+)/i
|
|
362
363
|
// Dolphin
|
|
363
364
|
],
|
|
364
|
-
[
|
|
365
|
+
[d, [l, "Dolphin"]],
|
|
365
366
|
[
|
|
366
367
|
/coast\/([\w\.]+)/i
|
|
367
368
|
// Opera Coast
|
|
368
369
|
],
|
|
369
|
-
[
|
|
370
|
+
[d, [l, ee + " Coast"]],
|
|
370
371
|
[
|
|
371
372
|
/miuibrowser\/([\w\.]+)/i
|
|
372
373
|
// MIUI Browser
|
|
373
374
|
],
|
|
374
|
-
[
|
|
375
|
+
[d, [l, "MIUI" + ie]],
|
|
375
376
|
[
|
|
376
377
|
/fxios\/([\w\.-]+)/i
|
|
377
378
|
// Firefox for iOS
|
|
378
379
|
],
|
|
379
|
-
[
|
|
380
|
+
[d, [l, te + le]],
|
|
380
381
|
[
|
|
381
382
|
/\bqihoobrowser\/?([\w\.]*)/i
|
|
382
383
|
// 360
|
|
383
384
|
],
|
|
384
|
-
[
|
|
385
|
+
[d, [l, "360"]],
|
|
385
386
|
[
|
|
386
387
|
/\b(qq)\/([\w\.]+)/i
|
|
387
388
|
// QQ
|
|
388
389
|
],
|
|
389
|
-
[[
|
|
390
|
+
[[l, /(.+)/, "$1Browser"], d],
|
|
390
391
|
[
|
|
391
392
|
/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
|
|
392
393
|
],
|
|
393
|
-
[[
|
|
394
|
+
[[l, /(.+)/, "$1" + ie], d],
|
|
394
395
|
[
|
|
395
396
|
// Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
|
|
396
397
|
/samsungbrowser\/([\w\.]+)/i
|
|
397
398
|
// Samsung Internet
|
|
398
399
|
],
|
|
399
|
-
[
|
|
400
|
+
[d, [l, se + " Internet"]],
|
|
400
401
|
[
|
|
401
402
|
/metasr[\/ ]?([\d\.]+)/i
|
|
402
403
|
// Sogou Explorer
|
|
403
404
|
],
|
|
404
|
-
[
|
|
405
|
+
[d, [l, gt + " Explorer"]],
|
|
405
406
|
[
|
|
406
407
|
/(sogou)mo\w+\/([\d\.]+)/i
|
|
407
408
|
// Sogou Mobile
|
|
408
409
|
],
|
|
409
|
-
[[
|
|
410
|
+
[[l, gt + " Mobile"], d],
|
|
410
411
|
[
|
|
411
412
|
/(electron)\/([\w\.]+) safari/i,
|
|
412
413
|
// Electron-based App
|
|
@@ -415,23 +416,23 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
415
416
|
/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i
|
|
416
417
|
// QQ/2345
|
|
417
418
|
],
|
|
418
|
-
[
|
|
419
|
+
[l, d],
|
|
419
420
|
[
|
|
420
421
|
/(lbbrowser|luakit|rekonq|steam(?= (clie|tenf|gameo)))/i
|
|
421
422
|
// LieBao Browser/Luakit/Rekonq/Steam
|
|
422
423
|
],
|
|
423
|
-
[
|
|
424
|
+
[l],
|
|
424
425
|
[
|
|
425
426
|
/ome\/([\w\.]+).+(iron(?= saf)|360(?=[es]e$))/i
|
|
426
427
|
// Iron / 360
|
|
427
428
|
],
|
|
428
|
-
[
|
|
429
|
+
[d, l],
|
|
429
430
|
[
|
|
430
431
|
// WebView
|
|
431
432
|
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
|
432
433
|
// Facebook App for iOS & Android
|
|
433
434
|
],
|
|
434
|
-
[[
|
|
435
|
+
[[l, qe], d, [s, Q]],
|
|
435
436
|
[
|
|
436
437
|
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
|
437
438
|
// Kakao App
|
|
@@ -452,111 +453,111 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
452
453
|
/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i
|
|
453
454
|
// Instagram/Snapchat/Klarna
|
|
454
455
|
],
|
|
455
|
-
[
|
|
456
|
+
[l, d, [s, Q]],
|
|
456
457
|
[
|
|
457
458
|
/\bgsa\/([\w\.]+) .*safari\//i
|
|
458
459
|
// Google Search Appliance on iOS
|
|
459
460
|
],
|
|
460
|
-
[
|
|
461
|
+
[d, [l, "GSA"], [s, Q]],
|
|
461
462
|
[
|
|
462
463
|
/(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i
|
|
463
464
|
// TikTok
|
|
464
465
|
],
|
|
465
|
-
[
|
|
466
|
+
[d, [l, "TikTok"], [s, Q]],
|
|
466
467
|
[
|
|
467
468
|
/\[(linkedin)app\]/i
|
|
468
469
|
// LinkedIn App for iOS & Android
|
|
469
470
|
],
|
|
470
|
-
[
|
|
471
|
+
[l, [s, Q]],
|
|
471
472
|
[
|
|
472
473
|
/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i
|
|
473
474
|
// Zalo
|
|
474
475
|
],
|
|
475
|
-
[[
|
|
476
|
+
[[l, /(.+)/, "Zalo"], d, [s, Q]],
|
|
476
477
|
[
|
|
477
478
|
/(chromium)[\/ ]([-\w\.]+)/i
|
|
478
479
|
// Chromium
|
|
479
480
|
],
|
|
480
|
-
[
|
|
481
|
+
[l, d],
|
|
481
482
|
[
|
|
482
483
|
/ome-(lighthouse)$/i
|
|
483
484
|
// Chrome Lighthouse
|
|
484
485
|
],
|
|
485
|
-
[
|
|
486
|
+
[l, [s, Zt]],
|
|
486
487
|
[
|
|
487
488
|
/headlesschrome(?:\/([\w\.]+)| )/i
|
|
488
489
|
// Chrome Headless
|
|
489
490
|
],
|
|
490
|
-
[
|
|
491
|
+
[d, [l, bt + " Headless"]],
|
|
491
492
|
[
|
|
492
493
|
/wv\).+chrome\/([\w\.]+).+edgw\//i
|
|
493
494
|
// Edge WebView2
|
|
494
495
|
],
|
|
495
|
-
[
|
|
496
|
+
[d, [l, Se + " WebView2"]],
|
|
496
497
|
[
|
|
497
498
|
/ wv\).+(chrome)\/([\w\.]+)/i
|
|
498
499
|
// Chrome WebView
|
|
499
500
|
],
|
|
500
|
-
[[
|
|
501
|
+
[[l, bt + " WebView"], d],
|
|
501
502
|
[
|
|
502
503
|
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
|
|
503
504
|
// Android Browser
|
|
504
505
|
],
|
|
505
|
-
[
|
|
506
|
+
[d, [l, "Android" + ie]],
|
|
506
507
|
[
|
|
507
508
|
/chrome\/([\w\.]+) mobile/i
|
|
508
509
|
// Chrome Mobile
|
|
509
510
|
],
|
|
510
|
-
[
|
|
511
|
+
[d, [l, te + "Chrome"]],
|
|
511
512
|
[
|
|
512
513
|
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
|
513
514
|
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
|
514
515
|
],
|
|
515
|
-
[
|
|
516
|
+
[l, d],
|
|
516
517
|
[
|
|
517
518
|
/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i
|
|
518
519
|
// Safari Mobile
|
|
519
520
|
],
|
|
520
|
-
[
|
|
521
|
+
[d, [l, te + "Safari"]],
|
|
521
522
|
[
|
|
522
523
|
/iphone .*mobile(?:\/\w+ | ?)safari/i
|
|
523
524
|
],
|
|
524
|
-
[[
|
|
525
|
+
[[l, te + "Safari"]],
|
|
525
526
|
[
|
|
526
527
|
/version\/([\w\.\,]+) .*(safari)/i
|
|
527
528
|
// Safari
|
|
528
529
|
],
|
|
529
|
-
[
|
|
530
|
+
[d, l],
|
|
530
531
|
[
|
|
531
532
|
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
|
|
532
533
|
// Safari < 3.0
|
|
533
534
|
],
|
|
534
|
-
[
|
|
535
|
+
[l, [d, "1"]],
|
|
535
536
|
[
|
|
536
537
|
/(webkit|khtml)\/([\w\.]+)/i
|
|
537
538
|
],
|
|
538
|
-
[
|
|
539
|
+
[l, d],
|
|
539
540
|
[
|
|
540
541
|
// Gecko based
|
|
541
542
|
/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i
|
|
542
543
|
// Firefox Mobile
|
|
543
544
|
],
|
|
544
|
-
[[
|
|
545
|
+
[[l, te + le], d],
|
|
545
546
|
[
|
|
546
547
|
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
|
547
548
|
// Netscape
|
|
548
549
|
],
|
|
549
|
-
[[
|
|
550
|
+
[[l, "Netscape"], d],
|
|
550
551
|
[
|
|
551
552
|
/(wolvic|librewolf)\/([\w\.]+)/i
|
|
552
553
|
// Wolvic/LibreWolf
|
|
553
554
|
],
|
|
554
|
-
[
|
|
555
|
+
[l, d],
|
|
555
556
|
[
|
|
556
557
|
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
|
557
558
|
// Firefox Reality
|
|
558
559
|
],
|
|
559
|
-
[
|
|
560
|
+
[d, [l, le + " Reality"]],
|
|
560
561
|
[
|
|
561
562
|
/ekiohf.+(flow)\/([\w\.]+)/i,
|
|
562
563
|
// Flow
|
|
@@ -576,46 +577,46 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
576
577
|
/\b(links) \(([\w\.]+)/i
|
|
577
578
|
// Links
|
|
578
579
|
],
|
|
579
|
-
[
|
|
580
|
+
[l, [d, /_/g, "."]],
|
|
580
581
|
[
|
|
581
582
|
/(cobalt)\/([\w\.]+)/i
|
|
582
583
|
// Cobalt
|
|
583
584
|
],
|
|
584
|
-
[
|
|
585
|
+
[l, [d, /[^\d\.]+./, xe]]
|
|
585
586
|
],
|
|
586
587
|
cpu: [
|
|
587
588
|
[
|
|
588
589
|
/\b((amd|x|x86[-_]?|wow|win)64)\b/i
|
|
589
590
|
// AMD64 (x64)
|
|
590
591
|
],
|
|
591
|
-
[[
|
|
592
|
+
[[O, "amd64"]],
|
|
592
593
|
[
|
|
593
594
|
/(ia32(?=;))/i,
|
|
594
595
|
// IA32 (quicktime)
|
|
595
596
|
/\b((i[346]|x)86)(pc)?\b/i
|
|
596
597
|
// IA32 (x86)
|
|
597
598
|
],
|
|
598
|
-
[[
|
|
599
|
+
[[O, "ia32"]],
|
|
599
600
|
[
|
|
600
601
|
/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i
|
|
601
602
|
// ARM64
|
|
602
603
|
],
|
|
603
|
-
[[
|
|
604
|
+
[[O, "arm64"]],
|
|
604
605
|
[
|
|
605
606
|
/\b(arm(v[67])?ht?n?[fl]p?)\b/i
|
|
606
607
|
// ARMHF
|
|
607
608
|
],
|
|
608
|
-
[[
|
|
609
|
+
[[O, "armhf"]],
|
|
609
610
|
[
|
|
610
611
|
// PocketPC mistakenly identified as PowerPC
|
|
611
612
|
/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i
|
|
612
613
|
],
|
|
613
|
-
[[
|
|
614
|
+
[[O, "arm"]],
|
|
614
615
|
[
|
|
615
616
|
/ sun4\w[;\)]/i
|
|
616
617
|
// SPARC
|
|
617
618
|
],
|
|
618
|
-
[[
|
|
619
|
+
[[O, "sparc"]],
|
|
619
620
|
[
|
|
620
621
|
// IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
|
|
621
622
|
/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,
|
|
@@ -624,15 +625,15 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
624
625
|
/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i
|
|
625
626
|
// Alpha
|
|
626
627
|
],
|
|
627
|
-
[[
|
|
628
|
+
[[O, /ower/, xe, q]],
|
|
628
629
|
[
|
|
629
630
|
/mc680.0/i
|
|
630
631
|
],
|
|
631
|
-
[[
|
|
632
|
+
[[O, "68k"]],
|
|
632
633
|
[
|
|
633
634
|
/winnt.+\[axp/i
|
|
634
635
|
],
|
|
635
|
-
[[
|
|
636
|
+
[[O, "alpha"]]
|
|
636
637
|
],
|
|
637
638
|
device: [
|
|
638
639
|
[
|
|
@@ -683,19 +684,19 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
683
684
|
// Huawei
|
|
684
685
|
/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i
|
|
685
686
|
],
|
|
686
|
-
[c, [u,
|
|
687
|
+
[c, [u, dt], [s, k]],
|
|
687
688
|
[
|
|
688
689
|
/(?:huawei) ?([-\w ]+)[;\)]/i,
|
|
689
690
|
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i
|
|
690
691
|
],
|
|
691
|
-
[c, [u,
|
|
692
|
+
[c, [u, dt], [s, v]],
|
|
692
693
|
[
|
|
693
694
|
// Xiaomi
|
|
694
695
|
/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,
|
|
695
696
|
/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i
|
|
696
697
|
// Mi Pad tablets
|
|
697
698
|
],
|
|
698
|
-
[[c, /_/g, " "], [u,
|
|
699
|
+
[[c, /_/g, " "], [u, ze], [s, k]],
|
|
699
700
|
[
|
|
700
701
|
/\b; (\w+) build\/hm\1/i,
|
|
701
702
|
// Xiaomi Hongmi 'numeric' models
|
|
@@ -707,7 +708,7 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
707
708
|
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,
|
|
708
709
|
/ ([\w ]+) miui\/v?\d/i
|
|
709
710
|
],
|
|
710
|
-
[[c, /_/g, " "], [u,
|
|
711
|
+
[[c, /_/g, " "], [u, ze], [s, v]],
|
|
711
712
|
[
|
|
712
713
|
// OnePlus
|
|
713
714
|
/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-l]\w[1m]10)\b/i,
|
|
@@ -719,11 +720,11 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
719
720
|
/; (\w+) bui.+ oppo/i,
|
|
720
721
|
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
|
721
722
|
],
|
|
722
|
-
[c, [u,
|
|
723
|
+
[c, [u, Ye], [s, v]],
|
|
723
724
|
[
|
|
724
725
|
/\b(opd2(\d{3}a?))(?: bui|\))/i
|
|
725
726
|
],
|
|
726
|
-
[c, [u, N, { OnePlus: ["203", "304", "403", "404", "413", "415"], "*":
|
|
727
|
+
[c, [u, N, { OnePlus: ["203", "304", "403", "404", "413", "415"], "*": Ye }], [s, k]],
|
|
727
728
|
[
|
|
728
729
|
// BLU
|
|
729
730
|
/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i
|
|
@@ -757,22 +758,22 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
757
758
|
/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,
|
|
758
759
|
/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i
|
|
759
760
|
],
|
|
760
|
-
[c, [u,
|
|
761
|
+
[c, [u, Ve], [s, v]],
|
|
761
762
|
[
|
|
762
763
|
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
|
763
764
|
],
|
|
764
|
-
[c, [u,
|
|
765
|
+
[c, [u, Ve], [s, k]],
|
|
765
766
|
[
|
|
766
767
|
// LG
|
|
767
768
|
/\b(?:lg)?([vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
|
768
769
|
],
|
|
769
|
-
[c, [u,
|
|
770
|
+
[c, [u, ge], [s, k]],
|
|
770
771
|
[
|
|
771
772
|
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
|
|
772
773
|
/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,
|
|
773
774
|
/\blg-?([\d\w]+) bui/i
|
|
774
775
|
],
|
|
775
|
-
[c, [u,
|
|
776
|
+
[c, [u, ge], [s, v]],
|
|
776
777
|
[
|
|
777
778
|
// Nokia
|
|
778
779
|
/(nokia) (t[12][01])/i
|
|
@@ -816,12 +817,12 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
816
817
|
/(kf[a-z]+)( bui|\)).+silk\//i
|
|
817
818
|
// Kindle Fire HD
|
|
818
819
|
],
|
|
819
|
-
[c, [u,
|
|
820
|
+
[c, [u, we], [s, k]],
|
|
820
821
|
[
|
|
821
822
|
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
822
823
|
// Fire Phone
|
|
823
824
|
],
|
|
824
|
-
[[c, /(.+)/g, "Fire Phone $1"], [u,
|
|
825
|
+
[[c, /(.+)/g, "Fire Phone $1"], [u, we], [s, v]],
|
|
825
826
|
[
|
|
826
827
|
// BlackBerry
|
|
827
828
|
/(playbook);[-\w\),; ]+(rim)/i
|
|
@@ -832,7 +833,7 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
832
833
|
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
|
833
834
|
/(?:blackberry|\(bb10;) (\w+)/i
|
|
834
835
|
],
|
|
835
|
-
[c, [u,
|
|
836
|
+
[c, [u, lt], [s, v]],
|
|
836
837
|
[
|
|
837
838
|
// Asus
|
|
838
839
|
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
@@ -871,7 +872,7 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
871
872
|
// itel
|
|
872
873
|
/(itel) ((\w+))/i
|
|
873
874
|
],
|
|
874
|
-
[[u,
|
|
875
|
+
[[u, q], c, [s, N, { tablet: ["p10001l", "w7001"], "*": "mobile" }]],
|
|
875
876
|
[
|
|
876
877
|
// Acer
|
|
877
878
|
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
@@ -964,7 +965,7 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
964
965
|
/(surface duo)/i
|
|
965
966
|
// Surface Duo
|
|
966
967
|
],
|
|
967
|
-
[c, [u,
|
|
968
|
+
[c, [u, He], [s, k]],
|
|
968
969
|
[
|
|
969
970
|
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
970
971
|
// Fairphone
|
|
@@ -984,7 +985,7 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
984
985
|
/(kin\.[onetw]{3})/i
|
|
985
986
|
// Microsoft Kin
|
|
986
987
|
],
|
|
987
|
-
[[c, /\./g, " "], [u,
|
|
988
|
+
[[c, /\./g, " "], [u, He], [s, v]],
|
|
988
989
|
[
|
|
989
990
|
/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
990
991
|
// Zebra
|
|
@@ -1003,90 +1004,90 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1003
1004
|
/smart-tv.+(samsung)/i
|
|
1004
1005
|
// Samsung
|
|
1005
1006
|
],
|
|
1006
|
-
[u, [s,
|
|
1007
|
+
[u, [s, C]],
|
|
1007
1008
|
[
|
|
1008
1009
|
/hbbtv.+maple;(\d+)/i
|
|
1009
1010
|
],
|
|
1010
|
-
[[c, /^/, "SmartTV"], [u, se], [s,
|
|
1011
|
+
[[c, /^/, "SmartTV"], [u, se], [s, C]],
|
|
1011
1012
|
[
|
|
1012
1013
|
/(vizio)(?: |.+model\/)(\w+-\w+)/i,
|
|
1013
1014
|
// Vizio
|
|
1014
1015
|
/tcast.+(lg)e?. ([-\w]+)/i
|
|
1015
1016
|
// LG SmartTV
|
|
1016
1017
|
],
|
|
1017
|
-
[u, c, [s,
|
|
1018
|
+
[u, c, [s, C]],
|
|
1018
1019
|
[
|
|
1019
1020
|
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
|
|
1020
1021
|
],
|
|
1021
|
-
[[u,
|
|
1022
|
+
[[u, ge], [s, C]],
|
|
1022
1023
|
[
|
|
1023
1024
|
/(apple) ?tv/i
|
|
1024
1025
|
// Apple TV
|
|
1025
1026
|
],
|
|
1026
|
-
[u, [c, $ + " TV"], [s,
|
|
1027
|
+
[u, [c, $ + " TV"], [s, C]],
|
|
1027
1028
|
[
|
|
1028
1029
|
/crkey.*devicetype\/chromecast/i
|
|
1029
1030
|
// Google Chromecast Third Generation
|
|
1030
1031
|
],
|
|
1031
|
-
[[c,
|
|
1032
|
+
[[c, W + " Third Generation"], [u, J], [s, C]],
|
|
1032
1033
|
[
|
|
1033
1034
|
/crkey.*devicetype\/([^/]*)/i
|
|
1034
1035
|
// Google Chromecast with specific device type
|
|
1035
1036
|
],
|
|
1036
|
-
[[c, /^/, "Chromecast "], [u, J], [s,
|
|
1037
|
+
[[c, /^/, "Chromecast "], [u, J], [s, C]],
|
|
1037
1038
|
[
|
|
1038
1039
|
/fuchsia.*crkey/i
|
|
1039
1040
|
// Google Chromecast Nest Hub
|
|
1040
1041
|
],
|
|
1041
|
-
[[c,
|
|
1042
|
+
[[c, W + " Nest Hub"], [u, J], [s, C]],
|
|
1042
1043
|
[
|
|
1043
1044
|
/crkey/i
|
|
1044
1045
|
// Google Chromecast, Linux-based or unknown
|
|
1045
1046
|
],
|
|
1046
|
-
[[c,
|
|
1047
|
+
[[c, W], [u, J], [s, C]],
|
|
1047
1048
|
[
|
|
1048
1049
|
/(portaltv)/i
|
|
1049
1050
|
// Facebook Portal TV
|
|
1050
1051
|
],
|
|
1051
|
-
[c, [u,
|
|
1052
|
+
[c, [u, qe], [s, C]],
|
|
1052
1053
|
[
|
|
1053
1054
|
/droid.+aft(\w+)( bui|\))/i
|
|
1054
1055
|
// Fire TV
|
|
1055
1056
|
],
|
|
1056
|
-
[c, [u,
|
|
1057
|
+
[c, [u, we], [s, C]],
|
|
1057
1058
|
[
|
|
1058
1059
|
/(shield \w+ tv)/i
|
|
1059
1060
|
// Nvidia Shield TV
|
|
1060
1061
|
],
|
|
1061
|
-
[c, [u, pt], [s,
|
|
1062
|
+
[c, [u, pt], [s, C]],
|
|
1062
1063
|
[
|
|
1063
1064
|
/\(dtv[\);].+(aquos)/i,
|
|
1064
1065
|
/(aquos-tv[\w ]+)\)/i
|
|
1065
1066
|
// Sharp
|
|
1066
1067
|
],
|
|
1067
|
-
[c, [u, ft], [s,
|
|
1068
|
+
[c, [u, ft], [s, C]],
|
|
1068
1069
|
[
|
|
1069
1070
|
/(bravia[\w ]+)( bui|\))/i
|
|
1070
1071
|
// Sony
|
|
1071
1072
|
],
|
|
1072
|
-
[c, [u, ce], [s,
|
|
1073
|
+
[c, [u, ce], [s, C]],
|
|
1073
1074
|
[
|
|
1074
1075
|
/(mi(tv|box)-?\w+) bui/i
|
|
1075
1076
|
// Xiaomi
|
|
1076
1077
|
],
|
|
1077
|
-
[c, [u,
|
|
1078
|
+
[c, [u, ze], [s, C]],
|
|
1078
1079
|
[
|
|
1079
1080
|
/Hbbtv.*(technisat) (.*);/i
|
|
1080
1081
|
// TechniSAT
|
|
1081
1082
|
],
|
|
1082
|
-
[u, c, [s,
|
|
1083
|
+
[u, c, [s, C]],
|
|
1083
1084
|
[
|
|
1084
1085
|
/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
|
|
1085
1086
|
// Roku
|
|
1086
1087
|
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
|
1087
1088
|
// HbbTV devices
|
|
1088
1089
|
],
|
|
1089
|
-
[[u, /.+\/(\w+)/, "$1", N, { LG: "lge" }], [c,
|
|
1090
|
+
[[u, /.+\/(\w+)/, "$1", N, { LG: "lge" }], [c, Ae], [s, C]],
|
|
1090
1091
|
[
|
|
1091
1092
|
///////////////////
|
|
1092
1093
|
// CONSOLES
|
|
@@ -1094,12 +1095,12 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1094
1095
|
/(playstation \w+)/i
|
|
1095
1096
|
// Playstation
|
|
1096
1097
|
],
|
|
1097
|
-
[c, [u, ce], [s,
|
|
1098
|
+
[c, [u, ce], [s, ve]],
|
|
1098
1099
|
[
|
|
1099
1100
|
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
1100
1101
|
// Microsoft Xbox
|
|
1101
1102
|
],
|
|
1102
|
-
[c, [u,
|
|
1103
|
+
[c, [u, He], [s, ve]],
|
|
1103
1104
|
[
|
|
1104
1105
|
/(ouya)/i,
|
|
1105
1106
|
// Ouya
|
|
@@ -1111,7 +1112,7 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1111
1112
|
/droid.+; ((shield|rgcube|gr0006))( bui|\))/i
|
|
1112
1113
|
// Nvidia Portable/Anbernic/Logitech
|
|
1113
1114
|
],
|
|
1114
|
-
[[u, N, { Nvidia: "Shield", Anbernic: "RGCUBE", Logitech: "GR0006" }], c, [s,
|
|
1115
|
+
[[u, N, { Nvidia: "Shield", Anbernic: "RGCUBE", Logitech: "GR0006" }], c, [s, ve]],
|
|
1115
1116
|
[
|
|
1116
1117
|
///////////////////
|
|
1117
1118
|
// WEARABLES
|
|
@@ -1131,7 +1132,7 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1131
1132
|
/(ow(?:19|20)?we?[1-3]{1,3})/i
|
|
1132
1133
|
// Oppo Watch
|
|
1133
1134
|
],
|
|
1134
|
-
[c, [u,
|
|
1135
|
+
[c, [u, Ye], [s, B]],
|
|
1135
1136
|
[
|
|
1136
1137
|
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
1137
1138
|
// Apple Watch
|
|
@@ -1146,7 +1147,7 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1146
1147
|
/(moto 360)/i
|
|
1147
1148
|
// Motorola 360
|
|
1148
1149
|
],
|
|
1149
|
-
[c, [u,
|
|
1150
|
+
[c, [u, Ve], [s, B]],
|
|
1150
1151
|
[
|
|
1151
1152
|
/(smartwatch 3)/i
|
|
1152
1153
|
// Sony SmartWatch
|
|
@@ -1156,7 +1157,7 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1156
1157
|
/(g watch r)/i
|
|
1157
1158
|
// LG G Watch R
|
|
1158
1159
|
],
|
|
1159
|
-
[c, [u,
|
|
1160
|
+
[c, [u, ge], [s, B]],
|
|
1160
1161
|
[
|
|
1161
1162
|
/droid.+; (wt63?0{2,3})\)/i
|
|
1162
1163
|
],
|
|
@@ -1168,22 +1169,22 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1168
1169
|
/droid.+; (glass) \d/i
|
|
1169
1170
|
// Google Glass
|
|
1170
1171
|
],
|
|
1171
|
-
[c, [u, J], [s,
|
|
1172
|
+
[c, [u, J], [s, be]],
|
|
1172
1173
|
[
|
|
1173
1174
|
/(pico) ([\w ]+) os\d/i
|
|
1174
1175
|
// Pico
|
|
1175
1176
|
],
|
|
1176
|
-
[u, c, [s,
|
|
1177
|
+
[u, c, [s, be]],
|
|
1177
1178
|
[
|
|
1178
1179
|
/(quest( \d| pro)?s?).+vr/i
|
|
1179
1180
|
// Meta Quest
|
|
1180
1181
|
],
|
|
1181
|
-
[c, [u,
|
|
1182
|
+
[c, [u, qe], [s, be]],
|
|
1182
1183
|
[
|
|
1183
1184
|
/mobile vr; rv.+firefox/i
|
|
1184
1185
|
// Unidentifiable VR device using Firefox Reality / Wolvic
|
|
1185
1186
|
],
|
|
1186
|
-
[[s,
|
|
1187
|
+
[[s, be]],
|
|
1187
1188
|
[
|
|
1188
1189
|
///////////////////
|
|
1189
1190
|
// EMBEDDED
|
|
@@ -1196,7 +1197,7 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1196
1197
|
/(aeobc)\b/i
|
|
1197
1198
|
// Echo Dot
|
|
1198
1199
|
],
|
|
1199
|
-
[c, [u,
|
|
1200
|
+
[c, [u, we], [s, ue]],
|
|
1200
1201
|
[
|
|
1201
1202
|
/(homepod).+mac os/i
|
|
1202
1203
|
// Apple HomePod
|
|
@@ -1214,11 +1215,11 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1214
1215
|
/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i
|
|
1215
1216
|
// Unidentifiable SmartTV
|
|
1216
1217
|
],
|
|
1217
|
-
[c, [s,
|
|
1218
|
+
[c, [s, C]],
|
|
1218
1219
|
[
|
|
1219
1220
|
/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i
|
|
1220
1221
|
],
|
|
1221
|
-
[[s,
|
|
1222
|
+
[[s, C]],
|
|
1222
1223
|
[
|
|
1223
1224
|
/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i
|
|
1224
1225
|
],
|
|
@@ -1244,17 +1245,17 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1244
1245
|
/windows.+ edge\/([\w\.]+)/i
|
|
1245
1246
|
// EdgeHTML
|
|
1246
1247
|
],
|
|
1247
|
-
[
|
|
1248
|
+
[d, [l, Se + "HTML"]],
|
|
1248
1249
|
[
|
|
1249
1250
|
/(arkweb)\/([\w\.]+)/i
|
|
1250
1251
|
// ArkWeb
|
|
1251
1252
|
],
|
|
1252
|
-
[
|
|
1253
|
+
[l, d],
|
|
1253
1254
|
[
|
|
1254
1255
|
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
|
1255
1256
|
// Blink
|
|
1256
1257
|
],
|
|
1257
|
-
[
|
|
1258
|
+
[d, [l, "Blink"]],
|
|
1258
1259
|
[
|
|
1259
1260
|
/(presto)\/([\w\.]+)/i,
|
|
1260
1261
|
// Presto
|
|
@@ -1269,16 +1270,16 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1269
1270
|
/\b(libweb)/i
|
|
1270
1271
|
// LibWeb
|
|
1271
1272
|
],
|
|
1272
|
-
[
|
|
1273
|
+
[l, d],
|
|
1273
1274
|
[
|
|
1274
1275
|
/ladybird\//i
|
|
1275
1276
|
],
|
|
1276
|
-
[[
|
|
1277
|
+
[[l, "LibWeb"]],
|
|
1277
1278
|
[
|
|
1278
1279
|
/rv\:([\w\.]{1,9})\b.+(gecko)/i
|
|
1279
1280
|
// Gecko
|
|
1280
1281
|
],
|
|
1281
|
-
[
|
|
1282
|
+
[d, l]
|
|
1282
1283
|
],
|
|
1283
1284
|
os: [
|
|
1284
1285
|
[
|
|
@@ -1286,24 +1287,24 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1286
1287
|
/(windows nt) (6\.[23]); arm/i
|
|
1287
1288
|
// Windows RT
|
|
1288
1289
|
],
|
|
1289
|
-
[[
|
|
1290
|
+
[[l, /N/, "R"], [d, N, mt]],
|
|
1290
1291
|
[
|
|
1291
1292
|
/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,
|
|
1292
1293
|
// Windows IoT/Mobile/Phone
|
|
1293
1294
|
// Windows NT/3.1/95/98/ME/2000/XP/Vista/7/8/8.1/10/11
|
|
1294
1295
|
/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i
|
|
1295
1296
|
],
|
|
1296
|
-
[
|
|
1297
|
+
[l, d],
|
|
1297
1298
|
[
|
|
1298
1299
|
/windows nt ?([\d\.\)]*)(?!.+xbox)/i,
|
|
1299
1300
|
/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i
|
|
1300
1301
|
],
|
|
1301
|
-
[[
|
|
1302
|
+
[[d, /(;|\))/g, "", N, mt], [l, Xe]],
|
|
1302
1303
|
[
|
|
1303
1304
|
/(windows ce)\/?([\d\.]*)/i
|
|
1304
1305
|
// Windows CE
|
|
1305
1306
|
],
|
|
1306
|
-
[
|
|
1307
|
+
[l, d],
|
|
1307
1308
|
[
|
|
1308
1309
|
// iOS/macOS
|
|
1309
1310
|
/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,
|
|
@@ -1312,100 +1313,100 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1312
1313
|
/\btvos ?([\w\.]+)/i,
|
|
1313
1314
|
/cfnetwork\/.+darwin/i
|
|
1314
1315
|
],
|
|
1315
|
-
[[
|
|
1316
|
+
[[d, /_/g, "."], [l, "iOS"]],
|
|
1316
1317
|
[
|
|
1317
1318
|
/(mac os x) ?([\w\. ]*)/i,
|
|
1318
1319
|
/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i
|
|
1319
1320
|
// Mac OS
|
|
1320
1321
|
],
|
|
1321
|
-
[[
|
|
1322
|
+
[[l, "macOS"], [d, /_/g, "."]],
|
|
1322
1323
|
[
|
|
1323
1324
|
// Google Chromecast
|
|
1324
1325
|
/android ([\d\.]+).*crkey/i
|
|
1325
1326
|
// Google Chromecast, Android-based
|
|
1326
1327
|
],
|
|
1327
|
-
[
|
|
1328
|
+
[d, [l, W + " Android"]],
|
|
1328
1329
|
[
|
|
1329
1330
|
/fuchsia.*crkey\/([\d\.]+)/i
|
|
1330
1331
|
// Google Chromecast, Fuchsia-based
|
|
1331
1332
|
],
|
|
1332
|
-
[
|
|
1333
|
+
[d, [l, W + " Fuchsia"]],
|
|
1333
1334
|
[
|
|
1334
1335
|
/crkey\/([\d\.]+).*devicetype\/smartspeaker/i
|
|
1335
1336
|
// Google Chromecast, Linux-based Smart Speaker
|
|
1336
1337
|
],
|
|
1337
|
-
[
|
|
1338
|
+
[d, [l, W + " SmartSpeaker"]],
|
|
1338
1339
|
[
|
|
1339
1340
|
/linux.*crkey\/([\d\.]+)/i
|
|
1340
1341
|
// Google Chromecast, Legacy Linux-based
|
|
1341
1342
|
],
|
|
1342
|
-
[
|
|
1343
|
+
[d, [l, W + " Linux"]],
|
|
1343
1344
|
[
|
|
1344
1345
|
/crkey\/([\d\.]+)/i
|
|
1345
1346
|
// Google Chromecast, unknown
|
|
1346
1347
|
],
|
|
1347
|
-
[
|
|
1348
|
+
[d, [l, W]],
|
|
1348
1349
|
[
|
|
1349
1350
|
// Mobile OSes
|
|
1350
1351
|
/droid ([\w\.]+)\b.+(android[- ]x86)/i
|
|
1351
1352
|
// Android-x86
|
|
1352
1353
|
],
|
|
1353
|
-
[
|
|
1354
|
+
[d, l],
|
|
1354
1355
|
[
|
|
1355
1356
|
/(ubuntu) ([\w\.]+) like android/i
|
|
1356
1357
|
// Ubuntu Touch
|
|
1357
1358
|
],
|
|
1358
|
-
[[
|
|
1359
|
+
[[l, /(.+)/, "$1 Touch"], d],
|
|
1359
1360
|
[
|
|
1360
1361
|
/(harmonyos)[\/ ]?([\d\.]*)/i,
|
|
1361
1362
|
// HarmonyOS
|
|
1362
1363
|
// Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen
|
|
1363
1364
|
/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i
|
|
1364
1365
|
],
|
|
1365
|
-
[
|
|
1366
|
+
[l, d],
|
|
1366
1367
|
[
|
|
1367
1368
|
/\(bb(10);/i
|
|
1368
1369
|
// BlackBerry 10
|
|
1369
1370
|
],
|
|
1370
|
-
[
|
|
1371
|
+
[d, [l, lt]],
|
|
1371
1372
|
[
|
|
1372
1373
|
/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i
|
|
1373
1374
|
// Symbian
|
|
1374
1375
|
],
|
|
1375
|
-
[
|
|
1376
|
+
[d, [l, "Symbian"]],
|
|
1376
1377
|
[
|
|
1377
1378
|
/mozilla\/[\d\.]+ \((?:mobile[;\w ]*|tablet|tv|[^\)]*(?:viera|lg(?:l25|-d300)|alcatel ?o.+|y300-f1)); rv:([\w\.]+)\).+gecko\//i
|
|
1378
1379
|
// Firefox OS
|
|
1379
1380
|
],
|
|
1380
|
-
[
|
|
1381
|
+
[d, [l, le + " OS"]],
|
|
1381
1382
|
[
|
|
1382
1383
|
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,
|
|
1383
1384
|
// WebOS
|
|
1384
1385
|
/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i
|
|
1385
1386
|
],
|
|
1386
|
-
[
|
|
1387
|
+
[d, [l, "webOS"]],
|
|
1387
1388
|
[
|
|
1388
1389
|
/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i
|
|
1389
1390
|
// https://webostv.developer.lge.com/develop/specifications/web-api-and-web-engine
|
|
1390
1391
|
],
|
|
1391
|
-
[[
|
|
1392
|
+
[[d, N, { 25: "120", 24: "108", 23: "94", 22: "87", 6: "79", 5: "68", 4: "53", 3: "38", 2: "538", 1: "537", "*": "TV" }], [l, "webOS"]],
|
|
1392
1393
|
[
|
|
1393
1394
|
/watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i
|
|
1394
1395
|
// watchOS
|
|
1395
1396
|
],
|
|
1396
|
-
[
|
|
1397
|
+
[d, [l, "watchOS"]],
|
|
1397
1398
|
[
|
|
1398
1399
|
// Google ChromeOS
|
|
1399
1400
|
/cros [\w]+(?:\)| ([\w\.]+)\b)/i
|
|
1400
1401
|
// Chromium OS
|
|
1401
1402
|
],
|
|
1402
|
-
[
|
|
1403
|
+
[d, [l, "Chrome OS"]],
|
|
1403
1404
|
[
|
|
1404
1405
|
// Smart TVs
|
|
1405
1406
|
/kepler ([\w\.]+); (aft|aeo)/i
|
|
1406
1407
|
// Vega OS
|
|
1407
1408
|
],
|
|
1408
|
-
[
|
|
1409
|
+
[d, [l, "Vega OS"]],
|
|
1409
1410
|
[
|
|
1410
1411
|
/(netrange)mmh/i,
|
|
1411
1412
|
// Netrange
|
|
@@ -1440,71 +1441,71 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1440
1441
|
/(haiku) ?(r\d)?/i
|
|
1441
1442
|
// Haiku
|
|
1442
1443
|
],
|
|
1443
|
-
[
|
|
1444
|
+
[l, d],
|
|
1444
1445
|
[
|
|
1445
1446
|
/(sunos) ?([\d\.]*)/i
|
|
1446
1447
|
// Solaris
|
|
1447
1448
|
],
|
|
1448
|
-
[[
|
|
1449
|
+
[[l, "Solaris"], d],
|
|
1449
1450
|
[
|
|
1450
1451
|
/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,
|
|
1451
1452
|
// BeOS/OS2/AmigaOS/OpenVMS/HP-UX/SerenityOS
|
|
1452
1453
|
/(unix) ?([\w\.]*)/i
|
|
1453
1454
|
// UNIX
|
|
1454
1455
|
],
|
|
1455
|
-
[
|
|
1456
|
+
[l, d]
|
|
1456
1457
|
]
|
|
1457
|
-
},
|
|
1458
|
-
var
|
|
1459
|
-
return
|
|
1460
|
-
[
|
|
1461
|
-
[
|
|
1458
|
+
}, me = (function() {
|
|
1459
|
+
var x = { init: {}, isIgnore: {}, isIgnoreRgx: {}, toString: {} };
|
|
1460
|
+
return V.call(x.init, [
|
|
1461
|
+
[D, [l, d, pe, s]],
|
|
1462
|
+
[Y, [O]],
|
|
1462
1463
|
[F, [s, c, u]],
|
|
1463
|
-
[U, [
|
|
1464
|
-
[P, [
|
|
1465
|
-
]),
|
|
1466
|
-
[
|
|
1467
|
-
[U, [
|
|
1468
|
-
[P, [
|
|
1469
|
-
]),
|
|
1470
|
-
[
|
|
1464
|
+
[U, [l, d]],
|
|
1465
|
+
[P, [l, d]]
|
|
1466
|
+
]), V.call(x.isIgnore, [
|
|
1467
|
+
[D, [d, pe]],
|
|
1468
|
+
[U, [d]],
|
|
1469
|
+
[P, [d]]
|
|
1470
|
+
]), V.call(x.isIgnoreRgx, [
|
|
1471
|
+
[D, / ?browser$/i],
|
|
1471
1472
|
[P, / ?os$/i]
|
|
1472
|
-
]),
|
|
1473
|
-
[
|
|
1474
|
-
[
|
|
1473
|
+
]), V.call(x.toString, [
|
|
1474
|
+
[D, [l, d]],
|
|
1475
|
+
[Y, [O]],
|
|
1475
1476
|
[F, [u, c]],
|
|
1476
|
-
[U, [
|
|
1477
|
-
[P, [
|
|
1478
|
-
]),
|
|
1479
|
-
})(),
|
|
1480
|
-
var e =
|
|
1477
|
+
[U, [l, d]],
|
|
1478
|
+
[P, [l, d]]
|
|
1479
|
+
]), x;
|
|
1480
|
+
})(), s0 = function(x, t) {
|
|
1481
|
+
var e = me.init[t], i = me.isIgnore[t] || 0, a = me.isIgnoreRgx[t] || 0, r = me.toString[t] || 0;
|
|
1481
1482
|
function o() {
|
|
1482
|
-
|
|
1483
|
+
V.call(this, e);
|
|
1483
1484
|
}
|
|
1484
1485
|
return o.prototype.getItem = function() {
|
|
1485
|
-
return
|
|
1486
|
+
return x;
|
|
1486
1487
|
}, o.prototype.withClientHints = function() {
|
|
1487
|
-
return
|
|
1488
|
-
return
|
|
1489
|
-
}) :
|
|
1488
|
+
return Z ? Z.getHighEntropyValues(Mt).then(function(h) {
|
|
1489
|
+
return x.setCH(new Dt(h, !1)).parseCH().get();
|
|
1490
|
+
}) : x.parseCH().get();
|
|
1490
1491
|
}, o.prototype.withFeatureCheck = function() {
|
|
1491
|
-
return
|
|
1492
|
-
}, t !=
|
|
1492
|
+
return x.detectFeature().get();
|
|
1493
|
+
}, t != ae && (o.prototype.is = function(h) {
|
|
1493
1494
|
var f = !1;
|
|
1494
1495
|
for (var S in this)
|
|
1495
|
-
if (this.hasOwnProperty(S) && !
|
|
1496
|
-
if (f = !0,
|
|
1497
|
-
} else if (
|
|
1496
|
+
if (this.hasOwnProperty(S) && !Ze(i, S) && q(a ? re(a, this[S]) : this[S]) == q(a ? re(a, h) : h)) {
|
|
1497
|
+
if (f = !0, h != _.UNDEFINED) break;
|
|
1498
|
+
} else if (h == _.UNDEFINED && f) {
|
|
1498
1499
|
f = !f;
|
|
1499
1500
|
break;
|
|
1500
1501
|
}
|
|
1501
1502
|
return f;
|
|
1502
1503
|
}, o.prototype.toString = function() {
|
|
1503
|
-
var
|
|
1504
|
+
var h = xe;
|
|
1504
1505
|
for (var f in r)
|
|
1505
|
-
typeof this[r[f]] !==
|
|
1506
|
-
return
|
|
1507
|
-
}), o.prototype.then = function(
|
|
1506
|
+
typeof this[r[f]] !== _.UNDEFINED && (h += (h ? " " : xe) + this[r[f]]);
|
|
1507
|
+
return h || _.UNDEFINED;
|
|
1508
|
+
}), o.prototype.then = function(h) {
|
|
1508
1509
|
var f = this, S = function() {
|
|
1509
1510
|
for (var R in f)
|
|
1510
1511
|
f.hasOwnProperty(R) && (this[R] = f[R]);
|
|
@@ -1516,820 +1517,819 @@ var Xt = "2.0.9", Qt = 500, ot = "user-agent", ae = "", st = "?", E = {
|
|
|
1516
1517
|
withFeatureCheck: o.prototype.withFeatureCheck
|
|
1517
1518
|
};
|
|
1518
1519
|
var I = new S();
|
|
1519
|
-
return
|
|
1520
|
+
return h(I), I;
|
|
1520
1521
|
}, new o();
|
|
1521
1522
|
};
|
|
1522
|
-
function
|
|
1523
|
-
if (
|
|
1524
|
-
|
|
1525
|
-
[
|
|
1526
|
-
[
|
|
1527
|
-
[v, /\?1/.test(
|
|
1528
|
-
[c,
|
|
1529
|
-
[ne,
|
|
1530
|
-
[
|
|
1531
|
-
[
|
|
1532
|
-
[
|
|
1533
|
-
[
|
|
1523
|
+
function Dt(x, t) {
|
|
1524
|
+
if (x = x || {}, V.call(this, Mt), t)
|
|
1525
|
+
V.call(this, [
|
|
1526
|
+
[et, Ke(x[j])],
|
|
1527
|
+
[tt, Ke(x[Qt])],
|
|
1528
|
+
[v, /\?1/.test(x[i0])],
|
|
1529
|
+
[c, de(x[x0])],
|
|
1530
|
+
[ne, de(x[Ot])],
|
|
1531
|
+
[it, de(x[a0])],
|
|
1532
|
+
[O, de(x[$t])],
|
|
1533
|
+
[X, Ke(x[t0])],
|
|
1534
|
+
[Ue, de(x[e0])]
|
|
1534
1535
|
]);
|
|
1535
1536
|
else
|
|
1536
|
-
for (var e in
|
|
1537
|
-
this.hasOwnProperty(e) && typeof
|
|
1537
|
+
for (var e in x)
|
|
1538
|
+
this.hasOwnProperty(e) && typeof x[e] !== _.UNDEFINED && (this[e] = x[e]);
|
|
1538
1539
|
}
|
|
1539
|
-
function K(
|
|
1540
|
-
return
|
|
1541
|
-
["itemType",
|
|
1540
|
+
function K(x, t, e, i) {
|
|
1541
|
+
return V.call(this, [
|
|
1542
|
+
["itemType", x],
|
|
1542
1543
|
["ua", t],
|
|
1543
1544
|
["uaCH", i],
|
|
1544
1545
|
["rgxMap", e],
|
|
1545
|
-
["data",
|
|
1546
|
+
["data", s0(this, x)]
|
|
1546
1547
|
]), this;
|
|
1547
1548
|
}
|
|
1548
|
-
K.prototype.get = function(
|
|
1549
|
-
return
|
|
1549
|
+
K.prototype.get = function(x) {
|
|
1550
|
+
return x ? this.data.hasOwnProperty(x) ? this.data[x] : void 0 : this.data;
|
|
1550
1551
|
};
|
|
1551
|
-
K.prototype.set = function(
|
|
1552
|
-
return this.data[
|
|
1552
|
+
K.prototype.set = function(x, t) {
|
|
1553
|
+
return this.data[x] = t, this;
|
|
1553
1554
|
};
|
|
1554
|
-
K.prototype.setCH = function(
|
|
1555
|
-
return this.uaCH =
|
|
1555
|
+
K.prototype.setCH = function(x) {
|
|
1556
|
+
return this.uaCH = x, this;
|
|
1556
1557
|
};
|
|
1557
1558
|
K.prototype.detectFeature = function() {
|
|
1558
|
-
if (
|
|
1559
|
+
if (M && M.userAgent == this.ua)
|
|
1559
1560
|
switch (this.itemType) {
|
|
1560
|
-
case
|
|
1561
|
-
|
|
1561
|
+
case D:
|
|
1562
|
+
M.brave && typeof M.brave.isBrave == _.FUNCTION && this.set(l, "Brave");
|
|
1562
1563
|
break;
|
|
1563
1564
|
case F:
|
|
1564
|
-
!this.get(s) &&
|
|
1565
|
+
!this.get(s) && Z && Z[v] && this.set(s, v), this.get(c) == "Macintosh" && M && typeof M.standalone !== _.UNDEFINED && M.maxTouchPoints && M.maxTouchPoints > 2 && this.set(c, "iPad").set(s, k);
|
|
1565
1566
|
break;
|
|
1566
1567
|
case P:
|
|
1567
|
-
!this.get(
|
|
1568
|
+
!this.get(l) && Z && Z[ne] && this.set(l, Z[ne]);
|
|
1568
1569
|
break;
|
|
1569
|
-
case
|
|
1570
|
-
var
|
|
1571
|
-
return
|
|
1570
|
+
case ae:
|
|
1571
|
+
var x = this.data, t = function(e) {
|
|
1572
|
+
return x[e].getItem().detectFeature().get();
|
|
1572
1573
|
};
|
|
1573
|
-
this.set(
|
|
1574
|
+
this.set(D, t(D)).set(Y, t(Y)).set(F, t(F)).set(U, t(U)).set(P, t(P));
|
|
1574
1575
|
}
|
|
1575
1576
|
return this;
|
|
1576
1577
|
};
|
|
1577
1578
|
K.prototype.parseUA = function() {
|
|
1578
|
-
switch (this.itemType !=
|
|
1579
|
-
case
|
|
1580
|
-
this.set(
|
|
1579
|
+
switch (this.itemType != ae && $e.call(this.data, this.ua, this.rgxMap), this.itemType) {
|
|
1580
|
+
case D:
|
|
1581
|
+
this.set(pe, Qe(this.get(d)));
|
|
1581
1582
|
break;
|
|
1582
1583
|
case P:
|
|
1583
|
-
if (this.get(
|
|
1584
|
-
var
|
|
1585
|
-
|
|
1584
|
+
if (this.get(l) == "iOS" && this.get(d) == "18.6") {
|
|
1585
|
+
var x = /\) Version\/([\d\.]+)/.exec(this.ua);
|
|
1586
|
+
x && parseInt(x[1].substring(0, 2), 10) >= 26 && this.set(d, x[1]);
|
|
1586
1587
|
}
|
|
1587
1588
|
break;
|
|
1588
1589
|
}
|
|
1589
1590
|
return this;
|
|
1590
1591
|
};
|
|
1591
1592
|
K.prototype.parseCH = function() {
|
|
1592
|
-
var
|
|
1593
|
+
var x = this.uaCH, t = this.rgxMap;
|
|
1593
1594
|
switch (this.itemType) {
|
|
1594
|
-
case
|
|
1595
|
+
case D:
|
|
1595
1596
|
case U:
|
|
1596
|
-
var e =
|
|
1597
|
+
var e = x[tt] || x[et], i;
|
|
1597
1598
|
if (e)
|
|
1598
|
-
for (var
|
|
1599
|
-
var r = e[
|
|
1600
|
-
this.itemType ==
|
|
1599
|
+
for (var a = 0; a < e.length; a++) {
|
|
1600
|
+
var r = e[a].brand || e[a], o = e[a].version;
|
|
1601
|
+
this.itemType == D && !/not.a.brand/i.test(r) && (!i || /Chrom/.test(i) && r != wt || i == Se && /WebView2/.test(r)) && (r = N(r, o0), i = this.get(l), i && !/Chrom/.test(i) && /Chrom/.test(r) || this.set(l, r).set(d, o).set(pe, Qe(o)), i = r), this.itemType == U && r == wt && this.set(d, o);
|
|
1601
1602
|
}
|
|
1602
1603
|
break;
|
|
1603
|
-
case
|
|
1604
|
-
var
|
|
1605
|
-
|
|
1604
|
+
case Y:
|
|
1605
|
+
var h = x[O];
|
|
1606
|
+
h && (h && x[Ue] == "64" && (h += "64"), $e.call(this.data, h + ";", t));
|
|
1606
1607
|
break;
|
|
1607
1608
|
case F:
|
|
1608
|
-
if (
|
|
1609
|
+
if (x[v] && this.set(s, v), x[c] && (this.set(c, x[c]), !this.get(s) || !this.get(u))) {
|
|
1609
1610
|
var f = {};
|
|
1610
|
-
|
|
1611
|
+
$e.call(f, "droid 9; " + x[c] + ")", t), !this.get(s) && f.type && this.set(s, f.type), !this.get(u) && f.vendor && this.set(u, f.vendor);
|
|
1611
1612
|
}
|
|
1612
|
-
if (
|
|
1613
|
+
if (x[X]) {
|
|
1613
1614
|
var S;
|
|
1614
|
-
if (typeof
|
|
1615
|
-
for (var I = 0; !S && I <
|
|
1616
|
-
S = N(
|
|
1615
|
+
if (typeof x[X] != "string")
|
|
1616
|
+
for (var I = 0; !S && I < x[X].length; )
|
|
1617
|
+
S = N(x[X][I++], yt);
|
|
1617
1618
|
else
|
|
1618
|
-
S = N(
|
|
1619
|
+
S = N(x[X], yt);
|
|
1619
1620
|
this.set(s, S);
|
|
1620
1621
|
}
|
|
1621
1622
|
break;
|
|
1622
1623
|
case P:
|
|
1623
|
-
var R =
|
|
1624
|
+
var R = x[ne];
|
|
1624
1625
|
if (R) {
|
|
1625
|
-
var H =
|
|
1626
|
-
R == Xe && (H = parseInt(
|
|
1626
|
+
var H = x[it];
|
|
1627
|
+
R == Xe && (H = parseInt(Qe(H), 10) >= 13 ? "11" : "10"), this.set(l, R).set(d, H);
|
|
1627
1628
|
}
|
|
1628
|
-
this.get(
|
|
1629
|
+
this.get(l) == Xe && x[c] == "Xbox" && this.set(l, "Xbox").set(d, void 0);
|
|
1629
1630
|
break;
|
|
1630
|
-
case
|
|
1631
|
-
var oe = this.data, z = function(
|
|
1632
|
-
return oe[
|
|
1631
|
+
case ae:
|
|
1632
|
+
var oe = this.data, z = function(fe) {
|
|
1633
|
+
return oe[fe].getItem().setCH(x).parseCH().get();
|
|
1633
1634
|
};
|
|
1634
|
-
this.set(
|
|
1635
|
+
this.set(D, z(D)).set(Y, z(Y)).set(F, z(F)).set(U, z(U)).set(P, z(P));
|
|
1635
1636
|
}
|
|
1636
1637
|
return this;
|
|
1637
1638
|
};
|
|
1638
|
-
function
|
|
1639
|
-
if (typeof
|
|
1640
|
-
if (typeof e.append ===
|
|
1639
|
+
function G(x, t, e) {
|
|
1640
|
+
if (typeof x === _.OBJECT ? (Te(x, !0) ? (typeof t === _.OBJECT && (e = t), t = x) : (e = x, t = void 0), x = void 0) : typeof x === _.STRING && !Te(t, !0) && (e = t, t = void 0), e)
|
|
1641
|
+
if (typeof e.append === _.FUNCTION) {
|
|
1641
1642
|
var i = {};
|
|
1642
1643
|
e.forEach(function(I, R) {
|
|
1643
1644
|
i[String(R).toLowerCase()] = I;
|
|
1644
1645
|
}), e = i;
|
|
1645
1646
|
} else {
|
|
1646
|
-
var
|
|
1647
|
+
var a = {};
|
|
1647
1648
|
for (var r in e)
|
|
1648
|
-
e.hasOwnProperty(r) && (
|
|
1649
|
-
e =
|
|
1649
|
+
e.hasOwnProperty(r) && (a[String(r).toLowerCase()] = e[r]);
|
|
1650
|
+
e = a;
|
|
1650
1651
|
}
|
|
1651
|
-
if (!(this instanceof
|
|
1652
|
-
return new
|
|
1653
|
-
var o = typeof
|
|
1652
|
+
if (!(this instanceof G))
|
|
1653
|
+
return new G(x, t, e).getResult();
|
|
1654
|
+
var o = typeof x === _.STRING ? x : (
|
|
1654
1655
|
// Passed user-agent string
|
|
1655
1656
|
e && e[ot] ? e[ot] : (
|
|
1656
1657
|
// User-Agent from passed headers
|
|
1657
|
-
|
|
1658
|
+
M && M.userAgent ? M.userAgent : (
|
|
1658
1659
|
// navigator.userAgent
|
|
1659
|
-
|
|
1660
|
+
xe
|
|
1660
1661
|
)
|
|
1661
1662
|
)
|
|
1662
|
-
),
|
|
1663
|
-
return I ==
|
|
1664
|
-
return new K(I, o, f,
|
|
1663
|
+
), h = new Dt(e, !0), f = t ? r0(vt, t) : vt, S = function(I) {
|
|
1664
|
+
return I == ae ? function() {
|
|
1665
|
+
return new K(I, o, f, h).set("ua", o).set(D, this.getBrowser()).set(Y, this.getCPU()).set(F, this.getDevice()).set(U, this.getEngine()).set(P, this.getOS()).get();
|
|
1665
1666
|
} : function() {
|
|
1666
|
-
return new K(I, o, f[I],
|
|
1667
|
+
return new K(I, o, f[I], h).parseUA().get();
|
|
1667
1668
|
};
|
|
1668
1669
|
};
|
|
1669
|
-
return
|
|
1670
|
-
["getBrowser", S(
|
|
1671
|
-
["getCPU", S(
|
|
1670
|
+
return V.call(this, [
|
|
1671
|
+
["getBrowser", S(D)],
|
|
1672
|
+
["getCPU", S(Y)],
|
|
1672
1673
|
["getDevice", S(F)],
|
|
1673
1674
|
["getEngine", S(U)],
|
|
1674
1675
|
["getOS", S(P)],
|
|
1675
|
-
["getResult", S(
|
|
1676
|
+
["getResult", S(ae)],
|
|
1676
1677
|
["getUA", function() {
|
|
1677
1678
|
return o;
|
|
1678
1679
|
}],
|
|
1679
1680
|
["setUA", function(I) {
|
|
1680
|
-
return
|
|
1681
|
+
return he(I) && (o = Ae(I, Xt)), this;
|
|
1681
1682
|
}]
|
|
1682
1683
|
]).setUA(o), this;
|
|
1683
1684
|
}
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
const
|
|
1685
|
+
G.VERSION = Jt;
|
|
1686
|
+
G.BROWSER = Le([l, d, pe, s]);
|
|
1687
|
+
G.CPU = Le([O]);
|
|
1688
|
+
G.DEVICE = Le([c, u, s, ve, v, C, k, B, ue]);
|
|
1689
|
+
G.ENGINE = G.OS = Le([l, d]);
|
|
1690
|
+
const c0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1690
1691
|
__proto__: null,
|
|
1691
|
-
UAParser:
|
|
1692
|
+
UAParser: G
|
|
1692
1693
|
}, Symbol.toStringTag, { value: "Module" })), A = [];
|
|
1693
|
-
for (let
|
|
1694
|
-
A.push((
|
|
1695
|
-
function l0(
|
|
1696
|
-
return (A[
|
|
1694
|
+
for (let x = 0; x < 256; ++x)
|
|
1695
|
+
A.push((x + 256).toString(16).slice(1));
|
|
1696
|
+
function l0(x, t = 0) {
|
|
1697
|
+
return (A[x[t + 0]] + A[x[t + 1]] + A[x[t + 2]] + A[x[t + 3]] + "-" + A[x[t + 4]] + A[x[t + 5]] + "-" + A[x[t + 6]] + A[x[t + 7]] + "-" + A[x[t + 8]] + A[x[t + 9]] + "-" + A[x[t + 10]] + A[x[t + 11]] + A[x[t + 12]] + A[x[t + 13]] + A[x[t + 14]] + A[x[t + 15]]).toLowerCase();
|
|
1697
1698
|
}
|
|
1698
|
-
let
|
|
1699
|
-
const
|
|
1700
|
-
function
|
|
1701
|
-
if (!
|
|
1699
|
+
let je;
|
|
1700
|
+
const d0 = new Uint8Array(16);
|
|
1701
|
+
function u0() {
|
|
1702
|
+
if (!je) {
|
|
1702
1703
|
if (typeof crypto > "u" || !crypto.getRandomValues)
|
|
1703
1704
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
1704
|
-
|
|
1705
|
+
je = crypto.getRandomValues.bind(crypto);
|
|
1705
1706
|
}
|
|
1706
|
-
return
|
|
1707
|
+
return je(d0);
|
|
1707
1708
|
}
|
|
1708
|
-
const
|
|
1709
|
-
function
|
|
1710
|
-
|
|
1711
|
-
const i =
|
|
1709
|
+
const p0 = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), St = { randomUUID: p0 };
|
|
1710
|
+
function h0(x, t, e) {
|
|
1711
|
+
x = x || {};
|
|
1712
|
+
const i = x.random ?? x.rng?.() ?? u0();
|
|
1712
1713
|
if (i.length < 16)
|
|
1713
1714
|
throw new Error("Random bytes length must be >= 16");
|
|
1714
1715
|
return i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128, l0(i);
|
|
1715
1716
|
}
|
|
1716
|
-
function
|
|
1717
|
-
return
|
|
1717
|
+
function Pt(x, t, e) {
|
|
1718
|
+
return St.randomUUID && !x ? St.randomUUID() : h0(x);
|
|
1718
1719
|
}
|
|
1719
|
-
const
|
|
1720
|
-
(function(
|
|
1721
|
-
const e =
|
|
1720
|
+
const n = Ut;
|
|
1721
|
+
(function(x, t) {
|
|
1722
|
+
const e = Ut, i = x();
|
|
1722
1723
|
for (; ; )
|
|
1723
1724
|
try {
|
|
1724
|
-
if (parseInt(e(
|
|
1725
|
+
if (parseInt(e(520)) / 1 + -parseInt(e(422)) / 2 * (-parseInt(e(498)) / 3) + -parseInt(e(459)) / 4 * (parseInt(e(512)) / 5) + parseInt(e(397)) / 6 * (-parseInt(e(537)) / 7) + parseInt(e(488)) / 8 * (-parseInt(e(379)) / 9) + -parseInt(e(510)) / 10 + -parseInt(e(385)) / 11 * (-parseInt(e(503)) / 12) === t) break;
|
|
1725
1726
|
i.push(i.shift());
|
|
1726
1727
|
} catch {
|
|
1727
1728
|
i.push(i.shift());
|
|
1728
1729
|
}
|
|
1729
|
-
})(
|
|
1730
|
-
const
|
|
1731
|
-
function
|
|
1732
|
-
return
|
|
1730
|
+
})(Re, 630482);
|
|
1731
|
+
const Nt = { AF: n(544), AX: n(416), AL: n(479), DZ: n(455), AS: n(381), AD: n(519), AO: n(508), AI: "Anguilla", AQ: n(509), AG: n(431), AR: n(478), AM: "Armenia", AW: n(382), AU: n(493), AT: n(400), AZ: "Azerbaijan", BS: n(507), BH: "Bahrain", BD: n(514), BB: n(424), BY: "Belarus", BE: n(458), BZ: n(540), BJ: n(462), BM: "Bermuda", BT: n(489), BO: n(530), BQ: n(376), BA: n(490), BW: "Botswana", BV: n(394), BR: n(435), IO: n(370), BN: n(481), BG: n(474), BF: n(516), BI: n(511), CV: n(371), KH: n(473), CM: n(467), CA: "Canada", KY: n(469), CF: n(531), TD: "Chad", CL: n(386), CN: "China", CX: "Christmas Island", CC: n(365), CO: "Colombia", KM: n(502), CG: n(425), CD: n(395), CK: n(388), CR: "Costa Rica", CI: "Côte d'Ivoire", HR: n(412), CU: n(375), CW: n(408), CY: n(419), CZ: "Czech Republic", DK: "Denmark", DJ: n(430), DM: "Dominica", DO: n(392), EC: "Ecuador", EG: "Egypt", SV: n(472), GQ: n(360), ER: "Eritrea", EE: "Estonia", ET: n(369), FK: n(465), FO: n(434), FJ: n(492), FI: n(383), FR: n(541), GF: n(390), PF: n(404), TF: n(389), GA: n(528), GM: n(377), GE: n(420), DE: "Germany", GH: n(482), GI: n(515), GR: n(402), GL: "Greenland", GD: n(373), GP: "Guadeloupe", GU: n(454), GT: n(411), GG: n(423), GN: n(432), GW: n(523), GY: n(524), HT: n(457), HM: n(403), VA: n(426), HN: "Honduras", HK: n(452), HU: n(415), IS: n(442), IN: "India", ID: n(464), IR: n(407), IQ: n(363), IE: n(447), IM: n(391), IL: n(362), IT: "Italy", JM: "Jamaica", JP: n(471), JE: n(448), JO: "Jordan", KZ: n(446), KE: n(393), KI: "Kiribati", KP: n(387), KR: n(359), KW: n(505), KG: n(501), LA: n(542), LV: "Latvia", LB: n(486), LS: "Lesotho", LR: n(444), LY: n(504), LI: "Liechtenstein", LT: n(399), LU: n(466), MO: n(441), MK: "Macedonia (the former Yugoslav Republic of)", MG: n(449), MW: "Malawi", MY: n(518), MV: "Maldives", ML: n(477), MT: "Malta", MH: "Marshall Islands", MQ: "Martinique", MR: "Mauritania", MU: "Mauritius", YT: "Mayotte", MX: n(500), FM: n(468), MD: n(535), MC: n(521), MN: n(545), ME: n(374), MS: n(450), MA: n(405), MZ: n(427), MM: n(527), NA: "Namibia", NR: n(456), NP: n(429), NL: "Netherlands", NC: n(533), NZ: "New Zealand", NI: n(513), NE: "Niger", NG: "Nigeria", NU: n(384), NF: "Norfolk Island", MP: "Northern Mariana Islands", NO: n(372), OM: "Oman", PK: n(491), PW: n(367), PS: n(453), PA: n(534), PG: n(428), PY: n(543), PE: n(480), PH: n(378), PN: "Pitcairn", PL: n(539), PT: n(485), PR: "Puerto Rico", QA: "Qatar", RE: n(538), RO: n(470), RU: n(495), RW: "Rwanda", BL: n(494), SH: "Saint Helena, Ascension and Tristan da Cunha", KN: n(483), LC: n(437), MF: n(368), PM: n(445), VC: "Saint Vincent and the Grenadines", WS: "Samoa", SM: n(461), ST: n(414), SA: n(476), SN: "Senegal", RS: n(401), SC: "Seychelles", SL: n(409), SG: n(421), SX: n(546), SK: n(413), SI: n(460), SB: "Solomon Islands", SO: n(529), ZA: n(525), GS: n(380), SS: n(532), ES: n(517), LK: n(499), SD: n(364), SR: n(361), SJ: "Svalbard and Jan Mayen", SZ: "Swaziland", SE: "Sweden", CH: n(443), SY: n(438), TW: "Taiwan", TJ: n(484), TZ: n(497), TH: n(463), TL: "Timor-Leste", TG: "Togo", TK: "Tokelau", TO: "Tonga", TT: "Trinidad and Tobago", TN: n(439), TR: n(436), TM: n(433), TC: n(418), TV: n(396), UG: n(526), UA: "Ukraine", AE: n(366), GB: n(506), US: n(417), UM: n(440), UY: n(406), UZ: "Uzbekistan", VU: n(475), VE: n(487), VN: n(410), VG: "Virgin Islands (British)", VI: n(398), WF: n(451), EH: n(496), YE: "Yemen", ZM: n(536), ZW: n(522) };
|
|
1732
|
+
function Ut(x, t) {
|
|
1733
|
+
return x = x - 359, Re()[x];
|
|
1733
1734
|
}
|
|
1734
|
-
function
|
|
1735
|
-
const
|
|
1736
|
-
return
|
|
1737
|
-
return
|
|
1738
|
-
},
|
|
1735
|
+
function Re() {
|
|
1736
|
+
const x = ["9WfjzPS", "South Georgia and the South Sandwich Islands", "American Samoa", "Aruba", "Finland", "Niue", "11pdWmdk", "Chile", "Korea (Democratic People's Republic of)", "Cook Islands", "French Southern Territories", "French Guiana", "Isle of Man", "Dominican Republic", "Kenya", "Bouvet Island", "Congo (Democratic Republic of the)", "Tuvalu", "78ekHdGJ", "Virgin Islands (U.S.)", "Lithuania", "Austria", "Serbia", "Greece", "Heard Island and McDonald Islands", "French Polynesia", "Morocco", "Uruguay", "Iran (Islamic Republic of)", "Curaçao", "Sierra Leone", "Viet Nam", "Guatemala", "Croatia", "Slovakia", "Sao Tome and Principe", "Hungary", "Åland Islands", "United States of America", "Turks and Caicos Islands", "Cyprus", "Georgia", "Singapore", "2wrIVYz", "Guernsey", "Barbados", "Congo", "Holy See", "Mozambique", "Papua New Guinea", "Nepal", "Djibouti", "Antigua and Barbuda", "Guinea", "Turkmenistan", "Faroe Islands", "Brazil", "Turkey", "Saint Lucia", "Syrian Arab Republic", "Tunisia", "United States Minor Outlying Islands", "Macao", "Iceland", "Switzerland", "Liberia", "Saint Pierre and Miquelon", "Kazakhstan", "Ireland", "Jersey", "Madagascar", "Montserrat", "Wallis and Futuna", "Hong Kong", "Palestine, State of", "Guam", "Algeria", "Nauru", "Haiti", "Belgium", "186772jWebJa", "Slovenia", "San Marino", "Benin", "Thailand", "Indonesia", "Falkland Islands (Malvinas)", "Luxembourg", "Cameroon", "Micronesia (Federated States of)", "Cayman Islands", "Romania", "Japan", "El Salvador", "Cambodia", "Bulgaria", "Vanuatu", "Saudi Arabia", "Mali", "Argentina", "Albania", "Peru", "Brunei Darussalam", "Ghana", "Saint Kitts and Nevis", "Tajikistan", "Portugal", "Lebanon", "Venezuela (Bolivarian Republic of)", "9630232PuUxZY", "Bhutan", "Bosnia and Herzegovina", "Pakistan", "Fiji", "Australia", "Saint Barthélemy", "Russian Federation", "Western Sahara", "Tanzania, United Republic of", "728781kFflpM", "Sri Lanka", "Mexico", "Kyrgyzstan", "Comoros", "21115860GavMGu", "Libya", "Kuwait", "United Kingdom", "Bahamas", "Angola", "Antarctica", "274550nnovEx", "Burundi", "10LxAjmS", "Nicaragua", "Bangladesh", "Gibraltar", "Burkina Faso", "Spain", "Malaysia", "Andorra", "890067zkJbAb", "Monaco", "Zimbabwe", "Guinea-Bissau", "Guyana", "South Africa", "Uganda", "Myanmar", "Gabon", "Somalia", "Bolivia (Plurinational State of)", "Central African Republic", "South Sudan", "New Caledonia", "Panama", "Moldova (Republic of)", "Zambia", "504833rkQeog", "Réunion", "Poland", "Belize", "France", "Lao People's Democratic Republic", "Paraguay", "Afghanistan", "Mongolia", "Sint Maarten (Dutch part)", "Korea, Republic of", "Equatorial Guinea", "Suriname", "Israel", "Iraq", "Sudan", "Cocos (Keeling) Islands", "United Arab Emirates", "Palau", "Saint Martin (French part)", "Ethiopia", "British Indian Ocean Territory", "Cabo Verde", "Norway", "Grenada", "Montenegro", "Cuba", "Bonaire, Sint Eustatius and Saba", "Gambia", "Philippines"];
|
|
1737
|
+
return Re = function() {
|
|
1738
|
+
return x;
|
|
1739
|
+
}, Re();
|
|
1739
1740
|
}
|
|
1740
|
-
const
|
|
1741
|
-
(function(
|
|
1742
|
-
const e =
|
|
1741
|
+
const E = xt;
|
|
1742
|
+
(function(x, t) {
|
|
1743
|
+
const e = xt, i = x();
|
|
1743
1744
|
for (; ; )
|
|
1744
1745
|
try {
|
|
1745
|
-
if (-parseInt(e(
|
|
1746
|
+
if (-parseInt(e(307)) / 1 + -parseInt(e(313)) / 2 + -parseInt(e(255)) / 3 * (parseInt(e(264)) / 4) + -parseInt(e(295)) / 5 * (-parseInt(e(315)) / 6) + -parseInt(e(293)) / 7 + -parseInt(e(254)) / 8 * (-parseInt(e(250)) / 9) + parseInt(e(290)) / 10 === t) break;
|
|
1746
1747
|
i.push(i.shift());
|
|
1747
1748
|
} catch {
|
|
1748
1749
|
i.push(i.shift());
|
|
1749
1750
|
}
|
|
1750
|
-
})(
|
|
1751
|
-
|
|
1752
|
-
|
|
1751
|
+
})(Oe, 973507);
|
|
1752
|
+
const Be = { gov: { prod: { log: E(253), report: E(270) }, beta: { log: E(271), report: "https://log.beta-vpe.gov-ntruss.com/stats" } }, pub: { prod: { log: "https://papi.vpe.naverncp.com/player/maSync", report: "https://log.vpe.naverncp.com/stats" }, beta: { log: E(277), report: E(257) } } };
|
|
1753
|
+
let T = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: E(323), extra: { sessionId: null, playerType: E(311) }, log_type: E(272), privacy: { cookie_enabled: !0 } }, L = { platform: E(251), stage: E(280), sync: !1, syncResult: {} };
|
|
1754
|
+
const f0 = (/* @__PURE__ */ new Date())[E(252)](), Lt = (x) => x;
|
|
1755
|
+
function ye() {
|
|
1756
|
+
return Pt();
|
|
1753
1757
|
}
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
const b0 = (/* @__PURE__ */ new Date())[_(362)](), Ht = (a) => a;
|
|
1757
|
-
function ve() {
|
|
1758
|
-
return Ut();
|
|
1758
|
+
function It() {
|
|
1759
|
+
return Pt();
|
|
1759
1760
|
}
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
}
|
|
1763
|
-
const Gt = () => {
|
|
1764
|
-
const a = _, t = /* @__PURE__ */ new Date(), e = (o) => String(o)[a(383)](2, "0"), i = t[a(337)]() + "-" + e(t[a(326)]() + 1) + "-" + e(t[a(376)]()) + " " + e(t[a(372)]()) + ":" + e(t[a(333)]()) + ":" + e(t[a(387)]()), n = Math[a(346)](t.getTime() / 1e3), r = (/* @__PURE__ */ new Date())[a(362)]() - b0;
|
|
1765
|
-
return { logDate: i, logDateUnix: n, thisSec: r };
|
|
1761
|
+
const Bt = () => {
|
|
1762
|
+
const x = E, t = /* @__PURE__ */ new Date(), e = (o) => String(o)[x(287)](2, "0"), i = t[x(302)]() + "-" + e(t.getMonth() + 1) + "-" + e(t.getDate()) + " " + e(t[x(318)]()) + ":" + e(t.getMinutes()) + ":" + e(t[x(265)]()), a = Math.floor(t[x(252)]() / 1e3), r = (/* @__PURE__ */ new Date())[x(252)]() - f0;
|
|
1763
|
+
return { logDate: i, logDateUnix: a, thisSec: r };
|
|
1766
1764
|
};
|
|
1767
|
-
function
|
|
1768
|
-
|
|
1769
|
-
return De = function() {
|
|
1770
|
-
return a;
|
|
1771
|
-
}, De();
|
|
1765
|
+
function b0(x) {
|
|
1766
|
+
return typeof x == "object" && x !== null && !Array[E(292)](x);
|
|
1772
1767
|
}
|
|
1773
|
-
function
|
|
1774
|
-
|
|
1775
|
-
return typeof a === t(393) && a !== null && !Array[t(390)](a);
|
|
1768
|
+
function xt(x, t) {
|
|
1769
|
+
return x = x - 250, Oe()[x];
|
|
1776
1770
|
}
|
|
1777
|
-
function
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
})) : n != null && (a[i] = n);
|
|
1771
|
+
function at(x, t) {
|
|
1772
|
+
Object.entries(t).forEach(([e, i]) => {
|
|
1773
|
+
const a = xt;
|
|
1774
|
+
b0(i) ? (!x[e] && (x[e] = {}), Object[a(297)](i)[a(294)](([r, o]) => {
|
|
1775
|
+
o != null && (x[e][r] = o);
|
|
1776
|
+
})) : i != null && (x[e] = i);
|
|
1784
1777
|
});
|
|
1785
1778
|
}
|
|
1786
|
-
function
|
|
1787
|
-
const t =
|
|
1788
|
-
return
|
|
1779
|
+
function w0(x) {
|
|
1780
|
+
const t = E;
|
|
1781
|
+
return x[t(301)]("m3u8") > -1 ? t(291) : x[t(301)](t(276)) > -1 ? t(303) : t(319);
|
|
1789
1782
|
}
|
|
1790
|
-
function
|
|
1791
|
-
const t =
|
|
1792
|
-
return
|
|
1783
|
+
function g0(x) {
|
|
1784
|
+
const t = E, e = [];
|
|
1785
|
+
return x?.r1 && e[t(326)](x.r1), x?.r2 && e[t(326)](x.r2), x?.r3 && e[t(326)](x.r3), e[t(300)](" ");
|
|
1793
1786
|
}
|
|
1794
|
-
function
|
|
1795
|
-
const t =
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
}),
|
|
1787
|
+
function Ft(x) {
|
|
1788
|
+
const t = E;
|
|
1789
|
+
x[t(314)] === t(305) && (x.actionDuration = 0), x[t(314)] === void 0 && (x.actionDuration = 0), ["playerStartTime", "videoStartTime", t(298), t(288)][t(294)]((i) => {
|
|
1790
|
+
x[i] === void 0 && (x[i] = 0);
|
|
1791
|
+
}), x[t(309)] === void 0 && T[t(284)]?.type && (x[t(309)] = T.video[t(309)]), x[t(269)] === void 0 && T[t(284)]?.[t(269)] && (x[t(269)] = T.video[t(269)], x[t(261)] = w0(x[t(269)]));
|
|
1799
1792
|
}
|
|
1800
|
-
function
|
|
1801
|
-
const t =
|
|
1802
|
-
return !!(
|
|
1793
|
+
function Gt(x) {
|
|
1794
|
+
const t = E;
|
|
1795
|
+
return !!(x[t(258)] && x[t(312)] && x[t(322)]);
|
|
1803
1796
|
}
|
|
1804
|
-
function
|
|
1805
|
-
const t =
|
|
1797
|
+
function Fe(x) {
|
|
1798
|
+
const t = E;
|
|
1806
1799
|
try {
|
|
1807
|
-
const e = L[t(
|
|
1808
|
-
e && (
|
|
1800
|
+
const e = L[t(259)]?.[t(283)];
|
|
1801
|
+
e && (x[t(256)] = g0(e), x.isp = e[t(262)] || "", x.ip = L[t(259)]?.ip || "", x[t(282)] = e[t(306)] || "");
|
|
1809
1802
|
} catch {
|
|
1810
1803
|
}
|
|
1811
1804
|
}
|
|
1812
|
-
|
|
1813
|
-
const
|
|
1814
|
-
|
|
1815
|
-
|
|
1805
|
+
function Oe() {
|
|
1806
|
+
const x = ["mpd", "https://papi.beta-vpe.naverncp.com/player/maSync", "Korea, Republic of", "stage", "prod", "log", "nation", "geoLocation", "video", "MA config initialization failed:", "log_type", "padStart", "seekedTime", "application/json", "22177330zarpWv", "hls", "isArray", "5641293UCRKlC", "forEach", "35MSPLBF", "sync", "entries", "totalStartTime", "vpePackageId", "join", "indexOf", "getFullYear", "dash", "result", "1.0", "country", "25227pftRJB", "assign", "type", "report", "VPE React Native", "TID", "2645486fScQUq", "actionDuration", "913692lXHpHw", "MA init report failed:", "created_at", "getHours", "mp4", "POST", "sessionId", "host", "latest", "actionType", "logDate", "push", "stringify", "9ObtQYZ", "pub", "getTime", "https://papi.vpe.gov-ntruss.com/player/maSync", "12320632ikBRti", "508923lcwSOH", "address", "https://log.beta-vpe.naverncp.com/stats", "UUID", "syncResult", "error", "videoFormat", "net", "vpeKey", "40rTDoBR", "getSeconds", "browser", "logDateUnix", "parse", "url", "https://log.vpe.gov-ntruss.com/stats", "https://papi.beta-vpe.gov-ntruss.com/player/maSync", "vpe", "platform", "extra", "------------------------------------------------"];
|
|
1807
|
+
return Oe = function() {
|
|
1808
|
+
return x;
|
|
1809
|
+
}, Oe();
|
|
1810
|
+
}
|
|
1811
|
+
const m0 = async (x) => {
|
|
1812
|
+
const t = E;
|
|
1813
|
+
if (!x) return;
|
|
1814
|
+
const { platform: e, stage: i } = L, a = Be[e][i][t(281)];
|
|
1816
1815
|
try {
|
|
1817
|
-
const r = await fetch(
|
|
1818
|
-
L
|
|
1819
|
-
const { logDate:
|
|
1820
|
-
return
|
|
1816
|
+
const r = await fetch(a, { method: t(320), headers: { "Content-Type": "application/json" }, body: JSON[t(327)]({ access_key: x }) }), o = await r.json();
|
|
1817
|
+
L[t(296)] = o[t(304)]?.sync || !1, L[t(259)] = o[t(304)] || {};
|
|
1818
|
+
const { logDate: h, logDateUnix: f } = Bt();
|
|
1819
|
+
return T[t(274)][t(325)] = h, T[t(274)].logDateUnix = f, L[t(259)]?.geoLocation && Fe(T[t(274)]), o;
|
|
1821
1820
|
} catch (r) {
|
|
1822
|
-
return console
|
|
1821
|
+
return console[t(260)](t(285), r), null;
|
|
1823
1822
|
}
|
|
1824
|
-
},
|
|
1825
|
-
const t =
|
|
1826
|
-
r[t(
|
|
1823
|
+
}, y0 = async (x) => {
|
|
1824
|
+
const t = E, { platform: e, stage: i } = L, a = Lt(Be[e][i].report), r = { ...x };
|
|
1825
|
+
r[t(286)] = t(272), Fe(r[t(274)]);
|
|
1827
1826
|
try {
|
|
1828
|
-
await fetch(
|
|
1827
|
+
await fetch(a, { method: t(320), headers: { "Content-Type": "application/json" }, body: JSON[t(327)](r) });
|
|
1829
1828
|
} catch (o) {
|
|
1830
|
-
console
|
|
1829
|
+
console.error(t(316), o);
|
|
1831
1830
|
}
|
|
1832
|
-
},
|
|
1833
|
-
const t =
|
|
1834
|
-
if (
|
|
1831
|
+
}, v0 = async (x) => {
|
|
1832
|
+
const t = E, { platform: e, stage: i } = L, a = Lt(Be[e][i][t(310)]), r = JSON[t(268)](JSON[t(327)](T));
|
|
1833
|
+
if (at(r, x), r[t(286)] = "MA", Fe(r[t(274)]), Ft(r.extra), !!Gt(r.extra))
|
|
1835
1834
|
try {
|
|
1836
|
-
r[t(
|
|
1835
|
+
r[t(309)] != "timeupdate", await fetch(a, { method: t(320), headers: { "Content-Type": t(289) }, body: JSON[t(327)](r) });
|
|
1837
1836
|
} catch (o) {
|
|
1838
|
-
console[t(
|
|
1837
|
+
console[t(281)]("MA report failed:", o);
|
|
1839
1838
|
}
|
|
1840
1839
|
};
|
|
1841
|
-
async function
|
|
1842
|
-
const r =
|
|
1843
|
-
L[r(
|
|
1844
|
-
const { logDate: o, logDateUnix:
|
|
1845
|
-
|
|
1840
|
+
async function S0(x, t, e, i, a) {
|
|
1841
|
+
const r = E;
|
|
1842
|
+
L[r(273)] = x, L[r(279)] = t, at(T, e), i && (T[r(274)][r(299)] = i), a && (T[r(274)][r(263)] = a), T[r(274)][r(282)] ? T[r(266)][r(306)] = Nt[T[r(274)][r(282)]] || "Korea, Republic of" : T.browser[r(306)] = r(278);
|
|
1843
|
+
const { logDate: o, logDateUnix: h } = Bt();
|
|
1844
|
+
T[r(274)][r(325)] = o, T[r(274)][r(267)] = h, T.extra[r(317)] = h;
|
|
1846
1845
|
}
|
|
1847
|
-
async function
|
|
1848
|
-
const t =
|
|
1849
|
-
|
|
1846
|
+
async function I0(x) {
|
|
1847
|
+
const t = E, e = JSON[t(268)](JSON[t(327)](T));
|
|
1848
|
+
x.extra && Object[t(308)](e[t(274)], x[t(274)]), e[t(284)] = x[t(284)], await y0(e), console.log("MA vpe init");
|
|
1850
1849
|
}
|
|
1851
|
-
function
|
|
1852
|
-
const t =
|
|
1853
|
-
if (!
|
|
1854
|
-
const r = JSON[t(
|
|
1855
|
-
if (
|
|
1850
|
+
function k0(x) {
|
|
1851
|
+
const t = E, { platform: e, stage: i } = L, a = Be[e]?.[i]?.[t(310)];
|
|
1852
|
+
if (!a) return !1;
|
|
1853
|
+
const r = JSON[t(268)](JSON[t(327)](T));
|
|
1854
|
+
if (at(r, x), r.log_type = "MA", Fe(r[t(274)]), Ft(r[t(274)]), !Gt(r.extra)) return !1;
|
|
1856
1855
|
try {
|
|
1857
|
-
const o = new Blob([JSON[t(
|
|
1858
|
-
return navigator
|
|
1856
|
+
const o = new Blob([JSON[t(327)](r)], { type: t(289) });
|
|
1857
|
+
return navigator.sendBeacon(a, o);
|
|
1859
1858
|
} catch {
|
|
1860
1859
|
return !1;
|
|
1861
1860
|
}
|
|
1862
1861
|
}
|
|
1863
|
-
const
|
|
1864
|
-
(function(
|
|
1865
|
-
const e = nt, i =
|
|
1862
|
+
const E0 = nt;
|
|
1863
|
+
(function(x, t) {
|
|
1864
|
+
const e = nt, i = x();
|
|
1866
1865
|
for (; ; )
|
|
1867
1866
|
try {
|
|
1868
|
-
if (-parseInt(e(
|
|
1867
|
+
if (-parseInt(e(190)) / 1 + parseInt(e(206)) / 2 + -parseInt(e(203)) / 3 + parseInt(e(195)) / 4 + parseInt(e(202)) / 5 + -parseInt(e(197)) / 6 * (parseInt(e(204)) / 7) + parseInt(e(201)) / 8 === t) break;
|
|
1869
1868
|
i.push(i.shift());
|
|
1870
1869
|
} catch {
|
|
1871
1870
|
i.push(i.shift());
|
|
1872
1871
|
}
|
|
1873
|
-
})(
|
|
1874
|
-
const
|
|
1875
|
-
const e = nt, i = { autostart: !0, muted: !1, aspectRatio:
|
|
1876
|
-
if (t !== e(
|
|
1877
|
-
const
|
|
1878
|
-
return
|
|
1872
|
+
})(Me, 540103);
|
|
1873
|
+
const _0 = (x = {}, t) => {
|
|
1874
|
+
const e = nt, i = { autostart: !0, muted: !1, aspectRatio: "16/9", objectFit: e(191), controls: !0, keyboardShortcut: !0, startMutedInfoNotVisible: !1, allowsPictureInPicture: !1, staysActiveInBackground: !1, screenRecordingPrevention: !1, modalFullscreen: !1, seekingPreview: !0, lang: "ko", ui: "all", controlBtn: { play: !0, fullscreen: !0, progressBar: !0, volume: !1, times: !0, pictureInPicture: !0, setting: !0, subtitle: !0 }, progressBarColor: "#4299f5", controlActiveTime: 3e3, playRateSetting: [0.5, 0.75, 1, 1.5, 2], autoPause: !1, repeat: !1, setStartTime: void 0, playIndex: 0, lowLatencyMode: !0, touchGestures: !0, descriptionNotVisible: !1, devTestAppId: void 0, token: "", visibleWatermark: !1, iosFullscreenNativeMode: !0, watermarkText: e(194), watermarkConfig: { randPosition: !0, randPositionInterVal: 3e3, x: 10, y: 10, opacity: 0.5 }, captionStyle: { fontSize: 12, color: e(198), backgroundColor: e(200), edgeStyle: e(193) }, override: null };
|
|
1875
|
+
if (t !== e(188)) return { ...i, ...C0 };
|
|
1876
|
+
const a = { ...i, ...x };
|
|
1877
|
+
return x[e(205)] && (a[e(205)] = { ...i[e(205)], ...x[e(205)] }), x[e(196)] && (a[e(196)] = { ...i[e(196)], ...x.watermarkConfig }), x[e(199)] && (a[e(199)] = { ...i.captionStyle, ...x[e(199)] }), a[e(205)]?.[e(192)] === void 0 && (a[e(205)][e(192)] = !0), a;
|
|
1879
1878
|
};
|
|
1880
|
-
function
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
const a = ["2pgoMTT", "5OxssTF", "dropshadow", "24FTdGSS", "4072236oFGDDr", "controlBtn", "rgba(0, 0, 0, 0.4)", "NAVER CLOUD PLATFORM", "all", "captionStyle", "1162559SNbzIX", "#ffffff", "16/9", "35aLEUZE", "288978eraRJS", "260520bdKUAF", "1811480yUCMjA", "257554PThtBI", "25794AXJEoo", "#009dff", "4920SaQgLA", "pay"];
|
|
1886
|
-
return Oe = function() {
|
|
1887
|
-
return a;
|
|
1888
|
-
}, Oe();
|
|
1879
|
+
function Me() {
|
|
1880
|
+
const x = ["all", "1013755aXTQOq", "contain", "progressBar", "dropshadow", "NAVER CLOUD PLATFORM", "3331624CfNAUL", "watermarkConfig", "707622crajHQ", "#ffffff", "captionStyle", "rgba(0, 0, 0, 0.4)", "163000RPcYPT", "5320260zALsLa", "2496426mmOKTT", "7bmRoqm", "controlBtn", "1173208cTTsLi", "pay"];
|
|
1881
|
+
return Me = function() {
|
|
1882
|
+
return x;
|
|
1883
|
+
}, Me();
|
|
1889
1884
|
}
|
|
1890
|
-
function
|
|
1891
|
-
|
|
1892
|
-
return Pe = function() {
|
|
1893
|
-
return a;
|
|
1894
|
-
}, Pe();
|
|
1885
|
+
function nt(x, t) {
|
|
1886
|
+
return x = x - 188, Me()[x];
|
|
1895
1887
|
}
|
|
1896
|
-
const
|
|
1897
|
-
(function(
|
|
1898
|
-
const e =
|
|
1888
|
+
const C0 = { free: !0, startMutedInfoNotVisible: !1, lowLatencyMode: !1, progressBarColor: "#009dff", playRateSetting: [0.5, 0.75, 1, 1.5, 2], descriptionNotVisible: !0, seekingPreview: !1, controlActiveTime: 1500, ui: E0(189), token: "", setStartTime: null, controlBtn: { play: !0, fullscreen: !0, volume: !0, times: !0, setting: !1, pictureInPicture: !1, progressBar: !0 } }, g = Ht;
|
|
1889
|
+
(function(x, t) {
|
|
1890
|
+
const e = Ht, i = x();
|
|
1899
1891
|
for (; ; )
|
|
1900
1892
|
try {
|
|
1901
|
-
if (parseInt(e(
|
|
1893
|
+
if (parseInt(e(377)) / 1 + parseInt(e(349)) / 2 * (parseInt(e(285)) / 3) + -parseInt(e(395)) / 4 + -parseInt(e(297)) / 5 + parseInt(e(332)) / 6 + -parseInt(e(338)) / 7 * (parseInt(e(404)) / 8) + parseInt(e(411)) / 9 === t) break;
|
|
1902
1894
|
i.push(i.shift());
|
|
1903
1895
|
} catch {
|
|
1904
1896
|
i.push(i.shift());
|
|
1905
1897
|
}
|
|
1906
|
-
})(
|
|
1907
|
-
|
|
1898
|
+
})(De, 674085);
|
|
1899
|
+
function Ht(x, t) {
|
|
1900
|
+
return x = x - 283, De()[x];
|
|
1901
|
+
}
|
|
1902
|
+
function De() {
|
|
1903
|
+
const x = ["Unknown Error", "nextTrack", "seeked", "quality", "firstPlay", "forEach", "13948344PVXuyz", "prevQuality", "fullscreenYn", "padStart", "PLAYING", "WAITING_END", "pause", "prevAction", "error", "handleTrackChange", "REBUFFERING", "message", "url", "prevTime", "3kWkUEX", "seeking", "PAUSE", "handleTimeUpdate", "prevUrl", "ERROR", "isSeeking", "percent", "SEEKED", "code", "entries", "buildSessionMetrics", "342000LYyGLf", "getTime", "getDate", "speedChangeCnt", "E0000", "duration", "beforeunload", "handleTimeUpdateFocus", "isFullscreen", "dispatchEvent", "playAttempt", "getSeconds", "extra", "playedTime", "state", "reportData", "pauseCnt", "resetStateForNewTrack", "FULLSCREEN_CHANGE", "handleError", "handleQualityChange", "Korea, Republic of", "WAITING", "waiting", "browser", "hidden", "addEventListener", "rebuffering", "loadingEnd", "PREV_TRACK", "ratechange", "quality_change", "startTime", "nation", "handleEnded", "123492uimnTW", "isEnded", "removeEventListener", "RATE_CHANGE", "handlePlay", "sendSessionBeacon", "336679saBnke", "ended", "PAUSED", "UUID", "VPE", "TID", "TIMEUPDATE", "handleWaiting", "round", "lastPlaybackSpeed", "getFullYear", "98454RhfJUY", "seekCnt", "visibilitychange", "currentTime", "timeupdate", "boundVisibilityChange", "handleCanplay", "toFixed", "bufferingStart", "ENDED", "sessionId", "initializeReportData", "isBuffering", "visibilityState", "playbackRate", "handleRateChange", "getMinutes", "contentDuration", "contentId", "boundBeforeUnload", "maSync", "handlePause", "NEXT_TRACK", "PLAYER_START", "handleSeeking", "STARTUP", "playing", "bind", "104826rgYzbf", "CANPLAY", "initTimeupdate", "firstPlaying", "SEEKING", "stageData", "startup", "type", "player_start", "getHours", "report", "country", "isPlaying", "object", "handleBeforeUnload", "QUALITY_CHANGE", "data", "beaconSent", "1234432kLZjSG", "handleFullscreenChange", "handlePlayerStart", "then", "video", "now", "handleVisibilityChange", "firstError", "isPlainObject", "112DOzafZ"];
|
|
1904
|
+
return De = function() {
|
|
1905
|
+
return x;
|
|
1906
|
+
}, De();
|
|
1907
|
+
}
|
|
1908
|
+
const kt = "0p", T0 = 59e3, A0 = 1, m = { PLAYER_START: g(385), STARTUP: g(383), PLAY: "play", PAUSE: g(417), PLAYING: g(375), PAUSED: g(417), SEEKING: g(286), SEEKED: g(407), WAITING: g(320), WAITING_END: "waitingEnd", CANPLAY: "canplay", ENDED: "ended", NEXT_TRACK: g(406), PREV_TRACK: "prevTrack", ERROR: g(419), QUALITY_CHANGE: g(328), REBUFFERING: g(324), TIMEUPDATE: g(353), TIMEUPDATE_FOCUS: "timeupdateFocus", RATE_CHANGE: g(327), FULLSCREEN_CHANGE: "fullscreenchange" };
|
|
1908
1909
|
class R0 {
|
|
1909
|
-
|
|
1910
|
+
reportData;
|
|
1910
1911
|
stageData;
|
|
1911
|
-
[
|
|
1912
|
-
[
|
|
1913
|
-
[
|
|
1914
|
-
[
|
|
1912
|
+
[g(311)];
|
|
1913
|
+
[g(394)] = !1;
|
|
1914
|
+
[g(368)];
|
|
1915
|
+
[g(354)];
|
|
1915
1916
|
constructor(t, e, i) {
|
|
1916
|
-
const
|
|
1917
|
-
this[
|
|
1917
|
+
const a = g;
|
|
1918
|
+
this[a(382)] = { platform: t, stage: e, sync: !1, syncResult: {} }, this[a(312)] = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: "latest", extra: { UUID: null, TID: null, sessionId: null, playerType: a(342), playAttempt: !1 }, log_type: "vpe", privacy: { cookie_enabled: !0 } }, this[a(311)] = { prevAction: null, isPlaying: !1, isSeeking: !1, initTimeupdate: !1, isBuffering: !1, firstError: !1, isEnded: !1, firstPlay: !0, firstPlaying: !0, startTime: 0, prevTime: 0, startUpDuration: 0, prevUrl: "", prevQuality: kt, pauseCnt: 0, seekCnt: 0, speedChangeCnt: 0, lastPlaybackSpeed: 1, fullscreenYn: !1, contentId: null, contentDuration: 0 }, this[a(360)](i), this[a(382)], this[a(368)] = this.handleBeforeUnload[a(376)](this), this[a(354)] = this[a(401)][a(376)](this), window[a(323)](a(303), this[a(368)]), document.addEventListener("visibilitychange", this[a(354)]);
|
|
1918
1919
|
}
|
|
1919
|
-
|
|
1920
|
-
const e =
|
|
1921
|
-
this[e(
|
|
1920
|
+
initializeReportData(t) {
|
|
1921
|
+
const e = g;
|
|
1922
|
+
this[e(312)] = { ...this[e(312)], ...t }, this[e(312)][e(309)][e(330)] ? this[e(312)].browser[e(388)] = Nt[this[e(312)][e(309)][e(330)]] || "Korea, Republic of" : this.reportData[e(321)][e(388)] = e(318);
|
|
1922
1923
|
}
|
|
1923
1924
|
getTime() {
|
|
1924
|
-
const t =
|
|
1925
|
-
return { logDate:
|
|
1925
|
+
const t = g, e = /* @__PURE__ */ new Date(), i = (o) => String(o)[t(414)](2, "0"), a = e[t(348)]() + "-" + i(e.getMonth() + 1) + "-" + i(e[t(299)]()) + " " + i(e[t(386)]()) + ":" + i(e[t(365)]()) + ":" + i(e[t(308)]()), r = Math.floor(e.getTime() / 1e3);
|
|
1926
|
+
return { logDate: a, logDateUnix: r };
|
|
1926
1927
|
}
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
return typeof t === e(448) && t !== null && !Array[e(349)](t);
|
|
1928
|
+
[g(403)](t) {
|
|
1929
|
+
return typeof t === g(390) && t !== null && !Array.isArray(t);
|
|
1930
1930
|
}
|
|
1931
|
-
async [
|
|
1932
|
-
const i =
|
|
1933
|
-
if (this[i(
|
|
1934
|
-
const { logDate:
|
|
1935
|
-
this[i(
|
|
1931
|
+
async [g(387)](t, e) {
|
|
1932
|
+
const i = g;
|
|
1933
|
+
if (this[i(311)][i(402)]) return;
|
|
1934
|
+
const { logDate: a, logDateUnix: r } = this[i(298)](), o = Date.now(), h = this[i(311)][i(284)] > 0 ? o - this[i(311)][i(284)] : 0, f = h, S = e && typeof e == "object" && e[i(393)] ? e[i(393)] : {}, I = { ...this[i(312)], video: this[i(312)][i(399)], extra: { ...this[i(312)][i(309)], actionType: t, actionDuration: f ? f[i(356)](2) : 0, logDate: a, logDateUnix: r, ...S } };
|
|
1935
|
+
this[i(311)][i(284)] = o, await v0(I);
|
|
1936
1936
|
}
|
|
1937
|
-
async
|
|
1938
|
-
const e =
|
|
1939
|
-
!this
|
|
1937
|
+
async maInit(t) {
|
|
1938
|
+
const e = g;
|
|
1939
|
+
!this[e(312)][e(309)][e(359)] && (this[e(312)].extra[e(359)] = It(), this[e(312)].extra[e(343)] = ye(), this.reportData[e(309)][e(341)] = ye()), t[e(309)][e(359)] = this[e(312)].extra[e(359)], await I0(t);
|
|
1940
1940
|
}
|
|
1941
|
-
async [
|
|
1942
|
-
const e =
|
|
1943
|
-
!t || typeof t
|
|
1941
|
+
async [g(369)](t) {
|
|
1942
|
+
const e = g;
|
|
1943
|
+
!t || typeof t != "object" || Object[e(295)](t)[e(410)](([i, a]) => {
|
|
1944
1944
|
const r = e;
|
|
1945
|
-
this[r(
|
|
1945
|
+
this[r(403)](a) ? Object[r(295)](a)[r(410)](([o, h]) => {
|
|
1946
1946
|
const f = r;
|
|
1947
|
-
|
|
1948
|
-
}) :
|
|
1947
|
+
h != null && (this[f(312)][i][o] = h);
|
|
1948
|
+
}) : a != null && (this.reportData[i] = a);
|
|
1949
1949
|
});
|
|
1950
1950
|
}
|
|
1951
|
-
[
|
|
1952
|
-
const e =
|
|
1951
|
+
[g(306)](t) {
|
|
1952
|
+
const e = g, { type: i, data: a } = t, r = { url: a?.url || this[e(311)][e(289)], type: a?.[e(384)], quality: a?.[e(408)] || this.state[e(412)], data: a };
|
|
1953
1953
|
switch (i) {
|
|
1954
|
-
case m[e(
|
|
1955
|
-
this[e(
|
|
1954
|
+
case m[e(372)]:
|
|
1955
|
+
this[e(397)](r, a);
|
|
1956
1956
|
break;
|
|
1957
|
-
case m[e(
|
|
1958
|
-
this
|
|
1957
|
+
case m[e(374)]:
|
|
1958
|
+
this.handleStartup(r, a);
|
|
1959
1959
|
break;
|
|
1960
|
-
case m
|
|
1961
|
-
this[e(
|
|
1960
|
+
case m.PLAY:
|
|
1961
|
+
this[e(336)](r, a);
|
|
1962
1962
|
break;
|
|
1963
|
-
case m[e(
|
|
1964
|
-
this[e(
|
|
1963
|
+
case m[e(287)]:
|
|
1964
|
+
this[e(370)](r, a);
|
|
1965
1965
|
break;
|
|
1966
|
-
case m[e(
|
|
1967
|
-
this[e(
|
|
1966
|
+
case m[e(344)]:
|
|
1967
|
+
this[e(288)](r, a);
|
|
1968
1968
|
break;
|
|
1969
|
-
case m
|
|
1970
|
-
this[e(
|
|
1969
|
+
case m.TIMEUPDATE_FOCUS:
|
|
1970
|
+
this[e(304)](r, a);
|
|
1971
1971
|
break;
|
|
1972
|
-
case m[e(
|
|
1973
|
-
this[e(
|
|
1972
|
+
case m[e(381)]:
|
|
1973
|
+
this[e(373)](r, a);
|
|
1974
1974
|
break;
|
|
1975
|
-
case m[e(
|
|
1976
|
-
this
|
|
1975
|
+
case m[e(293)]:
|
|
1976
|
+
this.handleSeeked(r, a);
|
|
1977
1977
|
break;
|
|
1978
|
-
case m[e(
|
|
1979
|
-
|
|
1978
|
+
case m[e(319)]:
|
|
1979
|
+
case e(357):
|
|
1980
|
+
this[e(345)](r, a);
|
|
1980
1981
|
break;
|
|
1981
|
-
case m[e(
|
|
1982
|
-
|
|
1982
|
+
case m[e(416)]:
|
|
1983
|
+
case "bufferingEnd":
|
|
1984
|
+
case e(325):
|
|
1985
|
+
this[e(355)](r, a);
|
|
1983
1986
|
break;
|
|
1984
|
-
case m[e(
|
|
1985
|
-
this[e(
|
|
1987
|
+
case m[e(378)]:
|
|
1988
|
+
this[e(355)](r, a);
|
|
1986
1989
|
break;
|
|
1987
|
-
case m
|
|
1988
|
-
this.handleEnded(r,
|
|
1990
|
+
case m.ENDED:
|
|
1991
|
+
this.handleEnded(r, a);
|
|
1989
1992
|
break;
|
|
1990
|
-
case
|
|
1991
|
-
case
|
|
1992
|
-
this
|
|
1993
|
+
case "nextTrack":
|
|
1994
|
+
case "prevTrack":
|
|
1995
|
+
this.handleTrackChange(i, r, a);
|
|
1993
1996
|
break;
|
|
1994
|
-
case m[e(
|
|
1995
|
-
this
|
|
1997
|
+
case m[e(290)]:
|
|
1998
|
+
this[e(316)](r, a);
|
|
1996
1999
|
break;
|
|
1997
|
-
case m[e(
|
|
1998
|
-
this[e(
|
|
2000
|
+
case m[e(392)]:
|
|
2001
|
+
this[e(317)](r, a);
|
|
1999
2002
|
break;
|
|
2000
|
-
case m[e(
|
|
2001
|
-
this
|
|
2003
|
+
case m[e(335)]:
|
|
2004
|
+
this[e(364)](r, a);
|
|
2002
2005
|
break;
|
|
2003
|
-
case m[e(
|
|
2004
|
-
this
|
|
2006
|
+
case m[e(315)]:
|
|
2007
|
+
this.handleFullscreenChange(r, a);
|
|
2005
2008
|
break;
|
|
2006
2009
|
}
|
|
2007
2010
|
}
|
|
2008
|
-
[
|
|
2009
|
-
const i =
|
|
2010
|
-
!this[i(
|
|
2011
|
+
[g(397)](t, e) {
|
|
2012
|
+
const i = g;
|
|
2013
|
+
!this[i(312)][i(309)][i(359)] && (this[i(312)][i(309)][i(359)] = It(), this[i(312)][i(309)].TID = ye(), this[i(312)].extra[i(341)] = ye()), this[i(311)][i(329)] = Date.now(), this[i(311)][i(284)] = this.state[i(329)], this.report(m[i(372)], { ...t, data: e });
|
|
2011
2014
|
}
|
|
2012
2015
|
handleStartup(t, e) {
|
|
2013
|
-
const i =
|
|
2014
|
-
this[i(
|
|
2016
|
+
const i = g;
|
|
2017
|
+
this.state[i(380)] && (e?.contentId && (this.state.contentId = e[i(367)]), e?.[i(302)] && (this[i(311)][i(366)] = Math[i(346)](e[i(302)] * 1e3)), this[i(311)][i(389)] = !0, this[i(387)](m[i(374)], { ...t, data: e }), this[i(311)][i(380)] = !1);
|
|
2015
2018
|
}
|
|
2016
|
-
[
|
|
2017
|
-
const i =
|
|
2018
|
-
this[i(
|
|
2019
|
+
[g(336)](t, e) {
|
|
2020
|
+
const i = g;
|
|
2021
|
+
this.state[i(389)] || (this[i(312)][i(309)][i(310)] = e?.playedTime, this[i(312)][i(309)].percent = e?.[i(292)], this.state.isPlaying = !0, this[i(312)][i(309)][i(307)] = !0, this[i(311)][i(409)] && (this.state[i(409)] = !1), this.state[i(418)] === m[i(340)] && this[i(387)](m[i(415)], { ...t, data: e }), this.state[i(418)] = m[i(415)]);
|
|
2019
2022
|
}
|
|
2020
|
-
|
|
2021
|
-
const i =
|
|
2022
|
-
this[i(
|
|
2023
|
+
handlePause(t, e) {
|
|
2024
|
+
const i = g;
|
|
2025
|
+
this[i(311)].isSeeking || this.state[i(361)] || !this[i(311)][i(389)] || (this[i(311)][i(313)]++, this[i(311)].isPlaying = !1, this[i(387)](m.PAUSED, { ...t, data: { ...e, pauseCnt: this[i(311)][i(313)] } }), this[i(311)].prevAction = m.PAUSED);
|
|
2023
2026
|
}
|
|
2024
|
-
|
|
2025
|
-
const i =
|
|
2026
|
-
this[i(
|
|
2027
|
+
[g(288)](t, e) {
|
|
2028
|
+
const i = g;
|
|
2029
|
+
this[i(311)].isPlaying = !0, this.reportData[i(309)][i(307)] = !0, !(this[i(312)][i(309)][i(352)] < A0) && (this[i(311)][i(389)] && Date[i(400)]() - this[i(311)][i(284)] > T0 && this.report(m[i(415)], { ...t, data: e }), this[i(311)][i(289)] = t[i(283)] || "", this[i(311)][i(412)] = t[i(408)] || kt);
|
|
2027
2030
|
}
|
|
2028
|
-
|
|
2029
|
-
const i =
|
|
2030
|
-
this[i(
|
|
2031
|
+
handleTimeUpdateFocus(t, e) {
|
|
2032
|
+
const i = g;
|
|
2033
|
+
this[i(312)][i(309)][i(352)] > 0 && (this[i(387)](m[i(415)], { ...t, data: e }), this[i(311)][i(379)] = !0);
|
|
2031
2034
|
}
|
|
2032
|
-
[
|
|
2033
|
-
const i =
|
|
2034
|
-
this[i(
|
|
2035
|
+
[g(373)](t, e) {
|
|
2036
|
+
const i = g;
|
|
2037
|
+
this[i(311)][i(291)] || (this[i(311)][i(350)]++, this[i(311)][i(291)] = !0, this.state[i(389)] ? this.report(m[i(415)], { ...t, data: e }) : this.state[i(418)] === m.PAUSED && this[i(387)](m.PAUSED, { ...t, data: e }), this[i(311)][i(418)] = m[i(381)]);
|
|
2035
2038
|
}
|
|
2036
|
-
|
|
2037
|
-
const i =
|
|
2038
|
-
this[i(
|
|
2039
|
+
handleSeeked(t, e) {
|
|
2040
|
+
const i = g;
|
|
2041
|
+
this[i(311)][i(291)] && (this.state[i(291)] = !1, this[i(387)](m.SEEKING, { ...t, data: e }), this[i(311)][i(418)] = this[i(311)].isPlaying ? m.PLAYING : m.PAUSED);
|
|
2039
2042
|
}
|
|
2040
|
-
[
|
|
2041
|
-
const i =
|
|
2042
|
-
this[i(
|
|
2043
|
+
[g(345)](t, e) {
|
|
2044
|
+
const i = g;
|
|
2045
|
+
this[i(311)].isSeeking || this[i(311)][i(361)] || (this[i(311)][i(361)] = !0, this[i(311)][i(389)] && this[i(387)](m[i(415)], { ...t, data: e }), this[i(311)].prevAction = m[i(421)]);
|
|
2043
2046
|
}
|
|
2044
|
-
|
|
2045
|
-
const i =
|
|
2046
|
-
this
|
|
2047
|
+
handleWaitingEnd(t, e) {
|
|
2048
|
+
const i = g;
|
|
2049
|
+
this[i(311)][i(291)] || this[i(311)][i(361)] || (this[i(311)][i(361)] = !0, this.state.isPlaying && this[i(387)](m[i(415)], { ...t, data: e }), this[i(311)][i(418)] = m[i(421)]);
|
|
2047
2050
|
}
|
|
2048
|
-
|
|
2049
|
-
const i =
|
|
2050
|
-
this
|
|
2051
|
+
handleCanplay(t, e) {
|
|
2052
|
+
const i = g;
|
|
2053
|
+
this[i(311)][i(361)] && (this.state.isBuffering = !1, this[i(387)](m.REBUFFERING, { ...t, data: e }), this[i(311)][i(418)] = this.state[i(389)] ? m[i(415)] : m[i(340)]);
|
|
2051
2054
|
}
|
|
2052
|
-
[
|
|
2053
|
-
const t =
|
|
2054
|
-
if (this[t(
|
|
2055
|
-
this[t(
|
|
2056
|
-
const { logDate: e, logDateUnix: i } = this[t(
|
|
2057
|
-
|
|
2055
|
+
[g(337)]() {
|
|
2056
|
+
const t = g;
|
|
2057
|
+
if (this[t(394)] || this.state[t(333)] || this[t(311)][t(402)] || !this[t(312)][t(309)][t(341)] || !this.reportData[t(309)][t(343)]) return;
|
|
2058
|
+
this[t(394)] = !0;
|
|
2059
|
+
const { logDate: e, logDateUnix: i } = this[t(298)](), a = Date[t(400)](), r = this[t(311)][t(284)] > 0 ? a - this.state[t(284)] : 0, o = (this[t(312)].extra[t(352)] || 0) * 1e3, h = this[t(311)][t(366)], f = h > 0 ? Math[t(346)](o / h * 1e4) / 100 : 0, S = this[t(312)][t(309)][t(310)] || 0, I = { ...this[t(312)], video: this[t(312)].video, extra: { ...this[t(312)].extra, actionType: t(339), actionDuration: r ? r[t(356)](2) : 0, logDate: e, logDateUnix: i, contentId: this[t(311)][t(367)], contentDuration: h, watchPercent: f, isCompleted: f >= 95, isBounce: S < 1e4, pauseCnt: this[t(311)][t(313)], seekCnt: this.state[t(350)], speedChangeCnt: this[t(311)].speedChangeCnt, lastPlaybackSpeed: this.state[t(347)], fullscreenYn: this[t(311)].fullscreenYn, dropOffPosition: Math[t(346)](o) } };
|
|
2060
|
+
k0(I);
|
|
2058
2061
|
}
|
|
2059
|
-
[
|
|
2060
|
-
this
|
|
2062
|
+
[g(391)]() {
|
|
2063
|
+
this.sendSessionBeacon();
|
|
2061
2064
|
}
|
|
2062
|
-
[
|
|
2063
|
-
const t =
|
|
2064
|
-
document[t(
|
|
2065
|
+
[g(401)]() {
|
|
2066
|
+
const t = g;
|
|
2067
|
+
document[t(362)] === t(322) && this[t(337)]();
|
|
2065
2068
|
}
|
|
2066
2069
|
destroy() {
|
|
2067
|
-
const t =
|
|
2068
|
-
window[t(
|
|
2070
|
+
const t = g;
|
|
2071
|
+
window[t(334)](t(303), this.boundBeforeUnload), document[t(334)](t(351), this.boundVisibilityChange);
|
|
2069
2072
|
}
|
|
2070
|
-
[
|
|
2071
|
-
const i =
|
|
2072
|
-
return { ...t, data: { ...e, contentId: this
|
|
2073
|
+
[g(296)](t, e) {
|
|
2074
|
+
const i = g, a = (e?.[i(352)] || 0) * 1e3, r = this[i(311)][i(366)], o = r > 0 ? Math[i(346)](a / r * 1e4) / 100 : 0, h = this.reportData[i(309)][i(310)] || 0;
|
|
2075
|
+
return { ...t, data: { ...e, contentId: this[i(311)][i(367)], contentDuration: r, watchPercent: o, isCompleted: o >= 95, isBounce: h < 1e4, pauseCnt: this.state[i(313)], seekCnt: this[i(311)][i(350)], speedChangeCnt: this[i(311)][i(300)], lastPlaybackSpeed: this.state[i(347)], fullscreenYn: this[i(311)][i(413)], dropOffPosition: Math[i(346)](a) } };
|
|
2073
2076
|
}
|
|
2074
|
-
[
|
|
2075
|
-
const i =
|
|
2076
|
-
this
|
|
2077
|
+
[g(331)](t, e) {
|
|
2078
|
+
const i = g;
|
|
2079
|
+
this[i(311)].isEnded || (this[i(311)][i(333)] = !0, this.state[i(389)] = !1, this[i(394)] = !0, this.state[i(418)] !== m[i(340)] && this[i(387)](this.state[i(418)] || m[i(415)], { ...t, data: e }), this[i(387)](m[i(358)], this.buildSessionMetrics(t, e)));
|
|
2077
2080
|
}
|
|
2078
|
-
[
|
|
2079
|
-
const
|
|
2080
|
-
this
|
|
2081
|
-
|
|
2082
|
-
|
|
2081
|
+
[g(420)](t, e, i) {
|
|
2082
|
+
const a = g, r = t === a(406) ? m[a(371)] : m[a(326)];
|
|
2083
|
+
this[a(387)](this[a(311)][a(418)] || m[a(415)], this[a(296)](e, i))[a(398)](() => {
|
|
2084
|
+
const o = a;
|
|
2085
|
+
this[o(387)](r, { ...e, data: i })[o(398)](() => {
|
|
2086
|
+
this[o(314)]();
|
|
2083
2087
|
});
|
|
2084
2088
|
});
|
|
2085
2089
|
}
|
|
2086
|
-
[
|
|
2087
|
-
const i =
|
|
2088
|
-
this[i(
|
|
2089
|
-
const
|
|
2090
|
-
this
|
|
2090
|
+
[g(316)](t, e) {
|
|
2091
|
+
const i = g;
|
|
2092
|
+
this.state[i(418)] && !this.state.firstPlaying && this.report(this.state[i(418)], this[i(296)](t, e));
|
|
2093
|
+
const a = { errorCode: e?.[i(294)] || i(301), errorMessage: e?.[i(422)] || i(405) };
|
|
2094
|
+
this.report(m.ERROR, { ...t, data: { ...e, ...a } }), this[i(311)][i(402)] = !0;
|
|
2091
2095
|
}
|
|
2092
|
-
[
|
|
2093
|
-
const i =
|
|
2094
|
-
this[i(
|
|
2096
|
+
[g(317)](t, e) {
|
|
2097
|
+
const i = g;
|
|
2098
|
+
this.state[i(418)] && !this.state[i(291)] && !this.state[i(361)] && !this[i(311)][i(380)] && (this[i(311)][i(291)] = !0, this[i(387)](this[i(311)][i(418)], { ...t, data: e }), this[i(311)][i(418)] = m.SEEKING);
|
|
2095
2099
|
}
|
|
2096
|
-
[
|
|
2097
|
-
const i =
|
|
2098
|
-
|
|
2100
|
+
[g(364)](t, e) {
|
|
2101
|
+
const i = g, a = e?.[i(363)] || e?.[i(309)]?.[i(363)] || 1;
|
|
2102
|
+
a !== this.state.lastPlaybackSpeed && (this.state.speedChangeCnt++, this[i(311)].lastPlaybackSpeed = a, this.report(m[i(335)], { ...t, data: { ...e, speedChangeCnt: this[i(311)][i(300)], lastPlaybackSpeed: a } }));
|
|
2099
2103
|
}
|
|
2100
|
-
[
|
|
2101
|
-
const i =
|
|
2102
|
-
e?.[i(
|
|
2104
|
+
[g(396)](t, e) {
|
|
2105
|
+
const i = g;
|
|
2106
|
+
(e?.isFullscreen || e?.[i(309)]?.[i(305)]) && (this[i(311)].fullscreenYn = !0), this[i(387)](m.FULLSCREEN_CHANGE, { ...t, data: { ...e, fullscreenYn: this.state[i(413)] } });
|
|
2103
2107
|
}
|
|
2104
|
-
[
|
|
2105
|
-
const t =
|
|
2106
|
-
this[t(
|
|
2108
|
+
[g(314)]() {
|
|
2109
|
+
const t = g;
|
|
2110
|
+
this[t(311)][t(418)] = null, this[t(311)][t(389)] = !1, this[t(311)][t(284)] = 0, this[t(311)][t(380)] = !0, this[t(311)].initTimeupdate = !1, this[t(311)].pauseCnt = 0, this[t(311)][t(350)] = 0, this.state[t(300)] = 0, this[t(311)][t(347)] = 1, this[t(311)][t(413)] = !1, this.state[t(367)] = null, this[t(311)][t(366)] = 0;
|
|
2107
2111
|
}
|
|
2108
2112
|
}
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
const y = pe;
|
|
2113
|
-
(function(a, t) {
|
|
2114
|
-
const e = pe, i = a();
|
|
2113
|
+
const y = Vt;
|
|
2114
|
+
(function(x, t) {
|
|
2115
|
+
const e = Vt, i = x();
|
|
2115
2116
|
for (; ; )
|
|
2116
2117
|
try {
|
|
2117
|
-
if (parseInt(e(
|
|
2118
|
+
if (-parseInt(e(294)) / 1 + parseInt(e(354)) / 2 + -parseInt(e(257)) / 3 * (-parseInt(e(306)) / 4) + parseInt(e(398)) / 5 + -parseInt(e(287)) / 6 * (-parseInt(e(360)) / 7) + parseInt(e(303)) / 8 + parseInt(e(292)) / 9 * (-parseInt(e(347)) / 10) === t) break;
|
|
2118
2119
|
i.push(i.shift());
|
|
2119
2120
|
} catch {
|
|
2120
2121
|
i.push(i.shift());
|
|
2121
2122
|
}
|
|
2122
|
-
})(
|
|
2123
|
-
function
|
|
2124
|
-
const
|
|
2125
|
-
return
|
|
2126
|
-
return
|
|
2127
|
-
},
|
|
2123
|
+
})(Pe, 657303);
|
|
2124
|
+
function Pe() {
|
|
2125
|
+
const x = ["version", "VPE Player: accessKey 또는 appId가 없어 키 인증을 건너뜁니다.", "E0003", "kbps", "result", "hardwareConcurrency", "ratechange", "dispatchEvent", "hasFirstPlayReported", "join", "name", "unknown", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLmdvdi1udHJ1c3MuY29tL3BsYXllci9jb25maWc=", "E0001", "3582060vOOXyx", "platform", "origin", "mozConnection", "effectiveType", "mpd", "length", "updateTranslator", "Error:", "error", "video", "errorCode", "extra", "translator", "getErrorState", "port", "deviceMemory", "watermarkConfig", "initialize", "aHR0cHM6Ly9sb2cuYmV0YS12cGUuZ292LW50cnVzcy5jb20vc3RhdHM=", "play", "indexOf", "#EXT-X-STREAM-INF", "split", "videoHeight", "statusText", "stage", "status", "performKeyCheck", "381fyRYRz", "Whale", "vpe", "pricing", "Unknown", "Firefox", "m3u8", "isDev", "rtt", "warn", "options", "mp4", "userAgentData", "Base64 decoding failed:", "Safari", "Naver webview", "isInitialized", "protocol", "data", "errorMessage", "playerInfo", "screen", "model", "accessKey", "quality", "playerStateReport", "appId", "slice", "connection", "live", "822dUARcQ", "playlist", "string", "player_version", "title", "15307146TqeBOG", "playbackRate", "687426DuRKqc", "kakaotalk", "maManager", "getPlaylist", "text", "maUse", "now", "VPE SDK Initialization failed:", "controlBtn", "3530032XXsOHt", "errorInfo", "code", "21312oIQQGH", "serverConfig", "startTimeAt", "Other", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLm5hdmVybmNwLmNvbS9wbGF5ZXIvY29uZmln", "filter", "playerStartTimeMs", "device", "application/json", "fullscreenchange", "aHR0cHM6Ly9sb2cudnBlLmdvdi1udHJ1c3MuY29tL3N0YXRz", "includes", "saveData", "player_name", "Content-Type", "Edge", "browser", "ncplayer : ", "width", "href", "toLowerCase", "isArray", "player_start", "sync", "ready", "Auto", "videoWidth", "getResult", "toString", "test", "getBrowserInfo", "language", "navigator", "Kakao webview", "trim", "auto", "downlink", "aHR0cHM6Ly9wYXBpLnZwZS5uYXZlcm5jcC5jb20vcGxheWVyL2NvbmZpZw==", "aHR0cHM6Ly9sb2cudnBlLm5hdmVybmNwLmNvbS9zdGF0cw==", "pay", "playerName", "10NiAWrv", "getVideoProtocol", "LIVE", "webkitConnection", "floor", "object", "report", "1748362OjoWDY", "location", "currentTime", "config", "setErrorRun", "whale", "17220MUGYDd", "startsWith", "host", "type", "playerVersion", "getElapsedMilliseconds", "UAParser", "Chrome", "incomingType", ".m3u8", "round", "url", "height", "contentId", "createPlayerInfo", "userAgent", "meta", "errorState", "hlsPaser", "naver", "POST", "match", "map", "startup"];
|
|
2126
|
+
return Pe = function() {
|
|
2127
|
+
return x;
|
|
2128
|
+
}, Pe();
|
|
2128
2129
|
}
|
|
2129
|
-
function
|
|
2130
|
-
return
|
|
2130
|
+
function Vt(x, t) {
|
|
2131
|
+
return x = x - 240, Pe()[x];
|
|
2131
2132
|
}
|
|
2132
|
-
const
|
|
2133
|
-
let
|
|
2134
|
-
const
|
|
2133
|
+
const O0 = { gov: { prod: { config: "aHR0cHM6Ly9wYXBpLnZwZS5nb3YtbnRydXNzLmNvbS9wbGF5ZXIvY29uZmln", report: y(316) }, beta: { config: y(396), report: y(247) } }, pub: { prod: { config: y(343), report: y(344) }, beta: { config: y(310), report: "aHR0cHM6Ly9sb2cuYmV0YS12cGUubmF2ZXJuY3AuY29tL3N0YXRz" } } };
|
|
2134
|
+
let Et = [];
|
|
2135
|
+
const M0 = (x) => {
|
|
2135
2136
|
const t = y;
|
|
2136
2137
|
try {
|
|
2137
|
-
return atob(
|
|
2138
|
+
return atob(x);
|
|
2138
2139
|
} catch (e) {
|
|
2139
|
-
return console
|
|
2140
|
+
return console.error(t(270), e), "";
|
|
2140
2141
|
}
|
|
2141
2142
|
};
|
|
2142
2143
|
class P0 {
|
|
2143
|
-
[y(
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
[y(
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
[y(
|
|
2150
|
-
[y(
|
|
2151
|
-
[y(
|
|
2152
|
-
[y(
|
|
2153
|
-
[y(
|
|
2154
|
-
[y(
|
|
2155
|
-
[y(
|
|
2156
|
-
[y(
|
|
2157
|
-
constructor({ accessKey: t, appId: e, platform: i, stage:
|
|
2158
|
-
const
|
|
2159
|
-
this[
|
|
2144
|
+
[y(307)] = {};
|
|
2145
|
+
playerInfo = null;
|
|
2146
|
+
[y(280)];
|
|
2147
|
+
[y(283)];
|
|
2148
|
+
[y(399)];
|
|
2149
|
+
stage;
|
|
2150
|
+
[y(264)];
|
|
2151
|
+
[y(241)] = Je();
|
|
2152
|
+
[y(377)];
|
|
2153
|
+
[y(296)] = null;
|
|
2154
|
+
[y(308)] = null;
|
|
2155
|
+
[y(368)] = null;
|
|
2156
|
+
[y(392)] = !1;
|
|
2157
|
+
[y(312)] = 0;
|
|
2158
|
+
constructor({ accessKey: t, appId: e, platform: i, stage: a, isDev: r = !1, language: o }) {
|
|
2159
|
+
const h = y;
|
|
2160
|
+
this[h(280)] = t, this[h(283)] = e || location[h(400)], this[h(399)] = i, this[h(254)] = a, this[h(264)] = r, this.updateTranslator(o), this.errorState = { errorCode: null, errorMessage: null };
|
|
2160
2161
|
}
|
|
2161
|
-
async
|
|
2162
|
-
const t = y, e = [t(
|
|
2163
|
-
if ([this[e[0]], this[e[1]]]
|
|
2162
|
+
async [y(246)]() {
|
|
2163
|
+
const t = y, e = ["accessKey", t(283), "E0002", t(397), t(386)], i = t(385);
|
|
2164
|
+
if ([this[e[0]], this[e[1]]].some((o) => !o)) return console[t(266)](i), { error: this[t(358)](e[2]) };
|
|
2164
2165
|
const r = (o) => {
|
|
2165
|
-
const
|
|
2166
|
-
return this
|
|
2166
|
+
const h = t;
|
|
2167
|
+
return this[h(307)] = o, this.playerInfo = this.createPlayerInfo(o), this[h(277)];
|
|
2167
2168
|
};
|
|
2168
2169
|
try {
|
|
2169
|
-
const o = await this[t(
|
|
2170
|
-
if (o[t(
|
|
2171
|
-
const
|
|
2172
|
-
if (window[t(
|
|
2173
|
-
await
|
|
2174
|
-
const f = await
|
|
2175
|
-
this[t(
|
|
2170
|
+
const o = await this[t(256)]();
|
|
2171
|
+
if (o[t(305)] !== 200) return { error: this[t(358)](e[3]) };
|
|
2172
|
+
const h = r(o);
|
|
2173
|
+
if (window[t(259)] && (window[t(259)][t(346)] = h?.[t(319)], window[t(259)][t(364)] = h?.[t(290)], window.vpe[t(319)] = h[t(319)] + "|" + h[t(290)], window.vpe.state = this.stage), h?.[t(299)] === "Y") {
|
|
2174
|
+
await S0(this[t(399)], this[t(254)], h, this.appId, this.accessKey);
|
|
2175
|
+
const f = await m0(this[t(280)]);
|
|
2176
|
+
this[t(296)] = new R0(this[t(399)], this[t(254)], h), this[t(308)] = Date[t(300)](), f?.[t(388)]?.[t(329)] && await this[t(296)].maInit({ video: h[t(408)] || {}, extra: { ...h[t(240)] } });
|
|
2176
2177
|
}
|
|
2177
|
-
return { options: this.serverConfig
|
|
2178
|
+
return { options: this.serverConfig.result?.options, playerInfo: h };
|
|
2178
2179
|
} catch (o) {
|
|
2179
|
-
return console[t(
|
|
2180
|
+
return console[t(407)](t(301), o), { error: this.setErrorRun(e[4]) };
|
|
2180
2181
|
}
|
|
2181
2182
|
}
|
|
2182
|
-
async [y(
|
|
2183
|
-
const t = y, e = ["?preview=true", t(
|
|
2183
|
+
async [y(256)]() {
|
|
2184
|
+
const t = y, e = ["?preview=true", t(357), t(320), t(314), "access_key", "domain", t(380)], i = this[t(264)] ? e[0] : "", a = M0(O0[this[t(399)]][this[t(254)]][e[1]]) + i, r = this[t(283)], o = JSON.stringify([e[4], e[5]].reduce((f, S, I) => {
|
|
2184
2185
|
const R = t;
|
|
2185
|
-
return f[S] = [this[R(
|
|
2186
|
-
}, {})),
|
|
2187
|
-
if (!
|
|
2188
|
-
return
|
|
2186
|
+
return f[S] = [this[R(280)], r][I], f;
|
|
2187
|
+
}, {})), h = await fetch(a, { method: e[6], headers: { [e[2]]: e[3] }, body: o });
|
|
2188
|
+
if (!h.ok) throw new Error(["API", t(406), h[t(255)], h[t(253)]][t(393)](" "));
|
|
2189
|
+
return h.json();
|
|
2189
2190
|
}
|
|
2190
|
-
[y(
|
|
2191
|
+
[y(336)]() {
|
|
2191
2192
|
const t = y, e = navigator.userAgent;
|
|
2192
|
-
return /Edg\/(\d+\.\d+)/[t(
|
|
2193
|
+
return /Edg\/(\d+\.\d+)/[t(335)](e) ? { origin: t(321), version: RegExp.$1 } : /Chrome\/(\d+\.\d+)/[t(335)](e) && !e[t(317)]("Edg") ? { origin: t(367), version: RegExp.$1 } : /Firefox\/(\d+\.\d+)/[t(335)](e) ? { origin: t(262), version: RegExp.$1 } : /Version\/(\d+\.\d+)/.test(e) && e[t(317)](t(271)) ? { origin: t(271), version: RegExp.$1 } : { origin: t(261), version: "Unknown" };
|
|
2193
2194
|
}
|
|
2194
|
-
|
|
2195
|
-
const e = y, [i,
|
|
2196
|
-
return window[e(
|
|
2195
|
+
[y(374)](t) {
|
|
2196
|
+
const e = y, [i, a] = t[e(388)][e(394)][e(251)]("|"), r = navigator[e(285)] || navigator[e(401)] || navigator.webkitConnection, o = this[e(336)](), h = navigator[e(269)], f = new c0[e(366)](window[e(338)][e(375)])[e(333)]();
|
|
2197
|
+
return window[e(338)].userAgent[e(326)]()[e(317)](e(359)) ? f[e(322)].name = e(258) : window[e(338)][e(375)].toLowerCase()[e(317)](e(295)) ? f[e(322)].name = e(339) : window[e(338)][e(375)][e(326)]().includes(e(379)) ? f.browser[e(394)] = e(272) : window[e(338)][e(375)][e(326)]()[e(317)]("kakao") ? f[e(322)].name = "Kakao webview" : window[e(338)].userAgent[e(326)]().includes(e(379)) && (f[e(322)][e(394)] = e(272)), { cid: t[e(388)].cid, player_name: i, player_version: a, pricing: t[e(388)][e(260)], maUse: t[e(388)][e(267)]?.[e(299)] === "Y" ? "Y" : "N", browser: { lang: navigator[e(337)], ua: navigator.userAgent }, screen: { width: window[e(278)][e(324)], height: window[e(278)].height }, connection: { network: r?.[e(402)] ?? e(395), downlink: r?.[e(342)] ?? null, rtt: r?.[e(265)] ?? null, save_data: r?.[e(318)] ?? !1 }, device: { platform: h?.[e(399)] ?? e(261), mobile: h?.mobile ?? !1, memory: navigator[e(244)] ?? null, processor: navigator[e(389)] ?? null }, video: { url: "" }, extra: { vpeKey: this[e(280)], playerType: "VPE", playerVersion: window[e(259)]?.playerVersion ?? a, os: h?.[e(399)] ?? e(261), osOrigin: f.os.name || e(261), osVersion: f.os[e(384)], vpePackageId: null, actionDuration: this[e(365)](), actionType: e(330), browser: o.origin, browserOrigin: o.origin, browserVersion: o[e(384)], quality: e(309), qualityOrigin: e(331), device: f[e(313)].vendor + " " + f[e(313)].model, location: window[e(355)][e(325)], host: window[e(355)][e(362)], port: window.location[e(243)], protocol: window.location[e(274)], title: "" } };
|
|
2197
2198
|
}
|
|
2198
|
-
|
|
2199
|
-
const e = y, i = t
|
|
2200
|
-
return this[e(
|
|
2199
|
+
setErrorRun(t) {
|
|
2200
|
+
const e = y, i = t[e(284)](-2), a = this[e(241)][e(407)][i] || this[e(241)][e(407)]["01"], r = { errorCode: t, errorMessage: a };
|
|
2201
|
+
return this[e(377)] = r, console[e(407)](e(323), r), r;
|
|
2201
2202
|
}
|
|
2202
|
-
[y(
|
|
2203
|
-
|
|
2204
|
-
this[e(299)] = Ze(t);
|
|
2203
|
+
[y(405)](t) {
|
|
2204
|
+
this.translator = Je(t);
|
|
2205
2205
|
}
|
|
2206
|
-
[y(
|
|
2207
|
-
return this[y(
|
|
2206
|
+
[y(242)]() {
|
|
2207
|
+
return this[y(377)];
|
|
2208
2208
|
}
|
|
2209
|
-
|
|
2209
|
+
isPaidTier() {
|
|
2210
2210
|
const t = y;
|
|
2211
|
-
return this[t(
|
|
2211
|
+
return this[t(307)][t(388)]?.[t(260)] === "pay";
|
|
2212
2212
|
}
|
|
2213
|
-
|
|
2213
|
+
[y(273)]() {
|
|
2214
2214
|
const t = y;
|
|
2215
|
-
return !!this[t(
|
|
2215
|
+
return !!this.serverConfig[t(388)];
|
|
2216
2216
|
}
|
|
2217
2217
|
getValidatedOptions(t) {
|
|
2218
|
-
const e = y, i =
|
|
2219
|
-
this
|
|
2220
|
-
const
|
|
2221
|
-
return
|
|
2218
|
+
const e = y, i = _0(this.serverConfig.result?.[e(267)], this.serverConfig[e(388)]?.[e(260)]);
|
|
2219
|
+
this[e(307)][e(388)]?.[e(260)] !== e(345) && (t = { ...t, ...i });
|
|
2220
|
+
const a = { ...i, ...t ?? {} };
|
|
2221
|
+
return a?.lang && (a?.lang == e(341) || this[e(405)](a.lang)), t?.[e(302)] && (a[e(302)] = { ...i[e(302)], ...t[e(302)] }), t?.watermarkConfig && (a[e(245)] = { ...i[e(245)], ...t[e(245)] }), a.playlist && !Array[e(327)](a.playlist) && (a[e(288)] = [{ file: a[e(288)] }]), Et = a[e(288)] || [], a;
|
|
2222
2222
|
}
|
|
2223
|
-
[y(
|
|
2224
|
-
return
|
|
2223
|
+
[y(297)]() {
|
|
2224
|
+
return Et || [];
|
|
2225
2225
|
}
|
|
2226
2226
|
$t(t) {
|
|
2227
|
-
const e = y, i = t[e(
|
|
2228
|
-
let
|
|
2227
|
+
const e = y, i = t[e(251)](".");
|
|
2228
|
+
let a = this[e(241)];
|
|
2229
2229
|
for (const r of i)
|
|
2230
|
-
if (
|
|
2230
|
+
if (a && typeof a === e(352) && r in a) a = a[r];
|
|
2231
2231
|
else return t;
|
|
2232
|
-
return typeof
|
|
2232
|
+
return typeof a === e(289) ? a : t;
|
|
2233
2233
|
}
|
|
2234
|
-
async
|
|
2234
|
+
async [y(378)](t) {
|
|
2235
2235
|
const e = y, i = [];
|
|
2236
|
-
if (!t || t
|
|
2237
|
-
const
|
|
2238
|
-
const S =
|
|
2236
|
+
if (!t || t[e(249)](e(369)) === -1) return i;
|
|
2237
|
+
const a = (h, f) => {
|
|
2238
|
+
const S = e;
|
|
2239
2239
|
try {
|
|
2240
|
-
return new URL(f,
|
|
2240
|
+
return new URL(f, h)[S(334)]();
|
|
2241
2241
|
} catch {
|
|
2242
2242
|
return f;
|
|
2243
2243
|
}
|
|
2244
|
-
}, r = (
|
|
2245
|
-
const f =
|
|
2244
|
+
}, r = (h) => {
|
|
2245
|
+
const f = e, S = h.match(/RESOLUTION=(\d+)x(\d+)/);
|
|
2246
2246
|
if (S) return S[2] + "p";
|
|
2247
|
-
const I =
|
|
2248
|
-
return I ? Math.round(Number(I[1]) / 1e3) + f(
|
|
2249
|
-
}, o = (
|
|
2250
|
-
const f =
|
|
2251
|
-
for (let I = 0; I < S
|
|
2247
|
+
const I = h[f(381)](/BANDWIDTH=(\d+)/);
|
|
2248
|
+
return I ? Math.round(Number(I[1]) / 1e3) + f(387) : f(341);
|
|
2249
|
+
}, o = (h) => {
|
|
2250
|
+
const f = e, S = h[f(251)](/\r?\n/)[f(382)]((I) => I[f(340)]())[f(311)]((I) => I[f(404)] > 0);
|
|
2251
|
+
for (let I = 0; I < S[f(404)]; I += 1) {
|
|
2252
2252
|
const R = S[I];
|
|
2253
|
-
if (R
|
|
2253
|
+
if (R.startsWith(f(250))) {
|
|
2254
2254
|
const H = S[I + 1];
|
|
2255
|
-
H && !H
|
|
2255
|
+
H && !H[f(361)]("#") && (i.push({ quality: r(R), url: a(t, H), levelIndex: i[f(404)] }), I += 1);
|
|
2256
2256
|
}
|
|
2257
2257
|
}
|
|
2258
2258
|
};
|
|
2259
2259
|
try {
|
|
2260
|
-
const
|
|
2261
|
-
if (!
|
|
2262
|
-
const f = await
|
|
2260
|
+
const h = await fetch(t);
|
|
2261
|
+
if (!h.ok) return i;
|
|
2262
|
+
const f = await h[e(298)]();
|
|
2263
2263
|
return f && o(f), i;
|
|
2264
|
-
} catch (
|
|
2265
|
-
return console[e(
|
|
2264
|
+
} catch (h) {
|
|
2265
|
+
return console[e(407)]("HLS 파싱 실패:", h), i;
|
|
2266
2266
|
}
|
|
2267
2267
|
}
|
|
2268
|
-
async
|
|
2268
|
+
async [y(282)](t) {
|
|
2269
2269
|
const e = y;
|
|
2270
|
-
if (!t?.
|
|
2271
|
-
const i = new
|
|
2272
|
-
if (t
|
|
2273
|
-
if (t[e(
|
|
2274
|
-
await this[e(
|
|
2270
|
+
if (!t?.type || !this[e(296)] || this[e(277)]?.[e(299)] !== "Y") return;
|
|
2271
|
+
const i = new G(window[e(338)].userAgent)[e(333)]();
|
|
2272
|
+
if (t.type == "volumechange" || t.type == "stateChange") return;
|
|
2273
|
+
if (t[e(363)] == e(390)) {
|
|
2274
|
+
await this[e(353)](e(390), { extra: { playbackRate: t?.data?.[e(293)] || t?.[e(408)]?.[e(275)]?.playbackRate || 1 } }, t[e(363)]);
|
|
2275
2275
|
return;
|
|
2276
2276
|
}
|
|
2277
|
-
if (t[e(
|
|
2278
|
-
await this
|
|
2277
|
+
if (t[e(363)] == e(315)) {
|
|
2278
|
+
await this[e(353)]("fullscreenchange", { extra: { isFullscreen: t?.data?.isFullscreen || !1 } }, t[e(363)]);
|
|
2279
2279
|
return;
|
|
2280
2280
|
}
|
|
2281
|
-
const
|
|
2282
|
-
t[e(
|
|
2283
|
-
const r = t?.
|
|
2284
|
-
this
|
|
2285
|
-
const
|
|
2286
|
-
|
|
2287
|
-
const S = t?.
|
|
2288
|
-
let oe = 0, z = 0,
|
|
2289
|
-
if (f == e(
|
|
2290
|
-
const rt = this
|
|
2291
|
-
z = rt - this[e(
|
|
2281
|
+
const a = t[e(363)];
|
|
2282
|
+
t[e(363)] == e(330) && (t.type = e(328));
|
|
2283
|
+
const r = t?.[e(408)]?.[e(363)] == e(286), o = navigator[e(285)] || navigator[e(401)] || navigator[e(350)] || null;
|
|
2284
|
+
this[e(368)] = t?.[e(363)] || null;
|
|
2285
|
+
const h = this[e(368)] === e(248) && !this[e(392)], f = h ? e(383) : this[e(368)];
|
|
2286
|
+
h && (this[e(392)] = !0);
|
|
2287
|
+
const S = t?.video?.[e(275)]?.duration || 0, I = t?.[e(408)]?.[e(275)]?.[e(356)] || 0, R = t?.[e(408)]?.[e(332)] || 0, H = t?.[e(408)]?.[e(252)] || 0;
|
|
2288
|
+
let oe = 0, z = 0, fe = 0;
|
|
2289
|
+
if (f == e(328) && (oe = this[e(365)](), this[e(312)] = oe), f == e(383)) {
|
|
2290
|
+
const rt = this[e(365)]();
|
|
2291
|
+
z = rt - this[e(312)], fe = rt;
|
|
2292
2292
|
}
|
|
2293
|
-
const
|
|
2294
|
-
await this[e(
|
|
2293
|
+
const Yt = { type: f, video: { type: r ? e(349) : "VOD", quality: t?.[e(408)]?.[e(281)] ? t?.[e(408)]?.[e(281)] : e(341), url: t?.[e(408)]?.[e(371)] }, connection: o ? { network: o[e(402)], downlink: o.downlink, rtt: o[e(265)], save_data: o.saveData } : void 0, extra: { actionType: f, title: t?.meta?.[e(291)], contentId: t?.[e(408)]?.[e(373)] || t?.[e(376)]?.[e(373)] || null, metaData: t?.[e(376)], videoWidth: Math[e(370)](R), videoHeight: Math.round(H), video_protocols: this[e(348)](t?.[e(408)]?.[e(371)]), duration: Math.floor(S), currentTime: Math[e(351)](I), playedTime: this.getElapsedMilliseconds(), viewingTime: Math[e(370)](this[e(365)]() / 1e3), playerStartTime: oe, videoStartTime: z, totalStartTime: fe, percent: Math.round(I / S * 100), quality: t?.[e(408)]?.[e(281)] ? t?.video?.[e(281)] : e(341), errorCode: t?.errorInfo?.[e(409)], errorMessage: t?.[e(304)]?.[e(276)], actionDuration: this[e(365)]() / 1e3, device: i[e(313)].vendor + " " + i[e(313)][e(279)], location: window[e(355)][e(325)], host: window[e(355)].host, port: window.location.port, protocol: window[e(355)][e(274)] }, browser: { lang: navigator[e(337)], ua: navigator[e(375)] }, screen: { width: window.screen.width, height: window.screen[e(372)] } };
|
|
2294
|
+
await this[e(353)](f, Yt, a);
|
|
2295
2295
|
}
|
|
2296
|
-
async [y(
|
|
2297
|
-
const
|
|
2298
|
-
if (!this
|
|
2299
|
-
const r = e && typeof e ===
|
|
2300
|
-
await this[
|
|
2296
|
+
async [y(353)](t, e, i) {
|
|
2297
|
+
const a = y;
|
|
2298
|
+
if (!this[a(296)]) return;
|
|
2299
|
+
const r = e && typeof e === a(352) ? e : { extra: { actionDuration: this[a(365)]() } };
|
|
2300
|
+
await this[a(296)].maSync(r), await this[a(296)][a(391)]({ type: t, data: r });
|
|
2301
2301
|
}
|
|
2302
|
-
[y(
|
|
2302
|
+
[y(348)](t) {
|
|
2303
2303
|
const e = y;
|
|
2304
|
-
return t[e(
|
|
2304
|
+
return t[e(249)](e(263)) > -1 ? "hls" : t[e(249)](e(403)) > -1 ? "dash" : e(268);
|
|
2305
2305
|
}
|
|
2306
|
-
|
|
2306
|
+
getElapsedMilliseconds() {
|
|
2307
2307
|
const t = y;
|
|
2308
|
-
return this
|
|
2308
|
+
return this[t(308)] ? (/* @__PURE__ */ new Date()).getTime() - this[t(308)] : 0;
|
|
2309
2309
|
}
|
|
2310
2310
|
}
|
|
2311
|
-
(function(
|
|
2312
|
-
for (var e =
|
|
2311
|
+
(function(x, t) {
|
|
2312
|
+
for (var e = D0, i = x(); ; )
|
|
2313
2313
|
try {
|
|
2314
|
-
var
|
|
2315
|
-
if (
|
|
2314
|
+
var a = parseInt(e(207)) / 1 * (-parseInt(e(208)) / 2) + -parseInt(e(211)) / 3 + parseInt(e(205)) / 4 + -parseInt(e(204)) / 5 + parseInt(e(210)) / 6 * (-parseInt(e(203)) / 7) + -parseInt(e(213)) / 8 * (parseInt(e(206)) / 9) + -parseInt(e(212)) / 10 * (-parseInt(e(209)) / 11);
|
|
2315
|
+
if (a === t) break;
|
|
2316
2316
|
i.push(i.shift());
|
|
2317
2317
|
} catch {
|
|
2318
2318
|
i.push(i.shift());
|
|
2319
2319
|
}
|
|
2320
|
-
})(
|
|
2321
|
-
function
|
|
2322
|
-
var
|
|
2323
|
-
return
|
|
2324
|
-
return
|
|
2325
|
-
},
|
|
2320
|
+
})(Ne, 762062);
|
|
2321
|
+
function Ne() {
|
|
2322
|
+
var x = ["1027575qEUJhr", "4628080bxzWKP", "45oQzECZ", "1AHquVL", "93528oCFsDw", "363fWrqwA", "20094ycqwoS", "2270604xGMRLz", "430600ZvQWOQ", "10208aJucRL", "1673oIOlVl"];
|
|
2323
|
+
return Ne = function() {
|
|
2324
|
+
return x;
|
|
2325
|
+
}, Ne();
|
|
2326
2326
|
}
|
|
2327
|
-
function
|
|
2328
|
-
|
|
2329
|
-
var e =
|
|
2327
|
+
function D0(x, t) {
|
|
2328
|
+
x = x - 203;
|
|
2329
|
+
var e = Ne(), i = e[x];
|
|
2330
2330
|
return i;
|
|
2331
2331
|
}
|
|
2332
2332
|
export {
|
|
2333
2333
|
P0 as default,
|
|
2334
|
-
|
|
2334
|
+
Je as getTranslator
|
|
2335
2335
|
};
|