@sgrsoft/vpe-core-sdk 0.20.6 → 0.20.8
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 +780 -777
- package/package.json +1 -1
package/dist/vpe-core-sdk.es.js
CHANGED
|
@@ -1,110 +1,111 @@
|
|
|
1
|
-
var h = _t;
|
|
2
1
|
function ke() {
|
|
3
|
-
var
|
|
2
|
+
var a = ["Unsupported format.", "None", "Player Execution Failed", "Scheduled", "Failed to communicate with the DRM license server.", "Subtitles", "Turn off captions", "Black", "Normal", "You do not have permission to play this video.", "Red", "hour", "day", "12EfXorw", "Cannot play DASH video on iOS.", "Magenta", "10WSEkfQ", "Font Weight", "Skip Intro", "Invalid URL format.", "Authentication Failed", "Pause", "Font Size", "8920857rcxcEM", "Apply Default Style", "Yellow", "Drop Shadow", "LIVE", "Invalid access. Please check your access_key.", "Depressed", "This video is rated for all audiences.", "White", "Thin", "Window Color", "263295BMlbNs", "Drugs", "Cancel", "Sexuality", "Settings", "Extra Bold", "Monthly basic API calls exceeded. Please switch to a paid version.", "Background Opacity", "Mini player", "Change text, color, and background styles", "Auto Skip Opening", "Player Startup Failed", "Exit fullscreen", "Bold", "206178uztrlL", "minute(s)", "Horror", "Provocative content", "seconds until auto-play", "Auto", "Turn on captions", "Play", "6VBueDs", "174544CxItfw", "Fullscreen", "1345676cRCDiv", "Unmute", "Quality", "Mute", "Text Edge Style", "In a moment", "8ZlSlWK", "You are muted.", "Cannot play video", "Text Opacity", "Previous video", "This feature requires the Standard plan.", "Video will start in {timeTxt}.", "Autoplay", "Required module was not loaded. (hls.js)", "Skip Ending", "Raised", "108XeUxKy", "Next video", "License", "Imitation risk", "FairPlay certificate validation failed.", "653415JNbypj", "Invalid DRM token.", "Subtitle Style", "Playback speed", "Green", "Violence", "7BonNqg", "Semi Bold", "The live stream is OFFLINE.", "Auto Skip Ending", "6095141YWnYNF", "Auto Skip Intro"];
|
|
4
3
|
return ke = function() {
|
|
5
|
-
return
|
|
4
|
+
return a;
|
|
6
5
|
}, ke();
|
|
7
6
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
var f = Et;
|
|
8
|
+
function Et(a, t) {
|
|
9
|
+
a = a - 322;
|
|
10
|
+
var e = ke(), i = e[a];
|
|
11
11
|
return i;
|
|
12
12
|
}
|
|
13
|
-
(function(
|
|
14
|
-
for (var e =
|
|
13
|
+
(function(a, t) {
|
|
14
|
+
for (var e = Et, i = a(); ; )
|
|
15
15
|
try {
|
|
16
|
-
var n = parseInt(e(
|
|
16
|
+
var n = parseInt(e(414)) / 1 * (-parseInt(e(352)) / 2) + -parseInt(e(343)) / 3 * (-parseInt(e(346)) / 4) + -parseInt(e(368)) / 5 + -parseInt(e(335)) / 6 * (-parseInt(e(374)) / 7) + parseInt(e(344)) / 8 * (-parseInt(e(363)) / 9) + parseInt(e(396)) / 10 * (parseInt(e(403)) / 11) + parseInt(e(393)) / 12 * (parseInt(e(378)) / 13);
|
|
17
17
|
if (n === t) break;
|
|
18
18
|
i.push(i.shift());
|
|
19
19
|
} catch {
|
|
20
20
|
i.push(i.shift());
|
|
21
21
|
}
|
|
22
|
-
})(ke,
|
|
23
|
-
const
|
|
24
|
-
function Et(x, t) {
|
|
25
|
-
x = x - 172;
|
|
26
|
-
var e = _e(), i = e[x];
|
|
27
|
-
return i;
|
|
28
|
-
}
|
|
22
|
+
})(ke, 541366);
|
|
23
|
+
const qt = { common: { cancel: f(323), auto: f(340), normal: "Normal", notUse: "Not used", prev: f(356), next: f(364), delayText: f(339), license: f(365), play: f(342), pause: f(401), replay: "Replay", fullOn: f(345), fullOff: f(333), muteOn: f(349), muteOff: f(347), captionOff: f(386), captionOn: f(341), setting: f(325), live: f(407), miniPlayer: f(329), isMute: f(353), subtitle: f(385), subtitleNot: "Subtitles not available" }, settings: { autoplay: f(359), playbackRate: f(371), captions: "Subtitles", quality: f(348) }, skip: { introSkip: f(398), openingSkip: "Skip Opening", endingSkip: f(361), autoSkipIntro: f(379), autoSkipOpening: f(331), autoSkipEnding: f(377), autoSkipOpeningEnding: "Auto Skip Opening/Ending" }, ageRating: { noticeAll: f(410), notice12: "This video may be inappropriate for children under 12 and requires parental guidance.", notice15: "This video may be inappropriate for children under 15 and requires parental guidance.", notice19: "This video may be inappropriate for minors." }, contentWarning: { sexuality: f(324), violence: f(373), language: "Language", drugs: f(322), horror: f(337), imitation: f(366), provocative: f(338) }, error: { "01": { title: f(354), desc: f(408) }, "02": { title: "Cannot play video", desc: f(389) }, "03": { title: f(400), desc: "The network connection is unstable." }, "04": { title: f(354), desc: "The video could not be played." }, "05": { title: f(354), desc: "The license is not valid." }, "06": { title: "Cannot play video", desc: f(327) }, "07": { title: f(354), desc: f(380) }, "08": { title: "Cannot play video", desc: f(399) }, "09": { title: f(354), desc: f(376) }, 10: { title: f(354), desc: f(394) }, 11: { title: "Cannot play video", desc: f(369) }, 12: { title: f(354), desc: f(384) }, 13: { title: f(354), desc: f(367) }, 14: { title: f(354), desc: "Screen capture / screen recording has been detected." }, 15: { title: f(382), desc: f(360) }, 16: { title: f(382), desc: "Required module was not loaded. (dash.js)" }, 17: { title: f(332), desc: f(357) } }, tv: { default: "Default", quality: "Quality", subtitleStyle: f(370), subtitleStyleDesc: f(330), applyDefaultStyle: f(404), fontColor: "Font Color", fontSize: f(402), textOpacity: f(355), edgeStyle: f(350), bgColor: "Background Color", bgOpacity: f(328), windowColor: f(413), windowOpacity: "Window Opacity", fontWeight: f(397), weight: { thin: f(412), normal: f(388), semiBold: f(375), bold: f(334), extraBold: f(326) }, color: { white: f(411), black: f(387), red: f(390), green: f(372), blue: "Blue", yellow: f(405), magenta: f(395), cyan: "Cyan" }, edge: { none: f(381), dropShadow: f(406), raised: f(362), depressed: f(409), uniform: "Uniform" } }, alternative: { hour: "hour(s)", minute: f(336), second: "second(s)", after: f(351), afterMin: "min", afterHour: f(391), afterDay: f(392), startPlay: f(358), nextPlay: "Next video will play in {timeTxt} seconds.", afterPlay: f(383) } };
|
|
29
24
|
function _e() {
|
|
30
|
-
var
|
|
25
|
+
var a = ["음소거 상태입니다.", "동영상을 재생할 수 없음", "다시보기", "초 뒤 자동재생", "매우 굵게", "약간 굵게", "창 색상", "인트로 건너뛰기", "필수 모듈이 로드되지 않았습니다. (dash.js)", "라이선스", "다음 동영상", "화면 캡쳐 / 화면 녹화가 감지되었습니다.", "실시간", "그림자", "인증 실패", "1821594aLkKwK", "인트로 자동 스킵", "일시정지", "이 영상은 전체 관람가 영상입니다.", "빨간색", "URL 형식이 잘못되었습니다.", "전체화면", "텍스트, 색상, 배경 스타일 변경", "자동재생", "플레이어 실행 실패", "자막 스타일", "월 기본 제공 호출 건수를 초과하였습니다. 유료 버전으로 전환 후 사용 부탁 드립니다.", "505HhQqKt", "1806741yuscHU", "글꼴 색상", "지원하지 않는 형식입니다.", "자극적 장면", "오프닝/엔딩 자동 스킵", "동영상을 재생할 수 없습니다.", "배경 색상", "음소거", "창 불투명도", "배경 불투명도", "전체화면 해제", "이 영상은 15세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "오프닝 건너뛰기", "잠시 ", "407PclySo", "147YwILMF", "59336ESClIJ", "이 영상은 12세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "검정색", "자막끄기", "글자 테두리 스타일", "글꼴 크기", "150697IVrNXJ", "텍스트 불투명도", "글자 굵기", "{timeTxt}초 후 다음 영상이 재생됩니다.", "초록색", "기본 스타일 적용", "24740HInBpe", "엔딩 자동 스킵", "잘못된 접근입니다. access_key를 확인해주세요.", "청록색", "라이브스트림이 OFFLINE 입니다.", "79358WRMpCg", "성적 표현", "5932zocfWk", "DRM 토큰이 잘못되었습니다.", "이 영상은 청소년이 시청하기에 부적절한 영상입니다.", "필수 모듈이 로드되지 않았습니다. (hls.js)", "21nyyIRi", "네트워크 연결이 원활하지 않습니다.", "자홍색", "사용안함", "노란색", "자막 사용 불가"];
|
|
31
26
|
return _e = function() {
|
|
32
|
-
return
|
|
27
|
+
return a;
|
|
33
28
|
}, _e();
|
|
34
29
|
}
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
var w = Tt;
|
|
31
|
+
function Tt(a, t) {
|
|
32
|
+
a = a - 165;
|
|
33
|
+
var e = _e(), i = e[a];
|
|
34
|
+
return i;
|
|
35
|
+
}
|
|
36
|
+
(function(a, t) {
|
|
37
|
+
for (var e = Tt, i = a(); ; )
|
|
38
38
|
try {
|
|
39
|
-
var n = parseInt(e(
|
|
39
|
+
var n = -parseInt(e(180)) / 1 + parseInt(e(191)) / 2 * (-parseInt(e(197)) / 3) + parseInt(e(193)) / 4 * (parseInt(e(230)) / 5) + parseInt(e(218)) / 6 + -parseInt(e(173)) / 7 * (parseInt(e(174)) / 8) + parseInt(e(231)) / 9 + -parseInt(e(186)) / 10 * (-parseInt(e(172)) / 11);
|
|
40
40
|
if (n === t) break;
|
|
41
41
|
i.push(i.shift());
|
|
42
42
|
} catch {
|
|
43
43
|
i.push(i.shift());
|
|
44
44
|
}
|
|
45
|
-
})(_e,
|
|
46
|
-
const
|
|
47
|
-
var
|
|
48
|
-
(function(
|
|
49
|
-
for (var e =
|
|
45
|
+
})(_e, 161462);
|
|
46
|
+
const Wt = { common: { cancel: "취소", auto: "자동", normal: "보통", notUse: w(200), prev: "이전 동영상", next: w(213), delayText: w(206), license: w(212), play: "재생", pause: w(220), replay: w(205), fullOn: w(224), fullOff: w(168), muteOn: w(165), muteOff: "음소거 해제", captionOff: w(177), captionOn: "자막켜기", setting: "설정", live: w(215), miniPlayer: "미니플레이어", isMute: w(203), subtitle: "자막", subtitleNot: w(202) }, settings: { autoplay: w(226), playbackRate: "재생 속도", captions: "자막", quality: "해상도" }, skip: { introSkip: w(210), openingSkip: w(170), endingSkip: "엔딩 건너뛰기", autoSkipIntro: w(219), autoSkipOpening: "오프닝 자동 스킵", autoSkipEnding: w(187), autoSkipOpeningEnding: w(235) }, ageRating: { noticeAll: w(221), notice12: w(175), notice15: w(169), notice19: w(195) }, contentWarning: { sexuality: w(192), violence: "폭력", language: "욕설", drugs: "약물", horror: "공포", imitation: "모방위험", provocative: w(234) }, error: { "01": { title: "동영상을 재생할 수 없음", desc: w(188) }, "02": { title: w(204), desc: "동영상을 재생할 권한이 없습니다." }, "03": { title: w(217), desc: w(198) }, "04": { title: w(204), desc: w(236) }, "05": { title: w(204), desc: "라이선스가 유효하지 않습니다." }, "06": { title: "동영상을 재생할 수 없음", desc: w(229) }, "07": { title: w(204), desc: w(233) }, "08": { title: w(204), desc: w(223) }, "09": { title: w(204), desc: w(190) }, 10: { title: w(204), desc: "iOS에서 Dash 비디오를 재생할 수 없습니다." }, 11: { title: w(204), desc: w(194) }, 12: { title: w(204), desc: "DRM 라이선스 서버와 통신에 실패하였습니다." }, 13: { title: "동영상을 재생할 수 없음", desc: "FairPlay 인증서 검증에 실패하였습니다." }, 14: { title: w(204), desc: w(214) }, 15: { title: w(227), desc: w(196) }, 16: { title: w(227), desc: w(211) }, 17: { title: "플레이어 구동 실패", desc: "Standard 요금제가 필요한 기능입니다." } }, tv: { default: "기본", quality: "화질", subtitleStyle: w(228), subtitleStyleDesc: w(225), applyDefaultStyle: w(185), fontColor: w(232), fontSize: w(179), textOpacity: w(181), edgeStyle: w(178), bgColor: w(237), bgOpacity: w(167), windowColor: w(209), windowOpacity: w(166), fontWeight: w(182), weight: { thin: "얇게", normal: "보통", semiBold: w(208), bold: "굵게", extraBold: w(207) }, color: { white: "흰색", black: w(176), red: w(222), green: w(184), blue: "파란색", yellow: w(201), magenta: w(199), cyan: w(189) }, edge: { none: "없음", dropShadow: w(216), raised: "양각", depressed: "음각", uniform: "균일" } }, alternative: { hour: "시", minute: "분", second: "초", after: w(171), afterMin: "분 ", afterHour: "시간 ", afterDay: "일 ", startPlay: "{timeTxt} 후 영상이 시작됩니다.", nextPlay: w(183), afterPlay: "예정" } };
|
|
47
|
+
var b = Ct;
|
|
48
|
+
(function(a, t) {
|
|
49
|
+
for (var e = Ct, i = a(); ; )
|
|
50
50
|
try {
|
|
51
|
-
var n = parseInt(e(
|
|
51
|
+
var n = -parseInt(e(497)) / 1 + -parseInt(e(467)) / 2 + -parseInt(e(473)) / 3 + parseInt(e(508)) / 4 * (-parseInt(e(534)) / 5) + parseInt(e(503)) / 6 + -parseInt(e(515)) / 7 * (parseInt(e(475)) / 8) + parseInt(e(535)) / 9;
|
|
52
52
|
if (n === t) break;
|
|
53
53
|
i.push(i.shift());
|
|
54
54
|
} catch {
|
|
55
55
|
i.push(i.shift());
|
|
56
56
|
}
|
|
57
|
-
})(Ee,
|
|
57
|
+
})(Ee, 570887);
|
|
58
|
+
function Ct(a, t) {
|
|
59
|
+
a = a - 467;
|
|
60
|
+
var e = Ee(), i = e[a];
|
|
61
|
+
return i;
|
|
62
|
+
}
|
|
58
63
|
function Ee() {
|
|
59
|
-
var
|
|
64
|
+
var a = ["イントロをスキップ", "ミュート解除", "使用しない", "ライブストリームはオフラインです。", "ライブ", "iOSではDASHビデオを再生できません。", "オープニングをスキップ", "フォントサイズ", "沈み込み", "やや太い", "FairPlay証明書の検証に失敗しました。", "{timeTxt}後に動画が始まります。", "次の動画", "OP/ED自動スキップ", "一時停止", "リプレイ", "しばらくして", "406382xSXKVN", "ミュート状態です。", "プレーヤーの起動に失敗しました", "オープニング自動スキップ", "この映像は12歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", "DRMライセンスサーバーとの通信に失敗しました。", "3129144MQkpcA", "サポートされていない形式です。", "ウィンドウ色", "キャンセル", "月間の基本提供呼び出し回数を超過しました。有料版に切り替えてご利用ください。", "4YcoeYL", "浮き出し", "シアン", "ミュート", "ミニプレーヤー", "字幕は利用できません", "ドロップシャドウ", "112AwqPkr", "ネットワーク接続が不安定です。", "テキスト、色、背景スタイルを変更", "文字エッジスタイル", "画面キャプチャ/画面録画が検出されました。", "秒後に自動再生", "時間後", "ライセンスが無効です。", "エンディングをスキップ", "動画を再生できません", "イントロ自動スキップ", "不正なアクセスです。access_keyを確認してください。", "エンディング自動スキップ", "この映像は未成年者の視聴には不適切な内容を含みます。", "前の動画", "自動再生", "この動画を再生する権限がありません。", "文字の太さ", "マゼンタ", "4701260ZRwYxX", "34430238IyUPUV", "{timeTxt}秒後に次の動画が再生されます。", "必須モジュールが読み込まれていません。(hls.js)", "1735186FAcgBJ", "DRMトークンが無効です。", "ライセンス", "字幕をオフにする", "認証に失敗しました", "この映像は全年齢対象です。", "1779288LndiIV", "背景色", "484448dLowko", "URLの形式が正しくありません。", "字幕をオンにする", "この機能にはStandardプランが必要です。", "再生速度"];
|
|
60
65
|
return Ee = function() {
|
|
61
|
-
return
|
|
66
|
+
return a;
|
|
62
67
|
}, Ee();
|
|
63
68
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
return
|
|
69
|
+
const Kt = { common: { cancel: b(506), auto: "自動", normal: "標準", notUse: b(482), prev: b(529), next: b(492), delayText: b(520), license: b(469), play: "再生", pause: b(494), replay: b(495), fullOn: "全画面表示", fullOff: "全画面表示を終了", muteOn: b(511), muteOff: b(481), captionOff: b(470), captionOn: b(477), setting: "設定", live: b(484), miniPlayer: b(512), isMute: b(498), subtitle: "字幕", subtitleNot: b(513) }, settings: { autoplay: b(530), playbackRate: b(479), captions: "字幕", quality: "画質" }, skip: { introSkip: b(480), openingSkip: b(486), endingSkip: b(523), autoSkipIntro: b(525), autoSkipOpening: b(500), autoSkipEnding: b(527), autoSkipOpeningEnding: b(493) }, ageRating: { noticeAll: b(472), notice12: b(501), notice15: "この映像は15歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", notice19: b(528) }, contentWarning: { sexuality: "性的表現", violence: "暴力", language: "暴言", drugs: "薬物", horror: "恐怖", imitation: "模倣危険", provocative: "刺激的な場面" }, error: { "01": { title: b(524), desc: b(526) }, "02": { title: b(524), desc: b(531) }, "03": { title: b(471), desc: b(516) }, "04": { title: "動画を再生できません", desc: "動画を再生できませんでした。" }, "05": { title: "動画を再生できません", desc: b(522) }, "06": { title: b(524), desc: b(507) }, "07": { title: b(524), desc: b(504) }, "08": { title: b(524), desc: b(476) }, "09": { title: b(524), desc: b(483) }, 10: { title: b(524), desc: b(485) }, 11: { title: b(524), desc: b(468) }, 12: { title: b(524), desc: b(502) }, 13: { title: "動画を再生できません", desc: b(490) }, 14: { title: b(524), desc: b(519) }, 15: { title: b(499), desc: b(537) }, 16: { title: b(499), desc: "必須モジュールが読み込まれていません。(dash.js)" }, 17: { title: b(499), desc: b(478) } }, tv: { default: "デフォルト", quality: "画質", subtitleStyle: "字幕スタイル", subtitleStyleDesc: b(517), applyDefaultStyle: "デフォルトスタイルを適用", fontColor: "フォント色", fontSize: b(487), textOpacity: "テキスト不透明度", edgeStyle: b(518), bgColor: b(474), bgOpacity: "背景不透明度", windowColor: b(505), windowOpacity: "ウィンドウ不透明度", fontWeight: b(532), weight: { thin: "細い", normal: "標準", semiBold: b(489), bold: "太い", extraBold: "極太" }, color: { white: "白", black: "黒", red: "赤", green: "緑", blue: "青", yellow: "黄", magenta: b(533), cyan: b(510) }, edge: { none: "なし", dropShadow: b(514), raised: b(509), depressed: b(488), uniform: "均一" } }, alternative: { hour: "時間", minute: "分", second: "秒", after: b(496), afterMin: "分後", afterHour: b(521), afterDay: "日後", startPlay: b(491), nextPlay: b(536), afterPlay: "予定" } }, ve = Mt;
|
|
70
|
+
function Te() {
|
|
71
|
+
const a = ["216eFduBJ", "1190924cIckSd", "132793QyxyHF", "6tYoumL", "language", "1533805eQtOuQ", "137445Zvlxvo", "102IxqHZx", "68787KXBsTn", "undefined", "55975zuvdRK", "30956DcqZyW", "430bPAbYr"];
|
|
72
|
+
return Te = function() {
|
|
73
|
+
return a;
|
|
74
|
+
}, Te();
|
|
68
75
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const e = At, i = x();
|
|
76
|
+
(function(a, t) {
|
|
77
|
+
const e = Mt, i = a();
|
|
72
78
|
for (; ; )
|
|
73
79
|
try {
|
|
74
|
-
if (
|
|
80
|
+
if (parseInt(e(495)) / 1 + -parseInt(e(491)) / 2 * (-parseInt(e(496)) / 3) + -parseInt(e(494)) / 4 + -parseInt(e(503)) / 5 * (-parseInt(e(500)) / 6) + -parseInt(e(498)) / 7 + -parseInt(e(493)) / 8 * (parseInt(e(501)) / 9) + -parseInt(e(492)) / 10 * (-parseInt(e(499)) / 11) === t) break;
|
|
75
81
|
i.push(i.shift());
|
|
76
82
|
} catch {
|
|
77
83
|
i.push(i.shift());
|
|
78
84
|
}
|
|
79
|
-
})(Te,
|
|
80
|
-
const
|
|
81
|
-
function
|
|
82
|
-
|
|
83
|
-
return t in Ct ? t : "en";
|
|
85
|
+
})(Te, 168142);
|
|
86
|
+
const At = { en: qt, ko: Wt, ja: Kt };
|
|
87
|
+
function Mt(a, t) {
|
|
88
|
+
return a = a - 491, Te()[a];
|
|
84
89
|
}
|
|
85
|
-
|
|
86
|
-
|
|
90
|
+
const jt = () => typeof navigator !== ve(502) && typeof navigator[ve(497)] !== ve(502);
|
|
91
|
+
function Jt(a) {
|
|
92
|
+
const t = a.split("-")[0];
|
|
93
|
+
return t in At ? t : "en";
|
|
87
94
|
}
|
|
88
|
-
function
|
|
89
|
-
const x = ["4676040jwghOj", "16010445ObzFZc", "999992kkARFh", "789528EukAWf", "language", "182FBAQuS", "undefined", "1964948slgCCX", "49062rbYwUY", "76803NOqMrh", "5wQMCGO", "27NyhFRr", "2BJNagU"];
|
|
90
|
-
return Te = function() {
|
|
91
|
-
return x;
|
|
92
|
-
}, Te();
|
|
93
|
-
}
|
|
94
|
-
function Je(x) {
|
|
95
|
+
function Je(a) {
|
|
95
96
|
const t = ve;
|
|
96
97
|
let e = "en";
|
|
97
|
-
|
|
98
|
+
a ? e = a : jt() && (e = navigator[t(497)]);
|
|
98
99
|
const i = Jt(e);
|
|
99
|
-
return
|
|
100
|
+
return At[i];
|
|
100
101
|
}
|
|
101
102
|
Je();
|
|
102
|
-
var Xt = "2.0.9", Zt = 500,
|
|
103
|
+
var Xt = "2.0.9", Zt = 500, rt = "user-agent", ne = "", ot = "?", E = {
|
|
103
104
|
FUNCTION: "function",
|
|
104
105
|
OBJECT: "object",
|
|
105
106
|
STRING: "string",
|
|
106
107
|
UNDEFINED: "undefined"
|
|
107
|
-
}, O = "browser",
|
|
108
|
+
}, O = "browser", z = "cpu", G = "device", B = "engine", N = "os", re = "result", d = "name", s = "type", u = "vendor", l = "version", D = "architecture", fe = "major", c = "model", Se = "console", S = "mobile", k = "tablet", T = "smarttv", H = "wearable", be = "xr", pe = "embedded", Qt = "fetcher", ee = "inapp", et = "brands", Q = "formFactors", tt = "fullVersionList", oe = "platform", it = "platformVersion", Ue = "bitness", J = "sec-ch-ua", $t = J + "-full-version-list", e0 = J + "-arch", t0 = J + "-" + Ue, i0 = J + "-form-factors", a0 = J + "-" + S, x0 = J + "-" + c, Dt = J + "-" + oe, n0 = Dt + "-version", Rt = [et, tt, S, c, oe, it, D, Q, Ue], we = "Amazon", te = "Apple", st = "ASUS", ct = "BlackBerry", Z = "Google", dt = "Huawei", He = "Lenovo", lt = "Honor", ge = "LG", Ge = "Microsoft", Ve = "Motorola", ut = "Nvidia", pt = "OnePlus", Ye = "OPPO", ce = "Samsung", ft = "Sharp", de = "Sony", ze = "Xiaomi", qe = "Zebra", ht = "Chrome", bt = "Chromium", W = "Chromecast", Ie = "Edge", le = "Firefox", ie = "Opera", We = "Facebook", wt = "Sogou", ae = "Mobile ", xe = " Browser", Xe = "Windows", r0 = typeof window !== E.UNDEFINED, R = r0 && window.navigator ? window.navigator : void 0, $ = R && R.userAgentData ? R.userAgentData : void 0, o0 = function(a, t) {
|
|
108
109
|
var e = {}, i = t;
|
|
109
110
|
if (!Ce(t)) {
|
|
110
111
|
i = {};
|
|
@@ -112,28 +113,28 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
112
113
|
for (var r in t[n])
|
|
113
114
|
i[r] = t[n][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 a)
|
|
117
|
+
e[o] = i[o] && i[o].length % 2 === 0 ? i[o].concat(a[o]) : a[o];
|
|
117
118
|
return e;
|
|
118
|
-
}, Be = function(
|
|
119
|
-
for (var t = {}, e = 0; e <
|
|
120
|
-
t[
|
|
119
|
+
}, Be = function(a) {
|
|
120
|
+
for (var t = {}, e = 0; e < a.length; e++)
|
|
121
|
+
t[a[e].toUpperCase()] = a[e];
|
|
121
122
|
return t;
|
|
122
|
-
}, Ze = function(
|
|
123
|
-
if (typeof
|
|
124
|
-
for (var e in
|
|
125
|
-
if (
|
|
123
|
+
}, Ze = function(a, t) {
|
|
124
|
+
if (typeof a === E.OBJECT && a.length > 0) {
|
|
125
|
+
for (var e in a)
|
|
126
|
+
if (K(t) == K(a[e])) return !0;
|
|
126
127
|
return !1;
|
|
127
128
|
}
|
|
128
|
-
return he(
|
|
129
|
-
}, Ce = function(
|
|
130
|
-
for (var e in
|
|
131
|
-
return /^(browser|cpu|device|engine|os)$/.test(e) || (t ? Ce(
|
|
132
|
-
}, he = function(
|
|
133
|
-
return typeof
|
|
134
|
-
},
|
|
135
|
-
if (
|
|
136
|
-
for (var t = [], e =
|
|
129
|
+
return he(a) ? K(t) == K(a) : !1;
|
|
130
|
+
}, Ce = function(a, t) {
|
|
131
|
+
for (var e in a)
|
|
132
|
+
return /^(browser|cpu|device|engine|os)$/.test(e) || (t ? Ce(a[e]) : !1);
|
|
133
|
+
}, he = function(a) {
|
|
134
|
+
return typeof a === E.STRING;
|
|
135
|
+
}, Ke = function(a) {
|
|
136
|
+
if (a) {
|
|
137
|
+
for (var t = [], e = se(/\\?\"/g, a).split(","), i = 0; i < e.length; i++)
|
|
137
138
|
if (e[i].indexOf(";") > -1) {
|
|
138
139
|
var n = Ae(e[i]).split(";v=");
|
|
139
140
|
t[i] = { brand: n[0], version: n[1] };
|
|
@@ -141,43 +142,43 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
141
142
|
t[i] = Ae(e[i]);
|
|
142
143
|
return t;
|
|
143
144
|
}
|
|
144
|
-
},
|
|
145
|
-
return he(
|
|
146
|
-
}, Qe = function(
|
|
147
|
-
return he(
|
|
148
|
-
},
|
|
149
|
-
for (var t in
|
|
150
|
-
if (
|
|
151
|
-
var e =
|
|
145
|
+
}, K = function(a) {
|
|
146
|
+
return he(a) ? a.toLowerCase() : a;
|
|
147
|
+
}, Qe = function(a) {
|
|
148
|
+
return he(a) ? se(/[^\d\.]/g, a).split(".")[0] : void 0;
|
|
149
|
+
}, Y = function(a) {
|
|
150
|
+
for (var t in a)
|
|
151
|
+
if (a.hasOwnProperty(t)) {
|
|
152
|
+
var e = a[t];
|
|
152
153
|
typeof e == E.OBJECT && e.length == 2 ? this[e[0]] = e[1] : this[e] = void 0;
|
|
153
154
|
}
|
|
154
155
|
return this;
|
|
155
|
-
},
|
|
156
|
-
return he(t) ? t.replace(
|
|
157
|
-
},
|
|
158
|
-
return
|
|
159
|
-
}, Ae = function(
|
|
160
|
-
return
|
|
161
|
-
}, $e = function(
|
|
162
|
-
if (!(!
|
|
163
|
-
for (var e = 0, i, n, r, o, p,
|
|
164
|
-
var
|
|
165
|
-
for (i = n = 0; i <
|
|
166
|
-
if (p =
|
|
156
|
+
}, se = function(a, t) {
|
|
157
|
+
return he(t) ? t.replace(a, ne) : t;
|
|
158
|
+
}, ue = function(a) {
|
|
159
|
+
return se(/\\?\"/g, a);
|
|
160
|
+
}, Ae = function(a, t) {
|
|
161
|
+
return a = se(/^\s\s*/, String(a)), typeof t === E.UNDEFINED ? a : a.substring(0, t);
|
|
162
|
+
}, $e = function(a, t) {
|
|
163
|
+
if (!(!a || !t))
|
|
164
|
+
for (var e = 0, i, n, r, o, p, h; e < t.length && !p; ) {
|
|
165
|
+
var v = t[e], I = t[e + 1];
|
|
166
|
+
for (i = n = 0; i < v.length && !p && v[i]; )
|
|
167
|
+
if (p = v[i++].exec(a), p)
|
|
167
168
|
for (r = 0; r < I.length; r++)
|
|
168
|
-
|
|
169
|
+
h = p[++n], o = I[r], typeof o === E.OBJECT && o.length > 0 ? o.length === 2 ? typeof o[1] == E.FUNCTION ? this[o[0]] = o[1].call(this, h) : this[o[0]] = o[1] : o.length >= 3 && (typeof o[1] === E.FUNCTION && !(o[1].exec && o[1].test) ? o.length > 3 ? this[o[0]] = h ? o[1].apply(this, o.slice(2)) : void 0 : this[o[0]] = h ? o[1].call(this, h, o[2]) : void 0 : o.length == 3 ? this[o[0]] = h ? h.replace(o[1], o[2]) : void 0 : o.length == 4 ? this[o[0]] = h ? o[3].call(this, h.replace(o[1], o[2])) : void 0 : o.length > 4 && (this[o[0]] = h ? o[3].apply(this, [h.replace(o[1], o[2])].concat(o.slice(4))) : void 0)) : this[o] = h || void 0;
|
|
169
170
|
e += 2;
|
|
170
171
|
}
|
|
171
|
-
},
|
|
172
|
+
}, U = function(a, t) {
|
|
172
173
|
for (var e in t)
|
|
173
174
|
if (typeof t[e] === E.OBJECT && t[e].length > 0) {
|
|
174
175
|
for (var i = 0; i < t[e].length; i++)
|
|
175
|
-
if (Ze(t[e][i],
|
|
176
|
-
return e ===
|
|
177
|
-
} else if (Ze(t[e],
|
|
178
|
-
return e ===
|
|
179
|
-
return t.hasOwnProperty("*") ? t["*"] :
|
|
180
|
-
},
|
|
176
|
+
if (Ze(t[e][i], a))
|
|
177
|
+
return e === ot ? void 0 : e;
|
|
178
|
+
} else if (Ze(t[e], a))
|
|
179
|
+
return e === ot ? void 0 : e;
|
|
180
|
+
return t.hasOwnProperty("*") ? t["*"] : a;
|
|
181
|
+
}, gt = {
|
|
181
182
|
ME: "4.90",
|
|
182
183
|
"NT 3.51": "3.51",
|
|
183
184
|
"NT 4.0": "4.0",
|
|
@@ -189,7 +190,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
189
190
|
"8.1": "6.3",
|
|
190
191
|
10: ["6.4", "10.0"],
|
|
191
192
|
NT: ""
|
|
192
|
-
},
|
|
193
|
+
}, mt = {
|
|
193
194
|
embedded: "Automotive",
|
|
194
195
|
mobile: "Mobile",
|
|
195
196
|
tablet: ["Tablet", "EInk"],
|
|
@@ -208,14 +209,14 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
208
209
|
"MIUI Browser": "Miui Browser",
|
|
209
210
|
"Opera Mobi": "OperaMobile",
|
|
210
211
|
Yandex: "YaBrowser"
|
|
211
|
-
},
|
|
212
|
+
}, yt = {
|
|
212
213
|
browser: [
|
|
213
214
|
[
|
|
214
215
|
// Most common regardless engine
|
|
215
216
|
/\b(?:crmo|crios)\/([\w\.]+)/i
|
|
216
217
|
// Chrome for Android/iOS
|
|
217
218
|
],
|
|
218
|
-
[l, [d,
|
|
219
|
+
[l, [d, ae + "Chrome"]],
|
|
219
220
|
[
|
|
220
221
|
/webview.+edge\/([\w\.]+)/i
|
|
221
222
|
// Microsoft Edge
|
|
@@ -239,17 +240,17 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
239
240
|
/opios[\/ ]+([\w\.]+)/i
|
|
240
241
|
// Opera mini on iphone >= 8.0
|
|
241
242
|
],
|
|
242
|
-
[l, [d,
|
|
243
|
+
[l, [d, ie + " Mini"]],
|
|
243
244
|
[
|
|
244
245
|
/\bop(?:rg)?x\/([\w\.]+)/i
|
|
245
246
|
// Opera GX
|
|
246
247
|
],
|
|
247
|
-
[l, [d,
|
|
248
|
+
[l, [d, ie + " GX"]],
|
|
248
249
|
[
|
|
249
250
|
/\bopr\/([\w\.]+)/i
|
|
250
251
|
// Opera Webkit
|
|
251
252
|
],
|
|
252
|
-
[l, [d,
|
|
253
|
+
[l, [d, ie]],
|
|
253
254
|
[
|
|
254
255
|
// Mixed
|
|
255
256
|
/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i
|
|
@@ -326,7 +327,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
326
327
|
/slbrowser\/([\w\.]+)/i
|
|
327
328
|
// Smart Lenovo Browser
|
|
328
329
|
],
|
|
329
|
-
[l, [d, "Smart " +
|
|
330
|
+
[l, [d, "Smart " + He + xe]],
|
|
330
331
|
[
|
|
331
332
|
/(av(?:ast|g|ira))\/([\w\.]+)/i
|
|
332
333
|
// Avast/AVG/Avira Secure Browser
|
|
@@ -341,17 +342,17 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
341
342
|
/\bfocus\/([\w\.]+)/i
|
|
342
343
|
// Firefox Focus
|
|
343
344
|
],
|
|
344
|
-
[l, [d,
|
|
345
|
+
[l, [d, le + " Focus"]],
|
|
345
346
|
[
|
|
346
347
|
/ mms\/([\w\.]+)$/i
|
|
347
348
|
// Opera Neon
|
|
348
349
|
],
|
|
349
|
-
[l, [d,
|
|
350
|
+
[l, [d, ie + " Neon"]],
|
|
350
351
|
[
|
|
351
352
|
/ opt\/([\w\.]+)$/i
|
|
352
353
|
// Opera Touch
|
|
353
354
|
],
|
|
354
|
-
[l, [d,
|
|
355
|
+
[l, [d, ie + " Touch"]],
|
|
355
356
|
[
|
|
356
357
|
/coc_coc\w+\/([\w\.]+)/i
|
|
357
358
|
// Coc Coc Browser
|
|
@@ -366,7 +367,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
366
367
|
/coast\/([\w\.]+)/i
|
|
367
368
|
// Opera Coast
|
|
368
369
|
],
|
|
369
|
-
[l, [d,
|
|
370
|
+
[l, [d, ie + " Coast"]],
|
|
370
371
|
[
|
|
371
372
|
/miuibrowser\/([\w\.]+)/i
|
|
372
373
|
// MIUI Browser
|
|
@@ -376,7 +377,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
376
377
|
/fxios\/([\w\.-]+)/i
|
|
377
378
|
// Firefox for iOS
|
|
378
379
|
],
|
|
379
|
-
[l, [d,
|
|
380
|
+
[l, [d, ae + le]],
|
|
380
381
|
[
|
|
381
382
|
/\bqihoobrowser\/?([\w\.]*)/i
|
|
382
383
|
// 360
|
|
@@ -396,17 +397,17 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
396
397
|
/samsungbrowser\/([\w\.]+)/i
|
|
397
398
|
// Samsung Internet
|
|
398
399
|
],
|
|
399
|
-
[l, [d,
|
|
400
|
+
[l, [d, ce + " Internet"]],
|
|
400
401
|
[
|
|
401
402
|
/metasr[\/ ]?([\d\.]+)/i
|
|
402
403
|
// Sogou Explorer
|
|
403
404
|
],
|
|
404
|
-
[l, [d,
|
|
405
|
+
[l, [d, wt + " Explorer"]],
|
|
405
406
|
[
|
|
406
407
|
/(sogou)mo\w+\/([\d\.]+)/i
|
|
407
408
|
// Sogou Mobile
|
|
408
409
|
],
|
|
409
|
-
[[d,
|
|
410
|
+
[[d, wt + " Mobile"], l],
|
|
410
411
|
[
|
|
411
412
|
/(electron)\/([\w\.]+) safari/i,
|
|
412
413
|
// Electron-based App
|
|
@@ -431,7 +432,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
431
432
|
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
|
432
433
|
// Facebook App for iOS & Android
|
|
433
434
|
],
|
|
434
|
-
[[d,
|
|
435
|
+
[[d, We], l, [s, ee]],
|
|
435
436
|
[
|
|
436
437
|
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
|
437
438
|
// Kakao App
|
|
@@ -452,27 +453,27 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
452
453
|
/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i
|
|
453
454
|
// Instagram/Snapchat/Klarna
|
|
454
455
|
],
|
|
455
|
-
[d, l, [s,
|
|
456
|
+
[d, l, [s, ee]],
|
|
456
457
|
[
|
|
457
458
|
/\bgsa\/([\w\.]+) .*safari\//i
|
|
458
459
|
// Google Search Appliance on iOS
|
|
459
460
|
],
|
|
460
|
-
[l, [d, "GSA"], [s,
|
|
461
|
+
[l, [d, "GSA"], [s, ee]],
|
|
461
462
|
[
|
|
462
463
|
/(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i
|
|
463
464
|
// TikTok
|
|
464
465
|
],
|
|
465
|
-
[l, [d, "TikTok"], [s,
|
|
466
|
+
[l, [d, "TikTok"], [s, ee]],
|
|
466
467
|
[
|
|
467
468
|
/\[(linkedin)app\]/i
|
|
468
469
|
// LinkedIn App for iOS & Android
|
|
469
470
|
],
|
|
470
|
-
[d, [s,
|
|
471
|
+
[d, [s, ee]],
|
|
471
472
|
[
|
|
472
473
|
/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i
|
|
473
474
|
// Zalo
|
|
474
475
|
],
|
|
475
|
-
[[d, /(.+)/, "Zalo"], l, [s,
|
|
476
|
+
[[d, /(.+)/, "Zalo"], l, [s, ee]],
|
|
476
477
|
[
|
|
477
478
|
/(chromium)[\/ ]([-\w\.]+)/i
|
|
478
479
|
// Chromium
|
|
@@ -507,7 +508,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
507
508
|
/chrome\/([\w\.]+) mobile/i
|
|
508
509
|
// Chrome Mobile
|
|
509
510
|
],
|
|
510
|
-
[l, [d,
|
|
511
|
+
[l, [d, ae + "Chrome"]],
|
|
511
512
|
[
|
|
512
513
|
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
|
513
514
|
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
|
@@ -517,11 +518,11 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
517
518
|
/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i
|
|
518
519
|
// Safari Mobile
|
|
519
520
|
],
|
|
520
|
-
[l, [d,
|
|
521
|
+
[l, [d, ae + "Safari"]],
|
|
521
522
|
[
|
|
522
523
|
/iphone .*mobile(?:\/\w+ | ?)safari/i
|
|
523
524
|
],
|
|
524
|
-
[[d,
|
|
525
|
+
[[d, ae + "Safari"]],
|
|
525
526
|
[
|
|
526
527
|
/version\/([\w\.\,]+) .*(safari)/i
|
|
527
528
|
// Safari
|
|
@@ -541,7 +542,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
541
542
|
/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i
|
|
542
543
|
// Firefox Mobile
|
|
543
544
|
],
|
|
544
|
-
[[d,
|
|
545
|
+
[[d, ae + le], l],
|
|
545
546
|
[
|
|
546
547
|
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
|
547
548
|
// Netscape
|
|
@@ -556,7 +557,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
556
557
|
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
|
557
558
|
// Firefox Reality
|
|
558
559
|
],
|
|
559
|
-
[l, [d,
|
|
560
|
+
[l, [d, le + " Reality"]],
|
|
560
561
|
[
|
|
561
562
|
/ekiohf.+(flow)\/([\w\.]+)/i,
|
|
562
563
|
// Flow
|
|
@@ -581,7 +582,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
581
582
|
/(cobalt)\/([\w\.]+)/i
|
|
582
583
|
// Cobalt
|
|
583
584
|
],
|
|
584
|
-
[d, [l, /[^\d\.]+./,
|
|
585
|
+
[d, [l, /[^\d\.]+./, ne]]
|
|
585
586
|
],
|
|
586
587
|
cpu: [
|
|
587
588
|
[
|
|
@@ -624,7 +625,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
624
625
|
/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i
|
|
625
626
|
// Alpha
|
|
626
627
|
],
|
|
627
|
-
[[D, /ower/,
|
|
628
|
+
[[D, /ower/, ne, K]],
|
|
628
629
|
[
|
|
629
630
|
/mc680.0/i
|
|
630
631
|
],
|
|
@@ -642,60 +643,60 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
642
643
|
// Samsung
|
|
643
644
|
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
|
|
644
645
|
],
|
|
645
|
-
[c, [u,
|
|
646
|
+
[c, [u, ce], [s, k]],
|
|
646
647
|
[
|
|
647
648
|
/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
|
648
649
|
/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,
|
|
649
650
|
/sec-(sgh\w+)/i
|
|
650
651
|
],
|
|
651
|
-
[c, [u,
|
|
652
|
+
[c, [u, ce], [s, S]],
|
|
652
653
|
[
|
|
653
654
|
// Apple
|
|
654
655
|
/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i
|
|
655
656
|
// iPod/iPhone
|
|
656
657
|
],
|
|
657
|
-
[c, [u,
|
|
658
|
+
[c, [u, te], [s, S]],
|
|
658
659
|
[
|
|
659
660
|
/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,
|
|
660
661
|
// iPad
|
|
661
662
|
/\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i
|
|
662
663
|
],
|
|
663
|
-
[c, [u,
|
|
664
|
+
[c, [u, te], [s, k]],
|
|
664
665
|
[
|
|
665
666
|
/(macintosh);/i
|
|
666
667
|
],
|
|
667
|
-
[c, [u,
|
|
668
|
+
[c, [u, te]],
|
|
668
669
|
[
|
|
669
670
|
// Sharp
|
|
670
671
|
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
|
671
672
|
],
|
|
672
|
-
[c, [u,
|
|
673
|
+
[c, [u, ft], [s, S]],
|
|
673
674
|
[
|
|
674
675
|
// Honor
|
|
675
676
|
/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i
|
|
676
677
|
],
|
|
677
|
-
[c, [u,
|
|
678
|
+
[c, [u, lt], [s, k]],
|
|
678
679
|
[
|
|
679
680
|
/honor([-\w ]+)[;\)]/i
|
|
680
681
|
],
|
|
681
|
-
[c, [u,
|
|
682
|
+
[c, [u, lt], [s, S]],
|
|
682
683
|
[
|
|
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, S]],
|
|
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,57 +708,57 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", 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, S]],
|
|
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,
|
|
714
715
|
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
|
715
716
|
],
|
|
716
|
-
[c, [u,
|
|
717
|
+
[c, [u, pt], [s, S]],
|
|
717
718
|
[
|
|
718
719
|
// OPPO
|
|
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, Ye], [s,
|
|
723
|
+
[c, [u, Ye], [s, S]],
|
|
723
724
|
[
|
|
724
725
|
/\b(opd2(\d{3}a?))(?: bui|\))/i
|
|
725
726
|
],
|
|
726
|
-
[c, [u,
|
|
727
|
+
[c, [u, U, { 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
|
|
730
731
|
// Vivo series
|
|
731
732
|
],
|
|
732
|
-
[c, [u, "BLU"], [s,
|
|
733
|
+
[c, [u, "BLU"], [s, S]],
|
|
733
734
|
[
|
|
734
735
|
// Vivo
|
|
735
736
|
/; vivo (\w+)(?: bui|\))/i,
|
|
736
737
|
/\b(v[12]\d{3}\w?[at])(?: bui|;)/i
|
|
737
738
|
],
|
|
738
|
-
[c, [u, "Vivo"], [s,
|
|
739
|
+
[c, [u, "Vivo"], [s, S]],
|
|
739
740
|
[
|
|
740
741
|
// Realme
|
|
741
742
|
/\b(rmx[1-3]\d{3})(?: bui|;|\))/i
|
|
742
743
|
],
|
|
743
|
-
[c, [u, "Realme"], [s,
|
|
744
|
+
[c, [u, "Realme"], [s, S]],
|
|
744
745
|
[
|
|
745
746
|
// Lenovo
|
|
746
747
|
/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,
|
|
747
748
|
/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i
|
|
748
749
|
],
|
|
749
|
-
[c, [u,
|
|
750
|
+
[c, [u, He], [s, k]],
|
|
750
751
|
[
|
|
751
752
|
/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i
|
|
752
753
|
],
|
|
753
|
-
[c, [u,
|
|
754
|
+
[c, [u, He], [s, S]],
|
|
754
755
|
[
|
|
755
756
|
// Motorola
|
|
756
757
|
/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
|
|
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, Ve], [s,
|
|
761
|
+
[c, [u, Ve], [s, S]],
|
|
761
762
|
[
|
|
762
763
|
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
|
763
764
|
],
|
|
@@ -772,7 +773,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
772
773
|
/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,
|
|
773
774
|
/\blg-?([\d\w]+) bui/i
|
|
774
775
|
],
|
|
775
|
-
[c, [u, ge], [s,
|
|
776
|
+
[c, [u, ge], [s, S]],
|
|
776
777
|
[
|
|
777
778
|
// Nokia
|
|
778
779
|
/(nokia) (t[12][01])/i
|
|
@@ -782,18 +783,18 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
782
783
|
/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,
|
|
783
784
|
/nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i
|
|
784
785
|
],
|
|
785
|
-
[[c, /_/g, " "], [s,
|
|
786
|
+
[[c, /_/g, " "], [s, S], [u, "Nokia"]],
|
|
786
787
|
[
|
|
787
788
|
// Google
|
|
788
789
|
/(pixel (c|tablet))\b/i
|
|
789
790
|
// Google Pixel C/Tablet
|
|
790
791
|
],
|
|
791
|
-
[c, [u,
|
|
792
|
+
[c, [u, Z], [s, k]],
|
|
792
793
|
[
|
|
793
794
|
// Google Pixel
|
|
794
795
|
/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i
|
|
795
796
|
],
|
|
796
|
-
[c, [u,
|
|
797
|
+
[c, [u, Z], [s, S]],
|
|
797
798
|
[
|
|
798
799
|
/(google) (pixelbook( go)?)/i
|
|
799
800
|
],
|
|
@@ -802,12 +803,12 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
802
803
|
// Sony
|
|
803
804
|
/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
|
|
804
805
|
],
|
|
805
|
-
[c, [u,
|
|
806
|
+
[c, [u, de], [s, S]],
|
|
806
807
|
[
|
|
807
808
|
/sony tablet [ps]/i,
|
|
808
809
|
/\b(?:sony)?sgp\w+(?: bui|\))/i
|
|
809
810
|
],
|
|
810
|
-
[[c, "Xperia Tablet"], [u,
|
|
811
|
+
[[c, "Xperia Tablet"], [u, de], [s, k]],
|
|
811
812
|
[
|
|
812
813
|
// Amazon
|
|
813
814
|
/(alexa)webm/i,
|
|
@@ -821,7 +822,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
821
822
|
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
822
823
|
// Fire Phone
|
|
823
824
|
],
|
|
824
|
-
[[c, /(.+)/g, "Fire Phone $1"], [u, we], [s,
|
|
825
|
+
[[c, /(.+)/g, "Fire Phone $1"], [u, we], [s, S]],
|
|
825
826
|
[
|
|
826
827
|
// BlackBerry
|
|
827
828
|
/(playbook);[-\w\),; ]+(rim)/i
|
|
@@ -832,16 +833,16 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", 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, ct], [s, S]],
|
|
836
837
|
[
|
|
837
838
|
// Asus
|
|
838
839
|
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
839
840
|
],
|
|
840
|
-
[c, [u,
|
|
841
|
+
[c, [u, st], [s, k]],
|
|
841
842
|
[
|
|
842
843
|
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
|
843
844
|
],
|
|
844
|
-
[c, [u,
|
|
845
|
+
[c, [u, st], [s, S]],
|
|
845
846
|
[
|
|
846
847
|
// HTC
|
|
847
848
|
/(nexus 9)/i
|
|
@@ -856,7 +857,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
856
857
|
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
|
|
857
858
|
// Alcatel/GeeksPhone/Nexian/Panasonic/Sony
|
|
858
859
|
],
|
|
859
|
-
[u, [c, /_/g, " "], [s,
|
|
860
|
+
[u, [c, /_/g, " "], [s, S]],
|
|
860
861
|
[
|
|
861
862
|
// TCL
|
|
862
863
|
/tcl (xess p17aa)/i,
|
|
@@ -866,12 +867,12 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
866
867
|
[
|
|
867
868
|
/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i
|
|
868
869
|
],
|
|
869
|
-
[c, [u, "TCL"], [s,
|
|
870
|
+
[c, [u, "TCL"], [s, S]],
|
|
870
871
|
[
|
|
871
872
|
// itel
|
|
872
873
|
/(itel) ((\w+))/i
|
|
873
874
|
],
|
|
874
|
-
[[u,
|
|
875
|
+
[[u, K], c, [s, U, { tablet: ["p10001l", "w7001"], "*": "mobile" }]],
|
|
875
876
|
[
|
|
876
877
|
// Acer
|
|
877
878
|
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
@@ -882,34 +883,34 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
882
883
|
/droid.+; (m[1-5] note) bui/i,
|
|
883
884
|
/\bmz-([-\w]{2,})/i
|
|
884
885
|
],
|
|
885
|
-
[c, [u, "Meizu"], [s,
|
|
886
|
+
[c, [u, "Meizu"], [s, S]],
|
|
886
887
|
[
|
|
887
888
|
// Ulefone
|
|
888
889
|
/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
|
|
889
890
|
],
|
|
890
|
-
[c, [u, "Ulefone"], [s,
|
|
891
|
+
[c, [u, "Ulefone"], [s, S]],
|
|
891
892
|
[
|
|
892
893
|
// Energizer
|
|
893
894
|
/; (energy ?\w+)(?: bui|\))/i,
|
|
894
895
|
/; energizer ([\w ]+)(?: bui|\))/i
|
|
895
896
|
],
|
|
896
|
-
[c, [u, "Energizer"], [s,
|
|
897
|
+
[c, [u, "Energizer"], [s, S]],
|
|
897
898
|
[
|
|
898
899
|
// Cat
|
|
899
900
|
/; cat (b35);/i,
|
|
900
901
|
/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i
|
|
901
902
|
],
|
|
902
|
-
[c, [u, "Cat"], [s,
|
|
903
|
+
[c, [u, "Cat"], [s, S]],
|
|
903
904
|
[
|
|
904
905
|
// Smartfren
|
|
905
906
|
/((?:new )?andromax[\w- ]+)(?: bui|\))/i
|
|
906
907
|
],
|
|
907
|
-
[c, [u, "Smartfren"], [s,
|
|
908
|
+
[c, [u, "Smartfren"], [s, S]],
|
|
908
909
|
[
|
|
909
910
|
// Nothing
|
|
910
911
|
/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i
|
|
911
912
|
],
|
|
912
|
-
[c, [u, "Nothing"], [s,
|
|
913
|
+
[c, [u, "Nothing"], [s, S]],
|
|
913
914
|
[
|
|
914
915
|
// Archos
|
|
915
916
|
/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,
|
|
@@ -920,12 +921,12 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
920
921
|
/archos ([\w ]+)( b|\))/i,
|
|
921
922
|
/; (ac[3-6]\d\w{2,8})( b|\))/i
|
|
922
923
|
],
|
|
923
|
-
[c, [u, "Archos"], [s,
|
|
924
|
+
[c, [u, "Archos"], [s, S]],
|
|
924
925
|
[
|
|
925
926
|
// HMD
|
|
926
927
|
/; (n159v)/i
|
|
927
928
|
],
|
|
928
|
-
[c, [u, "HMD"], [s,
|
|
929
|
+
[c, [u, "HMD"], [s, S]],
|
|
929
930
|
[
|
|
930
931
|
// MIXED
|
|
931
932
|
/(imo) (tab \w+)/i,
|
|
@@ -950,7 +951,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
950
951
|
/droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i
|
|
951
952
|
// Philips
|
|
952
953
|
],
|
|
953
|
-
[u, c, [s,
|
|
954
|
+
[u, c, [s, S]],
|
|
954
955
|
[
|
|
955
956
|
/(kobo)\s(ereader|touch)/i,
|
|
956
957
|
// Kobo
|
|
@@ -964,36 +965,36 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
964
965
|
/(surface duo)/i
|
|
965
966
|
// Surface Duo
|
|
966
967
|
],
|
|
967
|
-
[c, [u,
|
|
968
|
+
[c, [u, Ge], [s, k]],
|
|
968
969
|
[
|
|
969
970
|
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
970
971
|
// Fairphone
|
|
971
972
|
],
|
|
972
|
-
[c, [u, "Fairphone"], [s,
|
|
973
|
+
[c, [u, "Fairphone"], [s, S]],
|
|
973
974
|
[
|
|
974
975
|
/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i
|
|
975
976
|
// Nvidia Tablets
|
|
976
977
|
],
|
|
977
|
-
[c, [u,
|
|
978
|
+
[c, [u, ut], [s, k]],
|
|
978
979
|
[
|
|
979
980
|
/(sprint) (\w+)/i
|
|
980
981
|
// Sprint Phones
|
|
981
982
|
],
|
|
982
|
-
[u, c, [s,
|
|
983
|
+
[u, c, [s, S]],
|
|
983
984
|
[
|
|
984
985
|
/(kin\.[onetw]{3})/i
|
|
985
986
|
// Microsoft Kin
|
|
986
987
|
],
|
|
987
|
-
[[c, /\./g, " "], [u,
|
|
988
|
+
[[c, /\./g, " "], [u, Ge], [s, S]],
|
|
988
989
|
[
|
|
989
990
|
/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
990
991
|
// Zebra
|
|
991
992
|
],
|
|
992
|
-
[c, [u,
|
|
993
|
+
[c, [u, qe], [s, k]],
|
|
993
994
|
[
|
|
994
995
|
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
|
995
996
|
],
|
|
996
|
-
[c, [u,
|
|
997
|
+
[c, [u, qe], [s, S]],
|
|
997
998
|
[
|
|
998
999
|
///////////////////
|
|
999
1000
|
// SMARTTVS
|
|
@@ -1007,7 +1008,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1007
1008
|
[
|
|
1008
1009
|
/hbbtv.+maple;(\d+)/i
|
|
1009
1010
|
],
|
|
1010
|
-
[[c, /^/, "SmartTV"], [u,
|
|
1011
|
+
[[c, /^/, "SmartTV"], [u, ce], [s, T]],
|
|
1011
1012
|
[
|
|
1012
1013
|
/(vizio)(?: |.+model\/)(\w+-\w+)/i,
|
|
1013
1014
|
// Vizio
|
|
@@ -1023,32 +1024,32 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1023
1024
|
/(apple) ?tv/i
|
|
1024
1025
|
// Apple TV
|
|
1025
1026
|
],
|
|
1026
|
-
[u, [c,
|
|
1027
|
+
[u, [c, te + " TV"], [s, T]],
|
|
1027
1028
|
[
|
|
1028
1029
|
/crkey.*devicetype\/chromecast/i
|
|
1029
1030
|
// Google Chromecast Third Generation
|
|
1030
1031
|
],
|
|
1031
|
-
[[c,
|
|
1032
|
+
[[c, W + " Third Generation"], [u, Z], [s, T]],
|
|
1032
1033
|
[
|
|
1033
1034
|
/crkey.*devicetype\/([^/]*)/i
|
|
1034
1035
|
// Google Chromecast with specific device type
|
|
1035
1036
|
],
|
|
1036
|
-
[[c, /^/, "Chromecast "], [u,
|
|
1037
|
+
[[c, /^/, "Chromecast "], [u, Z], [s, T]],
|
|
1037
1038
|
[
|
|
1038
1039
|
/fuchsia.*crkey/i
|
|
1039
1040
|
// Google Chromecast Nest Hub
|
|
1040
1041
|
],
|
|
1041
|
-
[[c,
|
|
1042
|
+
[[c, W + " Nest Hub"], [u, Z], [s, T]],
|
|
1042
1043
|
[
|
|
1043
1044
|
/crkey/i
|
|
1044
1045
|
// Google Chromecast, Linux-based or unknown
|
|
1045
1046
|
],
|
|
1046
|
-
[[c,
|
|
1047
|
+
[[c, W], [u, Z], [s, T]],
|
|
1047
1048
|
[
|
|
1048
1049
|
/(portaltv)/i
|
|
1049
1050
|
// Facebook Portal TV
|
|
1050
1051
|
],
|
|
1051
|
-
[c, [u,
|
|
1052
|
+
[c, [u, We], [s, T]],
|
|
1052
1053
|
[
|
|
1053
1054
|
/droid.+aft(\w+)( bui|\))/i
|
|
1054
1055
|
// Fire TV
|
|
@@ -1058,23 +1059,23 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1058
1059
|
/(shield \w+ tv)/i
|
|
1059
1060
|
// Nvidia Shield TV
|
|
1060
1061
|
],
|
|
1061
|
-
[c, [u,
|
|
1062
|
+
[c, [u, ut], [s, T]],
|
|
1062
1063
|
[
|
|
1063
1064
|
/\(dtv[\);].+(aquos)/i,
|
|
1064
1065
|
/(aquos-tv[\w ]+)\)/i
|
|
1065
1066
|
// Sharp
|
|
1066
1067
|
],
|
|
1067
|
-
[c, [u,
|
|
1068
|
+
[c, [u, ft], [s, T]],
|
|
1068
1069
|
[
|
|
1069
1070
|
/(bravia[\w ]+)( bui|\))/i
|
|
1070
1071
|
// Sony
|
|
1071
1072
|
],
|
|
1072
|
-
[c, [u,
|
|
1073
|
+
[c, [u, de], [s, T]],
|
|
1073
1074
|
[
|
|
1074
1075
|
/(mi(tv|box)-?\w+) bui/i
|
|
1075
1076
|
// Xiaomi
|
|
1076
1077
|
],
|
|
1077
|
-
[c, [u,
|
|
1078
|
+
[c, [u, ze], [s, T]],
|
|
1078
1079
|
[
|
|
1079
1080
|
/Hbbtv.*(technisat) (.*);/i
|
|
1080
1081
|
// TechniSAT
|
|
@@ -1086,7 +1087,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1086
1087
|
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
|
1087
1088
|
// HbbTV devices
|
|
1088
1089
|
],
|
|
1089
|
-
[[u, /.+\/(\w+)/, "$1",
|
|
1090
|
+
[[u, /.+\/(\w+)/, "$1", U, { LG: "lge" }], [c, Ae], [s, T]],
|
|
1090
1091
|
[
|
|
1091
1092
|
///////////////////
|
|
1092
1093
|
// CONSOLES
|
|
@@ -1094,12 +1095,12 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1094
1095
|
/(playstation \w+)/i
|
|
1095
1096
|
// Playstation
|
|
1096
1097
|
],
|
|
1097
|
-
[c, [u,
|
|
1098
|
+
[c, [u, de], [s, Se]],
|
|
1098
1099
|
[
|
|
1099
1100
|
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
1100
1101
|
// Microsoft Xbox
|
|
1101
1102
|
],
|
|
1102
|
-
[c, [u,
|
|
1103
|
+
[c, [u, Ge], [s, Se]],
|
|
1103
1104
|
[
|
|
1104
1105
|
/(ouya)/i,
|
|
1105
1106
|
// Ouya
|
|
@@ -1111,7 +1112,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1111
1112
|
/droid.+; ((shield|rgcube|gr0006))( bui|\))/i
|
|
1112
1113
|
// Nvidia Portable/Anbernic/Logitech
|
|
1113
1114
|
],
|
|
1114
|
-
[[u,
|
|
1115
|
+
[[u, U, { Nvidia: "Shield", Anbernic: "RGCUBE", Logitech: "GR0006" }], c, [s, Se]],
|
|
1115
1116
|
[
|
|
1116
1117
|
///////////////////
|
|
1117
1118
|
// WEARABLES
|
|
@@ -1119,48 +1120,48 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1119
1120
|
/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i
|
|
1120
1121
|
// Samsung Galaxy Watch
|
|
1121
1122
|
],
|
|
1122
|
-
[c, [u,
|
|
1123
|
+
[c, [u, ce], [s, H]],
|
|
1123
1124
|
[
|
|
1124
1125
|
/((pebble))app/i,
|
|
1125
1126
|
// Pebble
|
|
1126
1127
|
/(asus|google|lg|oppo|xiaomi) ((pixel |zen)?watch[\w ]*)( bui|\))/i
|
|
1127
1128
|
// Asus ZenWatch / LG Watch / Pixel Watch / Xiaomi Watch
|
|
1128
1129
|
],
|
|
1129
|
-
[u, c, [s,
|
|
1130
|
+
[u, c, [s, H]],
|
|
1130
1131
|
[
|
|
1131
1132
|
/(ow(?:19|20)?we?[1-3]{1,3})/i
|
|
1132
1133
|
// Oppo Watch
|
|
1133
1134
|
],
|
|
1134
|
-
[c, [u, Ye], [s,
|
|
1135
|
+
[c, [u, Ye], [s, H]],
|
|
1135
1136
|
[
|
|
1136
1137
|
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
1137
1138
|
// Apple Watch
|
|
1138
1139
|
],
|
|
1139
|
-
[c, [u,
|
|
1140
|
+
[c, [u, te], [s, H]],
|
|
1140
1141
|
[
|
|
1141
1142
|
/(opwwe\d{3})/i
|
|
1142
1143
|
// OnePlus Watch
|
|
1143
1144
|
],
|
|
1144
|
-
[c, [u,
|
|
1145
|
+
[c, [u, pt], [s, H]],
|
|
1145
1146
|
[
|
|
1146
1147
|
/(moto 360)/i
|
|
1147
1148
|
// Motorola 360
|
|
1148
1149
|
],
|
|
1149
|
-
[c, [u, Ve], [s,
|
|
1150
|
+
[c, [u, Ve], [s, H]],
|
|
1150
1151
|
[
|
|
1151
1152
|
/(smartwatch 3)/i
|
|
1152
1153
|
// Sony SmartWatch
|
|
1153
1154
|
],
|
|
1154
|
-
[c, [u,
|
|
1155
|
+
[c, [u, de], [s, H]],
|
|
1155
1156
|
[
|
|
1156
1157
|
/(g watch r)/i
|
|
1157
1158
|
// LG G Watch R
|
|
1158
1159
|
],
|
|
1159
|
-
[c, [u, ge], [s,
|
|
1160
|
+
[c, [u, ge], [s, H]],
|
|
1160
1161
|
[
|
|
1161
1162
|
/droid.+; (wt63?0{2,3})\)/i
|
|
1162
1163
|
],
|
|
1163
|
-
[c, [u,
|
|
1164
|
+
[c, [u, qe], [s, H]],
|
|
1164
1165
|
[
|
|
1165
1166
|
///////////////////
|
|
1166
1167
|
// XR
|
|
@@ -1168,7 +1169,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1168
1169
|
/droid.+; (glass) \d/i
|
|
1169
1170
|
// Google Glass
|
|
1170
1171
|
],
|
|
1171
|
-
[c, [u,
|
|
1172
|
+
[c, [u, Z], [s, be]],
|
|
1172
1173
|
[
|
|
1173
1174
|
/(pico) ([\w ]+) os\d/i
|
|
1174
1175
|
// Pico
|
|
@@ -1178,7 +1179,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1178
1179
|
/(quest( \d| pro)?s?).+vr/i
|
|
1179
1180
|
// Meta Quest
|
|
1180
1181
|
],
|
|
1181
|
-
[c, [u,
|
|
1182
|
+
[c, [u, We], [s, be]],
|
|
1182
1183
|
[
|
|
1183
1184
|
/mobile vr; rv.+firefox/i
|
|
1184
1185
|
// Unidentifiable VR device using Firefox Reality / Wolvic
|
|
@@ -1191,22 +1192,22 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1191
1192
|
/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
|
|
1192
1193
|
// Tesla
|
|
1193
1194
|
],
|
|
1194
|
-
[u, [s,
|
|
1195
|
+
[u, [s, pe]],
|
|
1195
1196
|
[
|
|
1196
1197
|
/(aeobc)\b/i
|
|
1197
1198
|
// Echo Dot
|
|
1198
1199
|
],
|
|
1199
|
-
[c, [u, we], [s,
|
|
1200
|
+
[c, [u, we], [s, pe]],
|
|
1200
1201
|
[
|
|
1201
1202
|
/(homepod).+mac os/i
|
|
1202
1203
|
// Apple HomePod
|
|
1203
1204
|
],
|
|
1204
|
-
[c, [u,
|
|
1205
|
+
[c, [u, te], [s, pe]],
|
|
1205
1206
|
[
|
|
1206
1207
|
/windows iot/i
|
|
1207
1208
|
// Unidentifiable embedded device using Windows IoT
|
|
1208
1209
|
],
|
|
1209
|
-
[[s,
|
|
1210
|
+
[[s, pe]],
|
|
1210
1211
|
[
|
|
1211
1212
|
////////////////////
|
|
1212
1213
|
// MIXED (GENERIC)
|
|
@@ -1222,7 +1223,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1222
1223
|
[
|
|
1223
1224
|
/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i
|
|
1224
1225
|
],
|
|
1225
|
-
[c, [s,
|
|
1226
|
+
[c, [s, U, { mobile: "Mobile", xr: "VR", "*": k }]],
|
|
1226
1227
|
[
|
|
1227
1228
|
/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
|
|
1228
1229
|
// Unidentifiable Tablet
|
|
@@ -1232,7 +1233,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1232
1233
|
/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
|
|
1233
1234
|
// Unidentifiable Mobile
|
|
1234
1235
|
],
|
|
1235
|
-
[[s,
|
|
1236
|
+
[[s, S]],
|
|
1236
1237
|
[
|
|
1237
1238
|
/droid .+?; ([\w\. -]+)( bui|\))/i
|
|
1238
1239
|
// Generic Android Device
|
|
@@ -1286,7 +1287,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1286
1287
|
/(windows nt) (6\.[23]); arm/i
|
|
1287
1288
|
// Windows RT
|
|
1288
1289
|
],
|
|
1289
|
-
[[d, /N/, "R"], [l,
|
|
1290
|
+
[[d, /N/, "R"], [l, U, gt]],
|
|
1290
1291
|
[
|
|
1291
1292
|
/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,
|
|
1292
1293
|
// Windows IoT/Mobile/Phone
|
|
@@ -1298,7 +1299,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1298
1299
|
/windows nt ?([\d\.\)]*)(?!.+xbox)/i,
|
|
1299
1300
|
/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i
|
|
1300
1301
|
],
|
|
1301
|
-
[[l, /(;|\))/g, "",
|
|
1302
|
+
[[l, /(;|\))/g, "", U, gt], [d, Xe]],
|
|
1302
1303
|
[
|
|
1303
1304
|
/(windows ce)\/?([\d\.]*)/i
|
|
1304
1305
|
// Windows CE
|
|
@@ -1324,27 +1325,27 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1324
1325
|
/android ([\d\.]+).*crkey/i
|
|
1325
1326
|
// Google Chromecast, Android-based
|
|
1326
1327
|
],
|
|
1327
|
-
[l, [d,
|
|
1328
|
+
[l, [d, W + " Android"]],
|
|
1328
1329
|
[
|
|
1329
1330
|
/fuchsia.*crkey\/([\d\.]+)/i
|
|
1330
1331
|
// Google Chromecast, Fuchsia-based
|
|
1331
1332
|
],
|
|
1332
|
-
[l, [d,
|
|
1333
|
+
[l, [d, W + " Fuchsia"]],
|
|
1333
1334
|
[
|
|
1334
1335
|
/crkey\/([\d\.]+).*devicetype\/smartspeaker/i
|
|
1335
1336
|
// Google Chromecast, Linux-based Smart Speaker
|
|
1336
1337
|
],
|
|
1337
|
-
[l, [d,
|
|
1338
|
+
[l, [d, W + " SmartSpeaker"]],
|
|
1338
1339
|
[
|
|
1339
1340
|
/linux.*crkey\/([\d\.]+)/i
|
|
1340
1341
|
// Google Chromecast, Legacy Linux-based
|
|
1341
1342
|
],
|
|
1342
|
-
[l, [d,
|
|
1343
|
+
[l, [d, W + " Linux"]],
|
|
1343
1344
|
[
|
|
1344
1345
|
/crkey\/([\d\.]+)/i
|
|
1345
1346
|
// Google Chromecast, unknown
|
|
1346
1347
|
],
|
|
1347
|
-
[l, [d,
|
|
1348
|
+
[l, [d, W]],
|
|
1348
1349
|
[
|
|
1349
1350
|
// Mobile OSes
|
|
1350
1351
|
/droid ([\w\.]+)\b.+(android[- ]x86)/i
|
|
@@ -1367,7 +1368,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1367
1368
|
/\(bb(10);/i
|
|
1368
1369
|
// BlackBerry 10
|
|
1369
1370
|
],
|
|
1370
|
-
[l, [d,
|
|
1371
|
+
[l, [d, ct]],
|
|
1371
1372
|
[
|
|
1372
1373
|
/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i
|
|
1373
1374
|
// Symbian
|
|
@@ -1377,7 +1378,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
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
|
-
[l, [d,
|
|
1381
|
+
[l, [d, le + " OS"]],
|
|
1381
1382
|
[
|
|
1382
1383
|
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,
|
|
1383
1384
|
// WebOS
|
|
@@ -1388,7 +1389,7 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
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
|
-
[[l,
|
|
1392
|
+
[[l, U, { 25: "120", 24: "108", 23: "94", 22: "87", 6: "79", 5: "68", 4: "53", 3: "38", 2: "538", 1: "537", "*": "TV" }], [d, "webOS"]],
|
|
1392
1393
|
[
|
|
1393
1394
|
/watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i
|
|
1394
1395
|
// watchOS
|
|
@@ -1455,188 +1456,188 @@ var Xt = "2.0.9", Zt = 500, nt = "user-agent", ae = "", rt = "?", E = {
|
|
|
1455
1456
|
[d, l]
|
|
1456
1457
|
]
|
|
1457
1458
|
}, me = (function() {
|
|
1458
|
-
var
|
|
1459
|
-
return
|
|
1460
|
-
[O, [d, l,
|
|
1461
|
-
[
|
|
1462
|
-
[
|
|
1463
|
-
[
|
|
1464
|
-
[
|
|
1465
|
-
]),
|
|
1466
|
-
[O, [l,
|
|
1467
|
-
[
|
|
1468
|
-
[
|
|
1469
|
-
]),
|
|
1459
|
+
var a = { init: {}, isIgnore: {}, isIgnoreRgx: {}, toString: {} };
|
|
1460
|
+
return Y.call(a.init, [
|
|
1461
|
+
[O, [d, l, fe, s]],
|
|
1462
|
+
[z, [D]],
|
|
1463
|
+
[G, [s, c, u]],
|
|
1464
|
+
[B, [d, l]],
|
|
1465
|
+
[N, [d, l]]
|
|
1466
|
+
]), Y.call(a.isIgnore, [
|
|
1467
|
+
[O, [l, fe]],
|
|
1468
|
+
[B, [l]],
|
|
1469
|
+
[N, [l]]
|
|
1470
|
+
]), Y.call(a.isIgnoreRgx, [
|
|
1470
1471
|
[O, / ?browser$/i],
|
|
1471
|
-
[
|
|
1472
|
-
]),
|
|
1472
|
+
[N, / ?os$/i]
|
|
1473
|
+
]), Y.call(a.toString, [
|
|
1473
1474
|
[O, [d, l]],
|
|
1474
|
-
[
|
|
1475
|
-
[
|
|
1476
|
-
[
|
|
1477
|
-
[
|
|
1478
|
-
]),
|
|
1479
|
-
})(), c0 = function(
|
|
1475
|
+
[z, [D]],
|
|
1476
|
+
[G, [u, c]],
|
|
1477
|
+
[B, [d, l]],
|
|
1478
|
+
[N, [d, l]]
|
|
1479
|
+
]), a;
|
|
1480
|
+
})(), c0 = function(a, t) {
|
|
1480
1481
|
var e = me.init[t], i = me.isIgnore[t] || 0, n = me.isIgnoreRgx[t] || 0, r = me.toString[t] || 0;
|
|
1481
1482
|
function o() {
|
|
1482
|
-
|
|
1483
|
+
Y.call(this, e);
|
|
1483
1484
|
}
|
|
1484
1485
|
return o.prototype.getItem = function() {
|
|
1485
|
-
return
|
|
1486
|
+
return a;
|
|
1486
1487
|
}, o.prototype.withClientHints = function() {
|
|
1487
|
-
return
|
|
1488
|
-
return
|
|
1489
|
-
}) :
|
|
1488
|
+
return $ ? $.getHighEntropyValues(Rt).then(function(p) {
|
|
1489
|
+
return a.setCH(new Ot(p, !1)).parseCH().get();
|
|
1490
|
+
}) : a.parseCH().get();
|
|
1490
1491
|
}, o.prototype.withFeatureCheck = function() {
|
|
1491
|
-
return
|
|
1492
|
-
}, t !=
|
|
1493
|
-
var
|
|
1494
|
-
for (var
|
|
1495
|
-
if (this.hasOwnProperty(
|
|
1496
|
-
if (
|
|
1497
|
-
} else if (p == E.UNDEFINED &&
|
|
1498
|
-
|
|
1492
|
+
return a.detectFeature().get();
|
|
1493
|
+
}, t != re && (o.prototype.is = function(p) {
|
|
1494
|
+
var h = !1;
|
|
1495
|
+
for (var v in this)
|
|
1496
|
+
if (this.hasOwnProperty(v) && !Ze(i, v) && K(n ? se(n, this[v]) : this[v]) == K(n ? se(n, p) : p)) {
|
|
1497
|
+
if (h = !0, p != E.UNDEFINED) break;
|
|
1498
|
+
} else if (p == E.UNDEFINED && h) {
|
|
1499
|
+
h = !h;
|
|
1499
1500
|
break;
|
|
1500
1501
|
}
|
|
1501
|
-
return
|
|
1502
|
+
return h;
|
|
1502
1503
|
}, o.prototype.toString = function() {
|
|
1503
|
-
var p =
|
|
1504
|
-
for (var
|
|
1505
|
-
typeof this[r[
|
|
1504
|
+
var p = ne;
|
|
1505
|
+
for (var h in r)
|
|
1506
|
+
typeof this[r[h]] !== E.UNDEFINED && (p += (p ? " " : ne) + this[r[h]]);
|
|
1506
1507
|
return p || E.UNDEFINED;
|
|
1507
1508
|
}), o.prototype.then = function(p) {
|
|
1508
|
-
var
|
|
1509
|
-
for (var A in
|
|
1510
|
-
|
|
1509
|
+
var h = this, v = function() {
|
|
1510
|
+
for (var A in h)
|
|
1511
|
+
h.hasOwnProperty(A) && (this[A] = h[A]);
|
|
1511
1512
|
};
|
|
1512
|
-
|
|
1513
|
+
v.prototype = {
|
|
1513
1514
|
is: o.prototype.is,
|
|
1514
1515
|
toString: o.prototype.toString,
|
|
1515
1516
|
withClientHints: o.prototype.withClientHints,
|
|
1516
1517
|
withFeatureCheck: o.prototype.withFeatureCheck
|
|
1517
1518
|
};
|
|
1518
|
-
var I = new
|
|
1519
|
+
var I = new v();
|
|
1519
1520
|
return p(I), I;
|
|
1520
1521
|
}, new o();
|
|
1521
1522
|
};
|
|
1522
|
-
function
|
|
1523
|
-
if (
|
|
1524
|
-
|
|
1525
|
-
[et,
|
|
1526
|
-
[tt,
|
|
1527
|
-
[
|
|
1528
|
-
[c,
|
|
1529
|
-
[
|
|
1530
|
-
[it,
|
|
1531
|
-
[D,
|
|
1532
|
-
[
|
|
1533
|
-
[Ue,
|
|
1523
|
+
function Ot(a, t) {
|
|
1524
|
+
if (a = a || {}, Y.call(this, Rt), t)
|
|
1525
|
+
Y.call(this, [
|
|
1526
|
+
[et, Ke(a[J])],
|
|
1527
|
+
[tt, Ke(a[$t])],
|
|
1528
|
+
[S, /\?1/.test(a[a0])],
|
|
1529
|
+
[c, ue(a[x0])],
|
|
1530
|
+
[oe, ue(a[Dt])],
|
|
1531
|
+
[it, ue(a[n0])],
|
|
1532
|
+
[D, ue(a[e0])],
|
|
1533
|
+
[Q, Ke(a[i0])],
|
|
1534
|
+
[Ue, ue(a[t0])]
|
|
1534
1535
|
]);
|
|
1535
1536
|
else
|
|
1536
|
-
for (var e in
|
|
1537
|
-
this.hasOwnProperty(e) && typeof
|
|
1537
|
+
for (var e in a)
|
|
1538
|
+
this.hasOwnProperty(e) && typeof a[e] !== E.UNDEFINED && (this[e] = a[e]);
|
|
1538
1539
|
}
|
|
1539
|
-
function
|
|
1540
|
-
return
|
|
1541
|
-
["itemType",
|
|
1540
|
+
function j(a, t, e, i) {
|
|
1541
|
+
return Y.call(this, [
|
|
1542
|
+
["itemType", a],
|
|
1542
1543
|
["ua", t],
|
|
1543
1544
|
["uaCH", i],
|
|
1544
1545
|
["rgxMap", e],
|
|
1545
|
-
["data", c0(this,
|
|
1546
|
+
["data", c0(this, a)]
|
|
1546
1547
|
]), this;
|
|
1547
1548
|
}
|
|
1548
|
-
|
|
1549
|
-
return
|
|
1549
|
+
j.prototype.get = function(a) {
|
|
1550
|
+
return a ? this.data.hasOwnProperty(a) ? this.data[a] : void 0 : this.data;
|
|
1550
1551
|
};
|
|
1551
|
-
|
|
1552
|
-
return this.data[
|
|
1552
|
+
j.prototype.set = function(a, t) {
|
|
1553
|
+
return this.data[a] = t, this;
|
|
1553
1554
|
};
|
|
1554
|
-
|
|
1555
|
-
return this.uaCH =
|
|
1555
|
+
j.prototype.setCH = function(a) {
|
|
1556
|
+
return this.uaCH = a, this;
|
|
1556
1557
|
};
|
|
1557
|
-
|
|
1558
|
+
j.prototype.detectFeature = function() {
|
|
1558
1559
|
if (R && R.userAgent == this.ua)
|
|
1559
1560
|
switch (this.itemType) {
|
|
1560
1561
|
case O:
|
|
1561
1562
|
R.brave && typeof R.brave.isBrave == E.FUNCTION && this.set(d, "Brave");
|
|
1562
1563
|
break;
|
|
1563
|
-
case
|
|
1564
|
-
!this.get(s) &&
|
|
1564
|
+
case G:
|
|
1565
|
+
!this.get(s) && $ && $[S] && this.set(s, S), this.get(c) == "Macintosh" && R && typeof R.standalone !== E.UNDEFINED && R.maxTouchPoints && R.maxTouchPoints > 2 && this.set(c, "iPad").set(s, k);
|
|
1565
1566
|
break;
|
|
1566
|
-
case
|
|
1567
|
-
!this.get(d) &&
|
|
1567
|
+
case N:
|
|
1568
|
+
!this.get(d) && $ && $[oe] && this.set(d, $[oe]);
|
|
1568
1569
|
break;
|
|
1569
|
-
case
|
|
1570
|
-
var
|
|
1571
|
-
return
|
|
1570
|
+
case re:
|
|
1571
|
+
var a = this.data, t = function(e) {
|
|
1572
|
+
return a[e].getItem().detectFeature().get();
|
|
1572
1573
|
};
|
|
1573
|
-
this.set(O, t(O)).set(
|
|
1574
|
+
this.set(O, t(O)).set(z, t(z)).set(G, t(G)).set(B, t(B)).set(N, t(N));
|
|
1574
1575
|
}
|
|
1575
1576
|
return this;
|
|
1576
1577
|
};
|
|
1577
|
-
|
|
1578
|
-
switch (this.itemType !=
|
|
1578
|
+
j.prototype.parseUA = function() {
|
|
1579
|
+
switch (this.itemType != re && $e.call(this.data, this.ua, this.rgxMap), this.itemType) {
|
|
1579
1580
|
case O:
|
|
1580
|
-
this.set(
|
|
1581
|
+
this.set(fe, Qe(this.get(l)));
|
|
1581
1582
|
break;
|
|
1582
|
-
case
|
|
1583
|
+
case N:
|
|
1583
1584
|
if (this.get(d) == "iOS" && this.get(l) == "18.6") {
|
|
1584
|
-
var
|
|
1585
|
-
|
|
1585
|
+
var a = /\) Version\/([\d\.]+)/.exec(this.ua);
|
|
1586
|
+
a && parseInt(a[1].substring(0, 2), 10) >= 26 && this.set(l, a[1]);
|
|
1586
1587
|
}
|
|
1587
1588
|
break;
|
|
1588
1589
|
}
|
|
1589
1590
|
return this;
|
|
1590
1591
|
};
|
|
1591
|
-
|
|
1592
|
-
var
|
|
1592
|
+
j.prototype.parseCH = function() {
|
|
1593
|
+
var a = this.uaCH, t = this.rgxMap;
|
|
1593
1594
|
switch (this.itemType) {
|
|
1594
1595
|
case O:
|
|
1595
|
-
case
|
|
1596
|
-
var e =
|
|
1596
|
+
case B:
|
|
1597
|
+
var e = a[tt] || a[et], i;
|
|
1597
1598
|
if (e)
|
|
1598
1599
|
for (var n = 0; n < e.length; n++) {
|
|
1599
1600
|
var r = e[n].brand || e[n], o = e[n].version;
|
|
1600
|
-
this.itemType == O && !/not.a.brand/i.test(r) && (!i || /Chrom/.test(i) && r !=
|
|
1601
|
+
this.itemType == O && !/not.a.brand/i.test(r) && (!i || /Chrom/.test(i) && r != bt || i == Ie && /WebView2/.test(r)) && (r = U(r, s0), i = this.get(d), i && !/Chrom/.test(i) && /Chrom/.test(r) || this.set(d, r).set(l, o).set(fe, Qe(o)), i = r), this.itemType == B && r == bt && this.set(l, o);
|
|
1601
1602
|
}
|
|
1602
1603
|
break;
|
|
1603
|
-
case
|
|
1604
|
-
var p =
|
|
1605
|
-
p && (p &&
|
|
1604
|
+
case z:
|
|
1605
|
+
var p = a[D];
|
|
1606
|
+
p && (p && a[Ue] == "64" && (p += "64"), $e.call(this.data, p + ";", t));
|
|
1606
1607
|
break;
|
|
1607
|
-
case
|
|
1608
|
-
if (
|
|
1609
|
-
var
|
|
1610
|
-
$e.call(
|
|
1608
|
+
case G:
|
|
1609
|
+
if (a[S] && this.set(s, S), a[c] && (this.set(c, a[c]), !this.get(s) || !this.get(u))) {
|
|
1610
|
+
var h = {};
|
|
1611
|
+
$e.call(h, "droid 9; " + a[c] + ")", t), !this.get(s) && h.type && this.set(s, h.type), !this.get(u) && h.vendor && this.set(u, h.vendor);
|
|
1611
1612
|
}
|
|
1612
|
-
if (
|
|
1613
|
-
var
|
|
1614
|
-
if (typeof
|
|
1615
|
-
for (var I = 0; !
|
|
1616
|
-
|
|
1613
|
+
if (a[Q]) {
|
|
1614
|
+
var v;
|
|
1615
|
+
if (typeof a[Q] != "string")
|
|
1616
|
+
for (var I = 0; !v && I < a[Q].length; )
|
|
1617
|
+
v = U(a[Q][I++], mt);
|
|
1617
1618
|
else
|
|
1618
|
-
|
|
1619
|
-
this.set(s,
|
|
1619
|
+
v = U(a[Q], mt);
|
|
1620
|
+
this.set(s, v);
|
|
1620
1621
|
}
|
|
1621
1622
|
break;
|
|
1622
|
-
case
|
|
1623
|
-
var A =
|
|
1623
|
+
case N:
|
|
1624
|
+
var A = a[oe];
|
|
1624
1625
|
if (A) {
|
|
1625
|
-
var
|
|
1626
|
-
A == Xe && (
|
|
1626
|
+
var P = a[it];
|
|
1627
|
+
A == Xe && (P = parseInt(Qe(P), 10) >= 13 ? "11" : "10"), this.set(d, A).set(l, P);
|
|
1627
1628
|
}
|
|
1628
|
-
this.get(d) == Xe &&
|
|
1629
|
+
this.get(d) == Xe && a[c] == "Xbox" && this.set(d, "Xbox").set(l, void 0);
|
|
1629
1630
|
break;
|
|
1630
|
-
case
|
|
1631
|
-
var
|
|
1632
|
-
return
|
|
1631
|
+
case re:
|
|
1632
|
+
var X = this.data, F = function(q) {
|
|
1633
|
+
return X[q].getItem().setCH(a).parseCH().get();
|
|
1633
1634
|
};
|
|
1634
|
-
this.set(O,
|
|
1635
|
+
this.set(O, F(O)).set(z, F(z)).set(G, F(G)).set(B, F(B)).set(N, F(N));
|
|
1635
1636
|
}
|
|
1636
1637
|
return this;
|
|
1637
1638
|
};
|
|
1638
|
-
function
|
|
1639
|
-
if (typeof
|
|
1639
|
+
function V(a, t, e) {
|
|
1640
|
+
if (typeof a === E.OBJECT ? (Ce(a, !0) ? (typeof t === E.OBJECT && (e = t), t = a) : (e = a, t = void 0), a = void 0) : typeof a === E.STRING && !Ce(t, !0) && (e = t, t = void 0), e)
|
|
1640
1641
|
if (typeof e.append === E.FUNCTION) {
|
|
1641
1642
|
var i = {};
|
|
1642
1643
|
e.forEach(function(I, A) {
|
|
@@ -1648,31 +1649,31 @@ function W(x, t, e) {
|
|
|
1648
1649
|
e.hasOwnProperty(r) && (n[String(r).toLowerCase()] = e[r]);
|
|
1649
1650
|
e = n;
|
|
1650
1651
|
}
|
|
1651
|
-
if (!(this instanceof
|
|
1652
|
-
return new
|
|
1653
|
-
var o = typeof
|
|
1652
|
+
if (!(this instanceof V))
|
|
1653
|
+
return new V(a, t, e).getResult();
|
|
1654
|
+
var o = typeof a === E.STRING ? a : (
|
|
1654
1655
|
// Passed user-agent string
|
|
1655
|
-
e && e[
|
|
1656
|
+
e && e[rt] ? e[rt] : (
|
|
1656
1657
|
// User-Agent from passed headers
|
|
1657
1658
|
R && R.userAgent ? R.userAgent : (
|
|
1658
1659
|
// navigator.userAgent
|
|
1659
|
-
|
|
1660
|
+
ne
|
|
1660
1661
|
)
|
|
1661
1662
|
)
|
|
1662
|
-
), p = new
|
|
1663
|
-
return I ==
|
|
1664
|
-
return new
|
|
1663
|
+
), p = new Ot(e, !0), h = t ? o0(yt, t) : yt, v = function(I) {
|
|
1664
|
+
return I == re ? function() {
|
|
1665
|
+
return new j(I, o, h, p).set("ua", o).set(O, this.getBrowser()).set(z, this.getCPU()).set(G, this.getDevice()).set(B, this.getEngine()).set(N, this.getOS()).get();
|
|
1665
1666
|
} : function() {
|
|
1666
|
-
return new
|
|
1667
|
+
return new j(I, o, h[I], p).parseUA().get();
|
|
1667
1668
|
};
|
|
1668
1669
|
};
|
|
1669
|
-
return
|
|
1670
|
-
["getBrowser",
|
|
1671
|
-
["getCPU",
|
|
1672
|
-
["getDevice",
|
|
1673
|
-
["getEngine",
|
|
1674
|
-
["getOS",
|
|
1675
|
-
["getResult",
|
|
1670
|
+
return Y.call(this, [
|
|
1671
|
+
["getBrowser", v(O)],
|
|
1672
|
+
["getCPU", v(z)],
|
|
1673
|
+
["getDevice", v(G)],
|
|
1674
|
+
["getEngine", v(B)],
|
|
1675
|
+
["getOS", v(N)],
|
|
1676
|
+
["getResult", v(re)],
|
|
1676
1677
|
["getUA", function() {
|
|
1677
1678
|
return o;
|
|
1678
1679
|
}],
|
|
@@ -1681,656 +1682,658 @@ function W(x, t, e) {
|
|
|
1681
1682
|
}]
|
|
1682
1683
|
]).setUA(o), this;
|
|
1683
1684
|
}
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
const
|
|
1685
|
+
V.VERSION = Xt;
|
|
1686
|
+
V.BROWSER = Be([d, l, fe, s]);
|
|
1687
|
+
V.CPU = Be([D]);
|
|
1688
|
+
V.DEVICE = Be([c, u, s, Se, S, T, k, H, pe]);
|
|
1689
|
+
V.ENGINE = V.OS = Be([d, l]);
|
|
1690
|
+
const d0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1690
1691
|
__proto__: null,
|
|
1691
|
-
UAParser:
|
|
1692
|
+
UAParser: V
|
|
1692
1693
|
}, Symbol.toStringTag, { value: "Module" })), M = [];
|
|
1693
|
-
for (let
|
|
1694
|
-
M.push((
|
|
1695
|
-
function
|
|
1696
|
-
return (M[
|
|
1694
|
+
for (let a = 0; a < 256; ++a)
|
|
1695
|
+
M.push((a + 256).toString(16).slice(1));
|
|
1696
|
+
function l0(a, t = 0) {
|
|
1697
|
+
return (M[a[t + 0]] + M[a[t + 1]] + M[a[t + 2]] + M[a[t + 3]] + "-" + M[a[t + 4]] + M[a[t + 5]] + "-" + M[a[t + 6]] + M[a[t + 7]] + "-" + M[a[t + 8]] + M[a[t + 9]] + "-" + M[a[t + 10]] + M[a[t + 11]] + M[a[t + 12]] + M[a[t + 13]] + M[a[t + 14]] + M[a[t + 15]]).toLowerCase();
|
|
1697
1698
|
}
|
|
1698
|
-
let
|
|
1699
|
-
const
|
|
1700
|
-
function
|
|
1701
|
-
if (!
|
|
1699
|
+
let je;
|
|
1700
|
+
const u0 = new Uint8Array(16);
|
|
1701
|
+
function p0() {
|
|
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(u0);
|
|
1707
1708
|
}
|
|
1708
|
-
const
|
|
1709
|
-
function h0(
|
|
1710
|
-
|
|
1711
|
-
const i =
|
|
1709
|
+
const f0 = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), vt = { randomUUID: f0 };
|
|
1710
|
+
function h0(a, t, e) {
|
|
1711
|
+
a = a || {};
|
|
1712
|
+
const i = a.random ?? a.rng?.() ?? p0();
|
|
1712
1713
|
if (i.length < 16)
|
|
1713
1714
|
throw new Error("Random bytes length must be >= 16");
|
|
1714
|
-
return i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128,
|
|
1715
|
+
return i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128, l0(i);
|
|
1715
1716
|
}
|
|
1716
|
-
function
|
|
1717
|
-
return vt.randomUUID && !
|
|
1717
|
+
function Pt(a, t, e) {
|
|
1718
|
+
return vt.randomUUID && !a ? vt.randomUUID() : h0(a);
|
|
1718
1719
|
}
|
|
1719
|
-
|
|
1720
|
-
|
|
1720
|
+
const x = Nt;
|
|
1721
|
+
function Nt(a, t) {
|
|
1722
|
+
return a = a - 148, Me()[a];
|
|
1721
1723
|
}
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
const e = Pt, i = x();
|
|
1724
|
+
(function(a, t) {
|
|
1725
|
+
const e = Nt, i = a();
|
|
1725
1726
|
for (; ; )
|
|
1726
1727
|
try {
|
|
1727
|
-
if (
|
|
1728
|
+
if (parseInt(e(158)) / 1 * (parseInt(e(308)) / 2) + -parseInt(e(239)) / 3 * (parseInt(e(294)) / 4) + parseInt(e(157)) / 5 * (-parseInt(e(227)) / 6) + -parseInt(e(297)) / 7 * (parseInt(e(218)) / 8) + parseInt(e(203)) / 9 * (parseInt(e(325)) / 10) + parseInt(e(238)) / 11 * (parseInt(e(261)) / 12) + parseInt(e(264)) / 13 * (parseInt(e(174)) / 14) === t) break;
|
|
1728
1729
|
i.push(i.shift());
|
|
1729
1730
|
} catch {
|
|
1730
1731
|
i.push(i.shift());
|
|
1731
1732
|
}
|
|
1732
|
-
})(Me,
|
|
1733
|
+
})(Me, 787327);
|
|
1734
|
+
const Ut = { AF: "Afghanistan", AX: x(186), AL: x(315), DZ: "Algeria", AS: "American Samoa", AD: x(202), AO: x(272), AI: x(333), AQ: "Antarctica", AG: x(311), AR: "Argentina", AM: x(259), AW: x(190), AU: x(307), AT: x(169), AZ: x(206), BS: x(293), BH: x(260), BD: "Bangladesh", BB: "Barbados", BY: x(271), BE: x(153), BZ: x(298), BJ: x(303), BM: x(230), BT: x(242), BO: x(159), BQ: x(327), BA: x(188), BW: "Botswana", BV: x(217), BR: x(191), IO: "British Indian Ocean Territory", BN: x(156), BG: x(152), BF: x(332), BI: x(346), CV: x(223), KH: "Cambodia", CM: x(184), CA: x(207), KY: "Cayman Islands", CF: x(309), TD: x(324), CL: x(278), CN: "China", CX: x(196), CC: "Cocos (Keeling) Islands", CO: x(338), KM: "Comoros", CG: "Congo", CD: x(279), CK: "Cook Islands", CR: x(178), CI: "Côte d'Ivoire", HR: x(300), CU: x(248), CW: x(234), CY: x(249), CZ: "Czech Republic", DK: x(250), DJ: x(349), DM: "Dominica", DO: x(216), EC: x(281), EG: x(252), SV: x(313), GQ: "Equatorial Guinea", ER: "Eritrea", EE: x(273), ET: "Ethiopia", FK: "Falkland Islands (Malvinas)", FO: x(310), FJ: x(168), FI: x(226), FR: x(181), GF: "French Guiana", PF: x(214), TF: x(318), GA: x(304), GM: x(165), GE: x(340), DE: x(321), GH: x(302), GI: "Gibraltar", GR: x(215), GL: x(295), GD: x(225), GP: x(348), GU: x(193), GT: x(180), GG: "Guernsey", GN: "Guinea", GW: x(167), GY: x(270), HT: x(344), HM: x(212), VA: x(265), HN: x(299), HK: "Hong Kong", HU: x(192), IS: x(164), IN: x(204), ID: x(241), IR: x(337), IQ: x(251), IE: x(312), IM: x(326), IL: x(274), IT: x(224), JM: "Jamaica", JP: x(322), JE: x(258), JO: x(286), KZ: x(267), KE: x(316), KI: x(162), KP: "Korea (Democratic People's Republic of)", KR: "Korea, Republic of", KW: x(222), KG: "Kyrgyzstan", LA: x(195), LV: x(220), LB: x(262), LS: x(257), LR: x(292), LY: x(269), LI: x(314), LT: "Lithuania", LU: x(221), MO: x(282), MK: x(328), MG: x(284), MW: x(342), MY: x(232), MV: x(237), ML: x(285), MT: x(201), MH: x(339), MQ: "Martinique", MR: x(334), MU: x(296), YT: x(176), MX: x(155), FM: "Micronesia (Federated States of)", MD: x(198), MC: x(350), MN: x(185), ME: "Montenegro", MS: "Montserrat", MA: x(246), MZ: "Mozambique", MM: x(161), NA: x(187), NR: x(194), NP: x(179), NL: x(330), NC: x(256), NZ: x(335), NI: x(341), NE: x(236), NG: x(166), NU: x(263), NF: "Norfolk Island", MP: x(210), NO: x(255), OM: x(229), PK: x(247), PW: "Palau", PS: "Palestine, State of", PA: x(172), PG: x(213), PY: x(154), PE: x(177), PH: x(268), PN: x(197), PL: x(205), PT: x(163), PR: "Puerto Rico", QA: x(331), RE: x(151), RO: x(283), RU: "Russian Federation", RW: "Rwanda", BL: x(275), SH: x(233), KN: "Saint Kitts and Nevis", LC: x(277), MF: "Saint Martin (French part)", PM: x(306), VC: x(160), WS: x(175), SM: x(200), ST: x(245), SA: x(235), SN: x(317), RS: x(199), SC: x(149), SL: x(345), SG: "Singapore", SX: "Sint Maarten (Dutch part)", SK: "Slovakia", SI: x(288), SB: x(231), SO: x(319), ZA: x(211), GS: x(243), SS: "South Sudan", ES: x(244), LK: "Sri Lanka", SD: x(254), SR: "Suriname", SJ: x(182), SZ: "Swaziland", SE: x(343), CH: x(266), SY: x(276), TW: x(336), TJ: x(320), TZ: x(209), TH: x(253), TL: "Timor-Leste", TG: "Togo", TK: x(305), TO: x(240), TT: x(329), TN: x(208), TR: x(347), TM: x(323), TC: x(287), TV: "Tuvalu", UG: x(148), UA: "Ukraine", AE: x(301), GB: x(183), US: x(351), UM: x(170), UY: "Uruguay", UZ: x(150), VU: x(280), VE: x(291), VN: x(290), VG: x(228), VI: x(171), WF: x(289), EH: x(189), YE: x(173), ZM: "Zambia", ZW: x(219) };
|
|
1733
1735
|
function Me() {
|
|
1734
|
-
const
|
|
1736
|
+
const a = ["Namibia", "Bosnia and Herzegovina", "Western Sahara", "Aruba", "Brazil", "Hungary", "Guam", "Nauru", "Lao People's Democratic Republic", "Christmas Island", "Pitcairn", "Moldova (Republic of)", "Serbia", "San Marino", "Malta", "Andorra", "63lQSlZu", "India", "Poland", "Azerbaijan", "Canada", "Tunisia", "Tanzania, United Republic of", "Northern Mariana Islands", "South Africa", "Heard Island and McDonald Islands", "Papua New Guinea", "French Polynesia", "Greece", "Dominican Republic", "Bouvet Island", "8KGdjyt", "Zimbabwe", "Latvia", "Luxembourg", "Kuwait", "Cabo Verde", "Italy", "Grenada", "Finland", "131310zccjxj", "Virgin Islands (British)", "Oman", "Bermuda", "Solomon Islands", "Malaysia", "Saint Helena, Ascension and Tristan da Cunha", "Curaçao", "Saudi Arabia", "Niger", "Maldives", "79981dSXyTP", "345BaRjQy", "Tonga", "Indonesia", "Bhutan", "South Georgia and the South Sandwich Islands", "Spain", "Sao Tome and Principe", "Morocco", "Pakistan", "Cuba", "Cyprus", "Denmark", "Iraq", "Egypt", "Thailand", "Sudan", "Norway", "New Caledonia", "Lesotho", "Jersey", "Armenia", "Bahrain", "132YDCWrl", "Lebanon", "Niue", "13476983tVhBRB", "Holy See", "Switzerland", "Kazakhstan", "Philippines", "Libya", "Guyana", "Belarus", "Angola", "Estonia", "Israel", "Saint Barthélemy", "Syrian Arab Republic", "Saint Lucia", "Chile", "Congo (Democratic Republic of the)", "Vanuatu", "Ecuador", "Macao", "Romania", "Madagascar", "Mali", "Jordan", "Turks and Caicos Islands", "Slovenia", "Wallis and Futuna", "Viet Nam", "Venezuela (Bolivarian Republic of)", "Liberia", "Bahamas", "46756EwzeTw", "Greenland", "Mauritius", "4681369KlTzFX", "Belize", "Honduras", "Croatia", "United Arab Emirates", "Ghana", "Benin", "Gabon", "Tokelau", "Saint Pierre and Miquelon", "Australia", "549910oCJHNl", "Central African Republic", "Faroe Islands", "Antigua and Barbuda", "Ireland", "El Salvador", "Liechtenstein", "Albania", "Kenya", "Senegal", "French Southern Territories", "Somalia", "Tajikistan", "Germany", "Japan", "Turkmenistan", "Chad", "1396810YaBJmj", "Isle of Man", "Bonaire, Sint Eustatius and Saba", "Macedonia (the former Yugoslav Republic of)", "Trinidad and Tobago", "Netherlands", "Qatar", "Burkina Faso", "Anguilla", "Mauritania", "New Zealand", "Taiwan", "Iran (Islamic Republic of)", "Colombia", "Marshall Islands", "Georgia", "Nicaragua", "Malawi", "Sweden", "Haiti", "Sierra Leone", "Burundi", "Turkey", "Guadeloupe", "Djibouti", "Monaco", "United States of America", "Uganda", "Seychelles", "Uzbekistan", "Réunion", "Bulgaria", "Belgium", "Paraguay", "Mexico", "Brunei Darussalam", "90OYjcvu", "4EMbuBZ", "Bolivia (Plurinational State of)", "Saint Vincent and the Grenadines", "Myanmar", "Kiribati", "Portugal", "Iceland", "Gambia", "Nigeria", "Guinea-Bissau", "Fiji", "Austria", "United States Minor Outlying Islands", "Virgin Islands (U.S.)", "Panama", "Yemen", "14tGpdkM", "Samoa", "Mayotte", "Peru", "Costa Rica", "Nepal", "Guatemala", "France", "Svalbard and Jan Mayen", "United Kingdom", "Cameroon", "Mongolia", "Åland Islands"];
|
|
1735
1737
|
return Me = function() {
|
|
1736
|
-
return
|
|
1738
|
+
return a;
|
|
1737
1739
|
}, Me();
|
|
1738
1740
|
}
|
|
1739
|
-
const
|
|
1740
|
-
(function(
|
|
1741
|
-
const e =
|
|
1741
|
+
const _ = Lt;
|
|
1742
|
+
(function(a, t) {
|
|
1743
|
+
const e = Lt, i = a();
|
|
1742
1744
|
for (; ; )
|
|
1743
1745
|
try {
|
|
1744
|
-
if (parseInt(e(
|
|
1746
|
+
if (parseInt(e(280)) / 1 * (parseInt(e(238)) / 2) + parseInt(e(256)) / 3 + parseInt(e(277)) / 4 + parseInt(e(217)) / 5 + parseInt(e(268)) / 6 * (parseInt(e(272)) / 7) + -parseInt(e(228)) / 8 * (-parseInt(e(224)) / 9) + parseInt(e(265)) / 10 * (-parseInt(e(218)) / 11) === t) break;
|
|
1745
1747
|
i.push(i.shift());
|
|
1746
1748
|
} catch {
|
|
1747
1749
|
i.push(i.shift());
|
|
1748
1750
|
}
|
|
1749
|
-
})(De,
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
return x;
|
|
1754
|
-
}, De();
|
|
1755
|
-
}
|
|
1756
|
-
const Le = { gov: { prod: { log: "https://papi.vpe.gov-ntruss.com/player/maSync", report: "https://log.vpe.gov-ntruss.com/stats" }, beta: { log: _(297), report: _(237) } }, pub: { prod: { log: _(233), report: _(218) }, beta: { log: "https://papi.beta-vpe.naverncp.com/player/maSync", report: _(253) } } };
|
|
1757
|
-
let C = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: "latest", extra: { sessionId: null, playerType: "VPE React Native" }, log_type: _(221), privacy: { cookie_enabled: !0 } }, F = { platform: "pub", stage: _(270), sync: !1, syncResult: {} };
|
|
1758
|
-
const f0 = (/* @__PURE__ */ new Date())[_(286)](), Ut = (x) => x;
|
|
1751
|
+
})(De, 819369);
|
|
1752
|
+
const Le = { gov: { prod: { log: "https://papi.vpe.gov-ntruss.com/player/maSync", report: _(206) }, beta: { log: _(210), report: _(251) } }, pub: { prod: { log: _(249), report: _(242) }, beta: { log: _(225), report: _(236) } } };
|
|
1753
|
+
let C = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: "latest", extra: { sessionId: null, playerType: _(233) }, log_type: "vpe", privacy: { cookie_enabled: !0 } }, L = { platform: "pub", stage: _(220), sync: !1, syncResult: {} };
|
|
1754
|
+
const b0 = (/* @__PURE__ */ new Date()).getTime(), Bt = (a) => a;
|
|
1759
1755
|
function ye() {
|
|
1760
|
-
return
|
|
1756
|
+
return Pt();
|
|
1761
1757
|
}
|
|
1762
1758
|
function St() {
|
|
1763
|
-
return
|
|
1759
|
+
return Pt();
|
|
1764
1760
|
}
|
|
1765
|
-
function
|
|
1766
|
-
return
|
|
1761
|
+
function Lt(a, t) {
|
|
1762
|
+
return a = a - 203, De()[a];
|
|
1767
1763
|
}
|
|
1768
|
-
|
|
1769
|
-
const
|
|
1764
|
+
function De() {
|
|
1765
|
+
const a = ["https://log.vpe.naverncp.com/stats", "isArray", "getTime", "report", "actionDuration", "getSeconds", "MA init report failed:", "https://papi.vpe.naverncp.com/player/maSync", "sync", "https://log.beta-vpe.gov-ntruss.com/stats", "syncResult", "extra", "vpePackageId", "padStart", "3579939gQcnkU", "log_type", "POST", "videoFormat", "timeupdate", "video", "parse", "sessionId", "platform", "11500hzvtyX", "application/json", "floor", "204YSjgQA", "MA vpe init", "result", "MA report failed:", "293867MpfhNp", "UUID", "entries", "nation", "json", "1075316zBOpur", "address", "stringify", "13tiSXuh", "totalStartTime", "m3u8", "playerStartTime", "------------------------------------------------", "seekedTime", "https://log.vpe.gov-ntruss.com/stats", "Korea, Republic of", "error", "host", "https://papi.beta-vpe.gov-ntruss.com/player/maSync", "logDateUnix", "TID", "isp", "mpd", "type", "logDate", "3372270gUUony", "54274buSbhw", "url", "prod", "push", "created_at", "assign", "12898386GnQSfF", "https://papi.beta-vpe.naverncp.com/player/maSync", "stage", "getDate", "8giDVio", "browser", "indexOf", "forEach", "country", "VPE React Native", "videoStartTime", "getMonth", "https://log.beta-vpe.naverncp.com/stats", "actionType", "230210iKnFOt", "object", "log", "geoLocation"];
|
|
1766
|
+
return De = function() {
|
|
1767
|
+
return a;
|
|
1768
|
+
}, De();
|
|
1769
|
+
}
|
|
1770
|
+
const Ft = () => {
|
|
1771
|
+
const a = _, t = /* @__PURE__ */ new Date(), e = (o) => String(o)[a(255)](2, "0"), i = t.getFullYear() + "-" + e(t[a(235)]() + 1) + "-" + e(t[a(227)]()) + " " + e(t.getHours()) + ":" + e(t.getMinutes()) + ":" + e(t[a(247)]()), n = Math[a(267)](t[a(244)]() / 1e3), r = (/* @__PURE__ */ new Date())[a(244)]() - b0;
|
|
1770
1772
|
return { logDate: i, logDateUnix: n, thisSec: r };
|
|
1771
1773
|
};
|
|
1772
|
-
function
|
|
1773
|
-
|
|
1774
|
+
function w0(a) {
|
|
1775
|
+
const t = _;
|
|
1776
|
+
return typeof a === t(239) && a !== null && !Array[t(243)](a);
|
|
1774
1777
|
}
|
|
1775
|
-
function
|
|
1778
|
+
function at(a, t) {
|
|
1776
1779
|
const e = _;
|
|
1777
|
-
Object[e(
|
|
1780
|
+
Object[e(274)](t)[e(231)](([i, n]) => {
|
|
1778
1781
|
const r = e;
|
|
1779
|
-
|
|
1780
|
-
p != null && (
|
|
1781
|
-
})) : n != null && (
|
|
1782
|
+
w0(n) ? (!a[i] && (a[i] = {}), Object[r(274)](n).forEach(([o, p]) => {
|
|
1783
|
+
p != null && (a[i][o] = p);
|
|
1784
|
+
})) : n != null && (a[i] = n);
|
|
1782
1785
|
});
|
|
1783
1786
|
}
|
|
1784
|
-
function
|
|
1787
|
+
function g0(a) {
|
|
1785
1788
|
const t = _;
|
|
1786
|
-
return
|
|
1789
|
+
return a[t(230)](t(282)) > -1 ? "hls" : a[t(230)](t(214)) > -1 ? "dash" : "mp4";
|
|
1787
1790
|
}
|
|
1788
|
-
function
|
|
1791
|
+
function m0(a) {
|
|
1789
1792
|
const t = _, e = [];
|
|
1790
|
-
return
|
|
1793
|
+
return a?.r1 && e[t(221)](a.r1), a?.r2 && e.push(a.r2), a?.r3 && e[t(221)](a.r3), e.join(" ");
|
|
1791
1794
|
}
|
|
1792
|
-
function
|
|
1795
|
+
function Ht(a) {
|
|
1793
1796
|
const t = _;
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
}),
|
|
1797
|
+
a[t(246)] === "1.0" && (a[t(246)] = 0), a.actionDuration === void 0 && (a[t(246)] = 0), [t(203), t(234), t(281), t(205)][t(231)]((i) => {
|
|
1798
|
+
a[i] === void 0 && (a[i] = 0);
|
|
1799
|
+
}), a[t(215)] === void 0 && C[t(261)]?.type && (a[t(215)] = C[t(261)][t(215)]), a[t(219)] === void 0 && C[t(261)]?.url && (a[t(219)] = C[t(261)][t(219)], a[t(259)] = g0(a[t(219)]));
|
|
1797
1800
|
}
|
|
1798
|
-
function Gt(
|
|
1801
|
+
function Gt(a) {
|
|
1799
1802
|
const t = _;
|
|
1800
|
-
return !!(
|
|
1803
|
+
return !!(a[t(273)] && a[t(212)] && a[t(209)]);
|
|
1801
1804
|
}
|
|
1802
|
-
function Fe(
|
|
1805
|
+
function Fe(a) {
|
|
1803
1806
|
const t = _;
|
|
1804
1807
|
try {
|
|
1805
|
-
const e =
|
|
1806
|
-
e && (
|
|
1808
|
+
const e = L[t(252)]?.[t(241)];
|
|
1809
|
+
e && (a[t(278)] = m0(e), a[t(213)] = e.net || "", a.ip = L[t(252)]?.ip || "", a[t(275)] = e[t(232)] || "");
|
|
1807
1810
|
} catch {
|
|
1808
1811
|
}
|
|
1809
1812
|
}
|
|
1810
|
-
const
|
|
1813
|
+
const y0 = async (a) => {
|
|
1811
1814
|
const t = _;
|
|
1812
|
-
if (!
|
|
1813
|
-
const { platform: e, stage: i } =
|
|
1815
|
+
if (!a) return;
|
|
1816
|
+
const { platform: e, stage: i } = L, n = Le[e][i][t(240)];
|
|
1814
1817
|
try {
|
|
1815
|
-
const r = await fetch(n, { method: t(
|
|
1816
|
-
|
|
1817
|
-
const { logDate: p, logDateUnix:
|
|
1818
|
-
return C[t(
|
|
1818
|
+
const r = await fetch(n, { method: t(258), headers: { "Content-Type": t(266) }, body: JSON.stringify({ access_key: a }) }), o = await r[t(276)]();
|
|
1819
|
+
L[t(250)] = o[t(270)]?.sync || !1, L[t(252)] = o[t(270)] || {};
|
|
1820
|
+
const { logDate: p, logDateUnix: h } = Ft();
|
|
1821
|
+
return C.extra[t(216)] = p, C[t(253)][t(211)] = h, L[t(252)]?.geoLocation && Fe(C.extra), o;
|
|
1819
1822
|
} catch (r) {
|
|
1820
|
-
return console[t(
|
|
1823
|
+
return console[t(208)]("MA config initialization failed:", r), null;
|
|
1821
1824
|
}
|
|
1822
|
-
},
|
|
1823
|
-
const t = _, { platform: e, stage: i } =
|
|
1824
|
-
r[t(
|
|
1825
|
+
}, v0 = async (a) => {
|
|
1826
|
+
const t = _, { platform: e, stage: i } = L, n = Bt(Le[e][i][t(245)]), r = { ...a };
|
|
1827
|
+
r[t(257)] = "vpe", Fe(r[t(253)]);
|
|
1825
1828
|
try {
|
|
1826
|
-
await fetch(n, { method: t(
|
|
1829
|
+
await fetch(n, { method: t(258), headers: { "Content-Type": t(266) }, body: JSON[t(279)](r) });
|
|
1827
1830
|
} catch (o) {
|
|
1828
|
-
console[t(
|
|
1831
|
+
console[t(208)](t(248), o);
|
|
1829
1832
|
}
|
|
1830
|
-
},
|
|
1831
|
-
const t = _, { platform: e, stage: i } =
|
|
1832
|
-
if (
|
|
1833
|
+
}, S0 = async (a) => {
|
|
1834
|
+
const t = _, { platform: e, stage: i } = L, n = Bt(Le[e][i][t(245)]), r = JSON.parse(JSON.stringify(C));
|
|
1835
|
+
if (at(r, a), r[t(257)] = "MA", Fe(r[t(253)]), Ht(r[t(253)]), !!Gt(r[t(253)]))
|
|
1833
1836
|
try {
|
|
1834
|
-
r
|
|
1837
|
+
r.type != t(260), await fetch(n, { method: "POST", headers: { "Content-Type": t(266) }, body: JSON.stringify(r) });
|
|
1835
1838
|
} catch (o) {
|
|
1836
|
-
console[t(
|
|
1839
|
+
console[t(240)](t(271), o);
|
|
1837
1840
|
}
|
|
1838
1841
|
};
|
|
1839
|
-
async function
|
|
1842
|
+
async function I0(a, t, e, i, n) {
|
|
1840
1843
|
const r = _;
|
|
1841
|
-
|
|
1842
|
-
const { logDate: o, logDateUnix: p } =
|
|
1843
|
-
C[r(
|
|
1844
|
+
L[r(264)] = a, L[r(226)] = t, at(C, e), i && (C.extra[r(254)] = i), n && (C[r(253)].vpeKey = n), C[r(253)][r(275)] ? C[r(229)].country = Ut[C[r(253)][r(275)]] || r(207) : C[r(229)].country = r(207);
|
|
1845
|
+
const { logDate: o, logDateUnix: p } = Ft();
|
|
1846
|
+
C[r(253)][r(216)] = o, C.extra[r(211)] = p, C[r(253)][r(222)] = p;
|
|
1844
1847
|
}
|
|
1845
|
-
async function
|
|
1846
|
-
const t = _, e = JSON[t(
|
|
1847
|
-
|
|
1848
|
+
async function k0(a) {
|
|
1849
|
+
const t = _, e = JSON[t(262)](JSON[t(279)](C));
|
|
1850
|
+
a[t(253)] && Object[t(223)](e[t(253)], a[t(253)]), e.video = a.video, await v0(e), console[t(240)](t(269));
|
|
1848
1851
|
}
|
|
1849
|
-
function
|
|
1850
|
-
const t = _, { platform: e, stage: i } =
|
|
1852
|
+
function _0(a) {
|
|
1853
|
+
const t = _, { platform: e, stage: i } = L, n = Le[e]?.[i]?.[t(245)];
|
|
1851
1854
|
if (!n) return !1;
|
|
1852
|
-
const r = JSON[t(
|
|
1853
|
-
if (
|
|
1855
|
+
const r = JSON[t(262)](JSON[t(279)](C));
|
|
1856
|
+
if (at(r, a), r[t(257)] = "MA", Fe(r.extra), Ht(r.extra), !Gt(r.extra)) return !1;
|
|
1854
1857
|
try {
|
|
1855
|
-
const o = new Blob([JSON[t(
|
|
1858
|
+
const o = new Blob([JSON[t(279)](r)], { type: "application/json" });
|
|
1856
1859
|
return navigator.sendBeacon(n, o);
|
|
1857
1860
|
} catch {
|
|
1858
1861
|
return !1;
|
|
1859
1862
|
}
|
|
1860
1863
|
}
|
|
1861
|
-
|
|
1862
|
-
|
|
1864
|
+
function xt(a, t) {
|
|
1865
|
+
return a = a - 339, Re()[a];
|
|
1866
|
+
}
|
|
1867
|
+
const It = xt;
|
|
1868
|
+
function Re() {
|
|
1869
|
+
const a = ["#ffffff", "all", "6ziGXaa", "rgba(0, 0, 0, 0.4)", "1528732CfdAVb", "16/9", "watermarkConfig", "777585MPPJrh", "8514lslRvf", "6lDaUsm", "3336svOoZR", "646313uScAkn", "#009dff", "2638086vUnqSL", "dropshadow", "10KIjSTm", "captionStyle", "12738915zwCjTN", "contain", "pay", "NAVER CLOUD PLATFORM", "controlBtn", "23383943LzYLJE", "progressBar", "#4299f5"];
|
|
1870
|
+
return Re = function() {
|
|
1871
|
+
return a;
|
|
1872
|
+
}, Re();
|
|
1873
|
+
}
|
|
1874
|
+
(function(a, t) {
|
|
1875
|
+
const e = xt, i = a();
|
|
1863
1876
|
for (; ; )
|
|
1864
1877
|
try {
|
|
1865
|
-
if (
|
|
1878
|
+
if (parseInt(e(354)) / 1 + -parseInt(e(356)) / 2 + -parseInt(e(345)) / 3 * (-parseInt(e(347)) / 4) + parseInt(e(350)) / 5 * (parseInt(e(352)) / 6) + -parseInt(e(360)) / 7 + parseInt(e(353)) / 8 * (parseInt(e(351)) / 9) + parseInt(e(358)) / 10 * (parseInt(e(340)) / 11) === t) break;
|
|
1866
1879
|
i.push(i.shift());
|
|
1867
1880
|
} catch {
|
|
1868
1881
|
i.push(i.shift());
|
|
1869
1882
|
}
|
|
1870
|
-
})(Re,
|
|
1871
|
-
const
|
|
1872
|
-
const e =
|
|
1873
|
-
if (t !== e(
|
|
1874
|
-
const n = { ...i, ...
|
|
1875
|
-
return
|
|
1876
|
-
},
|
|
1877
|
-
function
|
|
1878
|
-
|
|
1879
|
-
}
|
|
1880
|
-
function Re() {
|
|
1881
|
-
const x = ["contain", "34001rpgxeP", "7qEjUwX", "730919UgjjVU", "rgba(0, 0, 0, 0.4)", "#ffffff", "dropshadow", "4490ZLdnFt", "NAVER CLOUD PLATFORM", "controlBtn", "all", "watermarkConfig", "128exXifn", "#4299f5", "captionStyle", "3610GLUOsh", "progressBar", "446088MOhJkt", "2kKIHra", "pay", "88134ZVDurH", "2211984TqltFf", "3837960oIdkdW"];
|
|
1882
|
-
return Re = function() {
|
|
1883
|
-
return x;
|
|
1884
|
-
}, Re();
|
|
1885
|
-
}
|
|
1886
|
-
const b = Vt;
|
|
1887
|
-
(function(x, t) {
|
|
1888
|
-
const e = Vt, i = x();
|
|
1883
|
+
})(Re, 947603);
|
|
1884
|
+
const E0 = (a = {}, t) => {
|
|
1885
|
+
const e = xt, i = { autostart: !0, muted: !1, aspectRatio: e(348), objectFit: e(361), 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: e(342), 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(363), watermarkConfig: { randPosition: !0, randPositionInterVal: 3e3, x: 10, y: 10, opacity: 0.5 }, captionStyle: { fontSize: 12, color: e(343), backgroundColor: e(346), edgeStyle: e(357) }, override: null };
|
|
1886
|
+
if (t !== e(362)) return { ...i, ...T0 };
|
|
1887
|
+
const n = { ...i, ...a };
|
|
1888
|
+
return a[e(339)] && (n[e(339)] = { ...i[e(339)], ...a[e(339)] }), a.watermarkConfig && (n[e(349)] = { ...i.watermarkConfig, ...a.watermarkConfig }), a.captionStyle && (n.captionStyle = { ...i[e(359)], ...a[e(359)] }), n.controlBtn?.[e(341)] === void 0 && (n[e(339)].progressBar = !0), n;
|
|
1889
|
+
}, T0 = { free: !0, startMutedInfoNotVisible: !1, lowLatencyMode: !1, progressBarColor: It(355), playRateSetting: [0.5, 0.75, 1, 1.5, 2], descriptionNotVisible: !0, seekingPreview: !1, controlActiveTime: 1500, ui: It(344), token: "", setStartTime: null, controlBtn: { play: !0, fullscreen: !0, volume: !0, times: !0, setting: !1, pictureInPicture: !1, progressBar: !0 } }, g = Vt;
|
|
1890
|
+
(function(a, t) {
|
|
1891
|
+
const e = Vt, i = a();
|
|
1889
1892
|
for (; ; )
|
|
1890
1893
|
try {
|
|
1891
|
-
if (parseInt(e(
|
|
1894
|
+
if (parseInt(e(408)) / 1 + parseInt(e(378)) / 2 + parseInt(e(396)) / 3 * (parseInt(e(362)) / 4) + -parseInt(e(416)) / 5 + -parseInt(e(335)) / 6 + -parseInt(e(353)) / 7 * (-parseInt(e(292)) / 8) + -parseInt(e(392)) / 9 === t) break;
|
|
1892
1895
|
i.push(i.shift());
|
|
1893
1896
|
} catch {
|
|
1894
1897
|
i.push(i.shift());
|
|
1895
1898
|
}
|
|
1896
|
-
})(Oe,
|
|
1899
|
+
})(Oe, 820933);
|
|
1897
1900
|
function Oe() {
|
|
1898
|
-
const
|
|
1901
|
+
const a = ["isEnded", "report", "object", "visibilitychange", "dispatchEvent", "speedChangeCnt", "maInit", "contentId", "prevAction", "20894868wftIQC", "isFullscreen", "firstError", "ERROR", "8583ogNWFD", "nation", "padStart", "entries", "seeked", "TIMEUPDATE", "then", "play", "RATE_CHANGE", "getHours", "beforeunload", "round", "1575989zShSRj", "bind", "initializeReportData", "getMinutes", "PLAYING", "handleFullscreenChange", "sendSessionBeacon", "TID", "938430IYLqsF", "FULLSCREEN_CHANGE", "REBUFFERING", "state", "hidden", "playedTime", "getTime", "fullscreenEnterTime", "handleWaiting", "rebuffering", "seekCnt", "quality", "startup", "loadingEnd", "ended", "handleTimeUpdate", "handleQualityChange", "isCompleted", "prevTime", "handlePlayerStart", "1562424meYHfN", "QUALITY_CHANGE", "getSeconds", "UUID", "watchPercent", "bufferingEnd", "isPlainObject", "buildSessionMetrics", "removeEventListener", "startTime", "handleTimeUpdateFocus", "Korea, Republic of", "seeking", "firstPlay", "pause", "ENDED", "playing", "Unknown Error", "handleRateChange", "prevQuality", "handleStartup", "lastPlaybackSpeed", "handleEnded", "PAUSED", "boundVisibilityChange", "playbackRate", "handleCanplay", "VPE", "NEXT_TRACK", "firstPlaying", "percent", "error", "pauseCnt", "waiting", "SEEKING", "handleTrackChange", "isPlaying", "getMonth", "maSync", "handlePause", "dropOffPosition", "reportData", "now", "5244558rPNDwr", "WAITING", "code", "country", "data", "contentDuration", "bufferingStart", "beaconSent", "resetStateForNewTrack", "visibilityState", "nextTrack", "currentTime", "PLAYER_START", "floor", "getFullYear", "duration", "toFixed", "fullscreenDuration", "35PmPRIJ", "E0000", "sessionId", "fullscreenYn", "isBuffering", "playAttempt", "vpe", "extra", "stageData", "1676YoJbVK", "isBounce", "isSeeking", "browser", "latest", "type", "forEach", "handleError", "PAUSE", "getDate", "handleVisibilityChange", "handleSeeking", "initTimeupdate", "message", "timeupdate", "prevUrl", "906202SqcBVm", "STARTUP", "addEventListener", "url", "handleBeforeUnload"];
|
|
1899
1902
|
return Oe = function() {
|
|
1900
|
-
return
|
|
1903
|
+
return a;
|
|
1901
1904
|
}, Oe();
|
|
1902
1905
|
}
|
|
1903
|
-
const
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
+
const kt = "0p", C0 = 59e3, A0 = 1, m = { PLAYER_START: "player_start", STARTUP: g(284), PLAY: g(403), PAUSE: g(306), PLAYING: g(308), PAUSED: g(306), SEEKING: g(304), SEEKED: g(400), WAITING: g(325), WAITING_END: "waitingEnd", CANPLAY: "canplay", ENDED: g(286), NEXT_TRACK: g(345), PREV_TRACK: "prevTrack", ERROR: g(323), QUALITY_CHANGE: "quality_change", REBUFFERING: g(425), TIMEUPDATE: g(376), TIMEUPDATE_FOCUS: "timeupdateFocus", RATE_CHANGE: "ratechange", FULLSCREEN_CHANGE: "fullscreenchange" };
|
|
1907
|
+
function Vt(a, t) {
|
|
1908
|
+
return a = a - 283, Oe()[a];
|
|
1909
|
+
}
|
|
1910
|
+
class M0 {
|
|
1911
|
+
[g(333)];
|
|
1906
1912
|
stageData;
|
|
1907
|
-
[
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
[
|
|
1913
|
+
[g(419)];
|
|
1914
|
+
beaconSent = !1;
|
|
1915
|
+
boundBeforeUnload;
|
|
1916
|
+
[g(316)];
|
|
1911
1917
|
constructor(t, e, i) {
|
|
1912
|
-
const n =
|
|
1913
|
-
this[n(
|
|
1918
|
+
const n = g;
|
|
1919
|
+
this[n(361)] = { platform: t, stage: e, sync: !1, syncResult: {} }, this[n(333)] = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: n(366), extra: { UUID: null, TID: null, sessionId: null, playerType: n(319), playAttempt: !1 }, log_type: n(359), privacy: { cookie_enabled: !0 } }, this[n(419)] = { 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, fullscreenEnterTime: 0, fullscreenDuration: 0, contentId: null, contentDuration: 0 }, this[n(410)](i), this[n(361)], this.boundBeforeUnload = this.handleBeforeUnload[n(409)](this), this.boundVisibilityChange = this[n(372)][n(409)](this), window[n(380)](n(406), this.boundBeforeUnload), document.addEventListener("visibilitychange", this[n(316)]);
|
|
1914
1920
|
}
|
|
1915
|
-
|
|
1916
|
-
const e =
|
|
1917
|
-
this
|
|
1921
|
+
[g(410)](t) {
|
|
1922
|
+
const e = g;
|
|
1923
|
+
this.reportData = { ...this[e(333)], ...t }, this[e(333)][e(360)][e(397)] ? this[e(333)].browser[e(338)] = Ut[this.reportData[e(360)].nation] || e(303) : this[e(333)][e(365)][e(338)] = "Korea, Republic of";
|
|
1918
1924
|
}
|
|
1919
|
-
[
|
|
1920
|
-
const t =
|
|
1925
|
+
[g(422)]() {
|
|
1926
|
+
const t = g, e = /* @__PURE__ */ new Date(), i = (o) => String(o)[t(398)](2, "0"), n = e[t(349)]() + "-" + i(e[t(329)]() + 1) + "-" + i(e[t(371)]()) + " " + i(e[t(405)]()) + ":" + i(e[t(411)]()) + ":" + i(e[t(294)]()), r = Math[t(348)](e.getTime() / 1e3);
|
|
1921
1927
|
return { logDate: n, logDateUnix: r };
|
|
1922
1928
|
}
|
|
1923
|
-
[
|
|
1924
|
-
|
|
1925
|
-
return typeof t === e(325) && t !== null && !Array[e(447)](t);
|
|
1929
|
+
[g(298)](t) {
|
|
1930
|
+
return typeof t === g(385) && t !== null && !Array.isArray(t);
|
|
1926
1931
|
}
|
|
1927
|
-
async [
|
|
1928
|
-
const i =
|
|
1929
|
-
if (this
|
|
1930
|
-
const { logDate: n, logDateUnix: r } = this
|
|
1931
|
-
for (const
|
|
1932
|
-
|
|
1933
|
-
const
|
|
1934
|
-
this[i(
|
|
1932
|
+
async [g(384)](t, e) {
|
|
1933
|
+
const i = g;
|
|
1934
|
+
if (this[i(419)].firstError) return;
|
|
1935
|
+
const { logDate: n, logDateUnix: r } = this.getTime(), o = Date[i(334)](), p = this[i(419)][i(290)] > 0 ? o - this[i(419)][i(290)] : 0, h = p, v = e && typeof e === i(385) && e[i(339)] ? e[i(339)] : {}, I = [i(390), "contentDuration", i(296), i(289), i(363), i(324), i(426), i(388), i(313), i(356), i(352), i(332)], A = {};
|
|
1936
|
+
for (const q of I)
|
|
1937
|
+
v[q] !== void 0 && (A[q] = v[q]);
|
|
1938
|
+
const P = this[i(419)][i(340)], X = P > 0 ? Math.floor(P / 1e3) : this[i(333)].extra[i(350)] || 0, F = { ...this[i(333)], video: this[i(333)].video, extra: { ...this[i(333)][i(360)], actionType: t, actionDuration: h ? h[i(351)](2) : 0, duration: X, contentDuration: P, logDate: n, logDateUnix: r, ...A } };
|
|
1939
|
+
this.state[i(290)] = o, await S0(F);
|
|
1935
1940
|
}
|
|
1936
|
-
async [
|
|
1937
|
-
const e =
|
|
1938
|
-
!this[e(
|
|
1941
|
+
async [g(389)](t) {
|
|
1942
|
+
const e = g;
|
|
1943
|
+
!this[e(333)].extra.sessionId && (this[e(333)][e(360)].sessionId = St(), this[e(333)].extra[e(415)] = ye(), this[e(333)].extra.UUID = ye()), t.extra[e(355)] = this[e(333)][e(360)].sessionId, await k0(t);
|
|
1939
1944
|
}
|
|
1940
|
-
async
|
|
1941
|
-
const e =
|
|
1942
|
-
!t || typeof t
|
|
1945
|
+
async [g(330)](t) {
|
|
1946
|
+
const e = g;
|
|
1947
|
+
!t || typeof t !== e(385) || Object[e(399)](t)[e(368)](([i, n]) => {
|
|
1943
1948
|
const r = e;
|
|
1944
|
-
this
|
|
1949
|
+
this.isPlainObject(n) ? Object[r(399)](n).forEach(([o, p]) => {
|
|
1945
1950
|
p != null && (this.reportData[i][o] = p);
|
|
1946
|
-
}) : n != null && (this
|
|
1951
|
+
}) : n != null && (this[r(333)][i] = n);
|
|
1947
1952
|
});
|
|
1948
1953
|
}
|
|
1949
|
-
[
|
|
1950
|
-
const e =
|
|
1951
|
-
switch (o && o > 0 && (this[e(
|
|
1952
|
-
case m
|
|
1953
|
-
this
|
|
1954
|
+
[g(387)](t) {
|
|
1955
|
+
const e = g, { type: i, data: n } = t, r = { url: n?.[e(381)] || this.state[e(377)], type: n?.[e(367)], quality: n?.quality || this[e(419)][e(311)], data: n }, o = n?.[e(360)]?.[e(350)];
|
|
1956
|
+
switch (o && o > 0 && (this[e(419)][e(340)] = Math[e(407)](o * 1e3)), i) {
|
|
1957
|
+
case m[e(347)]:
|
|
1958
|
+
this.handlePlayerStart(r, n);
|
|
1954
1959
|
break;
|
|
1955
|
-
case m
|
|
1956
|
-
this
|
|
1960
|
+
case m.STARTUP:
|
|
1961
|
+
this.handleStartup(r, n);
|
|
1957
1962
|
break;
|
|
1958
|
-
case m
|
|
1959
|
-
this
|
|
1963
|
+
case m.PLAY:
|
|
1964
|
+
this.handlePlay(r, n);
|
|
1960
1965
|
break;
|
|
1961
|
-
case m[e(
|
|
1962
|
-
this
|
|
1966
|
+
case m[e(370)]:
|
|
1967
|
+
this.handlePause(r, n);
|
|
1963
1968
|
break;
|
|
1964
|
-
case m[e(
|
|
1965
|
-
this[e(
|
|
1969
|
+
case m[e(401)]:
|
|
1970
|
+
this[e(287)](r, n);
|
|
1966
1971
|
break;
|
|
1967
|
-
case m
|
|
1968
|
-
this[e(
|
|
1972
|
+
case m.TIMEUPDATE_FOCUS:
|
|
1973
|
+
this[e(302)](r, n);
|
|
1969
1974
|
break;
|
|
1970
1975
|
case m.SEEKING:
|
|
1971
|
-
this[e(
|
|
1976
|
+
this[e(373)](r, n);
|
|
1972
1977
|
break;
|
|
1973
|
-
case m
|
|
1974
|
-
this
|
|
1978
|
+
case m.SEEKED:
|
|
1979
|
+
this.handleSeeked(r, n);
|
|
1975
1980
|
break;
|
|
1976
|
-
case m[e(
|
|
1977
|
-
case e(
|
|
1978
|
-
this
|
|
1981
|
+
case m[e(336)]:
|
|
1982
|
+
case e(341):
|
|
1983
|
+
this.handleWaiting(r, n);
|
|
1979
1984
|
break;
|
|
1980
|
-
case m
|
|
1981
|
-
case e(
|
|
1982
|
-
case e(
|
|
1983
|
-
this
|
|
1985
|
+
case m.WAITING_END:
|
|
1986
|
+
case e(297):
|
|
1987
|
+
case e(285):
|
|
1988
|
+
this.handleCanplay(r, n);
|
|
1984
1989
|
break;
|
|
1985
|
-
case m
|
|
1986
|
-
this[e(
|
|
1990
|
+
case m.CANPLAY:
|
|
1991
|
+
this[e(318)](r, n);
|
|
1987
1992
|
break;
|
|
1988
|
-
case m[e(
|
|
1989
|
-
this[e(
|
|
1993
|
+
case m[e(307)]:
|
|
1994
|
+
this[e(314)](r, n);
|
|
1990
1995
|
break;
|
|
1991
|
-
case
|
|
1992
|
-
case
|
|
1993
|
-
this[e(
|
|
1996
|
+
case e(345):
|
|
1997
|
+
case "prevTrack":
|
|
1998
|
+
this[e(327)](i, r, n);
|
|
1994
1999
|
break;
|
|
1995
|
-
case m[e(
|
|
1996
|
-
this[e(
|
|
2000
|
+
case m[e(395)]:
|
|
2001
|
+
this[e(369)](r, n);
|
|
1997
2002
|
break;
|
|
1998
|
-
case m[e(
|
|
1999
|
-
this[e(
|
|
2003
|
+
case m[e(293)]:
|
|
2004
|
+
this[e(288)](r, n);
|
|
2000
2005
|
break;
|
|
2001
|
-
case m
|
|
2002
|
-
this
|
|
2006
|
+
case m.RATE_CHANGE:
|
|
2007
|
+
this[e(310)](r, n);
|
|
2003
2008
|
break;
|
|
2004
2009
|
case m.FULLSCREEN_CHANGE:
|
|
2005
|
-
this[e(
|
|
2010
|
+
this[e(413)](r, n);
|
|
2006
2011
|
break;
|
|
2007
2012
|
}
|
|
2008
2013
|
}
|
|
2009
|
-
|
|
2010
|
-
const i =
|
|
2011
|
-
!this[i(
|
|
2014
|
+
[g(291)](t, e) {
|
|
2015
|
+
const i = g;
|
|
2016
|
+
!this.reportData[i(360)][i(355)] && (this[i(333)][i(360)].sessionId = St(), this.reportData[i(360)][i(415)] = ye(), this.reportData.extra[i(295)] = ye()), this[i(419)][i(301)] = Date.now(), this[i(419)][i(290)] = this[i(419)][i(301)], this[i(384)](m[i(347)], { ...t, data: e });
|
|
2012
2017
|
}
|
|
2013
|
-
[
|
|
2014
|
-
const i =
|
|
2015
|
-
if (this
|
|
2016
|
-
const n = e?.[i(
|
|
2017
|
-
n?.[i(
|
|
2018
|
+
[g(312)](t, e) {
|
|
2019
|
+
const i = g;
|
|
2020
|
+
if (this[i(419)].firstPlaying) {
|
|
2021
|
+
const n = e?.[i(360)] || e || {};
|
|
2022
|
+
n?.[i(390)] && (this.state[i(390)] = n.contentId), this[i(419)][i(328)] = !0, this[i(384)](m[i(379)], { ...t, data: { ...e, contentId: this[i(419)][i(390)], contentDuration: this[i(419)].contentDuration } }), this[i(419)][i(321)] = !1;
|
|
2018
2023
|
}
|
|
2019
2024
|
}
|
|
2020
|
-
|
|
2021
|
-
const i =
|
|
2022
|
-
this
|
|
2025
|
+
handlePlay(t, e) {
|
|
2026
|
+
const i = g;
|
|
2027
|
+
this[i(419)].isPlaying || (this[i(333)][i(360)][i(421)] = e?.[i(421)], this[i(333)][i(360)][i(322)] = e?.[i(322)], this[i(419)].isPlaying = !0, this[i(333)][i(360)][i(358)] = !0, this.state[i(305)] && (this[i(419)][i(305)] = !1), this.state[i(391)] === m.PAUSED && this.report(m[i(412)], { ...t, data: e }), this[i(419)].prevAction = m[i(412)]);
|
|
2023
2028
|
}
|
|
2024
|
-
[
|
|
2025
|
-
const i =
|
|
2026
|
-
this
|
|
2029
|
+
[g(331)](t, e) {
|
|
2030
|
+
const i = g;
|
|
2031
|
+
this[i(419)][i(364)] || this[i(419)].isBuffering || !this.state[i(328)] || (this[i(419)][i(324)]++, this[i(419)][i(328)] = !1, this[i(384)](m[i(315)], { ...t, data: { ...e, pauseCnt: this[i(419)].pauseCnt } }), this[i(419)][i(391)] = m[i(315)]);
|
|
2027
2032
|
}
|
|
2028
|
-
|
|
2029
|
-
const i =
|
|
2030
|
-
this[i(
|
|
2033
|
+
handleTimeUpdate(t, e) {
|
|
2034
|
+
const i = g;
|
|
2035
|
+
this[i(419)].isPlaying = !0, this[i(333)][i(360)][i(358)] = !0, !(this.reportData.extra.currentTime < A0) && (this[i(419)].isPlaying && Date.now() - this[i(419)].prevTime > C0 && this[i(384)](m[i(412)], { ...t, data: e }), this.state[i(377)] = t.url || "", this[i(419)][i(311)] = t[i(283)] || kt);
|
|
2031
2036
|
}
|
|
2032
|
-
|
|
2033
|
-
const i =
|
|
2034
|
-
this[i(
|
|
2037
|
+
handleTimeUpdateFocus(t, e) {
|
|
2038
|
+
const i = g;
|
|
2039
|
+
this[i(333)][i(360)][i(346)] > 0 && (this[i(384)](m[i(412)], { ...t, data: e }), this[i(419)][i(374)] = !0);
|
|
2035
2040
|
}
|
|
2036
|
-
|
|
2037
|
-
const i =
|
|
2038
|
-
this[i(
|
|
2041
|
+
handleSeeking(t, e) {
|
|
2042
|
+
const i = g;
|
|
2043
|
+
this[i(419)][i(364)] || (this[i(419)][i(426)]++, this.state.isSeeking = !0, this[i(419)][i(328)] ? this[i(384)](m.PLAYING, { ...t, data: e }) : this[i(419)].prevAction === m[i(315)] && this[i(384)](m.PAUSED, { ...t, data: e }), this[i(419)][i(391)] = m[i(326)]);
|
|
2039
2044
|
}
|
|
2040
|
-
|
|
2041
|
-
const i =
|
|
2042
|
-
this[i(
|
|
2045
|
+
handleSeeked(t, e) {
|
|
2046
|
+
const i = g;
|
|
2047
|
+
this.state[i(364)] && (this[i(419)].isSeeking = !1, this.report(m[i(326)], { ...t, data: e }), this.state.prevAction = this[i(419)].isPlaying ? m[i(412)] : m[i(315)]);
|
|
2043
2048
|
}
|
|
2044
|
-
[
|
|
2045
|
-
const i =
|
|
2046
|
-
this[i(
|
|
2049
|
+
[g(424)](t, e) {
|
|
2050
|
+
const i = g;
|
|
2051
|
+
this[i(419)][i(364)] || this[i(419)].isBuffering || (this[i(419)].isBuffering = !0, this[i(419)][i(328)] && this[i(384)](m.PLAYING, { ...t, data: e }), this[i(419)][i(391)] = m[i(418)]);
|
|
2047
2052
|
}
|
|
2048
|
-
[
|
|
2049
|
-
const i =
|
|
2050
|
-
this[i(
|
|
2053
|
+
[g(318)](t, e) {
|
|
2054
|
+
const i = g;
|
|
2055
|
+
this[i(419)][i(357)] && (this.state[i(357)] = !1, this.report(m.REBUFFERING, { ...t, data: e }), this[i(419)].prevAction = this[i(419)][i(328)] ? m[i(412)] : m[i(315)]);
|
|
2051
2056
|
}
|
|
2052
|
-
|
|
2053
|
-
const t =
|
|
2054
|
-
if (this
|
|
2055
|
-
this[t(
|
|
2056
|
-
const { logDate: e, logDateUnix: i } = this.getTime(), n = Date[t(
|
|
2057
|
-
|
|
2057
|
+
[g(414)]() {
|
|
2058
|
+
const t = g;
|
|
2059
|
+
if (this.beaconSent || this[t(419)].isEnded || this[t(419)].firstError || !this[t(333)][t(360)].UUID || !this[t(333)][t(360)][t(415)]) return;
|
|
2060
|
+
this[t(342)] = !0;
|
|
2061
|
+
const { logDate: e, logDateUnix: i } = this.getTime(), n = Date[t(334)](), r = this[t(419)][t(290)] > 0 ? n - this[t(419)].prevTime : 0, o = (this[t(333)][t(360)][t(346)] || 0) * 1e3, p = this[t(419)][t(340)], h = p > 0 ? Math[t(407)](o / p * 1e4) / 100 : 0, v = this[t(333)][t(360)].playedTime || 0, I = { ...this.reportData, video: this[t(333)].video, extra: { ...this[t(333)][t(360)], actionType: t(286), actionDuration: r ? r[t(351)](2) : 0, duration: p > 0 ? Math[t(348)](p / 1e3) : this[t(333)].extra[t(350)] || 0, logDate: e, logDateUnix: i, contentId: this[t(419)].contentId, contentDuration: p, watchPercent: h, isCompleted: h >= 95, isBounce: v < 1e4, pauseCnt: this.state[t(324)], seekCnt: this.state[t(426)], speedChangeCnt: this[t(419)].speedChangeCnt, lastPlaybackSpeed: this[t(419)].lastPlaybackSpeed, fullscreenYn: this[t(419)][t(356)], fullscreenDuration: this[t(419)][t(352)] + (this[t(419)][t(423)] > 0 ? Date[t(334)]() - this[t(419)][t(423)] : 0), dropOffPosition: Math[t(407)](o) } };
|
|
2062
|
+
_0(I);
|
|
2058
2063
|
}
|
|
2059
|
-
[
|
|
2060
|
-
this
|
|
2064
|
+
[g(382)]() {
|
|
2065
|
+
this[g(414)]();
|
|
2061
2066
|
}
|
|
2062
|
-
[
|
|
2063
|
-
const t =
|
|
2064
|
-
document[t(
|
|
2067
|
+
[g(372)]() {
|
|
2068
|
+
const t = g;
|
|
2069
|
+
document[t(344)] === t(420) && this[t(414)]();
|
|
2065
2070
|
}
|
|
2066
2071
|
destroy() {
|
|
2067
|
-
const t =
|
|
2068
|
-
window
|
|
2072
|
+
const t = g;
|
|
2073
|
+
window.removeEventListener("beforeunload", this.boundBeforeUnload), document[t(300)](t(386), this[t(316)]);
|
|
2069
2074
|
}
|
|
2070
|
-
[
|
|
2071
|
-
const i =
|
|
2072
|
-
let
|
|
2073
|
-
return this[i(
|
|
2075
|
+
[g(299)](t, e) {
|
|
2076
|
+
const i = g, n = e?.[i(360)] || e || {}, r = (n?.currentTime || 0) * 1e3, o = this.state[i(340)], p = o > 0 ? Math[i(407)](r / o * 1e4) / 100 : 0, h = this[i(333)].extra[i(421)] || 0;
|
|
2077
|
+
let v = this[i(419)].fullscreenDuration;
|
|
2078
|
+
return this[i(419)][i(423)] > 0 && (v += Date[i(334)]() - this.state[i(423)]), { ...t, data: { ...e, contentId: this[i(419)][i(390)], duration: o > 0 ? Math[i(348)](o / 1e3) : n?.[i(350)] || 0, contentDuration: o, watchPercent: p, isCompleted: p >= 95, isBounce: h < 1e4, pauseCnt: this.state[i(324)], seekCnt: this[i(419)][i(426)], speedChangeCnt: this[i(419)][i(388)], lastPlaybackSpeed: this[i(419)][i(313)], fullscreenYn: this[i(419)][i(356)], fullscreenDuration: v, dropOffPosition: Math[i(407)](r) } };
|
|
2074
2079
|
}
|
|
2075
|
-
[
|
|
2076
|
-
const i =
|
|
2077
|
-
this[i(
|
|
2080
|
+
[g(314)](t, e) {
|
|
2081
|
+
const i = g;
|
|
2082
|
+
this[i(419)][i(383)] || (this[i(419)][i(383)] = !0, this[i(419)][i(328)] = !1, this[i(342)] = !0, this[i(419)].prevAction !== m[i(315)] && this[i(384)](this[i(419)][i(391)] || m.PLAYING, { ...t, data: e }), this[i(384)](m.ENDED, this[i(299)](t, e)));
|
|
2078
2083
|
}
|
|
2079
|
-
|
|
2080
|
-
const n =
|
|
2081
|
-
this[n(
|
|
2084
|
+
handleTrackChange(t, e, i) {
|
|
2085
|
+
const n = g, r = t === n(345) ? m[n(320)] : m.PREV_TRACK;
|
|
2086
|
+
this[n(384)](this.state[n(391)] || m[n(412)], this[n(299)](e, i))[n(402)](() => {
|
|
2082
2087
|
const o = n;
|
|
2083
|
-
this[o(
|
|
2084
|
-
this
|
|
2088
|
+
this[o(384)](r, { ...e, data: i })[o(402)](() => {
|
|
2089
|
+
this[o(343)]();
|
|
2085
2090
|
});
|
|
2086
2091
|
});
|
|
2087
2092
|
}
|
|
2088
|
-
[
|
|
2089
|
-
const i =
|
|
2090
|
-
this[i(
|
|
2091
|
-
const n = { errorCode: e?.[i(
|
|
2092
|
-
this
|
|
2093
|
+
[g(369)](t, e) {
|
|
2094
|
+
const i = g;
|
|
2095
|
+
this[i(419)][i(391)] && !this.state[i(321)] && this[i(384)](this[i(419)][i(391)], this[i(299)](t, e));
|
|
2096
|
+
const n = { errorCode: e?.[i(337)] || i(354), errorMessage: e?.[i(375)] || i(309) };
|
|
2097
|
+
this.report(m[i(395)], { ...t, data: { ...e, ...n } }), this[i(419)][i(394)] = !0;
|
|
2093
2098
|
}
|
|
2094
|
-
|
|
2095
|
-
const i =
|
|
2096
|
-
this[i(
|
|
2099
|
+
[g(288)](t, e) {
|
|
2100
|
+
const i = g;
|
|
2101
|
+
this[i(419)][i(391)] && !this[i(419)].isSeeking && !this[i(419)][i(357)] && !this[i(419)][i(321)] && (this[i(419)][i(364)] = !0, this[i(384)](this[i(419)][i(391)], { ...t, data: e }), this[i(419)][i(391)] = m[i(326)]);
|
|
2097
2102
|
}
|
|
2098
|
-
[
|
|
2099
|
-
const i =
|
|
2100
|
-
n !== this[i(
|
|
2103
|
+
[g(310)](t, e) {
|
|
2104
|
+
const i = g, n = e?.[i(317)] || e?.[i(360)]?.[i(317)] || 1;
|
|
2105
|
+
n !== this[i(419)][i(313)] && (this[i(419)].speedChangeCnt++, this[i(419)].lastPlaybackSpeed = n, this[i(384)](m[i(404)], { ...t, data: { ...e, speedChangeCnt: this[i(419)][i(388)], lastPlaybackSpeed: n } }));
|
|
2101
2106
|
}
|
|
2102
|
-
|
|
2103
|
-
const i =
|
|
2104
|
-
e?.[i(
|
|
2107
|
+
[g(413)](t, e) {
|
|
2108
|
+
const i = g;
|
|
2109
|
+
e?.[i(393)] || e?.extra?.isFullscreen ? (this[i(419)][i(356)] = !0, this[i(419)].fullscreenEnterTime = Date[i(334)]()) : this[i(419)].fullscreenEnterTime > 0 && (this[i(419)][i(352)] += Date[i(334)]() - this[i(419)].fullscreenEnterTime, this.state[i(423)] = 0), this[i(384)](m[i(417)], { ...t, data: { ...e, fullscreenYn: this[i(419)].fullscreenYn, fullscreenDuration: this[i(419)][i(352)] } });
|
|
2105
2110
|
}
|
|
2106
|
-
[
|
|
2107
|
-
const t =
|
|
2108
|
-
this[t(
|
|
2111
|
+
[g(343)]() {
|
|
2112
|
+
const t = g;
|
|
2113
|
+
this.state[t(391)] = null, this[t(419)][t(328)] = !1, this[t(419)][t(290)] = 0, this[t(419)][t(321)] = !0, this.state[t(374)] = !1, this[t(419)][t(324)] = 0, this[t(419)][t(426)] = 0, this[t(419)][t(388)] = 0, this.state[t(313)] = 1, this.state[t(356)] = !1, this[t(419)][t(423)] = 0, this.state[t(352)] = 0, this.state[t(390)] = null, this[t(419)].contentDuration = 0;
|
|
2109
2114
|
}
|
|
2110
2115
|
}
|
|
2111
|
-
function
|
|
2112
|
-
return
|
|
2116
|
+
function Yt(a, t) {
|
|
2117
|
+
return a = a - 225, Pe()[a];
|
|
2113
2118
|
}
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
return
|
|
2119
|
+
function Pe() {
|
|
2120
|
+
const a = ["UAParser", "round", "API", "domain", "maInit", "maManager", "userAgent", "getTime", "5AwCcsa", "location", "application/json", "maSync", "pricing", "includes", "downlink", "incomingType", "origin", "name", "ncplayer : ", "HLS 파싱 실패:", "fullscreenchange", "E0003", "volumechange", "naver", "push", "error", "Base64 decoding failed:", "E0002", "pay", "Chrome", "width", "VOD", "vendor", "lang", "errorInfo", "errorCode", "kakaotalk", "filter", "Other", "player_name", "aHR0cHM6Ly9sb2cudnBlLmdvdi1udHJ1c3MuY29tL3N0YXRz", "getElapsedMilliseconds", "hardwareConcurrency", "2NDqBIk", "controlBtn", "config", "getPlaylist", "getValidatedOptions", "2408733nHACuT", "#EXT-X-STREAM-INF", "3962384wHcCuW", "translator", "isInitialized", "getResult", "text", "webkitConnection", "currentTime", "duration", "updateTranslator", "12WyJDxa", "errorState", "stateChange", "playerStartTimeMs", "stringify", "aHR0cHM6Ly9wYXBpLnZwZS5nb3YtbnRydXNzLmNvbS9wbGF5ZXIvY29uZmln", "model", "Naver webview", "json", "startup", "errorMessage", "playbackRate", "dispatchEvent", "playerInfo", "isArray", "vpe", "hasFirstPlayReported", "VPE", "auto", "port", "playerVersion", "cid", "floor", "Safari", "getErrorState", "1564bCZdig", "VPE SDK Initialization failed:", "device", "join", "screen", "play", "data", "7321938pVbJfe", "appId", "slice", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLmdvdi1udHJ1c3MuY29tL3BsYXllci9jb25maWc=", "hlsPaser", "setErrorRun", "toString", "player_start", "sync", "video", "hls", ".m3u8", "30485819cufwxb", "playlist", "E0001", "height", "playerName", "effectiveType", "mp4", "meta", "watermarkConfig", "maUse", "length", "href", "7wRUEho", "initialize", "LIVE", "code", "now", "protocol", "videoHeight", "type", "startsWith", "4851VhMcjS", "createPlayerInfo", "aHR0cHM6Ly9sb2cuYmV0YS12cGUubmF2ZXJuY3AuY29tL3N0YXRz", "kbps", "title", "performKeyCheck", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLm5hdmVybmNwLmNvbS9wbGF5ZXIvY29uZmln", "stage", "url", "isFullscreen", "isPaidTier", "match", "getBrowserInfo", "accessKey", "videoWidth", "aHR0cHM6Ly9sb2cudnBlLm5hdmVybmNwLmNvbS9zdGF0cw==", "Unknown", "dash", "11dPBArU", "m3u8", "status", "deviceMemory", "browser", "playerStateReport", "Auto", "serverConfig", "player_version", "indexOf", "saveData", "language", "connection", "userAgentData", "Kakao webview", "quality", "3116540NDMWFt", "getVideoProtocol", "toLowerCase", "rtt", "924473VJFogv", "version", "platform", "Whale", "options", "reduce", "isDev", "result", "Firefox", "navigator", "Content-Type", "host", "string", "test", "mozConnection", "report", "split", "mpd", "contentId"];
|
|
2121
|
+
return Pe = function() {
|
|
2122
|
+
return a;
|
|
2123
|
+
}, Pe();
|
|
2117
2124
|
}
|
|
2118
|
-
|
|
2119
|
-
|
|
2125
|
+
const y = Yt;
|
|
2126
|
+
(function(a, t) {
|
|
2127
|
+
const e = Yt, i = a();
|
|
2120
2128
|
for (; ; )
|
|
2121
2129
|
try {
|
|
2122
|
-
if (parseInt(e(
|
|
2130
|
+
if (-parseInt(e(243)) / 1 * (parseInt(e(305)) / 2) + -parseInt(e(386)) / 3 * (parseInt(e(346)) / 4) + parseInt(e(270)) / 5 * (parseInt(e(353)) / 6) + parseInt(e(377)) / 7 * (-parseInt(e(312)) / 8) + -parseInt(e(310)) / 9 + -parseInt(e(239)) / 10 * (parseInt(e(404)) / 11) + parseInt(e(321)) / 12 * (parseInt(e(365)) / 13) === t) break;
|
|
2123
2131
|
i.push(i.shift());
|
|
2124
2132
|
} catch {
|
|
2125
2133
|
i.push(i.shift());
|
|
2126
2134
|
}
|
|
2127
|
-
})(Pe,
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
}, Pe();
|
|
2133
|
-
}
|
|
2134
|
-
const M0 = { gov: { prod: { config: "aHR0cHM6Ly9wYXBpLnZwZS5nb3YtbnRydXNzLmNvbS9wbGF5ZXIvY29uZmln", report: "aHR0cHM6Ly9sb2cudnBlLmdvdi1udHJ1c3MuY29tL3N0YXRz" }, beta: { config: "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLmdvdi1udHJ1c3MuY29tL3BsYXllci9jb25maWc=", report: S(271) } }, pub: { prod: { config: S(296), report: S(246) }, beta: { config: S(403), report: S(257) } } };
|
|
2135
|
-
let kt = [];
|
|
2136
|
-
const D0 = (x) => {
|
|
2137
|
-
const t = S;
|
|
2135
|
+
})(Pe, 934077);
|
|
2136
|
+
const D0 = { gov: { prod: { config: y(326), report: y(302) }, beta: { config: y(356), report: "aHR0cHM6Ly9sb2cuYmV0YS12cGUuZ292LW50cnVzcy5jb20vc3RhdHM=" } }, pub: { prod: { config: "aHR0cHM6Ly9wYXBpLnZwZS5uYXZlcm5jcC5jb20vcGxheWVyL2NvbmZpZw==", report: y(401) }, beta: { config: y(392), report: y(388) } } };
|
|
2137
|
+
let _t = [];
|
|
2138
|
+
const R0 = (a) => {
|
|
2139
|
+
const t = y;
|
|
2138
2140
|
try {
|
|
2139
|
-
return atob(
|
|
2141
|
+
return atob(a);
|
|
2140
2142
|
} catch (e) {
|
|
2141
|
-
return console.error(t(
|
|
2143
|
+
return console.error(t(288), e), "";
|
|
2142
2144
|
}
|
|
2143
2145
|
};
|
|
2144
|
-
class
|
|
2145
|
-
|
|
2146
|
-
[
|
|
2147
|
-
|
|
2148
|
-
[
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
[
|
|
2152
|
-
|
|
2146
|
+
class P0 {
|
|
2147
|
+
serverConfig = {};
|
|
2148
|
+
[y(334)] = null;
|
|
2149
|
+
[y(399)];
|
|
2150
|
+
[y(354)];
|
|
2151
|
+
[y(245)];
|
|
2152
|
+
[y(393)];
|
|
2153
|
+
[y(249)];
|
|
2154
|
+
translator = Je();
|
|
2153
2155
|
errorState;
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
[
|
|
2157
|
-
|
|
2158
|
-
|
|
2156
|
+
maManager = null;
|
|
2157
|
+
startTimeAt = null;
|
|
2158
|
+
[y(277)] = null;
|
|
2159
|
+
[y(337)] = !1;
|
|
2160
|
+
playerStartTimeMs = 0;
|
|
2159
2161
|
constructor({ accessKey: t, appId: e, platform: i, stage: n, isDev: r = !1, language: o }) {
|
|
2160
|
-
const p =
|
|
2161
|
-
this[p(
|
|
2162
|
+
const p = y;
|
|
2163
|
+
this[p(399)] = t, this[p(354)] = e || location[p(278)], this[p(245)] = i, this.stage = n, this[p(249)] = r, this[p(320)](o), this[p(322)] = { errorCode: null, errorMessage: null };
|
|
2162
2164
|
}
|
|
2163
|
-
async [
|
|
2164
|
-
const t =
|
|
2165
|
-
if ([this[e[0]], this[e[1]]]
|
|
2165
|
+
async [y(378)]() {
|
|
2166
|
+
const t = y, e = [t(399), t(354), t(289), t(367), t(283)], i = "VPE Player: accessKey 또는 appId가 없어 키 인증을 건너뜁니다.";
|
|
2167
|
+
if ([this[e[0]], this[e[1]]].some((o) => !o)) return console.warn(i), { error: this[t(358)](e[2]) };
|
|
2166
2168
|
const r = (o) => {
|
|
2167
2169
|
const p = t;
|
|
2168
|
-
return this[p(
|
|
2170
|
+
return this[p(230)] = o, this[p(334)] = this[p(387)](o), this.playerInfo;
|
|
2169
2171
|
};
|
|
2170
2172
|
try {
|
|
2171
|
-
const o = await this[t(
|
|
2172
|
-
if (o[t(
|
|
2173
|
+
const o = await this[t(391)]();
|
|
2174
|
+
if (o[t(380)] !== 200) return { error: this[t(358)](e[3]) };
|
|
2173
2175
|
const p = r(o);
|
|
2174
|
-
if (window[t(
|
|
2175
|
-
await
|
|
2176
|
-
const
|
|
2177
|
-
this[t(
|
|
2176
|
+
if (window[t(336)] && (window.vpe[t(369)] = p?.player_name, window[t(336)][t(341)] = p?.[t(231)], window[t(336)][t(301)] = p[t(301)] + "|" + p[t(231)], window.vpe.state = this[t(393)]), p?.maUse === "Y") {
|
|
2177
|
+
await I0(this[t(245)], this[t(393)], p, this.appId, this.accessKey);
|
|
2178
|
+
const h = await y0(this[t(399)]);
|
|
2179
|
+
this[t(267)] = new M0(this[t(245)], this[t(393)], p), this.startTimeAt = Date[t(381)](), h?.[t(250)]?.[t(361)] && await this[t(267)][t(266)]({ video: p[t(362)] || {}, extra: { ...p.extra } });
|
|
2178
2180
|
}
|
|
2179
|
-
return { options: this
|
|
2181
|
+
return { options: this[t(230)][t(250)]?.[t(247)], playerInfo: p };
|
|
2180
2182
|
} catch (o) {
|
|
2181
|
-
return console[t(
|
|
2183
|
+
return console[t(287)](t(347), o), { error: this[t(358)](e[4]) };
|
|
2182
2184
|
}
|
|
2183
2185
|
}
|
|
2184
|
-
async [
|
|
2185
|
-
const t =
|
|
2186
|
+
async [y(391)]() {
|
|
2187
|
+
const t = y, e = ["?preview=true", t(307), t(253), t(272), "access_key", t(265), "POST"], i = this[t(249)] ? e[0] : "", n = R0(D0[this[t(245)]][this.stage][e[1]]) + i, r = this[t(354)], o = JSON[t(325)]([e[4], e[5]][t(248)]((h, v, I) => {
|
|
2186
2188
|
const A = t;
|
|
2187
|
-
return
|
|
2189
|
+
return h[v] = [this[A(399)], r][I], h;
|
|
2188
2190
|
}, {})), p = await fetch(n, { method: e[6], headers: { [e[2]]: e[3] }, body: o });
|
|
2189
|
-
if (!p.ok) throw new Error([
|
|
2190
|
-
return p[t(
|
|
2191
|
+
if (!p.ok) throw new Error([t(264), "Error:", p[t(225)], p.statusText][t(349)](" "));
|
|
2192
|
+
return p[t(329)]();
|
|
2191
2193
|
}
|
|
2192
|
-
[
|
|
2193
|
-
const t =
|
|
2194
|
-
return /Edg\/(\d+\.\d+)/[t(
|
|
2194
|
+
[y(398)]() {
|
|
2195
|
+
const t = y, e = navigator[t(268)];
|
|
2196
|
+
return /Edg\/(\d+\.\d+)/[t(256)](e) ? { origin: "Edge", version: RegExp.$1 } : /Chrome\/(\d+\.\d+)/[t(256)](e) && !e[t(275)]("Edg") ? { origin: t(291), version: RegExp.$1 } : /Firefox\/(\d+\.\d+)/[t(256)](e) ? { origin: t(251), version: RegExp.$1 } : /Version\/(\d+\.\d+)/.test(e) && e.includes(t(344)) ? { origin: "Safari", version: RegExp.$1 } : { origin: t(402), version: t(402) };
|
|
2195
2197
|
}
|
|
2196
|
-
|
|
2197
|
-
const e =
|
|
2198
|
-
return window[e(
|
|
2198
|
+
[y(387)](t) {
|
|
2199
|
+
const e = y, [i, n] = t[e(250)][e(279)].split("|"), r = navigator[e(235)] || navigator[e(257)] || navigator[e(317)], o = this.getBrowserInfo(), p = navigator[e(236)], h = new V(window[e(252)][e(268)])[e(315)]();
|
|
2200
|
+
return window[e(252)][e(268)][e(241)]()[e(275)]("whale") ? h[e(227)][e(279)] = e(246) : window[e(252)][e(268)][e(241)]()[e(275)](e(298)) ? h.browser[e(279)] = e(237) : window.navigator[e(268)][e(241)]()[e(275)](e(285)) ? h[e(227)].name = e(328) : window[e(252)][e(268)][e(241)]().includes("kakao") ? h[e(227)][e(279)] = e(237) : window[e(252)][e(268)][e(241)]()[e(275)](e(285)) && (h[e(227)][e(279)] = e(328)), { cid: t.result[e(342)], player_name: i, player_version: n, pricing: t[e(250)][e(274)], maUse: t[e(250)][e(247)]?.maUse === "Y" ? "Y" : "N", browser: { lang: navigator[e(234)], ua: navigator[e(268)] }, screen: { width: window.screen[e(292)], height: window.screen[e(368)] }, connection: { network: r?.[e(370)] ?? "unknown", downlink: r?.[e(276)] ?? null, rtt: r?.[e(242)] ?? null, save_data: r?.[e(233)] ?? !1 }, device: { platform: p?.[e(245)] ?? e(402), mobile: p?.mobile ?? !1, memory: navigator[e(226)] ?? null, processor: navigator[e(304)] ?? null }, video: { url: "" }, extra: { vpeKey: this[e(399)], playerType: e(338), playerVersion: window[e(336)]?.[e(341)] ?? n, os: p?.[e(245)] ?? e(402), osOrigin: h.os[e(279)] || e(402), osVersion: h.os.version, vpePackageId: null, actionDuration: this[e(303)](), actionType: "ready", browser: o[e(278)], browserOrigin: o[e(278)], browserVersion: o[e(244)], quality: e(300), qualityOrigin: e(229), device: h[e(348)][e(294)] + " " + h[e(348)].model, location: window.location[e(376)], host: window[e(271)][e(254)], port: window[e(271)].port, protocol: window[e(271)][e(382)], title: "" } };
|
|
2199
2201
|
}
|
|
2200
|
-
|
|
2201
|
-
const e =
|
|
2202
|
-
return this[e(
|
|
2202
|
+
setErrorRun(t) {
|
|
2203
|
+
const e = y, i = t[e(355)](-2), n = this[e(313)][e(287)][i] || this.translator[e(287)]["01"], r = { errorCode: t, errorMessage: n };
|
|
2204
|
+
return this[e(322)] = r, console[e(287)](e(280), r), r;
|
|
2203
2205
|
}
|
|
2204
|
-
[
|
|
2205
|
-
const e =
|
|
2206
|
-
this[e(
|
|
2206
|
+
[y(320)](t) {
|
|
2207
|
+
const e = y;
|
|
2208
|
+
this[e(313)] = Je(t);
|
|
2207
2209
|
}
|
|
2208
|
-
[
|
|
2209
|
-
return this
|
|
2210
|
+
[y(345)]() {
|
|
2211
|
+
return this.errorState;
|
|
2210
2212
|
}
|
|
2211
|
-
[
|
|
2212
|
-
const t =
|
|
2213
|
-
return this[t(
|
|
2213
|
+
[y(396)]() {
|
|
2214
|
+
const t = y;
|
|
2215
|
+
return this[t(230)][t(250)]?.pricing === t(290);
|
|
2214
2216
|
}
|
|
2215
|
-
[
|
|
2216
|
-
const t =
|
|
2217
|
-
return !!this[t(
|
|
2217
|
+
[y(314)]() {
|
|
2218
|
+
const t = y;
|
|
2219
|
+
return !!this[t(230)][t(250)];
|
|
2218
2220
|
}
|
|
2219
|
-
[
|
|
2220
|
-
const e =
|
|
2221
|
-
this[e(
|
|
2221
|
+
[y(309)](t) {
|
|
2222
|
+
const e = y, i = E0(this[e(230)][e(250)]?.options, this[e(230)][e(250)]?.[e(274)]);
|
|
2223
|
+
this[e(230)].result?.[e(274)] !== e(290) && (t = { ...t, ...i });
|
|
2222
2224
|
const n = { ...i, ...t ?? {} };
|
|
2223
|
-
return n?.[e(
|
|
2225
|
+
return n?.[e(295)] && (n?.[e(295)] == "auto" || this[e(320)](n[e(295)])), t?.[e(306)] && (n[e(306)] = { ...i.controlBtn, ...t.controlBtn }), t?.[e(373)] && (n[e(373)] = { ...i[e(373)], ...t.watermarkConfig }), n[e(366)] && !Array[e(335)](n[e(366)]) && (n.playlist = [{ file: n[e(366)] }]), _t = n[e(366)] || [], n;
|
|
2224
2226
|
}
|
|
2225
|
-
[
|
|
2226
|
-
return
|
|
2227
|
+
[y(308)]() {
|
|
2228
|
+
return _t || [];
|
|
2227
2229
|
}
|
|
2228
2230
|
$t(t) {
|
|
2229
|
-
const e =
|
|
2230
|
-
let n = this
|
|
2231
|
+
const e = y, i = t[e(259)](".");
|
|
2232
|
+
let n = this.translator;
|
|
2231
2233
|
for (const r of i)
|
|
2232
|
-
if (n && typeof n
|
|
2234
|
+
if (n && typeof n == "object" && r in n) n = n[r];
|
|
2233
2235
|
else return t;
|
|
2234
|
-
return typeof n === e(
|
|
2236
|
+
return typeof n === e(255) ? n : t;
|
|
2235
2237
|
}
|
|
2236
|
-
async
|
|
2237
|
-
const e =
|
|
2238
|
-
if (!t || t[e(
|
|
2239
|
-
const n = (p,
|
|
2238
|
+
async [y(357)](t) {
|
|
2239
|
+
const e = y, i = [];
|
|
2240
|
+
if (!t || t[e(232)](e(364)) === -1) return i;
|
|
2241
|
+
const n = (p, h) => {
|
|
2242
|
+
const v = e;
|
|
2240
2243
|
try {
|
|
2241
|
-
return new URL(
|
|
2244
|
+
return new URL(h, p)[v(359)]();
|
|
2242
2245
|
} catch {
|
|
2243
|
-
return
|
|
2246
|
+
return h;
|
|
2244
2247
|
}
|
|
2245
2248
|
}, r = (p) => {
|
|
2246
|
-
const
|
|
2247
|
-
if (
|
|
2248
|
-
const I = p
|
|
2249
|
-
return I ? Math
|
|
2249
|
+
const h = e, v = p[h(397)](/RESOLUTION=(\d+)x(\d+)/);
|
|
2250
|
+
if (v) return v[2] + "p";
|
|
2251
|
+
const I = p.match(/BANDWIDTH=(\d+)/);
|
|
2252
|
+
return I ? Math[h(263)](Number(I[1]) / 1e3) + h(389) : "auto";
|
|
2250
2253
|
}, o = (p) => {
|
|
2251
|
-
const
|
|
2252
|
-
for (let I = 0; I <
|
|
2253
|
-
const A =
|
|
2254
|
-
if (A
|
|
2255
|
-
const
|
|
2256
|
-
|
|
2254
|
+
const h = e, v = p.split(/\r?\n/).map((I) => I.trim())[h(299)]((I) => I[h(375)] > 0);
|
|
2255
|
+
for (let I = 0; I < v[h(375)]; I += 1) {
|
|
2256
|
+
const A = v[I];
|
|
2257
|
+
if (A.startsWith(h(311))) {
|
|
2258
|
+
const P = v[I + 1];
|
|
2259
|
+
P && !P[h(385)]("#") && (i[h(286)]({ quality: r(A), url: n(t, P), levelIndex: i[h(375)] }), I += 1);
|
|
2257
2260
|
}
|
|
2258
2261
|
}
|
|
2259
2262
|
};
|
|
2260
2263
|
try {
|
|
2261
2264
|
const p = await fetch(t);
|
|
2262
2265
|
if (!p.ok) return i;
|
|
2263
|
-
const
|
|
2264
|
-
return
|
|
2266
|
+
const h = await p[e(316)]();
|
|
2267
|
+
return h && o(h), i;
|
|
2265
2268
|
} catch (p) {
|
|
2266
|
-
return console[e(
|
|
2269
|
+
return console[e(287)](e(281), p), i;
|
|
2267
2270
|
}
|
|
2268
2271
|
}
|
|
2269
|
-
async
|
|
2270
|
-
const e =
|
|
2271
|
-
if (!t?.[e(
|
|
2272
|
-
const i = new
|
|
2273
|
-
if (t
|
|
2274
|
-
if (t
|
|
2275
|
-
await this
|
|
2272
|
+
async [y(228)](t) {
|
|
2273
|
+
const e = y;
|
|
2274
|
+
if (!t?.[e(384)] || !this[e(267)] || this[e(334)]?.[e(374)] !== "Y") return;
|
|
2275
|
+
const i = new d0[e(262)](window.navigator[e(268)])[e(315)]();
|
|
2276
|
+
if (t.type == e(284) || t[e(384)] == e(323)) return;
|
|
2277
|
+
if (t.type == "ratechange") {
|
|
2278
|
+
await this[e(258)]("ratechange", { extra: { playbackRate: t?.[e(352)]?.[e(332)] || t?.[e(362)]?.[e(352)]?.[e(332)] || 1 } }, t[e(384)]);
|
|
2276
2279
|
return;
|
|
2277
2280
|
}
|
|
2278
|
-
if (t
|
|
2279
|
-
await this[e(
|
|
2281
|
+
if (t.type == "fullscreenchange") {
|
|
2282
|
+
await this[e(258)](e(282), { extra: { isFullscreen: t?.[e(352)]?.[e(395)] || !1 } }, t[e(384)]);
|
|
2280
2283
|
return;
|
|
2281
2284
|
}
|
|
2282
|
-
const n = t[e(
|
|
2283
|
-
t[e(
|
|
2284
|
-
const r = t?.[e(
|
|
2285
|
-
this[e(
|
|
2286
|
-
const p = this
|
|
2287
|
-
p && (this[e(
|
|
2288
|
-
const
|
|
2289
|
-
let
|
|
2290
|
-
if (
|
|
2291
|
-
const
|
|
2292
|
-
|
|
2285
|
+
const n = t[e(384)];
|
|
2286
|
+
t[e(384)] == "ready" && (t[e(384)] = e(360));
|
|
2287
|
+
const r = t?.[e(362)]?.type == "live", o = navigator[e(235)] || navigator.mozConnection || navigator[e(317)] || null;
|
|
2288
|
+
this[e(277)] = t?.[e(384)] || null;
|
|
2289
|
+
const p = this.incomingType === e(351) && !this[e(337)], h = p ? e(330) : this[e(277)];
|
|
2290
|
+
p && (this[e(337)] = !0);
|
|
2291
|
+
const v = t?.[e(362)]?.data?.[e(319)] || 0, I = t?.[e(362)]?.[e(352)]?.[e(318)] || 0, A = t?.video?.[e(400)] || 0, P = t?.[e(362)]?.[e(383)] || 0;
|
|
2292
|
+
let X = 0, F = 0, q = 0;
|
|
2293
|
+
if (h == e(360) && (X = this[e(303)](), this[e(324)] = X), h == e(330)) {
|
|
2294
|
+
const nt = this[e(303)]();
|
|
2295
|
+
F = nt - this.playerStartTimeMs, q = nt;
|
|
2293
2296
|
}
|
|
2294
|
-
const
|
|
2295
|
-
await this[e(
|
|
2297
|
+
const zt = { type: h, video: { type: r ? "LIVE" : e(293), quality: t?.video?.[e(238)] ? t?.[e(362)]?.[e(238)] : e(339), url: t?.[e(362)]?.[e(394)] }, connection: o ? { network: o.effectiveType, downlink: o.downlink, rtt: o[e(242)], save_data: o[e(233)] } : void 0, extra: { actionType: h, video_type: r ? e(379) : "VOD", title: t?.meta?.[e(390)], contentId: t?.[e(362)]?.[e(261)] || t?.[e(372)]?.[e(261)] || null, metaData: t?.[e(372)], videoWidth: Math[e(263)](A), videoHeight: Math[e(263)](P), video_protocols: this[e(240)](t?.[e(362)]?.[e(394)]), duration: Math[e(343)](v), currentTime: Math[e(343)](I), playedTime: this.getElapsedMilliseconds(), viewingTime: Math[e(263)](this[e(303)]() / 1e3), playerStartTime: X, videoStartTime: F, totalStartTime: q, percent: Math[e(263)](I / v * 100), quality: t?.[e(362)]?.quality ? t?.[e(362)]?.[e(238)] : e(339), errorCode: t?.[e(296)]?.[e(297)], errorMessage: t?.[e(296)]?.[e(331)], actionDuration: this[e(303)]() / 1e3, device: i[e(348)][e(294)] + " " + i.device[e(327)], location: window[e(271)][e(376)], host: window[e(271)].host, port: window[e(271)][e(340)], protocol: window[e(271)][e(382)] }, browser: { lang: navigator.language, ua: navigator[e(268)] }, screen: { width: window[e(350)][e(292)], height: window.screen.height } };
|
|
2298
|
+
await this[e(258)](h, zt, n);
|
|
2296
2299
|
}
|
|
2297
|
-
async [
|
|
2298
|
-
const n =
|
|
2299
|
-
if (!this[n(
|
|
2300
|
-
const r = e && typeof e
|
|
2301
|
-
await this[n(
|
|
2300
|
+
async [y(258)](t, e, i) {
|
|
2301
|
+
const n = y;
|
|
2302
|
+
if (!this[n(267)]) return;
|
|
2303
|
+
const r = e && typeof e == "object" ? e : { extra: { actionDuration: this[n(303)]() } };
|
|
2304
|
+
await this[n(267)][n(273)](r), await this[n(267)][n(333)]({ type: t, data: r });
|
|
2302
2305
|
}
|
|
2303
|
-
|
|
2304
|
-
const e =
|
|
2305
|
-
return t.indexOf(e(
|
|
2306
|
+
[y(240)](t) {
|
|
2307
|
+
const e = y;
|
|
2308
|
+
return t.indexOf(e(405)) > -1 ? e(363) : t[e(232)](e(260)) > -1 ? e(403) : e(371);
|
|
2306
2309
|
}
|
|
2307
|
-
|
|
2308
|
-
const t =
|
|
2309
|
-
return this
|
|
2310
|
+
[y(303)]() {
|
|
2311
|
+
const t = y;
|
|
2312
|
+
return this.startTimeAt ? (/* @__PURE__ */ new Date())[t(269)]() - this.startTimeAt : 0;
|
|
2310
2313
|
}
|
|
2311
2314
|
}
|
|
2312
|
-
function
|
|
2313
|
-
|
|
2314
|
-
var e = Ne(), i = e[x];
|
|
2315
|
-
return i;
|
|
2316
|
-
}
|
|
2317
|
-
function Ne() {
|
|
2318
|
-
var x = ["63948dVzAxY", "3qZwwBl", "471961EIdDWs", "1810KNVOOo", "22hwtOzx", "64AyYsYS", "23922GfbUWQ", "961882GFjAGc", "7040ffHkim", "160973trPBWW", "678HYusfG", "952984CpxgjY"];
|
|
2319
|
-
return Ne = function() {
|
|
2320
|
-
return x;
|
|
2321
|
-
}, Ne();
|
|
2322
|
-
}
|
|
2323
|
-
(function(x, t) {
|
|
2324
|
-
for (var e = R0, i = x(); ; )
|
|
2315
|
+
(function(a, t) {
|
|
2316
|
+
for (var e = O0, i = a(); ; )
|
|
2325
2317
|
try {
|
|
2326
|
-
var n =
|
|
2318
|
+
var n = parseInt(e(106)) / 1 + parseInt(e(108)) / 2 * (parseInt(e(112)) / 3) + parseInt(e(110)) / 4 * (parseInt(e(113)) / 5) + parseInt(e(109)) / 6 + -parseInt(e(107)) / 7 + -parseInt(e(111)) / 8 + -parseInt(e(105)) / 9;
|
|
2327
2319
|
if (n === t) break;
|
|
2328
2320
|
i.push(i.shift());
|
|
2329
2321
|
} catch {
|
|
2330
2322
|
i.push(i.shift());
|
|
2331
2323
|
}
|
|
2332
|
-
})(Ne,
|
|
2324
|
+
})(Ne, 149489);
|
|
2325
|
+
function Ne() {
|
|
2326
|
+
var a = ["4mFgUUj", "605864VeYpJH", "3byvMlq", "766695TUjriJ", "4302171BegsqU", "249831UnUZJz", "1252062UtNzWA", "445226XztHVP", "1537944quCrbt"];
|
|
2327
|
+
return Ne = function() {
|
|
2328
|
+
return a;
|
|
2329
|
+
}, Ne();
|
|
2330
|
+
}
|
|
2331
|
+
function O0(a, t) {
|
|
2332
|
+
a = a - 105;
|
|
2333
|
+
var e = Ne(), i = e[a];
|
|
2334
|
+
return i;
|
|
2335
|
+
}
|
|
2333
2336
|
export {
|
|
2334
|
-
|
|
2337
|
+
P0 as default,
|
|
2335
2338
|
Je as getTranslator
|
|
2336
2339
|
};
|