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