@sgrsoft/vpe-core-sdk 0.10.0 → 0.10.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.
@@ -1,908 +1,379 @@
1
- const h = {
2
- common: {
3
- cancel: "Cancel",
4
- auto: "Auto",
5
- normal: "Normal",
6
- notUse: "Not used",
7
- prev: "Previous video",
8
- next: "Next video",
9
- delayText: "seconds until auto-play",
10
- license: "License",
11
- play: "Play",
12
- pause: "Pause",
13
- replay: "Replay",
14
- fullOn: "Fullscreen",
15
- fullOff: "Exit fullscreen",
16
- muteOn: "Mute",
17
- muteOff: "Unmute",
18
- captionOff: "Turn off captions",
19
- captionOn: "Turn on captions",
20
- setting: "Settings",
21
- live: "LIVE",
22
- miniPlayer: "Mini player",
23
- isMute: "You are muted.",
24
- subtitle: "Subtitles",
25
- subtitleNot: "Subtitles not available"
26
- },
27
- settings: {
28
- autoplay: "Autoplay",
29
- playbackRate: "Playback speed",
30
- captions: "Subtitles",
31
- quality: "Quality"
32
- },
33
- error: {
34
- "01": { title: "Cannot play video", desc: "Invalid access. Please check your access_key." },
35
- "02": { title: "Cannot play video", desc: "You do not have permission to play this video." },
36
- "03": { title: "Authentication Failed", desc: "The network connection is unstable." },
37
- "04": { title: "Cannot play video", desc: "The video could not be played." },
38
- "05": { title: "Cannot play video", desc: "The license is not valid." },
39
- "06": {
40
- title: "Cannot play video",
41
- desc: "Monthly basic API calls exceeded. Please switch to a paid version."
42
- },
43
- "07": { title: "Cannot play video", desc: "Unsupported format." },
44
- "08": { title: "Cannot play video", desc: "Invalid URL format." },
45
- "09": { title: "Cannot play video", desc: "The live stream is OFFLINE." },
46
- 10: { title: "Cannot play video", desc: "Cannot play DASH video on iOS." },
47
- 11: { title: "Cannot play video", desc: "Invalid DRM token." },
48
- 12: { title: "Cannot play video", desc: "Failed to communicate with the DRM license server." },
49
- 13: { title: "Cannot play video", desc: "FairPlay certificate validation failed." },
50
- 14: {
51
- title: "Cannot play video",
52
- desc: "Screen capture / screen recording has been detected."
53
- },
54
- 15: {
55
- title: "Player Execution Failed",
56
- desc: "Required module was not loaded. (hls.js)"
57
- },
58
- 16: {
59
- title: "Player Execution Failed",
60
- desc: "Required module was not loaded. (dash.js)"
1
+ var i = B;
2
+ (function(t, a) {
3
+ for (var x = B, n = t(); ; )
4
+ try {
5
+ var r = parseInt(x(227)) / 1 * (-parseInt(x(240)) / 2) + -parseInt(x(255)) / 3 * (-parseInt(x(214)) / 4) + -parseInt(x(251)) / 5 * (parseInt(x(236)) / 6) + parseInt(x(239)) / 7 + parseInt(x(256)) / 8 + parseInt(x(220)) / 9 + -parseInt(x(229)) / 10;
6
+ if (r === a) break;
7
+ n.push(n.shift());
8
+ } catch {
9
+ n.push(n.shift());
61
10
  }
62
- },
63
- alternative: {
64
- hour: "hour(s)",
65
- minute: "minute(s)",
66
- second: "second(s)",
67
- after: "In a moment",
68
- afterMin: "min",
69
- afterHour: "hour",
70
- afterDay: "day",
71
- startPlay: "Video will start in {timeTxt}.",
72
- nextPlay: "Next video will play in {timeTxt} seconds.",
73
- afterPlay: "Scheduled"
74
- }
75
- }, v = {
76
- common: {
77
- cancel: "취소",
78
- auto: "자동",
79
- normal: "보통",
80
- notUse: "사용안함",
81
- prev: "이전 동영상",
82
- next: "다음 동영상",
83
- delayText: "초 뒤 자동재생",
84
- license: "라이선스",
85
- play: "재생",
86
- pause: "일시정지",
87
- replay: "다시보기",
88
- fullOn: "전체화면",
89
- fullOff: "전체화면 해제",
90
- muteOn: "음소거",
91
- muteOff: "음소거 해제",
92
- captionOff: "자막끄기",
93
- captionOn: "자막켜기",
94
- setting: "설정",
95
- live: "실시간",
96
- miniPlayer: "미니플레이어",
97
- isMute: "음소거 상태입니다.",
98
- subtitle: "자막",
99
- subtitleNot: "자막 사용 불가"
100
- },
101
- settings: {
102
- autoplay: "자동재생",
103
- playbackRate: "재생 속도",
104
- captions: "자막",
105
- quality: "해상도"
106
- },
107
- error: {
108
- "01": {
109
- title: "동영상을 재생할 수 없음",
110
- desc: "잘못된 접근입니다. access_key를 확인해주세요."
111
- },
112
- "02": {
113
- title: "동영상을 재생할 수 없음",
114
- desc: "동영상을 재생할 권한이 없습니다."
115
- },
116
- "03": {
117
- title: "인증 실패",
118
- desc: "네트워크 연결이 원활하지 않습니다."
119
- },
120
- "04": {
121
- title: "동영상을 재생할 수 없음",
122
- desc: "동영상을 재생할 수 없습니다."
123
- },
124
- "05": {
125
- title: "동영상을 재생할 수 없음",
126
- desc: "라이선스가 유효하지 않습니다."
127
- },
128
- "06": {
129
- title: "동영상을 재생할 수 없음",
130
- desc: "월 기본 제공 호출 건수를 초과하였습니다. 유료 버전으로 전환 후 사용 부탁 드립니다."
131
- },
132
- "07": {
133
- title: "동영상을 재생할 수 없음",
134
- desc: "지원하지 않는 형식입니다."
135
- },
136
- "08": {
137
- title: "동영상을 재생할 수 없음",
138
- desc: "URL 형식이 잘못되었습니다."
139
- },
140
- "09": {
141
- title: "동영상을 재생할 수 없음",
142
- desc: "라이브스트림이 OFFLINE 입니다."
143
- },
144
- 10: {
145
- title: "동영상을 재생할 수 없음",
146
- desc: "iOS에서 Dash 비디오를 재생할 수 없습니다."
147
- },
148
- 11: {
149
- title: "동영상을 재생할 수 없음",
150
- desc: "DRM 토큰이 잘못되었습니다."
151
- },
152
- 12: {
153
- title: "동영상을 재생할 수 없음",
154
- desc: "DRM 라이선스 서버와 통신에 실패하였습니다."
155
- },
156
- 13: {
157
- title: "동영상을 재생할 수 없음",
158
- desc: "FairPlay 인증서 검증에 실패하였습니다."
159
- },
160
- 14: {
161
- title: "동영상을 재생할 수 없음",
162
- desc: "화면 캡쳐 / 화면 녹화가 감지되었습니다."
163
- },
164
- 15: {
165
- title: "플레이어 실행 실패",
166
- desc: "필수 모듈이 로드되지 않았습니다. (hls.js)"
167
- },
168
- 16: {
169
- title: "플레이어 실행 실패",
170
- desc: "필수 모듈이 로드되지 않았습니다. (dash.js)"
11
+ })(m, 337784);
12
+ function m() {
13
+ var t = ["15aDcMxE", "Exit fullscreen", "Invalid DRM token.", "Cannot play DASH video on iOS.", "821739UyxaRt", "1756504lyzcFa", "LIVE", "License", "second(s)", "minute(s)", "min", "Cannot play video", "The live stream is OFFLINE.", "In a moment", "hour", "Previous video", "Failed to communicate with the DRM license server.", "8tRWWPX", "The network connection is unstable.", "Subtitles", "Invalid access. Please check your access_key.", "Required module was not loaded. (dash.js)", "Mini player", "4269096qgwaiq", "Subtitles not available", "Playback speed", "Invalid URL format.", "Monthly basic API calls exceeded. Please switch to a paid version.", "Required module was not loaded. (hls.js)", "You are muted.", "17786FTiwvv", "Player Execution Failed", "8270810boFhYR", "Turn on captions", "seconds until auto-play", "Scheduled", "Unsupported format.", "Cancel", "Play", "148788TIEGCY", "Screen capture / screen recording has been detected.", "day", "3966746SXRhEN", "64YWRCBr", "Autoplay", "Next video", "Unmute", "Next video will play in {timeTxt} seconds.", "Mute", "Pause", "Auto", "You do not have permission to play this video.", "FairPlay certificate validation failed.", "The video could not be played."];
14
+ return m = function() {
15
+ return t;
16
+ }, m();
17
+ }
18
+ function B(t, a) {
19
+ t = t - 204;
20
+ var x = m(), n = x[t];
21
+ return n;
22
+ }
23
+ const K = { common: { cancel: i(234), auto: i(247), normal: "Normal", notUse: "Not used", prev: i(212), next: i(242), delayText: i(231), license: i(204), play: i(235), pause: i(246), replay: "Replay", fullOn: "Fullscreen", fullOff: i(252), muteOn: i(245), muteOff: i(243), captionOff: "Turn off captions", captionOn: i(230), setting: "Settings", live: i(257), miniPlayer: i(219), isMute: i(226), subtitle: i(216), subtitleNot: i(221) }, settings: { autoplay: i(241), playbackRate: i(222), captions: i(216), quality: "Quality" }, error: { "01": { title: i(208), desc: i(217) }, "02": { title: "Cannot play video", desc: i(248) }, "03": { title: "Authentication Failed", desc: i(215) }, "04": { title: i(208), desc: i(250) }, "05": { title: i(208), desc: "The license is not valid." }, "06": { title: i(208), desc: i(224) }, "07": { title: i(208), desc: i(233) }, "08": { title: i(208), desc: i(223) }, "09": { title: "Cannot play video", desc: i(209) }, 10: { title: i(208), desc: i(254) }, 11: { title: i(208), desc: i(253) }, 12: { title: i(208), desc: i(213) }, 13: { title: i(208), desc: i(249) }, 14: { title: i(208), desc: i(237) }, 15: { title: i(228), desc: i(225) }, 16: { title: i(228), desc: i(218) } }, alternative: { hour: "hour(s)", minute: i(206), second: i(205), after: i(210), afterMin: i(207), afterHour: i(211), afterDay: i(238), startPlay: "Video will start in {timeTxt}.", nextPlay: i(244), afterPlay: i(232) } };
24
+ function E(t, a) {
25
+ t = t - 460;
26
+ var x = v(), n = x[t];
27
+ return n;
28
+ }
29
+ function v() {
30
+ var t = ["URL 형식이 잘못되었습니다.", "2229423JsQgMh", "인증 실패", "사용안함", "일시정지", "{timeTxt}초 후 다음 영상이 재생됩니다.", "976932mGkZvL", "필수 모듈이 로드되지 않았습니다. (hls.js)", "다시보기", "초 뒤 자동재생", "{timeTxt} 후 영상이 시작됩니다.", "화면 캡쳐 / 화면 녹화가 감지되었습니다.", "지원하지 않는 형식입니다.", "595040LpHaKQ", "동영상을 재생할 수 없습니다.", "잠시 ", "라이브스트림이 OFFLINE 입니다.", "112756qjzrec", "2672295yySJGo", "라이선스", "플레이어 실행 실패", "자막 사용 불가", "음소거 상태입니다.", "자막켜기", "전체화면 해제", "FairPlay 인증서 검증에 실패하였습니다.", "재생 속도", "333562QpRusp", "잘못된 접근입니다. access_key를 확인해주세요.", "동영상을 재생할 수 없음", "iOS에서 Dash 비디오를 재생할 수 없습니다.", "3595386IadNQO", "다음 동영상", "해상도", "DRM 라이선스 서버와 통신에 실패하였습니다.", "월 기본 제공 호출 건수를 초과하였습니다. 유료 버전으로 전환 후 사용 부탁 드립니다.", "라이선스가 유효하지 않습니다.", "네트워크 연결이 원활하지 않습니다.", "자동재생", "DRM 토큰이 잘못되었습니다."];
31
+ return v = function() {
32
+ return t;
33
+ }, v();
34
+ }
35
+ var l = E;
36
+ (function(t, a) {
37
+ for (var x = E, n = t(); ; )
38
+ try {
39
+ var r = -parseInt(x(493)) / 1 + -parseInt(x(463)) / 2 + -parseInt(x(482)) / 3 + parseInt(x(489)) / 4 + parseInt(x(494)) / 5 + parseInt(x(467)) / 6 + -parseInt(x(477)) / 7;
40
+ if (r === a) break;
41
+ n.push(n.shift());
42
+ } catch {
43
+ n.push(n.shift());
171
44
  }
172
- },
173
- alternative: {
174
- hour: "시",
175
- minute: "분",
176
- second: "초",
177
- after: "잠시 ",
178
- afterMin: "분 ",
179
- afterHour: "시간 ",
180
- afterDay: "일 ",
181
- startPlay: "{timeTxt} 영상이 시작됩니다.",
182
- nextPlay: "{timeTxt}초 후 다음 영상이 재생됩니다.",
183
- afterPlay: "예정"
184
- }
185
- }, S = {
186
- common: {
187
- cancel: "キャンセル",
188
- auto: "自動",
189
- normal: "標準",
190
- notUse: "使用しない",
191
- prev: "前の動画",
192
- next: "次の動画",
193
- delayText: "秒後に自動再生",
194
- license: "ライセンス",
195
- play: "再生",
196
- pause: "一時停止",
197
- replay: "リプレイ",
198
- fullOn: "全画面表示",
199
- fullOff: "全画面表示を終了",
200
- muteOn: "ミュート",
201
- muteOff: "ミュート解除",
202
- captionOff: "字幕をオフにする",
203
- captionOn: "字幕をオンにする",
204
- setting: "設定",
205
- live: "ライブ",
206
- miniPlayer: "ミニプレーヤー",
207
- isMute: "ミュート状態です。",
208
- subtitle: "字幕",
209
- subtitleNot: "字幕は利用できません"
210
- },
211
- settings: {
212
- autoplay: "自動再生",
213
- playbackRate: "再生速度",
214
- captions: "字幕",
215
- quality: "画質"
216
- },
217
- error: {
218
- "01": { title: "動画を再生できません", desc: "不正なアクセスです。access_keyを確認してください。" },
219
- "02": { title: "動画を再生できません", desc: "この動画を再生する権限がありません。" },
220
- "03": { title: "認証に失敗しました", desc: "ネットワーク接続が不安定です。" },
221
- "04": { title: "動画を再生できません", desc: "動画を再生できませんでした。" },
222
- "05": { title: "動画を再生できません", desc: "ライセンスが無効です。" },
223
- "06": { title: "動画を再生できません", desc: "月間の基本提供呼び出し回数を超過しました。有料版に切り替えてご利用ください。" },
224
- "07": { title: "動画を再生できません", desc: "サポートされていない形式です。" },
225
- "08": { title: "動画を再生できません", desc: "URLの形式が正しくありません。" },
226
- "09": { title: "動画を再生できません", desc: "ライブストリームはオフラインです。" },
227
- 10: { title: "動画を再生できません", desc: "iOSではDASHビデオを再生できません。" },
228
- 11: { title: "動画を再生できません", desc: "DRMトークンが無効です。" },
229
- 12: { title: "動画を再生できません", desc: "DRMライセンスサーバーとの通信に失敗しました。" },
230
- 13: { title: "動画を再生できません", desc: "FairPlay証明書の検証に失敗しました。" },
231
- 14: {
232
- title: "動画を再生できません",
233
- desc: "画面キャプチャ/画面録画が検出されました。"
234
- },
235
- 15: {
236
- title: "プレーヤーの起動に失敗しました",
237
- desc: "必須モジュールが読み込まれていません。(hls.js)"
238
- },
239
- 16: {
240
- title: "プレーヤーの起動に失敗しました",
241
- desc: "必須モジュールが読み込まれていません。(dash.js)"
45
+ })(v, 358780);
46
+ const Y = { common: { cancel: "취소", auto: "자동", normal: "보통", notUse: l(479), prev: "이전 동영상", next: l(468), delayText: l(485), license: l(495), play: "재생", pause: l(480), replay: l(484), fullOn: "전체화면", fullOff: l(460), muteOn: "음소거", muteOff: "음소거 해제", captionOff: "자막끄기", captionOn: l(499), setting: "설정", live: "실시간", miniPlayer: "미니플레이어", isMute: l(498), subtitle: "자막", subtitleNot: l(497) }, settings: { autoplay: l(474), playbackRate: l(462), captions: "자막", quality: l(469) }, error: { "01": { title: l(465), desc: l(464) }, "02": { title: l(465), desc: "동영상을 재생할 권한이 없습니다." }, "03": { title: l(478), desc: l(473) }, "04": { title: l(465), desc: l(490) }, "05": { title: l(465), desc: l(472) }, "06": { title: l(465), desc: l(471) }, "07": { title: l(465), desc: l(488) }, "08": { title: l(465), desc: l(476) }, "09": { title: "동영상을 재생할 수 없음", desc: l(492) }, 10: { title: l(465), desc: l(466) }, 11: { title: "동영상을 재생할 수 없음", desc: l(475) }, 12: { title: l(465), desc: l(470) }, 13: { title: "동영상을 재생할 수 없음", desc: l(461) }, 14: { title: l(465), desc: l(487) }, 15: { title: "플레이어 실행 실패", desc: l(483) }, 16: { title: l(496), desc: "필수 모듈이 로드되지 않았습니다. (dash.js)" } }, alternative: { hour: "시", minute: "분", second: "초", after: l(491), afterMin: "분 ", afterHour: "시간 ", afterDay: "일 ", startPlay: l(486), nextPlay: l(481), afterPlay: "예정" } };
47
+ var c = N;
48
+ (function(t, a) {
49
+ for (var x = N, n = t(); ; )
50
+ try {
51
+ var r = -parseInt(x(171)) / 1 * (-parseInt(x(189)) / 2) + -parseInt(x(177)) / 3 * (-parseInt(x(192)) / 4) + -parseInt(x(193)) / 5 * (parseInt(x(184)) / 6) + -parseInt(x(200)) / 7 + parseInt(x(201)) / 8 + parseInt(x(190)) / 9 * (-parseInt(x(185)) / 10) + parseInt(x(173)) / 11;
52
+ if (r === a) break;
53
+ n.push(n.shift());
54
+ } catch {
55
+ n.push(n.shift());
242
56
  }
243
- },
244
- alternative: {
245
- hour: "時間",
246
- minute: "分",
247
- second: "秒",
248
- after: "しばらくして",
249
- afterMin: "分後",
250
- afterHour: "時間後",
251
- afterDay: "日後",
252
- startPlay: "{timeTxt}後に動画が始まります。",
253
- nextPlay: "{timeTxt}秒後に次の動画が再生されます。",
254
- afterPlay: "予定"
255
- }
256
- }, y = {
257
- en: h,
258
- ko: v,
259
- ja: S
260
- }, b = () => typeof navigator < "u" && typeof navigator.language < "u";
261
- function M(t) {
262
- const e = t.split("-")[0];
263
- return e in y ? e : "en";
57
+ })(_, 741546);
58
+ const Z = { common: { cancel: "キャンセル", auto: "自動", normal: "標準", notUse: c(169), prev: "前の動画", next: c(187), delayText: c(196), license: c(186), play: "再生", pause: c(199), replay: c(166), fullOn: c(180), fullOff: c(202), muteOn: c(175), muteOff: c(203), captionOff: c(188), captionOn: c(170), setting: "設定", live: "ライブ", miniPlayer: c(178), isMute: "ミュート状態です。", subtitle: "字幕", subtitleNot: "字幕は利用できません" }, settings: { autoplay: "自動再生", playbackRate: "再生速度", captions: "字幕", quality: "画質" }, error: { "01": { title: c(174), desc: c(164) }, "02": { title: c(174), desc: "この動画を再生する権限がありません。" }, "03": { title: c(182), desc: c(176) }, "04": { title: c(174), desc: c(167) }, "05": { title: c(174), desc: c(194) }, "06": { title: c(174), desc: c(183) }, "07": { title: c(174), desc: c(197) }, "08": { title: "動画を再生できません", desc: c(181) }, "09": { title: c(174), desc: c(168) }, 10: { title: c(174), desc: c(195) }, 11: { title: c(174), desc: c(204) }, 12: { title: "動画を再生できません", desc: "DRMライセンスサーバーとの通信に失敗しました。" }, 13: { title: c(174), desc: c(172) }, 14: { title: c(174), desc: "画面キャプチャ/画面録画が検出されました。" }, 15: { title: c(205), desc: c(165) }, 16: { title: c(205), desc: c(191) } }, alternative: { hour: "時間", minute: "分", second: "秒", after: c(206), afterMin: "分後", afterHour: c(179), afterDay: "日後", startPlay: "{timeTxt}後に動画が始まります。", nextPlay: c(198), afterPlay: "予定" } };
59
+ function N(t, a) {
60
+ t = t - 164;
61
+ var x = _(), n = x[t];
62
+ return n;
264
63
  }
265
- function g(t) {
266
- let e = "en";
267
- t ? e = t : b() && (e = navigator.language);
268
- const a = M(e);
269
- return y[a];
64
+ function _() {
65
+ var t = ["13150170btNYrS", "動画を再生できません", "ミュート", "ネットワーク接続が不安定です。", "3RXnezm", "ミニプレーヤー", "時間後", "全画面表示", "URLの形式が正しくありません。", "認証に失敗しました", "月間の基本提供呼び出し回数を超過しました。有料版に切り替えてご利用ください。", "6QxRaHN", "210020DcDhUZ", "ライセンス", "次の動画", "字幕をオフにする", "9404mAGnLE", "9sZGrMM", "必須モジュールが読み込まれていません。(dash.js)", "1380436ZMqRPP", "6483015ncqcsL", "ライセンスが無効です。", "iOSではDASHビデオを再生できません。", "秒後に自動再生", "サポートされていない形式です。", "{timeTxt}秒後に次の動画が再生されます。", "一時停止", "3876901xbObCD", "6811368FwLmDY", "全画面表示を終了", "ミュート解除", "DRMトークンが無効です。", "プレーヤーの起動に失敗しました", "しばらくして", "不正なアクセスです。access_keyを確認してください。", "必須モジュールが読み込まれていません。(hls.js)", "リプレイ", "動画を再生できませんでした。", "ライブストリームはオフラインです。", "使用しない", "字幕をオンにする", "47JyCirC", "FairPlay証明書の検証に失敗しました。"];
66
+ return _ = function() {
67
+ return t;
68
+ }, _();
270
69
  }
271
- g();
272
- const C = {
273
- AF: "Afghanistan",
274
- AX: "Åland Islands",
275
- AL: "Albania",
276
- DZ: "Algeria",
277
- AS: "American Samoa",
278
- AD: "Andorra",
279
- AO: "Angola",
280
- AI: "Anguilla",
281
- AQ: "Antarctica",
282
- AG: "Antigua and Barbuda",
283
- AR: "Argentina",
284
- AM: "Armenia",
285
- AW: "Aruba",
286
- AU: "Australia",
287
- AT: "Austria",
288
- AZ: "Azerbaijan",
289
- BS: "Bahamas",
290
- BH: "Bahrain",
291
- BD: "Bangladesh",
292
- BB: "Barbados",
293
- BY: "Belarus",
294
- BE: "Belgium",
295
- BZ: "Belize",
296
- BJ: "Benin",
297
- BM: "Bermuda",
298
- BT: "Bhutan",
299
- BO: "Bolivia (Plurinational State of)",
300
- BQ: "Bonaire, Sint Eustatius and Saba",
301
- BA: "Bosnia and Herzegovina",
302
- BW: "Botswana",
303
- BV: "Bouvet Island",
304
- BR: "Brazil",
305
- IO: "British Indian Ocean Territory",
306
- BN: "Brunei Darussalam",
307
- BG: "Bulgaria",
308
- BF: "Burkina Faso",
309
- BI: "Burundi",
310
- CV: "Cabo Verde",
311
- KH: "Cambodia",
312
- CM: "Cameroon",
313
- CA: "Canada",
314
- KY: "Cayman Islands",
315
- CF: "Central African Republic",
316
- TD: "Chad",
317
- CL: "Chile",
318
- CN: "China",
319
- CX: "Christmas Island",
320
- CC: "Cocos (Keeling) Islands",
321
- CO: "Colombia",
322
- KM: "Comoros",
323
- CG: "Congo",
324
- CD: "Congo (Democratic Republic of the)",
325
- CK: "Cook Islands",
326
- CR: "Costa Rica",
327
- CI: "Côte d'Ivoire",
328
- HR: "Croatia",
329
- CU: "Cuba",
330
- CW: "Curaçao",
331
- CY: "Cyprus",
332
- CZ: "Czech Republic",
333
- DK: "Denmark",
334
- DJ: "Djibouti",
335
- DM: "Dominica",
336
- DO: "Dominican Republic",
337
- EC: "Ecuador",
338
- EG: "Egypt",
339
- SV: "El Salvador",
340
- GQ: "Equatorial Guinea",
341
- ER: "Eritrea",
342
- EE: "Estonia",
343
- ET: "Ethiopia",
344
- FK: "Falkland Islands (Malvinas)",
345
- FO: "Faroe Islands",
346
- FJ: "Fiji",
347
- FI: "Finland",
348
- FR: "France",
349
- GF: "French Guiana",
350
- PF: "French Polynesia",
351
- TF: "French Southern Territories",
352
- GA: "Gabon",
353
- GM: "Gambia",
354
- GE: "Georgia",
355
- DE: "Germany",
356
- GH: "Ghana",
357
- GI: "Gibraltar",
358
- GR: "Greece",
359
- GL: "Greenland",
360
- GD: "Grenada",
361
- GP: "Guadeloupe",
362
- GU: "Guam",
363
- GT: "Guatemala",
364
- GG: "Guernsey",
365
- GN: "Guinea",
366
- GW: "Guinea-Bissau",
367
- GY: "Guyana",
368
- HT: "Haiti",
369
- HM: "Heard Island and McDonald Islands",
370
- VA: "Holy See",
371
- HN: "Honduras",
372
- HK: "Hong Kong",
373
- HU: "Hungary",
374
- IS: "Iceland",
375
- IN: "India",
376
- ID: "Indonesia",
377
- IR: "Iran (Islamic Republic of)",
378
- IQ: "Iraq",
379
- IE: "Ireland",
380
- IM: "Isle of Man",
381
- IL: "Israel",
382
- IT: "Italy",
383
- JM: "Jamaica",
384
- JP: "Japan",
385
- JE: "Jersey",
386
- JO: "Jordan",
387
- KZ: "Kazakhstan",
388
- KE: "Kenya",
389
- KI: "Kiribati",
390
- KP: "Korea (Democratic People's Republic of)",
391
- KR: "Korea, Republic of",
392
- KW: "Kuwait",
393
- KG: "Kyrgyzstan",
394
- LA: "Lao People's Democratic Republic",
395
- LV: "Latvia",
396
- LB: "Lebanon",
397
- LS: "Lesotho",
398
- LR: "Liberia",
399
- LY: "Libya",
400
- LI: "Liechtenstein",
401
- LT: "Lithuania",
402
- LU: "Luxembourg",
403
- MO: "Macao",
404
- MK: "Macedonia (the former Yugoslav Republic of)",
405
- MG: "Madagascar",
406
- MW: "Malawi",
407
- MY: "Malaysia",
408
- MV: "Maldives",
409
- ML: "Mali",
410
- MT: "Malta",
411
- MH: "Marshall Islands",
412
- MQ: "Martinique",
413
- MR: "Mauritania",
414
- MU: "Mauritius",
415
- YT: "Mayotte",
416
- MX: "Mexico",
417
- FM: "Micronesia (Federated States of)",
418
- MD: "Moldova (Republic of)",
419
- MC: "Monaco",
420
- MN: "Mongolia",
421
- ME: "Montenegro",
422
- MS: "Montserrat",
423
- MA: "Morocco",
424
- MZ: "Mozambique",
425
- MM: "Myanmar",
426
- NA: "Namibia",
427
- NR: "Nauru",
428
- NP: "Nepal",
429
- NL: "Netherlands",
430
- NC: "New Caledonia",
431
- NZ: "New Zealand",
432
- NI: "Nicaragua",
433
- NE: "Niger",
434
- NG: "Nigeria",
435
- NU: "Niue",
436
- NF: "Norfolk Island",
437
- MP: "Northern Mariana Islands",
438
- NO: "Norway",
439
- OM: "Oman",
440
- PK: "Pakistan",
441
- PW: "Palau",
442
- PS: "Palestine, State of",
443
- PA: "Panama",
444
- PG: "Papua New Guinea",
445
- PY: "Paraguay",
446
- PE: "Peru",
447
- PH: "Philippines",
448
- PN: "Pitcairn",
449
- PL: "Poland",
450
- PT: "Portugal",
451
- PR: "Puerto Rico",
452
- QA: "Qatar",
453
- RE: "Réunion",
454
- RO: "Romania",
455
- RU: "Russian Federation",
456
- RW: "Rwanda",
457
- BL: "Saint Barthélemy",
458
- SH: "Saint Helena, Ascension and Tristan da Cunha",
459
- KN: "Saint Kitts and Nevis",
460
- LC: "Saint Lucia",
461
- MF: "Saint Martin (French part)",
462
- PM: "Saint Pierre and Miquelon",
463
- VC: "Saint Vincent and the Grenadines",
464
- WS: "Samoa",
465
- SM: "San Marino",
466
- ST: "Sao Tome and Principe",
467
- SA: "Saudi Arabia",
468
- SN: "Senegal",
469
- RS: "Serbia",
470
- SC: "Seychelles",
471
- SL: "Sierra Leone",
472
- SG: "Singapore",
473
- SX: "Sint Maarten (Dutch part)",
474
- SK: "Slovakia",
475
- SI: "Slovenia",
476
- SB: "Solomon Islands",
477
- SO: "Somalia",
478
- ZA: "South Africa",
479
- GS: "South Georgia and the South Sandwich Islands",
480
- SS: "South Sudan",
481
- ES: "Spain",
482
- LK: "Sri Lanka",
483
- SD: "Sudan",
484
- SR: "Suriname",
485
- SJ: "Svalbard and Jan Mayen",
486
- SZ: "Swaziland",
487
- SE: "Sweden",
488
- CH: "Switzerland",
489
- SY: "Syrian Arab Republic",
490
- TW: "Taiwan",
491
- TJ: "Tajikistan",
492
- TZ: "Tanzania, United Republic of",
493
- TH: "Thailand",
494
- TL: "Timor-Leste",
495
- TG: "Togo",
496
- TK: "Tokelau",
497
- TO: "Tonga",
498
- TT: "Trinidad and Tobago",
499
- TN: "Tunisia",
500
- TR: "Turkey",
501
- TM: "Turkmenistan",
502
- TC: "Turks and Caicos Islands",
503
- TV: "Tuvalu",
504
- UG: "Uganda",
505
- UA: "Ukraine",
506
- AE: "United Arab Emirates",
507
- GB: "United Kingdom",
508
- US: "United States of America",
509
- UM: "United States Minor Outlying Islands",
510
- UY: "Uruguay",
511
- UZ: "Uzbekistan",
512
- VU: "Vanuatu",
513
- VE: "Venezuela (Bolivarian Republic of)",
514
- VN: "Viet Nam",
515
- VG: "Virgin Islands (British)",
516
- VI: "Virgin Islands (U.S.)",
517
- WF: "Wallis and Futuna",
518
- EH: "Western Sahara",
519
- YE: "Yemen",
520
- ZM: "Zambia",
521
- ZW: "Zimbabwe"
522
- }, I = {
523
- gov: {
524
- prod: {
525
- log: "https://papi.vpe.gov-ntruss.com/player/maSync",
526
- report: "https://log.vpe.gov-ntruss.com/stats"
527
- },
528
- beta: {
529
- log: "https://papi.beta-vpe.gov-ntruss.com/player/maSync",
530
- report: "https://log.beta-vpe.gov-ntruss.com/stats"
70
+ const I = D;
71
+ (function(t, a) {
72
+ const x = D, n = t();
73
+ for (; ; )
74
+ try {
75
+ if (parseInt(x(198)) / 1 + -parseInt(x(200)) / 2 + parseInt(x(195)) / 3 * (-parseInt(x(194)) / 4) + -parseInt(x(197)) / 5 + -parseInt(x(202)) / 6 * (parseInt(x(205)) / 7) + -parseInt(x(196)) / 8 * (-parseInt(x(203)) / 9) + parseInt(x(201)) / 10 === a) break;
76
+ n.push(n.shift());
77
+ } catch {
78
+ n.push(n.shift());
531
79
  }
532
- },
533
- pub: {
534
- prod: {
535
- log: "https://papi.vpe.naverncp.com/player/maSync",
536
- report: "https://log.vpe.naverncp.com/stats"
537
- },
538
- beta: {
539
- log: "https://papi.beta-vpe.naverncp.com/player/maSync",
540
- report: "https://log.beta-vpe.naverncp.com/stats"
80
+ })(S, 207702);
81
+ const k = { en: K, ko: Y, ja: Z }, j = () => typeof navigator !== I(204) && typeof navigator[I(199)] !== I(204);
82
+ function D(t, a) {
83
+ return t = t - 194, S()[t];
84
+ }
85
+ function S() {
86
+ const t = ["1444635RtuGIN", "286081AqxJiJ", "language", "214724ffcTyF", "6976200IlUIRP", "12reoSDF", "531uOGWSj", "undefined", "1270871PbfHvY", "31828QpMJnL", "57JETIQy", "18248grsYYU"];
87
+ return S = function() {
88
+ return t;
89
+ }, S();
90
+ }
91
+ function z(t) {
92
+ const a = t.split("-")[0];
93
+ return a in k ? a : "en";
94
+ }
95
+ function G(t) {
96
+ const a = I;
97
+ let x = "en";
98
+ t ? x = t : j() && (x = navigator[a(199)]);
99
+ const n = z(x);
100
+ return k[n];
101
+ }
102
+ G();
103
+ function M() {
104
+ const t = ["Monaco", "Czech Republic", "1852BruzqK", "Saint Martin (French part)", "El Salvador", "Guernsey", "Mayotte", "Nepal", "Gabon", "Saudi Arabia", "Senegal", "Moldova (Republic of)", "Svalbard and Jan Mayen", "Canada", "Cocos (Keeling) Islands", "Austria", "Bolivia (Plurinational State of)", "Venezuela (Bolivarian Republic of)", "3717098rdAyxT", "Palestine, State of", "Guyana", "United States of America", "Jamaica", "Georgia", "Uzbekistan", "Panama", "Russian Federation", "Papua New Guinea", "Iceland", "Sao Tome and Principe", "Dominica", "Marshall Islands", "Kazakhstan", "2448340BAfOLz", "Honduras", "Bahamas", "Saint Kitts and Nevis", "Vanuatu", "Brazil", "Nauru", "Jersey", "Saint Barthélemy", "Afghanistan", "Australia", "France", "Brunei Darussalam", "Tuvalu", "Congo", "Thailand", "Bermuda", "Finland", "Suriname", "Romania", "Togo", "Switzerland", "Haiti", "Faroe Islands", "South Sudan", "Micronesia (Federated States of)", "Chad", "Sint Maarten (Dutch part)", "1353294OcrutZ", "Timor-Leste", "Sri Lanka", "Albania", "Slovenia", "Virgin Islands (U.S.)", "Wallis and Futuna", "Grenada", "Mexico", "Mali", "Colombia", "Greenland", "Belarus", "Singapore", "Algeria", "33584RrdjEK", "Lao People's Democratic Republic", "Denmark", "Tonga", "Philippines", "Djibouti", "479964KxSZCq", "Egypt", "Palau", "Uruguay", "Macao", "Uganda", "Equatorial Guinea", "Malta", "Holy See", "Montserrat", "Guatemala", "Cyprus", "Poland", "1116uYhECb", "Estonia", "Botswana", "Bhutan", "3775LtNLiN", "Burkina Faso", "Kiribati", "Northern Mariana Islands", "Nigeria", "Ireland", "Ghana", "Italy", "Turkmenistan", "Germany", "Macedonia (the former Yugoslav Republic of)", "Norway", "Bosnia and Herzegovina", "Virgin Islands (British)", "Kuwait", "Jordan", "United Arab Emirates", "Cameroon", "Bouvet Island", "Azerbaijan", "India", "China", "South Georgia and the South Sandwich Islands", "Slovakia", "Cayman Islands", "4JtCunS", "Saint Pierre and Miquelon", "Angola", "South Africa", "Croatia", "Tajikistan", "Sierra Leone", "Ukraine", "Fiji", "Kenya", "Japan", "Bulgaria", "Liechtenstein", "Paraguay", "Cook Islands", "Malaysia", "Mongolia", "Israel", "Côte d'Ivoire", "Belgium", "United States Minor Outlying Islands", "Barbados", "New Zealand", "Andorra", "Bangladesh", "Korea, Republic of", "Cabo Verde", "Saint Lucia", "Bahrain", "Cambodia", "French Southern Territories", "Luxembourg", "Somalia", "Madagascar", "Tunisia", "251836KEkVgY", "Gibraltar", "Ethiopia", "Saint Vincent and the Grenadines", "American Samoa", "Solomon Islands", "Christmas Island", "Nicaragua", "Bonaire, Sint Eustatius and Saba", "Niue", "Libya", "Liberia", "Ecuador", "Namibia", "Morocco", "Myanmar", "Dominican Republic", "Antarctica", "Saint Helena, Ascension and Tristan da Cunha", "Armenia", "Iran (Islamic Republic of)", "Falkland Islands (Malvinas)", "Isle of Man", "Lebanon", "Portugal", "Turks and Caicos Islands", "Réunion", "Oman", "Netherlands"];
105
+ return M = function() {
106
+ return t;
107
+ }, M();
108
+ }
109
+ const e = O;
110
+ function O(t, a) {
111
+ return t = t - 200, M()[t];
112
+ }
113
+ (function(t, a) {
114
+ const x = O, n = t();
115
+ for (; ; )
116
+ try {
117
+ if (-parseInt(x(248)) / 1 * (parseInt(x(213)) / 2) + -parseInt(x(338)) / 3 + -parseInt(x(279)) / 4 * (-parseInt(x(376)) / 5) + parseInt(x(359)) / 6 + parseInt(x(295)) / 7 + parseInt(x(353)) / 8 * (parseInt(x(372)) / 9) + -parseInt(x(310)) / 10 === a) break;
118
+ n.push(n.shift());
119
+ } catch {
120
+ n.push(n.shift());
541
121
  }
542
- }
543
- };
544
- let c = {
545
- video: {},
546
- browser: {},
547
- device: {},
548
- connection: {},
549
- screen: {},
550
- player_version: "latest",
551
- extra: {
552
- sessionId: null,
553
- playerType: "VPE React Native"
554
- },
555
- log_type: "vpe",
556
- privacy: {
557
- cookie_enabled: !0
558
- }
559
- }, u = {
560
- platform: "pub",
561
- stage: "prod",
562
- sync: !1,
563
- syncResult: {}
564
- };
565
- const w = (/* @__PURE__ */ new Date()).getTime(), m = () => {
566
- const t = /* @__PURE__ */ new Date(), e = (r) => String(r).padStart(2, "0"), a = `${t.getFullYear()}-${e(t.getMonth() + 1)}-${e(t.getDate())} ${e(t.getHours())}:${e(t.getMinutes())}:${e(t.getSeconds())}`, n = Math.floor(t.getTime() / 1e3), o = (/* @__PURE__ */ new Date()).getTime() - w;
567
- return {
568
- logDate: a,
569
- logDateUnix: n,
570
- thisSec: o
571
- };
122
+ })(M, 281521);
123
+ const J = { AF: e(319), AX: "Åland Islands", AL: e(341), DZ: e(352), AS: e(252), AD: e(236), AO: e(215), AI: "Anguilla", AQ: e(265), AG: "Antigua and Barbuda", AR: "Argentina", AM: e(267), AW: "Aruba", AU: e(320), AT: e(292), AZ: e(207), BS: e(312), BH: e(241), BD: e(237), BB: e(234), BY: e(350), BE: e(232), BZ: "Belize", BJ: "Benin", BM: e(326), BT: e(375), BO: e(293), BQ: e(256), BA: e(200), BW: e(374), BV: e(206), BR: e(315), IO: "British Indian Ocean Territory", BN: e(322), BG: e(224), BF: e(377), BI: "Burundi", CV: e(239), KH: e(242), CM: e(205), CA: e(290), KY: e(212), CF: "Central African Republic", TD: e(336), CL: "Chile", CN: e(209), CX: e(254), CC: e(291), CO: e(348), KM: "Comoros", CG: e(324), CD: "Congo (Democratic Republic of the)", CK: e(227), CR: "Costa Rica", CI: e(231), HR: e(217), CU: "Cuba", CW: "Curaçao", CY: e(370), CZ: e(278), DK: e(355), DJ: e(358), DM: e(307), DO: e(264), EC: e(260), EG: e(360), SV: e(281), GQ: e(365), ER: "Eritrea", EE: e(373), ET: e(250), FK: e(269), FO: e(333), FJ: e(221), FI: e(327), FR: e(321), GF: "French Guiana", PF: "French Polynesia", TF: e(243), GA: e(285), GM: "Gambia", GE: e(300), DE: e(385), GH: e(382), GI: e(249), GR: "Greece", GL: e(349), GD: e(345), GP: "Guadeloupe", GU: "Guam", GT: e(369), GG: e(282), GN: "Guinea", GW: "Guinea-Bissau", GY: e(297), HT: e(332), HM: "Heard Island and McDonald Islands", VA: e(367), HN: e(311), HK: "Hong Kong", HU: "Hungary", IS: e(305), IN: e(208), ID: "Indonesia", IR: e(268), IQ: "Iraq", IE: e(381), IM: e(270), IL: e(230), IT: e(383), JM: e(299), JP: e(223), JE: e(317), JO: e(203), KZ: e(309), KE: e(222), KI: e(378), KP: "Korea (Democratic People's Republic of)", KR: e(238), KW: e(202), KG: "Kyrgyzstan", LA: e(354), LV: "Latvia", LB: e(271), LS: "Lesotho", LR: e(259), LY: e(258), LI: e(225), LT: "Lithuania", LU: e(244), MO: e(363), MK: e(386), MG: e(246), MW: "Malawi", MY: e(228), MV: "Maldives", ML: e(347), MT: e(366), MH: e(308), MQ: "Martinique", MR: "Mauritania", MU: "Mauritius", YT: e(283), MX: e(346), FM: e(335), MD: e(288), MC: e(277), MN: e(229), ME: "Montenegro", MS: e(368), MA: e(262), MZ: "Mozambique", MM: e(263), NA: e(261), NR: e(316), NP: e(284), NL: e(276), NC: "New Caledonia", NZ: e(235), NI: e(255), NE: "Niger", NG: e(380), NU: e(257), NF: "Norfolk Island", MP: e(379), NO: e(387), OM: e(275), PK: "Pakistan", PW: e(361), PS: e(296), PA: e(302), PG: e(304), PY: e(226), PE: "Peru", PH: e(357), PN: "Pitcairn", PL: e(371), PT: e(272), PR: "Puerto Rico", QA: "Qatar", RE: e(274), RO: e(329), RU: e(303), RW: "Rwanda", BL: e(318), SH: e(266), KN: e(313), LC: e(240), MF: e(280), PM: e(214), VC: e(251), WS: "Samoa", SM: "San Marino", ST: e(306), SA: e(286), SN: e(287), RS: "Serbia", SC: "Seychelles", SL: e(219), SG: e(351), SX: e(337), SK: e(211), SI: e(342), SB: e(253), SO: e(245), ZA: e(216), GS: e(210), SS: e(334), ES: "Spain", LK: e(340), SD: "Sudan", SR: e(328), SJ: e(289), SZ: "Swaziland", SE: "Sweden", CH: e(331), SY: "Syrian Arab Republic", TW: "Taiwan", TJ: e(218), TZ: "Tanzania, United Republic of", TH: e(325), TL: e(339), TG: e(330), TK: "Tokelau", TO: e(356), TT: "Trinidad and Tobago", TN: e(247), TR: "Turkey", TM: e(384), TC: e(273), TV: e(323), UG: e(364), UA: e(220), AE: e(204), GB: "United Kingdom", US: e(298), UM: e(233), UY: e(362), UZ: e(301), VU: e(314), VE: e(294), VN: "Viet Nam", VG: e(201), VI: e(343), WF: e(344), EH: "Western Sahara", YE: "Yemen", ZM: "Zambia", ZW: "Zimbabwe" }, p = H;
124
+ (function(t, a) {
125
+ const x = H, n = t();
126
+ for (; ; )
127
+ try {
128
+ if (-parseInt(x(127)) / 1 + parseInt(x(175)) / 2 * (-parseInt(x(152)) / 3) + -parseInt(x(148)) / 4 * (-parseInt(x(137)) / 5) + parseInt(x(172)) / 6 * (parseInt(x(180)) / 7) + parseInt(x(176)) / 8 * (parseInt(x(117)) / 9) + -parseInt(x(187)) / 10 + -parseInt(x(140)) / 11 * (-parseInt(x(173)) / 12) === a) break;
129
+ n.push(n.shift());
130
+ } catch {
131
+ n.push(n.shift());
132
+ }
133
+ })(w, 997154);
134
+ const q = { gov: { prod: { log: "https://papi.vpe.gov-ntruss.com/player/maSync", report: p(138) }, beta: { log: p(163), report: p(143) } }, pub: { prod: { log: p(149), report: p(114) }, beta: { log: p(128), report: p(196) } } };
135
+ p(167);
136
+ let h = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: p(161), extra: { sessionId: null, playerType: "VPE React Native" }, log_type: "vpe", privacy: { cookie_enabled: !0 } }, g = { platform: p(190), stage: p(179), sync: !1, syncResult: {} };
137
+ const W = (/* @__PURE__ */ new Date())[p(115)](), F = () => {
138
+ const t = p, a = /* @__PURE__ */ new Date(), x = (u) => String(u)[t(144)](2, "0"), n = a[t(166)]() + "-" + x(a[t(139)]() + 1) + "-" + x(a[t(136)]()) + " " + x(a[t(162)]()) + ":" + x(a[t(129)]()) + ":" + x(a[t(184)]()), r = Math[t(174)](a[t(115)]() / 1e3), s = (/* @__PURE__ */ new Date())[t(115)]() - W;
139
+ return { logDate: n, logDateUnix: r, thisSec: s };
572
140
  };
573
- function P(t) {
574
- return typeof t == "object" && t !== null && !Array.isArray(t);
141
+ function X(t) {
142
+ const a = p;
143
+ return typeof t === a(193) && t !== null && !Array[a(142)](t);
144
+ }
145
+ function w() {
146
+ const t = ["floor", "23464ylxiNz", "296EQbETn", "assign", "UUID", "prod", "7keGiQD", "log_type", "length", "push", "getSeconds", "json", "geoLocation", "15053520BXlBLu", "videoStartTime", "type", "pub", "playerStartTime", "stringify", "object", "nation", "seekedTime", "https://log.beta-vpe.naverncp.com/stats", "https://log.vpe.naverncp.com/stats", "getTime", "address", "353781pWoZHj", "log", "sessionId", "Korea, Republic of", "mpd", "country", "url", "error", "result", "parse", "183332BbkskF", "https://papi.beta-vpe.naverncp.com/player/maSync", "getMinutes", "platform", "actionDuration", "entries", "join", "isp", "mp4", "getDate", "195hQwKEs", "https://log.vpe.gov-ntruss.com/stats", "getMonth", "187bbWXSZ", "indexOf", "isArray", "https://log.beta-vpe.gov-ntruss.com/stats", "padStart", "video", "vpePackageId", "syncResult", "596hvJpWs", "https://papi.vpe.naverncp.com/player/maSync", "actionType", "report", "447fxVzHm", "application/json", "POST", "stage", "logDate", "TID", "extra", "MA report actionType ->", "MA config initialization failed:", "latest", "getHours", "https://papi.beta-vpe.gov-ntruss.com/player/maSync", "vpe", "forEach", "getFullYear", "abcdefghijklmnopqrstuvwxyz0123456789", "host", "logDateUnix", "sync", "random", "11569686MFUDry", "737916RPMKfq"];
147
+ return w = function() {
148
+ return t;
149
+ }, w();
575
150
  }
576
- function R(t, e) {
577
- Object.entries(e).forEach(([a, n]) => {
578
- P(n) ? (t[a] || (t[a] = {}), Object.entries(n).forEach(([o, r]) => {
579
- r != null && (t[a][o] = r);
580
- })) : n != null && (t[a] = n);
151
+ function Q(t, a) {
152
+ const x = p;
153
+ Object[x(132)](a)[x(165)](([n, r]) => {
154
+ const s = x;
155
+ X(r) ? (!t[n] && (t[n] = {}), Object[s(132)](r)[s(165)](([u, o]) => {
156
+ o != null && (t[n][u] = o);
157
+ })) : r != null && (t[n] = r);
581
158
  });
582
159
  }
583
- function T(t) {
584
- const e = [];
585
- return t?.r1 && e.push(t.r1), t?.r2 && e.push(t.r2), t?.r3 && e.push(t.r3), e.join(" ");
160
+ function $(t) {
161
+ const a = p, x = [];
162
+ return t?.r1 && x.push(t.r1), t?.r2 && x.push(t.r2), t?.r3 && x[a(183)](t.r3), x[a(133)](" ");
586
163
  }
587
- function A(t) {
164
+ function H(t, a) {
165
+ return t = t - 114, w()[t];
166
+ }
167
+ function x0(t) {
168
+ const a = p;
588
169
  try {
589
- const e = u.syncResult?.geoLocation;
590
- e && (t.address = T(e), t.isp = e.net || "", t.ip = u.syncResult?.ip || "", t.nation = e.country || "");
170
+ const x = g[a(147)]?.geoLocation;
171
+ x && (t[a(116)] = $(x), t[a(134)] = x.net || "", t.ip = g.syncResult?.ip || "", t.nation = x[a(122)] || "");
591
172
  } catch {
592
173
  }
593
174
  }
594
- const B = async (t) => {
175
+ const e0 = async (t) => {
176
+ const a = p;
595
177
  if (!t) return;
596
- const { platform: e, stage: a } = u, n = I[e][a].log;
178
+ const { platform: x, stage: n } = g, r = q[x][n][a(118)];
597
179
  try {
598
- const r = await (await fetch(n, {
599
- method: "POST",
600
- headers: {
601
- "Content-Type": "application/json"
602
- },
603
- body: JSON.stringify({
604
- access_key: t
605
- })
606
- })).json();
607
- u.sync = r.result?.sync || !1, u.syncResult = r.result || {};
608
- const { logDate: i, logDateUnix: s } = m();
609
- return c.extra.logDate = i, c.extra.logDateUnix = s, u.syncResult?.geoLocation && A(c.extra), r;
610
- } catch (o) {
611
- return console.error("MA config initialization failed:", o), null;
180
+ const s = await fetch(r, { method: a(154), headers: { "Content-Type": a(153) }, body: JSON[a(192)]({ access_key: t }) }), u = await s[a(185)]();
181
+ g[a(170)] = u[a(125)]?.[a(170)] || !1, g[a(147)] = u[a(125)] || {};
182
+ const { logDate: o, logDateUnix: f } = F();
183
+ return h.extra.logDate = o, h[a(158)][a(169)] = f, g.syncResult?.[a(186)] && x0(h[a(158)]), u;
184
+ } catch (s) {
185
+ return console[a(124)](a(160), s), null;
612
186
  }
613
187
  };
614
- async function N(t, e, a, n, o) {
615
- u.platform = t, u.stage = e, R(c, a), n && (c.extra.vpePackageId = n), o && (c.extra.vpeKey = o), c.extra.nation ? c.browser.country = C[c.extra.nation] || "Korea, Republic of" : c.browser.country = "Korea, Republic of";
616
- const { logDate: r, logDateUnix: i } = m();
617
- c.extra.logDate = r, c.extra.logDateUnix = i, c.extra.created_at = i;
188
+ async function a0(t, a, x, n, r) {
189
+ const s = p;
190
+ g[s(130)] = t, g[s(155)] = a, Q(h, x), n && (h.extra[s(146)] = n), r && (h[s(158)].vpeKey = r), h[s(158)][s(194)] ? h.browser[s(122)] = J[h[s(158)][s(194)]] || s(120) : h.browser[s(122)] = s(120);
191
+ const { logDate: u, logDateUnix: o } = F();
192
+ h[s(158)][s(156)] = u, h[s(158)][s(169)] = o, h[s(158)].created_at = o;
193
+ }
194
+ function T() {
195
+ const t = ["214501yliaZo", "584262eHmBem", "1129503hDbcCi", "690246mwuMpj", "16/9", "NAVER CLOUD PLATFORM", "captionStyle", "controlBtn", "#ffffff", "968204ZjkaOc", "dropshadow", "#4299f5", "5401554QogFVX", "watermarkConfig", "objectFit", "progressBar", "5MFPDkC", "fill", "40OVkwxO", "335190uFaSPG", "all", "contain", "rgba(0, 0, 0, 0.4)", "243qzYWFa"];
196
+ return T = function() {
197
+ return t;
198
+ }, T();
199
+ }
200
+ function U(t, a) {
201
+ return t = t - 418, T()[t];
618
202
  }
619
- const L = (t = {}) => {
620
- const e = {
621
- autostart: !0,
622
- muted: !1,
623
- aspectRatio: "16/9",
624
- objectFit: "contain",
625
- controls: !0,
626
- keyboardShortcut: !1,
627
- startMutedInfoNotVisible: !1,
628
- allowsPictureInPicture: !1,
629
- staysActiveInBackground: !1,
630
- screenRecordingPrevention: !1,
631
- modalFullscreen: !1,
632
- lang: "ko",
633
- ui: "all",
634
- controlBtn: {
635
- play: !0,
636
- fullscreen: !0,
637
- progressBar: !0,
638
- volume: !1,
639
- times: !0,
640
- pictureInPicture: !0,
641
- setting: !0,
642
- subtitle: !0
643
- },
644
- progressBarColor: "#4299f5",
645
- controlActiveTime: 3e3,
646
- playRateSetting: [0.5, 0.75, 1, 1.5, 2],
647
- autoPause: !1,
648
- repeat: !1,
649
- setStartTime: void 0,
650
- playIndex: 0,
651
- lowLatencyMode: !0,
652
- touchGestures: !0,
653
- descriptionNotVisible: !1,
654
- devTestAppId: void 0,
655
- token: "",
656
- visibleWatermark: !1,
657
- iosFullscreenNativeMode: !0,
658
- watermarkText: "NAVER CLOUD PLATFORM",
659
- watermarkConfig: {
660
- randPosition: !0,
661
- randPositionInterVal: 3e3,
662
- x: 10,
663
- y: 10,
664
- opacity: 0.5
665
- },
666
- captionStyle: {
667
- fontSize: 12,
668
- color: "#ffffff",
669
- backgroundColor: "rgba(0, 0, 0, 0.4)",
670
- edgeStyle: "dropshadow"
671
- },
672
- override: null
673
- }, a = { ...e, ...t };
674
- return t.controlBtn && (a.controlBtn = {
675
- ...e.controlBtn,
676
- ...t.controlBtn
677
- }), t.watermarkConfig && (a.watermarkConfig = {
678
- ...e.watermarkConfig,
679
- ...t.watermarkConfig
680
- }), t.captionStyle && (a.captionStyle = {
681
- ...e.captionStyle,
682
- ...t.captionStyle
683
- }), a.objectFit === "fill" && (a.objectFit = "stretch"), a.controlBtn?.progressBar === void 0 && (a.controlBtn.progressBar = !0), a;
684
- }, E = {
685
- gov: {
686
- prod: {
687
- config: "aHR0cHM6Ly9wYXBpLnZwZS5nb3YtbnRydXNzLmNvbS9wbGF5ZXIvY29uZmln",
688
- report: "aHR0cHM6Ly9sb2cudnBlLmdvdi1udHJ1c3MuY29tL3N0YXRz"
689
- },
690
- beta: {
691
- config: "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLmdvdi1udHJ1c3MuY29tL3BsYXllci9jb25maWc=",
692
- report: "aHR0cHM6Ly9sb2cuYmV0YS12cGUuZ292LW50cnVzcy5jb20vc3RhdHM="
203
+ (function(t, a) {
204
+ const x = U, n = t();
205
+ for (; ; )
206
+ try {
207
+ if (-parseInt(x(427)) / 1 + parseInt(x(425)) / 2 + -parseInt(x(426)) / 3 + -parseInt(x(433)) / 4 + parseInt(x(440)) / 5 * (parseInt(x(436)) / 6) + -parseInt(x(424)) / 7 * (parseInt(x(418)) / 8) + parseInt(x(423)) / 9 * (parseInt(x(419)) / 10) === a) break;
208
+ n.push(n.shift());
209
+ } catch {
210
+ n.push(n.shift());
693
211
  }
694
- },
695
- pub: {
696
- prod: {
697
- config: "aHR0cHM6Ly9wYXBpLnZwZS5uYXZlcm5jcC5jb20vcGxheWVyL2NvbmZpZw==",
698
- report: "aHR0cHM6Ly9sb2cudnBlLm5hdmVybmNwLmNvbS9zdGF0cw=="
699
- },
700
- beta: {
701
- config: "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLm5hdmVybmNwLmNvbS9wbGF5ZXIvY29uZmln",
702
- report: "aHR0cHM6Ly9sb2cuYmV0YS12cGUubmF2ZXJuY3AuY29tL3N0YXRz"
212
+ })(T, 635390);
213
+ const t0 = (t = {}) => {
214
+ const a = U, x = { autostart: !0, muted: !1, aspectRatio: a(428), objectFit: a(421), controls: !0, keyboardShortcut: !1, startMutedInfoNotVisible: !1, allowsPictureInPicture: !1, staysActiveInBackground: !1, screenRecordingPrevention: !1, modalFullscreen: !1, lang: "ko", ui: a(420), controlBtn: { play: !0, fullscreen: !0, progressBar: !0, volume: !1, times: !0, pictureInPicture: !0, setting: !0, subtitle: !0 }, progressBarColor: a(435), 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: a(429), watermarkConfig: { randPosition: !0, randPositionInterVal: 3e3, x: 10, y: 10, opacity: 0.5 }, captionStyle: { fontSize: 12, color: a(432), backgroundColor: a(422), edgeStyle: a(434) }, override: null }, n = { ...x, ...t };
215
+ return t[a(431)] && (n.controlBtn = { ...x.controlBtn, ...t[a(431)] }), t[a(437)] && (n[a(437)] = { ...x.watermarkConfig, ...t.watermarkConfig }), t.captionStyle && (n[a(430)] = { ...x.captionStyle, ...t[a(430)] }), n[a(438)] === a(441) && (n[a(438)] = "stretch"), n[a(431)]?.[a(439)] === void 0 && (n[a(431)][a(439)] = !0), n;
216
+ }, d = V;
217
+ (function(t, a) {
218
+ const x = V, n = t();
219
+ for (; ; )
220
+ try {
221
+ if (-parseInt(x(434)) / 1 + -parseInt(x(492)) / 2 * (parseInt(x(534)) / 3) + -parseInt(x(533)) / 4 * (-parseInt(x(473)) / 5) + parseInt(x(453)) / 6 + parseInt(x(489)) / 7 + parseInt(x(487)) / 8 * (parseInt(x(444)) / 9) + parseInt(x(439)) / 10 * (-parseInt(x(464)) / 11) === a) break;
222
+ n.push(n.shift());
223
+ } catch {
224
+ n.push(n.shift());
703
225
  }
704
- }
705
- };
706
- let f = [];
707
- const D = (t) => {
226
+ })(C, 273125);
227
+ const n0 = { gov: { prod: { config: d(525), report: d(501) }, beta: { config: "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLmdvdi1udHJ1c3MuY29tL3BsYXllci9jb25maWc=", report: d(510) } }, pub: { prod: { config: d(483), report: d(429) }, beta: { config: d(479), report: d(427) } } };
228
+ let L = [];
229
+ const r0 = (t) => {
230
+ const a = d;
708
231
  try {
709
232
  return atob(t);
710
- } catch (e) {
711
- return console.error("Base64 decoding failed:", e), "";
233
+ } catch (x) {
234
+ return console.error(a(461), x), "";
712
235
  }
713
236
  };
714
- class k {
715
- serverConfig = {};
716
- playerInfo = null;
237
+ function C() {
238
+ const t = ["webkitConnection", "string", "statusText", "platform", "options", "1887805zKighP", "getBrowserInfo", "text", "warn", "Error:", "protocol", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLm5hdmVybmNwLmNvbS9wbGF5ZXIvY29uZmln", "watermarkConfig", "length", "isInitialized", "aHR0cHM6Ly9wYXBpLnZwZS5uYXZlcm5jcC5jb20vcGxheWVyL2NvbmZpZw==", "Unknown", "translator", "initialize", "3548352PrQIRC", "screen", "2261651KefJkT", "isArray", "isDev", "167402KqMTZc", "isPaidTier", "E0003", "indexOf", "match", "playerInfo", "toString", "E0002", "getPlaylist", "aHR0cHM6Ly9sb2cudnBlLmdvdi1udHJ1c3MuY29tL3N0YXRz", "result", "join", "includes", "mobile", "playlist", "trim", "Chrome", "pricing", "aHR0cHM6Ly9sb2cuYmV0YS12cGUuZ292LW50cnVzcy5jb20vc3RhdHM=", "downlink", "reduce", "serverConfig", "?preview=true", "code", "setErrorRun", "accessKey", "VPE", "some", "createPlayerInfo", "errorState", "test", "unknown", "POST", "aHR0cHM6Ly9wYXBpLnZwZS5nb3YtbnRydXNzLmNvbS9wbGF5ZXIvY29uZmln", "HLS 파싱 실패:", "saveData", "mozConnection", "config", "origin", "stage", "getErrorState", "4qALmoA", "12NkCPtm", "round", "aHR0cHM6Ly9sb2cuYmV0YS12cGUubmF2ZXJuY3AuY29tL3N0YXRz", "performKeyCheck", "aHR0cHM6Ly9sb2cudnBlLm5hdmVybmNwLmNvbS9zdGF0cw==", "stringify", "rtt", "E0001", "connection", "491893otlbHI", "status", "name", "deviceMemory", "split", "50CZSGvK", "kbps", "userAgentData", "userAgent", "VPE Player: accessKey 또는 appId가 없어 키 인증을 건너뜁니다.", "9vlRivy", "auto", "controlBtn", "slice", "platformVersion", "startsWith", "Safari", "object", "maUse", "2894754fCOVzf", "appId", "language", "Edg", "push", "domain", "filter", "Edge", "Base64 decoding failed:", "error", "pay", "1159037qpUIuA", "getValidatedOptions", "application/json", "VPE SDK Initialization failed:"];
239
+ return C = function() {
240
+ return t;
241
+ }, C();
242
+ }
243
+ function V(t, a) {
244
+ return t = t - 426, C()[t];
245
+ }
246
+ class s0 {
247
+ [d(513)] = {};
248
+ [d(497)] = null;
717
249
  accessKey;
718
- appId;
719
- platform;
720
- stage;
721
- isDev;
250
+ [d(454)];
251
+ [d(471)];
252
+ [d(531)];
253
+ [d(491)];
722
254
  translator;
723
- errorState;
724
- // SDK 초기화에 필요한 기본 옵션을 보관한다.
725
- constructor({ accessKey: e, appId: a, platform: n, stage: o, isDev: r = !1, language: i }) {
726
- this.accessKey = e, this.appId = a || location.origin, this.platform = n, this.stage = o, this.isDev = r, this.translator = g(i), this.errorState = {
727
- errorCode: null,
728
- errorMessage: null
729
- };
255
+ [d(521)];
256
+ constructor({ accessKey: a, appId: x, platform: n, stage: r, isDev: s = !1, language: u }) {
257
+ const o = d;
258
+ this[o(517)] = a, this[o(454)] = x || location.origin, this[o(471)] = n, this.stage = r, this[o(491)] = s, this[o(485)] = G(u), this[o(521)] = { errorCode: null, errorMessage: null };
730
259
  }
731
- // 인증 키를 확인하고 서버 설정 및 MA를 초기화한다.
732
- async initialize() {
733
- const e = ["accessKey", "appId", "E0002", "E0001", "E0003"], a = "VPE Player: accessKey 또는 appId가 없어 키 인증을 건너뜁니다.";
734
- if ([this[e[0]], this[e[1]]].some((r) => !r))
735
- return console.warn(a), { error: this.setErrorRun(e[2]) };
736
- const o = (r) => (this.serverConfig = r, this.playerInfo = this.createPlayerInfo(r), this.playerInfo);
260
+ async [d(486)]() {
261
+ const a = d, x = [a(517), a(454), a(499), a(432), a(494)], n = a(443);
262
+ if ([this[x[0]], this[x[1]]][a(519)]((u) => !u)) return console[a(476)](n), { error: this[a(516)](x[2]) };
263
+ const s = (u) => {
264
+ const o = a;
265
+ return this.serverConfig = u, this[o(497)] = this[o(520)](u), this[o(497)];
266
+ };
737
267
  try {
738
- const r = await this.performKeyCheck();
739
- if (r.code !== 200)
740
- return { error: this.setErrorRun(e[3]) };
741
- const i = o(r);
742
- return await N(this.platform, this.stage, i, this.appId, this.accessKey), await B(this.accessKey), {
743
- options: this.serverConfig.result?.options,
744
- playerInfo: i
745
- };
746
- } catch (r) {
747
- return console.error("VPE SDK Initialization failed:", r), { error: this.setErrorRun(e[4]) };
268
+ const u = await this[a(428)]();
269
+ if (u[a(515)] !== 200) return { error: this[a(516)](x[3]) };
270
+ const o = s(u);
271
+ return await a0(this[a(471)], this.stage, o, this[a(454)], this[a(517)]), await e0(this.accessKey), { options: this[a(513)][a(502)]?.[a(472)], playerInfo: o };
272
+ } catch (u) {
273
+ return console[a(462)](a(467), u), { error: this.setErrorRun(x[4]) };
748
274
  }
749
275
  }
750
- // AccessKey 유효성을 검사하기 위해 서버에 구성 정보를 요청한다.
751
- async performKeyCheck() {
752
- const e = ["?preview=true", "config", "Content-Type", "application/json", "access_key", "domain", "POST"], a = this.isDev ? e[0] : "", n = D(E[this.platform][this.stage][e[1]]) + a, o = JSON.stringify(
753
- [e[4], e[5]].reduce((i, s, l) => (i[s] = [this.accessKey, this.appId][l], i), {})
754
- ), r = await fetch(n, {
755
- method: e[6],
756
- headers: { [e[2]]: e[3] },
757
- body: o
758
- });
759
- if (!r.ok)
760
- throw new Error(["API", "Error:", r.status, r.statusText].join(" "));
761
- return r.json();
276
+ async [d(428)]() {
277
+ const a = d, x = [a(514), a(529), "Content-Type", a(466), "access_key", a(458), a(524)], n = this[a(491)] ? x[0] : "", r = r0(n0[this[a(471)]][this[a(531)]][x[1]]) + n, s = JSON[a(430)]([x[4], x[5]][a(512)]((o, f, y) => {
278
+ const b = a;
279
+ return o[f] = [this[b(517)], this[b(454)]][y], o;
280
+ }, {})), u = await fetch(r, { method: x[6], headers: { [x[2]]: x[3] }, body: s });
281
+ if (!u.ok) throw new Error(["API", a(477), u[a(435)], u[a(470)]][a(503)](" "));
282
+ return u.json();
762
283
  }
763
- // 브라우저 UA 문자열을 파싱해 종류와 버전을 반환한다.
764
- getBrowserInfo() {
765
- const e = navigator.userAgent;
766
- return /Edg\/(\d+\.\d+)/.test(e) ? { origin: "Edge", version: RegExp.$1 } : /Chrome\/(\d+\.\d+)/.test(e) && !e.includes("Edg") ? { origin: "Chrome", version: RegExp.$1 } : /Firefox\/(\d+\.\d+)/.test(e) ? { origin: "Firefox", version: RegExp.$1 } : /Version\/(\d+\.\d+)/.test(e) && e.includes("Safari") ? { origin: "Safari", version: RegExp.$1 } : { origin: "Unknown", version: "Unknown" };
284
+ [d(474)]() {
285
+ const a = d, x = navigator.userAgent;
286
+ return /Edg\/(\d+\.\d+)/[a(522)](x) ? { origin: a(460), version: RegExp.$1 } : /Chrome\/(\d+\.\d+)/[a(522)](x) && !x[a(504)](a(456)) ? { origin: a(508), version: RegExp.$1 } : /Firefox\/(\d+\.\d+)/[a(522)](x) ? { origin: "Firefox", version: RegExp.$1 } : /Version\/(\d+\.\d+)/[a(522)](x) && x[a(504)](a(450)) ? { origin: a(450), version: RegExp.$1 } : { origin: "Unknown", version: a(484) };
767
287
  }
768
- // 서버에서 받은 정보와 클라이언트 환경을 합쳐 PlayerInfo를 구성한다.
769
- createPlayerInfo(e) {
770
- const [a, n] = e.result.name.split("|"), o = navigator.connection || navigator.mozConnection || navigator.webkitConnection, r = this.getBrowserInfo(), i = navigator.userAgentData;
771
- return {
772
- cid: e.result.cid,
773
- player_name: a,
774
- player_version: n,
775
- pricing: e.result.pricing,
776
- maUse: e.result.options?.maUse === "Y" ? "Y" : "N",
777
- browser: {
778
- lang: navigator.language,
779
- ua: navigator.userAgent
780
- },
781
- screen: {
782
- width: window.screen.width,
783
- height: window.screen.height
784
- },
785
- connection: {
786
- network: o?.effectiveType ?? "unknown",
787
- downlink: o?.downlink ?? null,
788
- rtt: o?.rtt ?? null,
789
- save_data: o?.saveData ?? !1
790
- },
791
- device: {
792
- platform: i?.platform ?? "Unknown",
793
- mobile: i?.mobile ?? !1,
794
- memory: navigator.deviceMemory ?? null,
795
- processor: navigator.hardwareConcurrency ?? null
796
- },
797
- video: { url: "" },
798
- extra: {
799
- vpeKey: this.accessKey,
800
- playerType: "VPE",
801
- playerVersion: n,
802
- device: i?.platform ?? "Unknown",
803
- os: i?.platform ?? "Unknown",
804
- osOrigin: i?.platform ?? "Unknown",
805
- osVersion: i?.platformVersion ?? "Unknown",
806
- vpePackageId: this.appId,
807
- actionDuration: 0,
808
- actionType: "ready",
809
- browser: r.origin,
810
- browserOrigin: r.origin,
811
- browserVersion: r.version,
812
- protocol: location.protocol,
813
- quality: "Other",
814
- qualityOrigin: "Auto",
815
- host: `${this.appId}&${i?.platform ?? "Unknown"}&${i?.platformVersion ?? "Unknown"}`,
816
- location: `${this.appId}://appView/video/vpe`,
817
- title: ""
818
- }
819
- };
288
+ [d(520)](a) {
289
+ const x = d, [n, r] = a[x(502)][x(436)][x(438)]("|"), s = navigator[x(433)] || navigator[x(528)] || navigator[x(468)], u = this.getBrowserInfo(), o = navigator[x(441)];
290
+ return { cid: a.result.cid, player_name: n, player_version: r, pricing: a[x(502)].pricing, maUse: a[x(502)][x(472)]?.[x(452)] === "Y" ? "Y" : "N", browser: { lang: navigator[x(455)], ua: navigator[x(442)] }, screen: { width: window[x(488)].width, height: window[x(488)].height }, connection: { network: s?.effectiveType ?? x(523), downlink: s?.[x(511)] ?? null, rtt: s?.[x(431)] ?? null, save_data: s?.[x(527)] ?? !1 }, device: { platform: o?.[x(471)] ?? "Unknown", mobile: o?.[x(505)] ?? !1, memory: navigator[x(437)] ?? null, processor: navigator.hardwareConcurrency ?? null }, video: { url: "" }, extra: { vpeKey: this[x(517)], playerType: x(518), playerVersion: r, device: o?.[x(471)] ?? "Unknown", os: o?.[x(471)] ?? x(484), osOrigin: o?.platform ?? x(484), osVersion: o?.[x(448)] ?? x(484), vpePackageId: this[x(454)], actionDuration: 0, actionType: "ready", browser: u[x(530)], browserOrigin: u.origin, browserVersion: u.version, protocol: location[x(478)], quality: "Other", qualityOrigin: "Auto", host: this[x(454)] + "&" + (o?.platform ?? "Unknown") + "&" + (o?.platformVersion ?? x(484)), location: this.appId + "://appView/video/vpe", title: "" } };
820
291
  }
821
- // 에러 코드를 번역하고 공통 포맷으로 반환한다.
822
- setErrorRun(e) {
823
- const a = e.slice(-2), n = this.translator.error[a] || this.translator.error["01"], o = {
824
- errorCode: e,
825
- errorMessage: n
826
- };
827
- return this.errorState = o, console.error("ncplayer : ", o), o;
292
+ [d(516)](a) {
293
+ const x = d, n = a[x(447)](-2), r = this.translator[x(462)][n] || this[x(485)][x(462)]["01"], s = { errorCode: a, errorMessage: r };
294
+ return this.errorState = s, console.error("ncplayer : ", s), s;
828
295
  }
829
- // 마지막 에러 상태를 반환한다.
830
- getErrorState() {
296
+ [d(532)]() {
831
297
  return this.errorState;
832
298
  }
833
- // 현재 요금제가 유료인지 여부를 반환한다.
834
- isPaidTier() {
835
- return this.serverConfig.result?.pricing === "pay";
299
+ [d(493)]() {
300
+ const a = d;
301
+ return this.serverConfig[a(502)]?.[a(509)] === a(463);
836
302
  }
837
- // 서버 설정이 존재해 초기화가 완료되었는지 확인한다.
838
- isInitialized() {
839
- return !!this.serverConfig.result;
303
+ [d(482)]() {
304
+ return !!this[d(513)].result;
840
305
  }
841
- // 서버 옵션과 전달된 옵션을 병합해 유효한 플레이어 옵션을 생성한다.
842
- getValidatedOptions(e) {
843
- const a = L(this.serverConfig.result?.options?.options), n = { ...a, ...e ?? {} };
844
- return e?.controlBtn && (n.controlBtn = { ...a.controlBtn, ...e.controlBtn }), e?.watermarkConfig && (n.watermarkConfig = { ...a.watermarkConfig, ...e.watermarkConfig }), n.playlist && !Array.isArray(n.playlist) && (n.playlist = [{ file: n.playlist }]), f = n.playlist || [], n;
306
+ [d(465)](a) {
307
+ const x = d, n = t0(this.serverConfig[x(502)]?.[x(472)]?.[x(472)]), r = { ...n, ...a ?? {} };
308
+ return a?.[x(446)] && (r[x(446)] = { ...n[x(446)], ...a[x(446)] }), a?.[x(480)] && (r[x(480)] = { ...n[x(480)], ...a[x(480)] }), r[x(506)] && !Array[x(490)](r.playlist) && (r[x(506)] = [{ file: r.playlist }]), L = r.playlist || [], r;
845
309
  }
846
- // 정규화된 플레이리스트를 반환한다.
847
- getPlaylist() {
848
- return f || [];
310
+ [d(500)]() {
311
+ return L || [];
849
312
  }
850
- /**
851
- *
852
- * @param key
853
- */
854
- // 다국어 키를 표기법으로 찾아 문자열을 반환한다.
855
- $t(e) {
856
- const a = e.split(".");
857
- let n = this.translator;
858
- for (const o of a)
859
- if (n && typeof n == "object" && o in n)
860
- n = n[o];
861
- else
862
- return e;
863
- return typeof n == "string" ? n : e;
313
+ $t(a) {
314
+ const x = d, n = a[x(438)](".");
315
+ let r = this[x(485)];
316
+ for (const s of n)
317
+ if (r && typeof r === x(451) && s in r) r = r[s];
318
+ else return a;
319
+ return typeof r === x(469) ? r : a;
864
320
  }
865
- async hlsPaser(e) {
866
- const a = [];
867
- if (!e || e.indexOf(".m3u8") === -1)
868
- return a;
869
- const n = (i, s) => {
321
+ async hlsPaser(a) {
322
+ const x = d, n = [];
323
+ if (!a || a[x(495)](".m3u8") === -1) return n;
324
+ const r = (o, f) => {
325
+ const y = x;
870
326
  try {
871
- return new URL(s, i).toString();
327
+ return new URL(f, o)[y(498)]();
872
328
  } catch {
873
- return s;
329
+ return f;
874
330
  }
875
- }, o = (i) => {
876
- const s = i.match(/RESOLUTION=(\d+)x(\d+)/);
877
- if (s)
878
- return `${s[2]}p`;
879
- const l = i.match(/BANDWIDTH=(\d+)/);
880
- return l ? `${Math.round(Number(l[1]) / 1e3)}kbps` : "auto";
881
- }, r = (i) => {
882
- const s = i.split(/\r?\n/).map((l) => l.trim()).filter((l) => l.length > 0);
883
- for (let l = 0; l < s.length; l += 1) {
884
- const p = s[l];
885
- if (p.startsWith("#EXT-X-STREAM-INF")) {
886
- const d = s[l + 1];
887
- d && !d.startsWith("#") && (a.push({
888
- quality: o(p),
889
- url: n(e, d),
890
- levelIndex: a.length
891
- }), l += 1);
331
+ }, s = (o) => {
332
+ const f = x, y = o[f(496)](/RESOLUTION=(\d+)x(\d+)/);
333
+ if (y) return y[2] + "p";
334
+ const b = o[f(496)](/BANDWIDTH=(\d+)/);
335
+ return b ? Math[f(426)](Number(b[1]) / 1e3) + f(440) : f(445);
336
+ }, u = (o) => {
337
+ const f = x, y = o[f(438)](/\r?\n/).map((b) => b[f(507)]())[f(459)]((b) => b[f(481)] > 0);
338
+ for (let b = 0; b < y[f(481)]; b += 1) {
339
+ const A = y[b];
340
+ if (A[f(449)]("#EXT-X-STREAM-INF")) {
341
+ const P = y[b + 1];
342
+ P && !P[f(449)]("#") && (n[f(457)]({ quality: s(A), url: r(a, P), levelIndex: n.length }), b += 1);
892
343
  }
893
344
  }
894
345
  };
895
346
  try {
896
- const i = await fetch(e);
897
- if (!i.ok)
898
- return a;
899
- const s = await i.text();
900
- return s && r(s), a;
901
- } catch (i) {
902
- return console.error("HLS 파싱 실패:", i), a;
347
+ const o = await fetch(a);
348
+ if (!o.ok) return n;
349
+ const f = await o[x(475)]();
350
+ return f && u(f), n;
351
+ } catch (o) {
352
+ return console[x(462)](x(526), o), n;
903
353
  }
904
354
  }
905
355
  }
356
+ (function(t, a) {
357
+ for (var x = i0, n = t(); ; )
358
+ try {
359
+ var r = parseInt(x(404)) / 1 * (-parseInt(x(401)) / 2) + -parseInt(x(396)) / 3 * (parseInt(x(402)) / 4) + parseInt(x(398)) / 5 * (parseInt(x(403)) / 6) + parseInt(x(397)) / 7 + -parseInt(x(393)) / 8 * (parseInt(x(395)) / 9) + -parseInt(x(400)) / 10 + -parseInt(x(399)) / 11 * (-parseInt(x(394)) / 12);
360
+ if (r === a) break;
361
+ n.push(n.shift());
362
+ } catch {
363
+ n.push(n.shift());
364
+ }
365
+ })(R, 374165);
366
+ function i0(t, a) {
367
+ t = t - 393;
368
+ var x = R(), n = x[t];
369
+ return n;
370
+ }
371
+ function R() {
372
+ var t = ["355201UnEcHd", "6906870ZngjCL", "8pnsLuV", "127284BSHoqb", "3998508CceMBd", "121571jPoeBy", "1910768uNiOJy", "672QGEEcs", "18aSwPVz", "51VosTbY", "665497HRybko", "5HXpVhb"];
373
+ return R = function() {
374
+ return t;
375
+ }, R();
376
+ }
906
377
  export {
907
- k as default
378
+ s0 as default
908
379
  };