shaka-player 3.3.2 → 4.0.0

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.
Files changed (389) hide show
  1. package/.csslintrc +11 -1
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  3. package/.github/pull_request_template.md +6 -34
  4. package/.github/workflows/build-and-test.yaml +129 -0
  5. package/.github/workflows/custom-actions/prep-for-appspot/action.yaml +56 -0
  6. package/.github/workflows/custom-actions/set-commit-status/action.yaml +41 -0
  7. package/.github/workflows/demo-version-index.yaml +37 -0
  8. package/.github/workflows/nightly-demo.yaml +42 -0
  9. package/.github/workflows/release-please.yaml +168 -0
  10. package/.github/workflows/safari-homedir-launcher.sh +18 -0
  11. package/.github/workflows/selenium-lab-tests.yaml +92 -0
  12. package/.github/workflows/sync-labels.yaml +33 -0
  13. package/.github/workflows/update-issues.yaml +29 -0
  14. package/.github/workflows/validate-pr-title.yaml +35 -0
  15. package/AUTHORS +3 -0
  16. package/CHANGELOG.md +1866 -1675
  17. package/CONTRIBUTING.md +2 -2
  18. package/CONTRIBUTORS +3 -0
  19. package/README.md +16 -13
  20. package/app-engine/README.md +9 -0
  21. package/app-engine/demo-version-index/README.md +14 -0
  22. package/app-engine/demo-version-index/app.yaml +28 -0
  23. package/app-engine/demo-version-index/generate.py +164 -0
  24. package/app-engine/demo-version-index/main.py +11 -0
  25. package/app-engine/demo-version-index/requirements.txt +5 -0
  26. package/app-engine/demo-version-index/templates/index.html +114 -0
  27. package/app-engine/shaka-player-demo/README.md +18 -0
  28. package/app-engine/shaka-player-demo/app.yaml +61 -0
  29. package/app-engine/shaka-player-demo/main.py +95 -0
  30. package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
  31. package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
  32. package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
  33. package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
  34. package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
  35. package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
  36. package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
  37. package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
  38. package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
  39. package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
  40. package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
  41. package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
  42. package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
  43. package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
  44. package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
  45. package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
  46. package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
  47. package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
  48. package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
  49. package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
  50. package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
  51. package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
  52. package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
  53. package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
  54. package/app-engine/shaka-player-demo/posters/sources.txt +46 -0
  55. package/app-engine/shaka-player-demo/posters/standard.png +0 -0
  56. package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
  57. package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
  58. package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
  59. package/app-engine/shaka-player-demo/posters.py +110 -0
  60. package/app-engine/shaka-player-demo/requirements.txt +5 -0
  61. package/app-engine/shaka-player-demo/time.txt +1 -0
  62. package/build/README.md +3 -3
  63. package/build/checkversion.py +1 -1
  64. package/build/compiler.py +1 -1
  65. package/build/conformance.textproto +13 -0
  66. package/build/docker/Dockerfile +20 -0
  67. package/build/docker/docker-compose.yml +10 -0
  68. package/build/gendeps.py +18 -15
  69. package/build/shaka-lab.yaml +161 -0
  70. package/build/shakaBuildHelpers.py +4 -29
  71. package/build/test.py +94 -29
  72. package/build/types/core +0 -1
  73. package/build/types/polyfill +1 -3
  74. package/build/wrapper.template.js +2 -2
  75. package/demo/TengwarTelcontar.woff2 +0 -0
  76. package/demo/asset_card.js +1 -2
  77. package/demo/cast_receiver/index.html +1 -1
  78. package/demo/cast_receiver/receiver_app.css +14 -14
  79. package/demo/common/asset.js +17 -1
  80. package/demo/common/assets.js +31 -0
  81. package/demo/common/message_ids.js +6 -3
  82. package/demo/config.js +10 -12
  83. package/demo/custom.js +39 -1
  84. package/demo/customWarning.txt +2 -2
  85. package/demo/demo.less +29 -18
  86. package/demo/demo_uncompiled.js +1 -13
  87. package/demo/demo_utils.js +0 -1
  88. package/demo/index.html +1 -1
  89. package/demo/locales/en.json +6 -3
  90. package/demo/locales/source.json +22 -10
  91. package/demo/main.js +12 -9
  92. package/demo/search.js +2 -1
  93. package/dist/controls.css +3 -3
  94. package/dist/controls.css.map +1 -1
  95. package/dist/demo.compiled.debug.js +236 -232
  96. package/dist/demo.compiled.debug.map +4 -4
  97. package/dist/demo.compiled.js +236 -232
  98. package/dist/demo.compiled.map +4 -4
  99. package/dist/demo.css +1 -1
  100. package/dist/demo.css.map +1 -1
  101. package/dist/deps.js +229 -226
  102. package/dist/locales.js +34 -32
  103. package/dist/receiver.compiled.debug.js +75 -73
  104. package/dist/receiver.compiled.debug.map +4 -4
  105. package/dist/receiver.compiled.js +75 -73
  106. package/dist/receiver.compiled.map +4 -4
  107. package/dist/shaka-player.compiled.d.ts +321 -314
  108. package/dist/shaka-player.compiled.debug.d.ts +321 -314
  109. package/dist/shaka-player.compiled.debug.externs.js +140 -129
  110. package/dist/shaka-player.compiled.debug.js +527 -592
  111. package/dist/shaka-player.compiled.debug.map +4 -4
  112. package/dist/shaka-player.compiled.externs.js +140 -129
  113. package/dist/shaka-player.compiled.js +836 -860
  114. package/dist/shaka-player.compiled.map +4 -4
  115. package/dist/shaka-player.ui.d.ts +367 -358
  116. package/dist/shaka-player.ui.debug.d.ts +367 -358
  117. package/dist/shaka-player.ui.debug.externs.js +148 -129
  118. package/dist/shaka-player.ui.debug.js +586 -649
  119. package/dist/shaka-player.ui.debug.map +4 -4
  120. package/dist/shaka-player.ui.externs.js +148 -129
  121. package/dist/shaka-player.ui.js +1008 -1028
  122. package/dist/shaka-player.ui.map +4 -4
  123. package/docs/design/REDESIGN.md +33 -33
  124. package/docs/design/bg-fetch.md +2 -2
  125. package/docs/design/codec_preferences.md +1 -1
  126. package/docs/design/dash-audio-channels.md +3 -3
  127. package/docs/design/dash-manifests.md +1 -1
  128. package/docs/design/gap-jumping.md +3 -3
  129. package/docs/design/preload.md +2 -2
  130. package/docs/tutorials/config.md +0 -2
  131. package/docs/tutorials/drm-config.md +5 -0
  132. package/docs/tutorials/fairplay.md +7 -22
  133. package/docs/tutorials/faq.md +8 -19
  134. package/docs/tutorials/index.json +3 -8
  135. package/docs/tutorials/plugins.md +4 -6
  136. package/docs/tutorials/selenium-grid-config.md +122 -0
  137. package/docs/tutorials/upgrade.md +83 -11
  138. package/docs/tutorials/welcome.md +10 -2
  139. package/externs/cmcd.js +1 -1
  140. package/externs/polyfill.js +15 -0
  141. package/externs/shaka/manifest.js +5 -1
  142. package/externs/shaka/net.js +12 -0
  143. package/externs/shaka/offline.js +5 -1
  144. package/externs/shaka/player.js +39 -32
  145. package/externs/shaka/text.js +12 -12
  146. package/externs/sourcebuffer.js +15 -0
  147. package/karma.conf.js +137 -30
  148. package/lib/abr/simple_abr_manager.js +12 -6
  149. package/lib/ads/client_side_ad.js +13 -2
  150. package/lib/ads/client_side_ad_manager.js +22 -4
  151. package/lib/cast/cast_proxy.js +3 -4
  152. package/lib/cast/cast_utils.js +0 -1
  153. package/lib/cea/cea608_data_channel.js +2 -2
  154. package/lib/cea/cea708_service.js +5 -4
  155. package/lib/cea/mp4_cea_parser.js +11 -5
  156. package/lib/cea/sei_processor.js +6 -3
  157. package/lib/dash/content_protection.js +85 -5
  158. package/lib/dash/dash_parser.js +10 -12
  159. package/lib/dash/mpd_utils.js +4 -5
  160. package/lib/dash/segment_list.js +1 -2
  161. package/lib/dash/segment_template.js +3 -3
  162. package/lib/hls/hls_parser.js +386 -749
  163. package/lib/hls/manifest_text_parser.js +5 -6
  164. package/lib/media/adaptation_set.js +1 -2
  165. package/lib/media/content_workarounds.js +2 -2
  166. package/lib/media/drm_engine.js +105 -55
  167. package/lib/media/gap_jumping_controller.js +10 -45
  168. package/lib/media/media_source_engine.js +90 -17
  169. package/lib/media/mp4_segment_index_parser.js +1 -4
  170. package/lib/media/playhead.js +4 -7
  171. package/lib/media/presentation_timeline.js +19 -10
  172. package/lib/media/segment_index.js +13 -46
  173. package/lib/media/segment_reference.js +47 -1
  174. package/lib/media/streaming_engine.js +35 -17
  175. package/lib/media/time_ranges_utils.js +5 -12
  176. package/lib/media/video_wrapper.js +1 -1
  177. package/lib/net/networking_engine.js +4 -1
  178. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  179. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  180. package/lib/offline/manifest_converter.js +1 -0
  181. package/lib/offline/storage.js +104 -136
  182. package/lib/player.js +50 -216
  183. package/lib/polyfill/all.js +2 -3
  184. package/lib/polyfill/encryption_scheme.js +1 -1
  185. package/lib/polyfill/media_capabilities.js +15 -9
  186. package/lib/polyfill/mediasource.js +0 -28
  187. package/lib/polyfill/patchedmediakeys_nop.js +2 -0
  188. package/lib/polyfill/patchedmediakeys_webkit.js +2 -0
  189. package/lib/polyfill/symbol.js +46 -0
  190. package/lib/text/cue.js +1 -7
  191. package/lib/text/lrc_text_parser.js +8 -0
  192. package/lib/text/mp4_ttml_parser.js +8 -0
  193. package/lib/text/mp4_vtt_parser.js +8 -0
  194. package/lib/text/sbv_text_parser.js +8 -0
  195. package/lib/text/simple_text_displayer.js +3 -8
  196. package/lib/text/srt_text_parser.js +8 -0
  197. package/lib/text/ssa_text_parser.js +8 -0
  198. package/lib/text/text_engine.js +19 -3
  199. package/lib/text/ttml_text_parser.js +16 -5
  200. package/lib/text/ui_text_displayer.js +2 -8
  201. package/lib/text/vtt_text_parser.js +24 -2
  202. package/lib/text/web_vtt_generator.js +1 -7
  203. package/lib/util/buffer_utils.js +1 -3
  204. package/lib/util/ebml_parser.js +3 -3
  205. package/lib/util/error.js +10 -14
  206. package/lib/util/fairplay_utils.js +109 -0
  207. package/lib/util/functional.js +0 -42
  208. package/lib/util/iterables.js +0 -46
  209. package/lib/util/mime_utils.js +2 -0
  210. package/lib/util/mp4_box_parsers.js +1 -4
  211. package/lib/util/mp4_parser.js +5 -7
  212. package/lib/util/periods.js +10 -11
  213. package/lib/util/platform.js +48 -3
  214. package/lib/util/player_configuration.js +12 -6
  215. package/lib/util/pssh.js +24 -8
  216. package/lib/util/stream_utils.js +96 -25
  217. package/lib/util/string_utils.js +3 -5
  218. package/lib/util/uint8array_utils.js +3 -21
  219. package/lib/util/xml_utils.js +16 -8
  220. package/package.json +61 -36
  221. package/roadmap.md +27 -27
  222. package/shaka-player.uncompiled.js +1 -3
  223. package/test/abr/simple_abr_manager_unit.js +3 -8
  224. package/test/ads/ad_manager_unit.js +0 -6
  225. package/test/cast/cast_proxy_unit.js +0 -8
  226. package/test/cast/cast_receiver_integration.js +1 -18
  227. package/test/cast/cast_receiver_unit.js +1 -9
  228. package/test/cast/cast_sender_unit.js +0 -6
  229. package/test/cast/cast_utils_unit.js +1 -13
  230. package/test/cea/cea608_memory_unit.js +0 -5
  231. package/test/cea/cea708_service_unit.js +0 -7
  232. package/test/cea/cea708_window_unit.js +0 -5
  233. package/test/cea/cea_decoder_unit.js +0 -6
  234. package/test/cea/dtvcc_packet_builder_unit.js +0 -3
  235. package/test/cea/dtvcc_packet_unit.js +0 -5
  236. package/test/cea/mp4_cea_parser_unit.js +0 -4
  237. package/test/dash/dash_parser_content_protection_unit.js +45 -10
  238. package/test/dash/dash_parser_live_unit.js +2 -15
  239. package/test/dash/dash_parser_manifest_unit.js +2 -40
  240. package/test/dash/dash_parser_segment_base_unit.js +1 -8
  241. package/test/dash/dash_parser_segment_list_unit.js +1 -7
  242. package/test/dash/dash_parser_segment_template_unit.js +3 -13
  243. package/test/dash/mpd_utils_unit.js +3 -11
  244. package/test/demo/demo_unit.js +2 -6
  245. package/test/deprecate/enforcer_unit.js +0 -4
  246. package/test/deprecate/version_unit.js +0 -2
  247. package/test/hls/hls_live_unit.js +101 -234
  248. package/test/hls/hls_parser_unit.js +517 -447
  249. package/test/hls/manifest_text_parser_unit.js +0 -10
  250. package/test/media/adaptation_set_criteria_unit.js +3 -7
  251. package/test/media/adaptation_set_unit.js +0 -2
  252. package/test/media/buffering_observer_unit.js +1 -4
  253. package/test/media/closed_caption_parser_unit.js +0 -3
  254. package/test/media/drm_engine_integration.js +2 -15
  255. package/test/media/drm_engine_unit.js +90 -144
  256. package/test/media/manifest_parser_unit.js +0 -4
  257. package/test/media/media_source_engine_integration.js +26 -10
  258. package/test/media/media_source_engine_unit.js +8 -20
  259. package/test/media/mp4_segment_index_parser_unit.js +0 -4
  260. package/test/media/play_rate_controller_unit.js +0 -4
  261. package/test/media/playhead_unit.js +35 -207
  262. package/test/media/presentation_timeline_unit.js +4 -7
  263. package/test/media/quality_observer_unit.js +0 -4
  264. package/test/media/region_observer_unit.js +1 -6
  265. package/test/media/region_timeline_unit.js +0 -3
  266. package/test/media/segment_index_unit.js +15 -31
  267. package/test/media/segment_reference_unit.js +0 -3
  268. package/test/media/stall_detector_unit.js +0 -5
  269. package/test/media/streaming_engine_integration.js +13 -75
  270. package/test/media/streaming_engine_unit.js +14 -37
  271. package/test/media/time_ranges_utils_unit.js +0 -7
  272. package/test/media/transmuxer_integration.js +0 -6
  273. package/test/media/webm_segment_index_parser_unit.js +0 -4
  274. package/test/net/data_uri_plugin_unit.js +0 -7
  275. package/test/net/http_plugin_unit.js +0 -9
  276. package/test/net/networking_engine_unit.js +0 -11
  277. package/test/offline/download_progress_estimator_unit.js +0 -2
  278. package/test/offline/indexeddb_storage_unit.js +0 -6
  279. package/test/offline/manifest_convert_unit.js +34 -12
  280. package/test/offline/offline_integration.js +1 -10
  281. package/test/offline/offline_manifest_parser_unit.js +1 -6
  282. package/test/offline/offline_scheme_unit.js +0 -8
  283. package/test/offline/offline_uri_unit.js +0 -2
  284. package/test/offline/storage_compatibility_unit.js +1 -14
  285. package/test/offline/storage_integration.js +6 -31
  286. package/test/player_external.js +1 -15
  287. package/test/player_integration.js +38 -28
  288. package/test/player_load_graph_integration.js +1 -6
  289. package/test/player_src_equals_external.js +3 -9
  290. package/test/player_src_equals_integration.js +0 -7
  291. package/test/player_unit.js +78 -37
  292. package/test/routing/walker_unit.js +0 -8
  293. package/test/test/assets/large_file.mpd +1 -1
  294. package/test/test/boot.js +75 -22
  295. package/test/test/externs/jasmine.js +2 -2
  296. package/test/test/externs/karma.js +4 -0
  297. package/test/test/namespace.js +10 -0
  298. package/test/test/util/canned_idb.js +0 -8
  299. package/test/test/util/cea_utils.js +0 -6
  300. package/test/test/util/dash_parser_util.js +0 -13
  301. package/test/test/util/fake_ad.js +0 -3
  302. package/test/test/util/fake_ad_manager.js +0 -9
  303. package/test/test/util/fake_demo_main.js +0 -5
  304. package/test/test/util/fake_drm_engine.js +0 -6
  305. package/test/test/util/fake_media_source_engine.js +11 -11
  306. package/test/test/util/fake_networking_engine.js +0 -5
  307. package/test/test/util/fake_text_displayer.js +0 -5
  308. package/test/test/util/indexeddb_utils.js +1 -10
  309. package/test/test/util/jasmine_fetch.js +0 -1
  310. package/test/test/util/loader.js +0 -18
  311. package/test/test/util/manifest_generator.js +12 -15
  312. package/test/test/util/manifest_parser_util.js +4 -7
  313. package/test/test/util/offline_utils.js +1 -5
  314. package/test/test/util/simple_fakes.js +9 -26
  315. package/test/test/util/stream_generator.js +0 -14
  316. package/test/test/util/streaming_engine_util.js +1 -15
  317. package/test/test/util/test_scheme.js +25 -20
  318. package/test/test/util/ttml_utils.js +0 -2
  319. package/test/test/util/ui_utils.js +0 -9
  320. package/test/test/util/util.js +9 -23
  321. package/test/test/util/waiter.js +84 -43
  322. package/test/text/cue_integration.js +2 -6
  323. package/test/text/lrc_text_parser_unit.js +6 -11
  324. package/test/text/mp4_ttml_parser_unit.js +6 -10
  325. package/test/text/mp4_vtt_parser_unit.js +7 -12
  326. package/test/text/sbv_text_parser_unit.js +5 -10
  327. package/test/text/simple_text_displayer_unit.js +1 -8
  328. package/test/text/srt_text_parser_unit.js +5 -10
  329. package/test/text/ssa_text_parser_unit.js +17 -34
  330. package/test/text/text_engine_unit.js +47 -12
  331. package/test/text/text_track_integration.js +0 -2
  332. package/test/text/ttml_text_parser_unit.js +79 -88
  333. package/test/text/ui_text_displayer_unit.js +44 -41
  334. package/test/text/vtt_text_parser_unit.js +55 -66
  335. package/test/text/web_vtt_generator_unit.js +0 -3
  336. package/test/ui/ad_ui_unit.js +0 -11
  337. package/test/ui/localization_unit.js +0 -3
  338. package/test/ui/text_displayer_layout_unit.js +1 -12
  339. package/test/ui/ui_customization_unit.js +0 -6
  340. package/test/ui/ui_integration.js +0 -32
  341. package/test/ui/ui_unit.js +28 -17
  342. package/test/util/abortable_operation_unit.js +4 -9
  343. package/test/util/array_utils_unit.js +0 -2
  344. package/test/util/buffer_utils_unit.js +0 -2
  345. package/test/util/cmcd_manager_unit.js +3 -3
  346. package/test/util/data_view_reader_unit.js +0 -4
  347. package/test/util/ebml_parser_unit.js +0 -4
  348. package/test/util/event_manager_unit.js +0 -3
  349. package/test/util/fake_event_target_unit.js +0 -5
  350. package/test/util/iterables_unit.js +0 -64
  351. package/test/util/language_utils_unit.js +0 -3
  352. package/test/util/manifest_parser_utils_unit.js +0 -2
  353. package/test/util/mp4_box_parsers_unit.js +0 -5
  354. package/test/util/mp4_parser_unit.js +0 -4
  355. package/test/util/multi_map_unit.js +0 -3
  356. package/test/util/object_utils_unit.js +0 -2
  357. package/test/util/periods_unit.js +14 -7
  358. package/test/util/pssh_unit.js +0 -5
  359. package/test/util/state_history_unit.js +0 -2
  360. package/test/util/stream_utils_unit.js +26 -15
  361. package/test/util/string_utils_unit.js +0 -6
  362. package/test/util/text_parser_unit.js +0 -2
  363. package/test/util/xml_utils_unit.js +0 -4
  364. package/ui/controls.js +65 -40
  365. package/ui/fullscreen_button.js +26 -6
  366. package/ui/less/ad_controls.less +6 -6
  367. package/ui/less/buttons.less +6 -6
  368. package/ui/less/containers.less +10 -12
  369. package/ui/less/overflow_menu.less +4 -4
  370. package/ui/less/range_elements.less +7 -2
  371. package/ui/less/tooltip.less +4 -4
  372. package/ui/locales/en.json +1 -0
  373. package/ui/locales/sjn-translations.yaml +257 -0
  374. package/ui/locales/sjn.json +42 -0
  375. package/ui/locales/source.json +5 -0
  376. package/ui/resolution_selection.js +31 -33
  377. package/ui/seek_bar.js +2 -1
  378. package/ui/ui.js +0 -17
  379. package/.github/workflows/build_and_test.yaml +0 -73
  380. package/.github/workflows/release.yaml +0 -53
  381. package/docs/tutorials/upgrade-v2-5.md +0 -441
  382. package/docs/tutorials/upgrade-v3.md +0 -38
  383. package/externs/svgelement.js +0 -18
  384. package/externs/webcrypto.js +0 -18
  385. package/lib/polyfill/mathround.js +0 -49
  386. package/lib/polyfill/patchedmediakeys_apple.js +0 -744
  387. package/lib/polyfill/patchedmediakeys_ms.js +0 -698
  388. package/lib/util/mutex.js +0 -52
  389. package/test/util/functional_unit.js +0 -82
@@ -8,7 +8,7 @@ $jscomp.arrayFromIterable=function(a){return a instanceof Array?a:$jscomp.arrayF
8
8
  $jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};$jscomp.getGlobal=function(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");};$jscomp.global=$jscomp.getGlobal(this);
9
9
  $jscomp.IS_SYMBOL_NATIVE="function"===typeof Symbol&&"symbol"===typeof Symbol("x");$jscomp.TRUST_ES6_POLYFILLS=!$jscomp.ISOLATE_POLYFILLS||$jscomp.IS_SYMBOL_NATIVE;$jscomp.polyfills={};$jscomp.propertyToPolyfillSymbol={};$jscomp.POLYFILL_PREFIX="$jscp$";var $jscomp$lookupPolyfilledValue=function(a,b){var c=$jscomp.propertyToPolyfillSymbol[b];if(null==c)return a[b];c=a[c];return void 0!==c?c:a[b]};
10
10
  $jscomp.polyfill=function(a,b,c,d){b&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfillIsolated(a,b,c,d):$jscomp.polyfillUnisolated(a,b,c,d))};$jscomp.polyfillUnisolated=function(a,b,c,d){c=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))return;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})};
11
- $jscomp.polyfillIsolated=function(a,b,c,d){var e=a.split(".");a=1===e.length;d=e[0];d=!a&&d in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var g=0;g<e.length-1;g++){var f=e[g];if(!(f in d))return;d=d[f]}e=e[e.length-1];c=$jscomp.IS_SYMBOL_NATIVE&&"es6"===c?d[e]:null;b=b(c);null!=b&&(a?$jscomp.defineProperty($jscomp.polyfills,e,{configurable:!0,writable:!0,value:b}):b!==c&&(void 0===$jscomp.propertyToPolyfillSymbol[e]&&(c=1E9*Math.random()>>>0,$jscomp.propertyToPolyfillSymbol[e]=$jscomp.IS_SYMBOL_NATIVE?
11
+ $jscomp.polyfillIsolated=function(a,b,c,d){var e=a.split(".");a=1===e.length;d=e[0];d=!a&&d in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var f=0;f<e.length-1;f++){var g=e[f];if(!(g in d))return;d=d[g]}e=e[e.length-1];c=$jscomp.IS_SYMBOL_NATIVE&&"es6"===c?d[e]:null;b=b(c);null!=b&&(a?$jscomp.defineProperty($jscomp.polyfills,e,{configurable:!0,writable:!0,value:b}):b!==c&&(void 0===$jscomp.propertyToPolyfillSymbol[e]&&(c=1E9*Math.random()>>>0,$jscomp.propertyToPolyfillSymbol[e]=$jscomp.IS_SYMBOL_NATIVE?
12
12
  $jscomp.global.Symbol(e):$jscomp.POLYFILL_PREFIX+c+"$"+e),$jscomp.defineProperty(d,$jscomp.propertyToPolyfillSymbol[e],{configurable:!0,writable:!0,value:b})))};
13
13
  $jscomp.getConstructImplementation=function(){function a(){function c(){}new c;Reflect.construct(c,[],function(){});return new c instanceof c}if($jscomp.TRUST_ES6_POLYFILLS&&"undefined"!=typeof Reflect&&Reflect.construct){if(a())return Reflect.construct;var b=Reflect.construct;return function(c,d,e){c=b(c,d);e&&Reflect.setPrototypeOf(c,e.prototype);return c}}return function(c,d,e){void 0===e&&(e=c);e=$jscomp.objectCreate(e.prototype||Object.prototype);return Function.prototype.apply.call(c,e,d)||
14
14
  e}};$jscomp.construct={valueOf:$jscomp.getConstructImplementation}.valueOf();$jscomp.underscoreProtoCanBeSet=function(){var a={a:!0},b={};try{return b.__proto__=a,b.a}catch(c){}return!1};$jscomp.setPrototypeOf=$jscomp.TRUST_ES6_POLYFILLS&&"function"==typeof Object.setPrototypeOf?Object.setPrototypeOf:$jscomp.underscoreProtoCanBeSet()?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null;
@@ -24,51 +24,49 @@ $jscomp.generator.Context.PropertyIterator=function(a){this.object_=a;this.prope
24
24
  $jscomp.generator.Engine_.prototype.next_=function(a){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_.next,a,this.context_.next_);this.context_.next_(a);return this.nextStep_()};
25
25
  $jscomp.generator.Engine_.prototype.return_=function(a){this.context_.start_();var b=this.context_.yieldAllIterator_;if(b)return this.yieldAllStep_("return"in b?b["return"]:function(c){return{value:c,done:!0}},a,this.context_["return"]);this.context_["return"](a);return this.nextStep_()};
26
26
  $jscomp.generator.Engine_.prototype.throw_=function(a){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_["throw"],a,this.context_.next_);this.context_.throw_(a);return this.nextStep_()};
27
- $jscomp.generator.Engine_.prototype.yieldAllStep_=function(a,b,c){try{var d=a.call(this.context_.yieldAllIterator_,b);$jscomp.generator.ensureIteratorResultIsObject_(d);if(!d.done)return this.context_.stop_(),d;var e=d.value}catch(g){return this.context_.yieldAllIterator_=null,this.context_.throw_(g),this.nextStep_()}this.context_.yieldAllIterator_=null;c.call(this.context_,e);return this.nextStep_()};
27
+ $jscomp.generator.Engine_.prototype.yieldAllStep_=function(a,b,c){try{var d=a.call(this.context_.yieldAllIterator_,b);$jscomp.generator.ensureIteratorResultIsObject_(d);if(!d.done)return this.context_.stop_(),d;var e=d.value}catch(f){return this.context_.yieldAllIterator_=null,this.context_.throw_(f),this.nextStep_()}this.context_.yieldAllIterator_=null;c.call(this.context_,e);return this.nextStep_()};
28
28
  $jscomp.generator.Engine_.prototype.nextStep_=function(){for(;this.context_.nextAddress;)try{var a=this.program_(this.context_);if(a)return this.context_.stop_(),{value:a.value,done:!1}}catch(b){this.context_.yieldResult=void 0,this.context_.throw_(b)}this.context_.stop_();if(this.context_.abruptCompletion_){a=this.context_.abruptCompletion_;this.context_.abruptCompletion_=null;if(a.isException)throw a.exception;return{value:a["return"],done:!0}}return{value:void 0,done:!0}};
29
29
  $jscomp.generator.Generator_=function(a){this.next=function(b){return a.next_(b)};this["throw"]=function(b){return a.throw_(b)};this["return"]=function(b){return a.return_(b)};this[Symbol.iterator]=function(){return this}};$jscomp.generator.createGenerator=function(a,b){var c=new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(b));$jscomp.setPrototypeOf&&a.prototype&&$jscomp.setPrototypeOf(c,a.prototype);return c};
30
- $jscomp.asyncExecutePromiseGenerator=function(a){function b(d){return a.next(d)}function c(d){return a["throw"](d)}return new Promise(function(d,e){function g(f){f.done?d(f.value):Promise.resolve(f.value).then(b,c).then(g,e)}g(a.next())})};$jscomp.asyncExecutePromiseGeneratorFunction=function(a){return $jscomp.asyncExecutePromiseGenerator(a())};$jscomp.asyncExecutePromiseGeneratorProgram=function(a){return $jscomp.asyncExecutePromiseGenerator(new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(a)))};
30
+ $jscomp.asyncExecutePromiseGenerator=function(a){function b(d){return a.next(d)}function c(d){return a["throw"](d)}return new Promise(function(d,e){function f(g){g.done?d(g.value):Promise.resolve(g.value).then(b,c).then(f,e)}f(a.next())})};$jscomp.asyncExecutePromiseGeneratorFunction=function(a){return $jscomp.asyncExecutePromiseGenerator(a())};$jscomp.asyncExecutePromiseGeneratorProgram=function(a){return $jscomp.asyncExecutePromiseGenerator(new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(a)))};
31
31
  $jscomp.polyfill("Reflect",function(a){return a?a:{}},"es6","es3");$jscomp.polyfill("Reflect.construct",function(a){return $jscomp.construct},"es6","es3");$jscomp.polyfill("Reflect.setPrototypeOf",function(a){if(a)return a;if($jscomp.setPrototypeOf){var b=$jscomp.setPrototypeOf;return function(c,d){try{return b(c,d),!0}catch(e){return!1}}}return null},"es6","es5");$jscomp.initSymbol=function(){};
32
- $jscomp.polyfill("Symbol",function(a){if(a)return a;var b=function(g,f){this.$jscomp$symbol$id_=g;$jscomp.defineProperty(this,"description",{configurable:!0,writable:!0,value:f})};b.prototype.toString=function(){return this.$jscomp$symbol$id_};var c="jscomp_symbol_"+(1E9*Math.random()>>>0)+"_",d=0,e=function(g){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new b(c+(g||"")+"_"+d++,g)};return e},"es6","es3");
32
+ $jscomp.polyfill("Symbol",function(a){if(a)return a;var b=function(f,g){this.$jscomp$symbol$id_=f;$jscomp.defineProperty(this,"description",{configurable:!0,writable:!0,value:g})};b.prototype.toString=function(){return this.$jscomp$symbol$id_};var c="jscomp_symbol_"+(1E9*Math.random()>>>0)+"_",d=0,e=function(f){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new b(c+(f||"")+"_"+d++,f)};return e},"es6","es3");
33
33
  $jscomp.polyfill("Symbol.iterator",function(a){if(a)return a;a=Symbol("Symbol.iterator");for(var b="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),c=0;c<b.length;c++){var d=$jscomp.global[b[c]];"function"===typeof d&&"function"!=typeof d.prototype[a]&&$jscomp.defineProperty(d.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this))}})}return a},"es6",
34
34
  "es3");$jscomp.iteratorPrototype=function(a){a={next:a};a[Symbol.iterator]=function(){return this};return a};
35
- $jscomp.polyfill("Promise",function(a){function b(){this.batch_=null}function c(f){return f instanceof e?f:new e(function(h,k){h(f)})}if(a&&(!($jscomp.FORCE_POLYFILL_PROMISE||$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION&&"undefined"===typeof $jscomp.global.PromiseRejectionEvent)||!$jscomp.global.Promise||-1===$jscomp.global.Promise.toString().indexOf("[native code]")))return a;b.prototype.asyncExecute=function(f){if(null==this.batch_){this.batch_=[];var h=this;this.asyncExecuteFunction(function(){h.executeBatch_()})}this.batch_.push(f)};
36
- var d=$jscomp.global.setTimeout;b.prototype.asyncExecuteFunction=function(f){d(f,0)};b.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var f=this.batch_;this.batch_=[];for(var h=0;h<f.length;++h){var k=f[h];f[h]=null;try{k()}catch(l){this.asyncThrow_(l)}}}this.batch_=null};b.prototype.asyncThrow_=function(f){this.asyncExecuteFunction(function(){throw f;})};var e=function(f){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];this.isRejectionHandled_=!1;var h=this.createResolveAndReject_();
37
- try{f(h.resolve,h.reject)}catch(k){h.reject(k)}};e.prototype.createResolveAndReject_=function(){function f(l){return function(m){k||(k=!0,l.call(h,m))}}var h=this,k=!1;return{resolve:f(this.resolveTo_),reject:f(this.reject_)}};e.prototype.resolveTo_=function(f){if(f===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(f instanceof e)this.settleSameAsPromise_(f);else{a:switch(typeof f){case "object":var h=null!=f;break a;case "function":h=!0;break a;default:h=!1}h?this.resolveToNonPromiseObj_(f):
38
- this.fulfill_(f)}};e.prototype.resolveToNonPromiseObj_=function(f){var h=void 0;try{h=f.then}catch(k){this.reject_(k);return}"function"==typeof h?this.settleSameAsThenable_(h,f):this.fulfill_(f)};e.prototype.reject_=function(f){this.settle_(2,f)};e.prototype.fulfill_=function(f){this.settle_(1,f)};e.prototype.settle_=function(f,h){if(0!=this.state_)throw Error("Cannot settle("+f+", "+h+"): Promise already settled in state"+this.state_);this.state_=f;this.result_=h;2===this.state_&&this.scheduleUnhandledRejectionCheck_();
39
- this.executeOnSettledCallbacks_()};e.prototype.scheduleUnhandledRejectionCheck_=function(){var f=this;d(function(){if(f.notifyUnhandledRejection_()){var h=$jscomp.global.console;"undefined"!==typeof h&&h.error(f.result_)}},1)};e.prototype.notifyUnhandledRejection_=function(){if(this.isRejectionHandled_)return!1;var f=$jscomp.global.CustomEvent,h=$jscomp.global.Event,k=$jscomp.global.dispatchEvent;if("undefined"===typeof k)return!0;"function"===typeof f?f=new f("unhandledrejection",{cancelable:!0}):
40
- "function"===typeof h?f=new h("unhandledrejection",{cancelable:!0}):(f=$jscomp.global.document.createEvent("CustomEvent"),f.initCustomEvent("unhandledrejection",!1,!0,f));f.promise=this;f.reason=this.result_;return k(f)};e.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var f=0;f<this.onSettledCallbacks_.length;++f)g.asyncExecute(this.onSettledCallbacks_[f]);this.onSettledCallbacks_=null}};var g=new b;e.prototype.settleSameAsPromise_=function(f){var h=this.createResolveAndReject_();
41
- f.callWhenSettled_(h.resolve,h.reject)};e.prototype.settleSameAsThenable_=function(f,h){var k=this.createResolveAndReject_();try{f.call(h,k.resolve,k.reject)}catch(l){k.reject(l)}};e.prototype.then=function(f,h){function k(p,q){return"function"==typeof p?function(t){try{l(p(t))}catch(v){m(v)}}:q}var l,m,n=new e(function(p,q){l=p;m=q});this.callWhenSettled_(k(f,l),k(h,m));return n};e.prototype["catch"]=function(f){return this.then(void 0,f)};e.prototype.callWhenSettled_=function(f,h){function k(){switch(l.state_){case 1:f(l.result_);
42
- break;case 2:h(l.result_);break;default:throw Error("Unexpected state: "+l.state_);}}var l=this;null==this.onSettledCallbacks_?g.asyncExecute(k):this.onSettledCallbacks_.push(k);this.isRejectionHandled_=!0};e.resolve=c;e.reject=function(f){return new e(function(h,k){k(f)})};e.race=function(f){return new e(function(h,k){for(var l=$jscomp.makeIterator(f),m=l.next();!m.done;m=l.next())c(m.value).callWhenSettled_(h,k)})};e.all=function(f){var h=$jscomp.makeIterator(f),k=h.next();return k.done?c([]):new e(function(l,
43
- m){function n(t){return function(v){p[t]=v;q--;0==q&&l(p)}}var p=[],q=0;do p.push(void 0),q++,c(k.value).callWhenSettled_(n(p.length-1),m),k=h.next();while(!k.done)})};return e},"es6","es3");$jscomp.checkEs6ConformanceViaProxy=function(){try{var a={},b=Object.create(new $jscomp.global.Proxy(a,{get:function(c,d,e){return c==a&&"q"==d&&e==b}}));return!0===b.q}catch(c){return!1}};$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS=!1;$jscomp.ES6_CONFORMANCE=$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS&&$jscomp.checkEs6ConformanceViaProxy();
35
+ $jscomp.polyfill("Promise",function(a){function b(){this.batch_=null}function c(g){return g instanceof e?g:new e(function(h,k){h(g)})}if(a&&(!($jscomp.FORCE_POLYFILL_PROMISE||$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION&&"undefined"===typeof $jscomp.global.PromiseRejectionEvent)||!$jscomp.global.Promise||-1===$jscomp.global.Promise.toString().indexOf("[native code]")))return a;b.prototype.asyncExecute=function(g){if(null==this.batch_){this.batch_=[];var h=this;this.asyncExecuteFunction(function(){h.executeBatch_()})}this.batch_.push(g)};
36
+ var d=$jscomp.global.setTimeout;b.prototype.asyncExecuteFunction=function(g){d(g,0)};b.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var g=this.batch_;this.batch_=[];for(var h=0;h<g.length;++h){var k=g[h];g[h]=null;try{k()}catch(l){this.asyncThrow_(l)}}}this.batch_=null};b.prototype.asyncThrow_=function(g){this.asyncExecuteFunction(function(){throw g;})};var e=function(g){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];this.isRejectionHandled_=!1;var h=this.createResolveAndReject_();
37
+ try{g(h.resolve,h.reject)}catch(k){h.reject(k)}};e.prototype.createResolveAndReject_=function(){function g(l){return function(m){k||(k=!0,l.call(h,m))}}var h=this,k=!1;return{resolve:g(this.resolveTo_),reject:g(this.reject_)}};e.prototype.resolveTo_=function(g){if(g===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(g instanceof e)this.settleSameAsPromise_(g);else{a:switch(typeof g){case "object":var h=null!=g;break a;case "function":h=!0;break a;default:h=!1}h?this.resolveToNonPromiseObj_(g):
38
+ this.fulfill_(g)}};e.prototype.resolveToNonPromiseObj_=function(g){var h=void 0;try{h=g.then}catch(k){this.reject_(k);return}"function"==typeof h?this.settleSameAsThenable_(h,g):this.fulfill_(g)};e.prototype.reject_=function(g){this.settle_(2,g)};e.prototype.fulfill_=function(g){this.settle_(1,g)};e.prototype.settle_=function(g,h){if(0!=this.state_)throw Error("Cannot settle("+g+", "+h+"): Promise already settled in state"+this.state_);this.state_=g;this.result_=h;2===this.state_&&this.scheduleUnhandledRejectionCheck_();
39
+ this.executeOnSettledCallbacks_()};e.prototype.scheduleUnhandledRejectionCheck_=function(){var g=this;d(function(){if(g.notifyUnhandledRejection_()){var h=$jscomp.global.console;"undefined"!==typeof h&&h.error(g.result_)}},1)};e.prototype.notifyUnhandledRejection_=function(){if(this.isRejectionHandled_)return!1;var g=$jscomp.global.CustomEvent,h=$jscomp.global.Event,k=$jscomp.global.dispatchEvent;if("undefined"===typeof k)return!0;"function"===typeof g?g=new g("unhandledrejection",{cancelable:!0}):
40
+ "function"===typeof h?g=new h("unhandledrejection",{cancelable:!0}):(g=$jscomp.global.document.createEvent("CustomEvent"),g.initCustomEvent("unhandledrejection",!1,!0,g));g.promise=this;g.reason=this.result_;return k(g)};e.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var g=0;g<this.onSettledCallbacks_.length;++g)f.asyncExecute(this.onSettledCallbacks_[g]);this.onSettledCallbacks_=null}};var f=new b;e.prototype.settleSameAsPromise_=function(g){var h=this.createResolveAndReject_();
41
+ g.callWhenSettled_(h.resolve,h.reject)};e.prototype.settleSameAsThenable_=function(g,h){var k=this.createResolveAndReject_();try{g.call(h,k.resolve,k.reject)}catch(l){k.reject(l)}};e.prototype.then=function(g,h){function k(p,q){return"function"==typeof p?function(t){try{l(p(t))}catch(w){m(w)}}:q}var l,m,n=new e(function(p,q){l=p;m=q});this.callWhenSettled_(k(g,l),k(h,m));return n};e.prototype["catch"]=function(g){return this.then(void 0,g)};e.prototype.callWhenSettled_=function(g,h){function k(){switch(l.state_){case 1:g(l.result_);
42
+ break;case 2:h(l.result_);break;default:throw Error("Unexpected state: "+l.state_);}}var l=this;null==this.onSettledCallbacks_?f.asyncExecute(k):this.onSettledCallbacks_.push(k);this.isRejectionHandled_=!0};e.resolve=c;e.reject=function(g){return new e(function(h,k){k(g)})};e.race=function(g){return new e(function(h,k){for(var l=$jscomp.makeIterator(g),m=l.next();!m.done;m=l.next())c(m.value).callWhenSettled_(h,k)})};e.all=function(g){var h=$jscomp.makeIterator(g),k=h.next();return k.done?c([]):new e(function(l,
43
+ m){function n(t){return function(w){p[t]=w;q--;0==q&&l(p)}}var p=[],q=0;do p.push(void 0),q++,c(k.value).callWhenSettled_(n(p.length-1),m),k=h.next();while(!k.done)})};return e},"es6","es3");$jscomp.checkEs6ConformanceViaProxy=function(){try{var a={},b=Object.create(new $jscomp.global.Proxy(a,{get:function(c,d,e){return c==a&&"q"==d&&e==b}}));return!0===b.q}catch(c){return!1}};$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS=!1;$jscomp.ES6_CONFORMANCE=$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS&&$jscomp.checkEs6ConformanceViaProxy();
44
44
  $jscomp.owns=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};
45
- $jscomp.polyfill("WeakMap",function(a){function b(){if(!a||!Object.seal)return!1;try{var l=Object.seal({}),m=Object.seal({}),n=new a([[l,2],[m,3]]);if(2!=n.get(l)||3!=n.get(m))return!1;n["delete"](l);n.set(m,4);return!n.has(l)&&4==n.get(m)}catch(p){return!1}}function c(){}function d(l){var m=typeof l;return"object"===m&&null!==l||"function"===m}function e(l){if(!$jscomp.owns(l,f)){var m=new c;$jscomp.defineProperty(l,f,{value:m})}}function g(l){if(!$jscomp.ISOLATE_POLYFILLS){var m=Object[l];m&&(Object[l]=
46
- function(n){if(n instanceof c)return n;Object.isExtensible(n)&&e(n);return m(n)})}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var f="$jscomp_hidden_"+Math.random();g("freeze");g("preventExtensions");g("seal");var h=0,k=function(l){this.id_=(h+=Math.random()+1).toString();if(l){l=$jscomp.makeIterator(l);for(var m;!(m=l.next()).done;)m=m.value,this.set(m[0],m[1])}};k.prototype.set=function(l,m){if(!d(l))throw Error("Invalid WeakMap key");
47
- e(l);if(!$jscomp.owns(l,f))throw Error("WeakMap key fail: "+l);l[f][this.id_]=m;return this};k.prototype.get=function(l){return d(l)&&$jscomp.owns(l,f)?l[f][this.id_]:void 0};k.prototype.has=function(l){return d(l)&&$jscomp.owns(l,f)&&$jscomp.owns(l[f],this.id_)};k.prototype["delete"]=function(l){return d(l)&&$jscomp.owns(l,f)&&$jscomp.owns(l[f],this.id_)?delete l[f][this.id_]:!1};return k},"es6","es3");$jscomp.MapEntry=function(){};
45
+ $jscomp.polyfill("WeakMap",function(a){function b(){if(!a||!Object.seal)return!1;try{var l=Object.seal({}),m=Object.seal({}),n=new a([[l,2],[m,3]]);if(2!=n.get(l)||3!=n.get(m))return!1;n["delete"](l);n.set(m,4);return!n.has(l)&&4==n.get(m)}catch(p){return!1}}function c(){}function d(l){var m=typeof l;return"object"===m&&null!==l||"function"===m}function e(l){if(!$jscomp.owns(l,g)){var m=new c;$jscomp.defineProperty(l,g,{value:m})}}function f(l){if(!$jscomp.ISOLATE_POLYFILLS){var m=Object[l];m&&(Object[l]=
46
+ function(n){if(n instanceof c)return n;Object.isExtensible(n)&&e(n);return m(n)})}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var g="$jscomp_hidden_"+Math.random();f("freeze");f("preventExtensions");f("seal");var h=0,k=function(l){this.id_=(h+=Math.random()+1).toString();if(l){l=$jscomp.makeIterator(l);for(var m;!(m=l.next()).done;)m=m.value,this.set(m[0],m[1])}};k.prototype.set=function(l,m){if(!d(l))throw Error("Invalid WeakMap key");
47
+ e(l);if(!$jscomp.owns(l,g))throw Error("WeakMap key fail: "+l);l[g][this.id_]=m;return this};k.prototype.get=function(l){return d(l)&&$jscomp.owns(l,g)?l[g][this.id_]:void 0};k.prototype.has=function(l){return d(l)&&$jscomp.owns(l,g)&&$jscomp.owns(l[g],this.id_)};k.prototype["delete"]=function(l){return d(l)&&$jscomp.owns(l,g)&&$jscomp.owns(l[g],this.id_)?delete l[g][this.id_]:!1};return k},"es6","es3");$jscomp.MapEntry=function(){};
48
48
  $jscomp.polyfill("Map",function(a){function b(){if($jscomp.ASSUME_NO_NATIVE_MAP||!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var k=Object.seal({x:4}),l=new a($jscomp.makeIterator([[k,"s"]]));if("s"!=l.get(k)||1!=l.size||l.get({x:4})||l.set({x:4},"t")!=l||2!=l.size)return!1;var m=l.entries(),n=m.next();if(n.done||n.value[0]!=k||"s"!=n.value[1])return!1;n=m.next();return n.done||4!=n.value[0].x||"t"!=n.value[1]||!m.next().done?!1:!0}catch(p){return!1}}
49
- if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var c=new WeakMap,d=function(k){this.data_={};this.head_=f();this.size=0;if(k){k=$jscomp.makeIterator(k);for(var l;!(l=k.next()).done;)l=l.value,this.set(l[0],l[1])}};d.prototype.set=function(k,l){k=0===k?0:k;var m=e(this,k);m.list||(m.list=this.data_[m.id]=[]);m.entry?m.entry.value=l:(m.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:k,value:l},m.list.push(m.entry),
50
- this.head_.previous.next=m.entry,this.head_.previous=m.entry,this.size++);return this};d.prototype["delete"]=function(k){k=e(this,k);return k.entry&&k.list?(k.list.splice(k.index,1),k.list.length||delete this.data_[k.id],k.entry.previous.next=k.entry.next,k.entry.next.previous=k.entry.previous,k.entry.head=null,this.size--,!0):!1};d.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=f();this.size=0};d.prototype.has=function(k){return!!e(this,k).entry};d.prototype.get=function(k){return(k=
51
- e(this,k).entry)&&k.value};d.prototype.entries=function(){return g(this,function(k){return[k.key,k.value]})};d.prototype.keys=function(){return g(this,function(k){return k.key})};d.prototype.values=function(){return g(this,function(k){return k.value})};d.prototype.forEach=function(k,l){for(var m=this.entries(),n;!(n=m.next()).done;)n=n.value,k.call(l,n[1],n[0],this)};d.prototype[Symbol.iterator]=d.prototype.entries;var e=function(k,l){var m=l&&typeof l;"object"==m||"function"==m?c.has(l)?m=c.get(l):
52
- (m=""+ ++h,c.set(l,m)):m="p_"+l;var n=k.data_[m];if(n&&$jscomp.owns(k.data_,m))for(var p=0;p<n.length;p++){var q=n[p];if(l!==l&&q.key!==q.key||l===q.key)return{id:m,list:n,index:p,entry:q}}return{id:m,list:n,index:-1,entry:void 0}},g=function(k,l){var m=k.head_;return $jscomp.iteratorPrototype(function(){if(m){for(;m.head!=k.head_;)m=m.previous;for(;m.next!=m.head;)return m=m.next,{done:!1,value:l(m)};m=null}return{done:!0,value:void 0}})},f=function(){var k={};return k.previous=k.next=k.head=k},
53
- h=0;return d},"es6","es3");$jscomp.polyfill("Object.is",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}},"es6","es3");$jscomp.polyfill("Array.prototype.includes",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length,g=c||0;for(0>g&&(g=Math.max(g+e,0));g<e;g++){var f=d[g];if(f===b||Object.is(f,b))return!0}return!1}},"es7","es3");
49
+ if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var c=new WeakMap,d=function(k){this.data_={};this.head_=g();this.size=0;if(k){k=$jscomp.makeIterator(k);for(var l;!(l=k.next()).done;)l=l.value,this.set(l[0],l[1])}};d.prototype.set=function(k,l){k=0===k?0:k;var m=e(this,k);m.list||(m.list=this.data_[m.id]=[]);m.entry?m.entry.value=l:(m.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:k,value:l},m.list.push(m.entry),
50
+ this.head_.previous.next=m.entry,this.head_.previous=m.entry,this.size++);return this};d.prototype["delete"]=function(k){k=e(this,k);return k.entry&&k.list?(k.list.splice(k.index,1),k.list.length||delete this.data_[k.id],k.entry.previous.next=k.entry.next,k.entry.next.previous=k.entry.previous,k.entry.head=null,this.size--,!0):!1};d.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=g();this.size=0};d.prototype.has=function(k){return!!e(this,k).entry};d.prototype.get=function(k){return(k=
51
+ e(this,k).entry)&&k.value};d.prototype.entries=function(){return f(this,function(k){return[k.key,k.value]})};d.prototype.keys=function(){return f(this,function(k){return k.key})};d.prototype.values=function(){return f(this,function(k){return k.value})};d.prototype.forEach=function(k,l){for(var m=this.entries(),n;!(n=m.next()).done;)n=n.value,k.call(l,n[1],n[0],this)};d.prototype[Symbol.iterator]=d.prototype.entries;var e=function(k,l){var m=l&&typeof l;"object"==m||"function"==m?c.has(l)?m=c.get(l):
52
+ (m=""+ ++h,c.set(l,m)):m="p_"+l;var n=k.data_[m];if(n&&$jscomp.owns(k.data_,m))for(var p=0;p<n.length;p++){var q=n[p];if(l!==l&&q.key!==q.key||l===q.key)return{id:m,list:n,index:p,entry:q}}return{id:m,list:n,index:-1,entry:void 0}},f=function(k,l){var m=k.head_;return $jscomp.iteratorPrototype(function(){if(m){for(;m.head!=k.head_;)m=m.previous;for(;m.next!=m.head;)return m=m.next,{done:!1,value:l(m)};m=null}return{done:!0,value:void 0}})},g=function(){var k={};return k.previous=k.next=k.head=k},
53
+ h=0;return d},"es6","es3");$jscomp.polyfill("Object.is",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}},"es6","es3");$jscomp.polyfill("Array.prototype.includes",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length,f=c||0;for(0>f&&(f=Math.max(f+e,0));f<e;f++){var g=d[f];if(g===b||Object.is(g,b))return!0}return!1}},"es7","es3");
54
54
  $jscomp.checkStringArgs=function(a,b,c){if(null==a)throw new TypeError("The 'this' value for String.prototype."+c+" must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype."+c+" must not be a regular expression");return a+""};$jscomp.polyfill("String.prototype.includes",function(a){return a?a:function(b,c){return-1!==$jscomp.checkStringArgs(this,b,"includes").indexOf(b,c||0)}},"es6","es3");
55
- $jscomp.iteratorFromArray=function(a,b){a instanceof String&&(a+="");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var g=c++;return{value:b(g,a[g]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e};$jscomp.polyfill("Array.prototype.entries",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b,c){return[b,c]})}},"es6","es3");
55
+ $jscomp.iteratorFromArray=function(a,b){a instanceof String&&(a+="");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var f=c++;return{value:b(f,a[f]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e};$jscomp.polyfill("Array.prototype.entries",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b,c){return[b,c]})}},"es6","es3");
56
56
  $jscomp.assign=$jscomp.TRUST_ES6_POLYFILLS&&"function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)$jscomp.owns(d,e)&&(a[e]=d[e])}return a};$jscomp.polyfill("Object.assign",function(a){return a||$jscomp.assign},"es6","es3");$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b){return b})}},"es6","es3");
57
- $jscomp.polyfill("String.prototype.startsWith",function(a){return a?a:function(b,c){var d=$jscomp.checkStringArgs(this,b,"startsWith");b+="";for(var e=d.length,g=b.length,f=Math.max(0,Math.min(c|0,d.length)),h=0;h<g&&f<e;)if(d[f++]!=b[h++])return!1;return h>=g}},"es6","es3");$jscomp.polyfill("Object.entries",function(a){return a?a:function(b){var c=[],d;for(d in b)$jscomp.owns(b,d)&&c.push([d,b[d]]);return c}},"es8","es3");
58
- $jscomp.polyfill("Array.prototype.values",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b,c){return c})}},"es8","es3");
59
- $jscomp.polyfill("Array.from",function(a){return a?a:function(b,c,d){c=null!=c?c:function(h){return h};var e=[],g="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];if("function"==typeof g){b=g.call(b);for(var f=0;!(g=b.next()).done;)e.push(c.call(d,g.value,f++))}else for(g=b.length,f=0;f<g;f++)e.push(c.call(d,b[f],f));return e}},"es6","es3");
60
- $jscomp.polyfill("Set",function(a){function b(){if($jscomp.ASSUME_NO_NATIVE_SET||!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var d=Object.seal({x:4}),e=new a($jscomp.makeIterator([d]));if(!e.has(d)||1!=e.size||e.add(d)!=e||1!=e.size||e.add({x:4})!=e||2!=e.size)return!1;var g=e.entries(),f=g.next();if(f.done||f.value[0]!=d||f.value[1]!=d)return!1;f=g.next();return f.done||f.value[0]==d||4!=f.value[0].x||f.value[1]!=f.value[0]?!1:g.next().done}catch(h){return!1}}
57
+ $jscomp.polyfill("Array.from",function(a){return a?a:function(b,c,d){c=null!=c?c:function(h){return h};var e=[],f="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];if("function"==typeof f){b=f.call(b);for(var g=0;!(f=b.next()).done;)e.push(c.call(d,f.value,g++))}else for(f=b.length,g=0;g<f;g++)e.push(c.call(d,b[g],g));return e}},"es6","es3");
58
+ $jscomp.polyfill("Set",function(a){function b(){if($jscomp.ASSUME_NO_NATIVE_SET||!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var d=Object.seal({x:4}),e=new a($jscomp.makeIterator([d]));if(!e.has(d)||1!=e.size||e.add(d)!=e||1!=e.size||e.add({x:4})!=e||2!=e.size)return!1;var f=e.entries(),g=f.next();if(g.done||g.value[0]!=d||g.value[1]!=d)return!1;g=f.next();return g.done||g.value[0]==d||4!=g.value[0].x||g.value[1]!=g.value[0]?!1:f.next().done}catch(h){return!1}}
61
59
  if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;var c=function(d){this.map_=new Map;if(d){d=$jscomp.makeIterator(d);for(var e;!(e=d.next()).done;)this.add(e.value)}this.size=this.map_.size};c.prototype.add=function(d){d=0===d?0:d;this.map_.set(d,d);this.size=this.map_.size;return this};c.prototype["delete"]=function(d){d=this.map_["delete"](d);this.size=this.map_.size;return d};c.prototype.clear=function(){this.map_.clear();this.size=0};
62
- c.prototype.has=function(d){return this.map_.has(d)};c.prototype.entries=function(){return this.map_.entries()};c.prototype.values=function(){return this.map_.values()};c.prototype.keys=c.prototype.values;c.prototype[Symbol.iterator]=c.prototype.values;c.prototype.forEach=function(d,e){var g=this;this.map_.forEach(function(f){return d.call(e,f,f,g)})};return c},"es6","es3");
63
- $jscomp.polyfill("Object.values",function(a){return a?a:function(b){var c=[],d;for(d in b)$jscomp.owns(b,d)&&c.push(b[d]);return c}},"es8","es3");var COMPILED=!0,goog=goog||{};goog.global=this||self;
64
- goog.exportPath_=function(a,b,c,d){a=a.split(".");d=d||goog.global;a[0]in d||"undefined"==typeof d.execScript||d.execScript("var "+a[0]);for(var e;a.length&&(e=a.shift());)if(a.length||void 0===b)d=d[e]&&d[e]!==Object.prototype[e]?d[e]:d[e]={};else if(!c&&goog.isObject(b)&&goog.isObject(d[e]))for(var g in b)b.hasOwnProperty(g)&&(d[e][g]=b[g]);else d[e]=b};
65
- goog.define=function(a,b){var c=b;if(!COMPILED){var d=goog.global.CLOSURE_UNCOMPILED_DEFINES,e=goog.global.CLOSURE_DEFINES;d&&void 0===d.nodeType&&Object.prototype.hasOwnProperty.call(d,a)?c=d[a]:e&&void 0===e.nodeType&&Object.prototype.hasOwnProperty.call(e,a)&&(c=e[a])}return c};goog.FEATURESET_YEAR=2012;goog.DEBUG=!0;goog.LOCALE="en";goog.TRUSTED_SITE=!0;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;
66
- goog.provide=function(a){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)};goog.constructNamespace_=function(a,b,c){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var d=a;(d=d.substring(0,d.lastIndexOf(".")))&&!goog.getObjectByName(d);)goog.implicitNamespaces_[d]=!0}goog.exportPath_(a,b,c)};
67
- goog.getScriptNonce=function(a){if(a&&a!=goog.global)return goog.getScriptNonce_(a.document);null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document));return goog.cspNonce_};goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/;goog.cspNonce_=null;goog.getScriptNonce_=function(a){return(a=a.querySelector&&a.querySelector("script[nonce]"))&&(a=a.nonce||a.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(a)?a:""};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
68
- goog.module=function(a){if("string"!==typeof a||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");
69
- if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};
70
- goog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_[a].exports;if(!goog.implicitNamespaces_[a])return a=goog.getObjectByName(a),null!=a?a:null}return null};goog.ModuleType={ES6:"es6",GOOG:"goog"};goog.moduleLoaderState_=null;goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()};goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG};
71
- goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var a=goog.global.$jscomp;return a?"function"!=typeof a.getCurrentModulePath?!1:!!a.getCurrentModulePath():!1};
60
+ c.prototype.has=function(d){return this.map_.has(d)};c.prototype.entries=function(){return this.map_.entries()};c.prototype.values=function(){return this.map_.values()};c.prototype.keys=c.prototype.values;c.prototype[Symbol.iterator]=c.prototype.values;c.prototype.forEach=function(d,e){var f=this;this.map_.forEach(function(g){return d.call(e,g,g,f)})};return c},"es6","es3");
61
+ $jscomp.polyfill("String.prototype.startsWith",function(a){return a?a:function(b,c){var d=$jscomp.checkStringArgs(this,b,"startsWith");b+="";for(var e=d.length,f=b.length,g=Math.max(0,Math.min(c|0,d.length)),h=0;h<f&&g<e;)if(d[g++]!=b[h++])return!1;return h>=f}},"es6","es3");$jscomp.polyfill("Object.entries",function(a){return a?a:function(b){var c=[],d;for(d in b)$jscomp.owns(b,d)&&c.push([d,b[d]]);return c}},"es8","es3");
62
+ $jscomp.polyfill("Array.prototype.values",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b,c){return c})}},"es8","es3");$jscomp.polyfill("Object.values",function(a){return a?a:function(b){var c=[],d;for(d in b)$jscomp.owns(b,d)&&c.push(b[d]);return c}},"es8","es3");var COMPILED=!0,goog=goog||{};goog.global=this||self;
63
+ goog.exportPath_=function(a,b,c,d){a=a.split(".");d=d||goog.global;a[0]in d||"undefined"==typeof d.execScript||d.execScript("var "+a[0]);for(var e;a.length&&(e=a.shift());)if(a.length||void 0===b)d=d[e]&&d[e]!==Object.prototype[e]?d[e]:d[e]={};else if(!c&&goog.isObject(b)&&goog.isObject(d[e]))for(var f in b)b.hasOwnProperty(f)&&(d[e][f]=b[f]);else d[e]=b};
64
+ goog.define=function(a,b){var c=b;if(!COMPILED){var d=goog.global.CLOSURE_UNCOMPILED_DEFINES,e=goog.global.CLOSURE_DEFINES;d&&void 0===d.nodeType&&Object.prototype.hasOwnProperty.call(d,a)?c=d[a]:e&&void 0===e.nodeType&&Object.prototype.hasOwnProperty.call(e,a)&&(c=e[a])}return c};goog.FEATURESET_YEAR=2012;goog.DEBUG=!0;goog.LOCALE="en";goog.getLocale=function(){return goog.LOCALE};goog.TRUSTED_SITE=!0;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;
65
+ goog.provide=function(a){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)};goog.constructNamespace_=function(a,b,c){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var d=a;(d=d.substring(0,d.lastIndexOf(".")))&&!goog.getObjectByName(d);)goog.implicitNamespaces_[d]=!0}goog.exportPath_(a,b,c)};goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/;
66
+ goog.getScriptNonce_=function(a){a=(a||goog.global).document;return(a=a.querySelector&&a.querySelector("script[nonce]"))&&(a=a.nonce||a.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(a)?a:""};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
67
+ goog.module=function(a){if("string"!==typeof a||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");
68
+ goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};goog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_[a].exports;if(!goog.implicitNamespaces_[a])return a=goog.getObjectByName(a),null!=a?a:null}return null};goog.ModuleType={ES6:"es6",GOOG:"goog"};goog.moduleLoaderState_=null;
69
+ goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()};goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG};goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var a=goog.global.$jscomp;return a?"function"!=typeof a.getCurrentModulePath?!1:!!a.getCurrentModulePath():!1};
72
70
  goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0};
73
71
  goog.declareModuleId=function(a){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error("goog.declareModuleId may only be called from within an ES6 module");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error("goog.declareModuleId may only be called once per module.");if(a in goog.loadedModules_)throw Error('Module with namespace "'+a+'" already exists.');}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=a;else{var b=goog.global.$jscomp;if(!b||"function"!=typeof b.getCurrentModulePath)throw Error('Module with namespace "'+
74
72
  a+'" has been loaded incorrectly.');b=b.require(b.getCurrentModulePath());goog.loadedModules_[a]={exports:b,type:goog.ModuleType.ES6,moduleId:a}}};goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&null!=goog.getObjectByName(a)},goog.implicitNamespaces_={"goog.module":!0});
@@ -79,111 +77,94 @@ goog.ASSUME_ES_MODULES_TRANSPILED=!1;goog.TRANSPILE_TO_LANGUAGE="";goog.TRANSPIL
79
77
  goog.loadModule=function(a){var b=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:goog.ModuleType.GOOG};var c={},d=c;if("function"===typeof a)d=a.call(void 0,d);else if("string"===typeof a)d=goog.loadModuleFromSource_.call(void 0,d,a);else throw Error("Invalid module definition");var e=goog.moduleLoaderState_.moduleName;if("string"===typeof e&&e)goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(e,d,c!==d):goog.SEAL_MODULE_EXPORTS&&
80
78
  Object.seal&&"object"==typeof d&&null!=d&&Object.seal(d),goog.loadedModules_[e]={exports:d,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName};else throw Error('Invalid module name "'+e+'"');}finally{goog.moduleLoaderState_=b}};goog.loadModuleFromSource_=function(a,b){eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(b));return a};goog.normalizePath_=function(a){a=a.split("/");for(var b=0;b<a.length;)"."==a[b]?a.splice(b,1):b&&".."==a[b]&&a[b-1]&&".."!=a[b-1]?a.splice(--b,2):b++;return a.join("/")};
81
79
  goog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);try{var b=new goog.global.XMLHttpRequest;b.open("get",a,!1);b.send();return 0==b.status||200==b.status?b.responseText:null}catch(c){return null}};
82
- goog.transpile_=function(a,b,c){var d=goog.global.$jscomp;d||(goog.global.$jscomp=d={});var e=d.transpile;if(!e){var g=goog.basePath+goog.TRANSPILER,f=goog.loadFileSync_(g);if(f){(function(){(0,eval)(f+"\n//# sourceURL="+g)}).call(goog.global);if(goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=
80
+ goog.transpile_=function(a,b,c){var d=goog.global.$jscomp;d||(goog.global.$jscomp=d={});var e=d.transpile;if(!e){var f=goog.basePath+goog.TRANSPILER,g=goog.loadFileSync_(f);if(g){(function(){(0,eval)(g+"\n//# sourceURL="+f)}).call(goog.global);if(goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=
83
81
  goog.global.$gwtExport.$jscomp.transpile;d=goog.global.$jscomp;e=d.transpile}}e||(e=d.transpile=function(h,k){goog.logToConsole_(k+" requires transpilation but no transpiler was found.");return h});return e(a,b,c)};goog.typeOf=function(a){var b=typeof a;return"object"!=b?b:a?Array.isArray(a)?"array":b:"null"};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};
84
82
  goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return Object.prototype.hasOwnProperty.call(a,goog.UID_PROPERTY_)&&a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};goog.removeUid=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);
85
- goog.uidCounter_=0;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if("function"===typeof a.clone)return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
83
+ goog.uidCounter_=0;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if("function"===typeof a.clone)return a.clone();if("undefined"!==typeof Map&&a instanceof Map)return new Map(a);if("undefined"!==typeof Set&&a instanceof Set)return new Set(a);b="array"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
86
84
  goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var e=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(e,d);return a.apply(b,e)}}return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)};
87
85
  goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=function(){return Date.now()};goog.globalEval=function(a){(0,eval)(a)};
88
- goog.getCssName=function(a,b){if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var c=function(e){return goog.cssNameMapping_[e]||e},d=function(e){e=e.split("-");for(var g=[],f=0;f<e.length;f++)g.push(c(e[f]));return g.join("-")};d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(e){return e};d=b?a+"-"+d(b):d(a);return goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(d):d};
86
+ goog.getCssName=function(a,b){if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var c=function(e){return goog.cssNameMapping_[e]||e},d=function(e){e=e.split("-");for(var f=[],g=0;g<e.length;g++)f.push(c(e[g]));return f.join("-")};d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(e){return e};d=b?a+"-"+d(b):d(a);return goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(d):d};
89
87
  goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.getMsg=function(a,b,c){c&&c.html&&(a=a.replace(/</g,"&lt;"));c&&c.unescapeHtmlEntities&&(a=a.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&apos;/g,"'").replace(/&quot;/g,'"').replace(/&amp;/g,"&"));b&&(a=a.replace(/\{\$([^}]+)}/g,function(d,e){return null!=b&&e in b?b[e]:d}));return a};
90
- goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,!0,c)};goog.exportProperty=function(a,b,c){a[b]=c};goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(d,e,g){for(var f=Array(arguments.length-2),h=2;h<arguments.length;h++)f[h-2]=arguments[h];return b.prototype[e].apply(d,f)}};
88
+ goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,!0,c)};goog.exportProperty=function(a,b,c){a[b]=c};goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(d,e,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[e].apply(d,g)}};
91
89
  goog.scope=function(a){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");a.call(goog.global)};COMPILED||(goog.global.COMPILED=COMPILED);
92
90
  goog.defineClass=function(a,b){var c=b.constructor,d=b.statics;c&&c!=Object.prototype.constructor||(c=function(){throw Error("cannot instantiate an interface (no constructor defined).");});c=goog.defineClass.createSealingConstructor_(c,a);a&&goog.inherits(c,a);delete b.constructor;delete b.statics;goog.defineClass.applyProperties_(c.prototype,b);null!=d&&(d instanceof Function?d(c):goog.defineClass.applyProperties_(c,d));return c};goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG;
93
91
  goog.defineClass.createSealingConstructor_=function(a,b){return goog.defineClass.SEAL_CLASS_INSTANCES?function(){var c=a.apply(this,arguments)||this;c[goog.UID_PROPERTY_]=c[goog.UID_PROPERTY_];return c}:a};goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
94
92
  goog.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c]);for(var d=0;d<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])};goog.identity_=function(a){return a};
95
93
  goog.createTrustedTypesPolicy=function(a){var b=null,c=goog.global.trustedTypes;if(!c||!c.createPolicy)return b;try{b=c.createPolicy(a,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_})}catch(d){goog.logToConsole_(d.message)}return b};
96
94
  !COMPILED&&goog.DEPENDENCIES_ENABLED&&(goog.isEdge_=function(){return!!(goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"").match(/Edge\/(\d+)(\.\d)*/i)},goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&"write"in a},goog.isDocumentLoading_=function(){var a=goog.global.document;return a.attachEvent?"complete"!=a.readyState:"loading"==a.readyState},goog.findBasePath_=function(){if(void 0!=goog.global.CLOSURE_BASE_PATH&&"string"===typeof goog.global.CLOSURE_BASE_PATH)goog.basePath=
97
- goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document,b=a.currentScript;a=b?[b]:a.getElementsByTagName("SCRIPT");for(b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?");d=-1==d?c.length:d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}}},goog.findBasePath_(),goog.Transpiler=function(){this.requiresTranspilation_=null;this.transpilationTarget_=goog.TRANSPILE_TO_LANGUAGE},goog.Transpiler.prototype.createRequiresTranspilation_=function(){function a(g,
98
- f){e?d[g]=!0:f()?(c=g,d[g]=!1):e=d[g]=!0}function b(g){try{return!!eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(g))}catch(f){return!1}}var c="es3",d={es3:!1},e=!1;a("es5",function(){return b("[1,].length==1")});a("es6",function(){return goog.isEdge_()?!1:b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});
99
- a("es7",function(){return b("2**3==8")});a("es8",function(){return b("async()=>1,1")});a("es9",function(){return b("({...rest}={}),1")});a("es_2019",function(){return b('let r;try{throw 0}catch{r="\u2029"};r')});a("es_2020",function(){return b("null?.x??1")});a("es_next",function(){return!1});return{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(a,b){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var c=this.createRequiresTranspilation_();
95
+ goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document,b=a.currentScript;a=b?[b]:a.getElementsByTagName("SCRIPT");for(b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?");d=-1==d?c.length:d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}}},goog.findBasePath_(),goog.Transpiler=function(){this.requiresTranspilation_=null;this.transpilationTarget_=goog.TRANSPILE_TO_LANGUAGE},goog.Transpiler.prototype.createRequiresTranspilation_=function(){function a(f,
96
+ g){e?d[f]=!0:g()?(c=f,d[f]=!1):e=d[f]=!0}function b(f){try{return!!eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(f))}catch(g){return!1}}var c="es3",d={es3:!1},e=!1;a("es5",function(){return b("[1,].length==1")});a("es6",function(){return goog.isEdge_()?!1:b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});
97
+ a("es7",function(){return b("2**3==8")});a("es8",function(){return b("async()=>1,1")});a("es9",function(){return b("({...rest}={}),1")});a("es_2019",function(){return b('let r;try{r="\u2029"}catch{};r')});a("es_2020",function(){return b("null?.x??1")});a("es_next",function(){return!1});return{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(a,b){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var c=this.createRequiresTranspilation_();
100
98
  this.requiresTranspilation_=c.map;this.transpilationTarget_=this.transpilationTarget_||c.target}if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a]?!0:!goog.inHtmlDocument_()||"es6"!=b||"noModule"in goog.global.document.createElement("script")?!1:!0;throw Error("Unknown language mode: "+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,
101
- "\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={};this.idToPath_={};this.written_={};this.loadingDeps_=[];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory(goog.transpiler_);this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){for(var e=[],g=0;g<a.length;g++){var f=this.getPathFromDeps_(a[g]);if(!f)throw Error("Unregonized namespace: "+
102
- a[g]);e.push(this.dependencies_[f])}f=goog.require;var h=0;for(g=0;g<a.length;g++)f(a[g]),e[g].onLoad(function(){++h==a.length&&c()})}else c()},goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js",[],[],{},!1));this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(a,b){var c=this.getPathFromDeps_(a);if(c&&(b||this.areDepsLoaded_(this.dependencies_[c].requires))){var d=this.deferredCallbacks_[c];
103
- d&&(delete this.deferredCallbacks_[c],d())}},goog.DebugLoader_.prototype.setDependencyFactory=function(a){this.factory_=a},goog.DebugLoader_.prototype.load_=function(a){if(this.getPathFromDeps_(a)){var b=this,c=[],d=function(e){var g=b.getPathFromDeps_(e);if(!g)throw Error("Bad dependency path or symbol: "+e);if(!b.written_[g]){b.written_[g]=!0;e=b.dependencies_[g];for(g=0;g<e.requires.length;g++)goog.isProvided_(e.requires[g])||d(e.requires[g]);c.push(e)}};d(a);a=!!this.depsToLoad_.length;this.depsToLoad_=
104
- this.depsToLoad_.concat(c);this.paused_||a||this.loadDeps_()}else goog.logToConsole_("goog.require could not find: "+a)},goog.DebugLoader_.prototype.loadDeps_=function(){for(var a=this,b=this.paused_;this.depsToLoad_.length&&!b;)(function(){var c=!1,d=a.depsToLoad_.shift(),e=!1;a.loading_(d);var g={pause:function(){if(c)throw Error("Cannot call pause after the call to load.");b=!0},resume:function(){c?a.resume_():b=!1},loaded:function(){if(e)throw Error("Double call to loaded.");e=!0;a.loaded_(d)},
105
- pending:function(){for(var f=[],h=0;h<a.loadingDeps_.length;h++)f.push(a.loadingDeps_[h]);return f},setModuleState:function(f){goog.moduleLoaderState_={type:f,moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(f,h,k){k&&(goog.loadedModules_[k]={exports:h,type:goog.ModuleType.ES6,moduleId:k||""})},registerGoogModuleExports:function(f,h){goog.loadedModules_[f]={exports:h,type:goog.ModuleType.GOOG,moduleId:f}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(f){if(c)throw Error("Cannot register with defer after the call to load.");
106
- a.defer_(d,f)},areDepsLoaded:function(){return a.areDepsLoaded_(d.requires)}};try{d.load(g)}finally{c=!0}})();b&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_=function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(a){this.loadingDeps_.push(a)},goog.DebugLoader_.prototype.loaded_=function(a){for(var b=0;b<this.loadingDeps_.length;b++)if(this.loadingDeps_[b]==a){this.loadingDeps_.splice(b,
99
+ "\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={};this.idToPath_={};this.written_={};this.loadingDeps_=[];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory(goog.transpiler_);this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){for(var e=[],f=0;f<a.length;f++){var g=this.getPathFromDeps_(a[f]);if(!g)throw Error("Unregonized namespace: "+
100
+ a[f]);e.push(this.dependencies_[g])}g=goog.require;var h=0;for(f=0;f<a.length;f++)g(a[f]),e[f].onLoad(function(){++h==a.length&&c()})}else c()},goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js",[],[],{},!1));this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(a,b){var c=this.getPathFromDeps_(a);if(c&&(b||this.areDepsLoaded_(this.dependencies_[c].requires))){var d=this.deferredCallbacks_[c];
101
+ d&&(delete this.deferredCallbacks_[c],d())}},goog.DebugLoader_.prototype.setDependencyFactory=function(a){this.factory_=a},goog.DebugLoader_.prototype.load_=function(a){if(this.getPathFromDeps_(a)){var b=this,c=[],d=function(e){var f=b.getPathFromDeps_(e);if(!f)throw Error("Bad dependency path or symbol: "+e);if(!b.written_[f]){b.written_[f]=!0;e=b.dependencies_[f];for(f=0;f<e.requires.length;f++)goog.isProvided_(e.requires[f])||d(e.requires[f]);c.push(e)}};d(a);a=!!this.depsToLoad_.length;this.depsToLoad_=
102
+ this.depsToLoad_.concat(c);this.paused_||a||this.loadDeps_()}else goog.logToConsole_("goog.require could not find: "+a)},goog.DebugLoader_.prototype.loadDeps_=function(){for(var a=this,b=this.paused_;this.depsToLoad_.length&&!b;)(function(){var c=!1,d=a.depsToLoad_.shift(),e=!1;a.loading_(d);var f={pause:function(){if(c)throw Error("Cannot call pause after the call to load.");b=!0},resume:function(){c?a.resume_():b=!1},loaded:function(){if(e)throw Error("Double call to loaded.");e=!0;a.loaded_(d)},
103
+ pending:function(){for(var g=[],h=0;h<a.loadingDeps_.length;h++)g.push(a.loadingDeps_[h]);return g},setModuleState:function(g){goog.moduleLoaderState_={type:g,moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(g,h,k){k&&(goog.loadedModules_[k]={exports:h,type:goog.ModuleType.ES6,moduleId:k||""})},registerGoogModuleExports:function(g,h){goog.loadedModules_[g]={exports:h,type:goog.ModuleType.GOOG,moduleId:g}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(g){if(c)throw Error("Cannot register with defer after the call to load.");
104
+ a.defer_(d,g)},areDepsLoaded:function(){return a.areDepsLoaded_(d.requires)}};try{d.load(f)}finally{c=!0}})();b&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_=function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(a){this.loadingDeps_.push(a)},goog.DebugLoader_.prototype.loaded_=function(a){for(var b=0;b<this.loadingDeps_.length;b++)if(this.loadingDeps_[b]==a){this.loadingDeps_.splice(b,
107
105
  1);break}for(b=0;b<this.deferredQueue_.length;b++)if(this.deferredQueue_[b]==a.path){this.deferredQueue_.splice(b,1);break}if(this.loadingDeps_.length==this.deferredQueue_.length&&!this.depsToLoad_.length)for(;this.deferredQueue_.length;)this.requested(this.deferredQueue_.shift(),!0);a.loaded()},goog.DebugLoader_.prototype.areDepsLoaded_=function(a){for(var b=0;b<a.length;b++){var c=this.getPathFromDeps_(a[b]);if(!c||!(c in this.deferredCallbacks_||goog.isProvided_(a[b])))return!1}return!0},goog.DebugLoader_.prototype.getPathFromDeps_=
108
106
  function(a){return a in this.idToPath_?this.idToPath_[a]:a in this.dependencies_?a:null},goog.DebugLoader_.prototype.defer_=function(a,b){this.deferredCallbacks_[a.path]=b;this.deferredQueue_.push(a.path)},goog.LoadController=function(){},goog.LoadController.prototype.pause=function(){},goog.LoadController.prototype.resume=function(){},goog.LoadController.prototype.loaded=function(){},goog.LoadController.prototype.pending=function(){},goog.LoadController.prototype.registerEs6ModuleExports=function(a,
109
107
  b,c){},goog.LoadController.prototype.setModuleState=function(a){},goog.LoadController.prototype.clearModuleState=function(){},goog.LoadController.prototype.defer=function(a){},goog.LoadController.prototype.areDepsLoaded=function(){},goog.Dependency=function(a,b,c,d,e){this.path=a;this.relativePath=b;this.provides=c;this.requires=d;this.loadFlags=e;this.loaded_=!1;this.loadCallbacks_=[]},goog.Dependency.prototype.getPathName=function(){var a=this.path,b=a.indexOf("://");0<=b&&(a=a.substring(b+3),b=
110
108
  a.indexOf("/"),0<=b&&(a=a.substring(b+1)));return a},goog.Dependency.prototype.onLoad=function(a){this.loaded_?a():this.loadCallbacks_.push(a)},goog.Dependency.prototype.loaded=function(){this.loaded_=!0;var a=this.loadCallbacks_;this.loadCallbacks_=[];for(var b=0;b<a.length;b++)a[b]()},goog.Dependency.defer_=!1,goog.Dependency.callbackMap_={},goog.Dependency.registerCallback_=function(a){var b=Math.random().toString(32);goog.Dependency.callbackMap_[b]=a;return b},goog.Dependency.unregisterCallback_=
111
109
  function(a){delete goog.Dependency.callbackMap_[a]},goog.Dependency.callback_=function(a,b){if(a in goog.Dependency.callbackMap_){for(var c=goog.Dependency.callbackMap_[a],d=[],e=1;e<arguments.length;e++)d.push(arguments[e]);c.apply(void 0,d)}else throw Error("Callback key "+a+" does not exist (was base.js loaded more than once?).");},goog.Dependency.prototype.load=function(a){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?a.loaded():a.pause();else if(goog.inHtmlDocument_()){var b=
112
- goog.global.document;if("complete"==b.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path)){a.loaded();return}throw Error('Cannot write "'+this.path+'" after document load');}var c=goog.getScriptNonce();if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var d=function(h){h.readyState&&"complete"!=h.readyState?h.onload=d:(goog.Dependency.unregisterCallback_(e),a.loaded())};var e=goog.Dependency.registerCallback_(d);c=c?' nonce="'+c+'"':"";
113
- var g='<script src="'+this.path+'"'+c+(goog.Dependency.defer_?" defer":"")+' id="script-'+e+'">\x3c/script>';g+="<script"+c+">";g=goog.Dependency.defer_?g+("document.getElementById('script-"+e+"').onload = function() {\n goog.Dependency.callback_('"+e+"', this);\n};\n"):g+("goog.Dependency.callback_('"+e+"', document.getElementById('script-"+e+"'));");g+="\x3c/script>";b.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(g):g)}else{var f=b.createElement("script");f.defer=goog.Dependency.defer_;
114
- f.async=!1;c&&(f.nonce=c);goog.DebugLoader_.IS_OLD_IE_?(a.pause(),f.onreadystatechange=function(){if("loaded"==f.readyState||"complete"==f.readyState)a.loaded(),a.resume()}):f.onload=function(){f.onload=null;a.loaded()};f.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path;b.head.appendChild(f)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),
115
- a.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(a){function b(l,m){var n="",p=goog.getScriptNonce();p&&(n=' nonce="'+p+'"');n=m?'<script type="module" crossorigin'+n+">"+m+"\x3c/script>":'<script type="module" crossorigin src="'+l+'"'+n+">\x3c/script>";d.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)}function c(l,
116
- m){var n=d.createElement("script");n.defer=!0;n.async=!1;n.type="module";n.setAttribute("crossorigin",!0);var p=goog.getScriptNonce();p&&(n.nonce=p);m?n.text=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScript(m):m:n.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(l):l;d.head.appendChild(n)}if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?a.loaded():a.pause();else if(goog.inHtmlDocument_()){var d=goog.global.document,e=this;
117
- if(goog.isDocumentLoading_()){var g=b;goog.Dependency.defer_=!0}else g=c;var f=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(f);a.setModuleState(goog.ModuleType.ES6)});g(void 0,'goog.Dependency.callback_("'+f+'")');g(this.path,void 0);var h=goog.Dependency.registerCallback_(function(l){goog.Dependency.unregisterCallback_(h);a.registerEs6ModuleExports(e.path,l,goog.moduleLoaderState_.moduleName)});g(void 0,'import * as m from "'+this.path+'"; goog.Dependency.callback_("'+
118
- h+'", m)');var k=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(k);a.clearModuleState();a.loaded()});g(void 0,'goog.Dependency.callback_("'+k+'")')}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),a.pause()},goog.TransformedDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e);this.contents_=null;this.lazyFetch_=!goog.inHtmlDocument_()||!("noModule"in goog.global.document.createElement("script"))},goog.inherits(goog.TransformedDependency,
119
- goog.Dependency),goog.TransformedDependency.prototype.load=function(a){function b(){e.contents_=goog.loadFileSync_(e.path);e.contents_&&(e.contents_=e.transform(e.contents_),e.contents_&&(e.contents_+="\n//# sourceURL="+e.path))}function c(){e.lazyFetch_&&b();if(e.contents_){g&&a.setModuleState(goog.ModuleType.ES6);try{var m=e.contents_;e.contents_=null;goog.globalEval(goog.CLOSURE_EVAL_PREFILTER_.createScript(m));if(g)var n=goog.moduleLoaderState_.moduleName}finally{g&&a.clearModuleState()}g&&goog.global.$jscomp.require.ensure([e.getPathName()],
120
- function(){a.registerEs6ModuleExports(e.path,goog.global.$jscomp.require(e.getPathName()),n)});a.loaded()}}function d(){var m=goog.global.document,n=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(n);c()}),p=goog.getScriptNonce();p="<script"+(p?' nonce="'+p+'"':"")+">"+goog.protectScriptTag_('goog.Dependency.callback_("'+n+'");')+"\x3c/script>";m.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(p):p)}var e=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)b(),
121
- this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT("",this.contents_)?(this.contents_=null,a.loaded()):a.pause();else{var g=this.loadFlags.module==goog.ModuleType.ES6;this.lazyFetch_||b();var f=1<a.pending().length,h=f&&goog.DebugLoader_.IS_OLD_IE_;f=goog.Dependency.defer_&&(f||goog.isDocumentLoading_());if(h||f)a.defer(function(){c()});else{var k=goog.global.document;h=goog.inHtmlDocument_()&&("ActiveXObject"in goog.global||goog.isEdge_());if(g&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()&&
122
- !h){goog.Dependency.defer_=!0;a.pause();var l=k.onreadystatechange;k.onreadystatechange=function(){"interactive"==k.readyState&&(k.onreadystatechange=l,c(),a.resume());"function"===typeof l&&l.apply(void 0,arguments)}}else!goog.DebugLoader_.IS_OLD_IE_&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()?d():c()}}},goog.TransformedDependency.prototype.transform=function(a){},goog.TranspiledDependency=function(a,b,c,d,e,g){goog.TransformedDependency.call(this,a,b,c,d,e);this.transpiler=g},goog.inherits(goog.TranspiledDependency,
123
- goog.TransformedDependency),goog.TranspiledDependency.prototype.transform=function(a){return this.transpiler.transpile(a,this.getPathName())},goog.PreTranspiledEs6ModuleDependency=function(a,b,c,d,e){goog.TransformedDependency.call(this,a,b,c,d,e)},goog.inherits(goog.PreTranspiledEs6ModuleDependency,goog.TransformedDependency),goog.PreTranspiledEs6ModuleDependency.prototype.transform=function(a){return a},goog.GoogModuleDependency=function(a,b,c,d,e,g,f){goog.TransformedDependency.call(this,a,b,c,
124
- d,e);this.needsTranspile_=g;this.transpiler_=f},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform=function(a){this.needsTranspile_&&(a=this.transpiler_.transpile(a,this.getPathName()));return goog.LOAD_MODULE_USING_EVAL&&void 0!==goog.global.JSON?"goog.loadModule("+goog.global.JSON.stringify(a+"\n//# sourceURL="+this.path+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+a+"\n;return exports});\n//# sourceURL="+this.path+
125
- "\n"},goog.DebugLoader_.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader_.prototype.addDependency=function(a,b,c,d){b=b||[];a=a.replace(/\\/g,"/");var e=goog.normalizePath_(goog.basePath+a);d&&"boolean"!==typeof d||(d=d?{module:goog.ModuleType.GOOG}:{});c=this.factory_.createDependency(e,a,b,c,d,goog.transpiler_.needsTranspile(d.lang||"es3",d.module));this.dependencies_[e]=c;for(c=0;c<b.length;c++)this.idToPath_[b[c]]=e;this.idToPath_[a]=e},goog.DependencyFactory=
126
- function(a){this.transpiler=a},goog.DependencyFactory.prototype.createDependency=function(a,b,c,d,e,g){return e.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(a,b,c,d,e,g,this.transpiler):g?new goog.TranspiledDependency(a,b,c,d,e,this.transpiler):e.module==goog.ModuleType.ES6?"never"==goog.TRANSPILE&&goog.ASSUME_ES_MODULES_TRANSPILED?new goog.PreTranspiledEs6ModuleDependency(a,b,c,d,e):new goog.Es6ModuleDependency(a,b,c,d,e):new goog.Dependency(a,b,c,d,e)},goog.debugLoader_=new goog.DebugLoader_,
127
- goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(a){goog.debugLoader_.setDependencyFactory(a)},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null,goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(a,b){goog.debugLoader_.bootstrap(a,b)});
128
- if(!COMPILED){var isChrome87=!1;try{isChrome87=eval(goog.global.trustedTypes.emptyScript)!==goog.global.trustedTypes.emptyScript}catch(a){}goog.CLOSURE_EVAL_PREFILTER_=goog.global.trustedTypes&&isChrome87&&goog.createTrustedTypesPolicy("goog#base#devonly#eval")||{createScript:goog.identity_}};/*
110
+ goog.global.document;if("complete"==b.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path)){a.loaded();return}throw Error('Cannot write "'+this.path+'" after document load');}var c=goog.getScriptNonce_();if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var d=function(h){h.readyState&&"complete"!=h.readyState?h.onload=d:(goog.Dependency.unregisterCallback_(e),a.loaded())};var e=goog.Dependency.registerCallback_(d);c=c?' nonce="'+c+'"':"";
111
+ var f='<script src="'+this.path+'"'+c+(goog.Dependency.defer_?" defer":"")+' id="script-'+e+'">\x3c/script>';f+="<script"+c+">";f=goog.Dependency.defer_?f+("document.getElementById('script-"+e+"').onload = function() {\n goog.Dependency.callback_('"+e+"', this);\n};\n"):f+("goog.Dependency.callback_('"+e+"', document.getElementById('script-"+e+"'));");f+="\x3c/script>";b.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(f):f)}else{var g=b.createElement("script");g.defer=goog.Dependency.defer_;
112
+ g.async=!1;c&&(g.nonce=c);g.onload=function(){g.onload=null;a.loaded()};g.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path;b.head.appendChild(g)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),a.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,
113
+ a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(a){function b(l,m){var n="",p=goog.getScriptNonce_();p&&(n=' nonce="'+p+'"');n=m?'<script type="module" crossorigin'+n+">"+m+"\x3c/script>":'<script type="module" crossorigin src="'+l+'"'+n+">\x3c/script>";d.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)}function c(l,m){var n=d.createElement("script");n.defer=!0;n.async=!1;n.type="module";n.setAttribute("crossorigin",
114
+ !0);var p=goog.getScriptNonce_();p&&(n.nonce=p);m?n.text=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScript(m):m:n.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(l):l;d.head.appendChild(n)}if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?a.loaded():a.pause();else if(goog.inHtmlDocument_()){var d=goog.global.document,e=this;if(goog.isDocumentLoading_()){var f=b;goog.Dependency.defer_=!0}else f=c;var g=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(g);
115
+ a.setModuleState(goog.ModuleType.ES6)});f(void 0,'goog.Dependency.callback_("'+g+'")');f(this.path,void 0);var h=goog.Dependency.registerCallback_(function(l){goog.Dependency.unregisterCallback_(h);a.registerEs6ModuleExports(e.path,l,goog.moduleLoaderState_.moduleName)});f(void 0,'import * as m from "'+this.path+'"; goog.Dependency.callback_("'+h+'", m)');var k=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(k);a.clearModuleState();a.loaded()});f(void 0,'goog.Dependency.callback_("'+
116
+ k+'")')}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),a.pause()},goog.TransformedDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e);this.contents_=null;this.lazyFetch_=!goog.inHtmlDocument_()||!("noModule"in goog.global.document.createElement("script"))},goog.inherits(goog.TransformedDependency,goog.Dependency),goog.TransformedDependency.prototype.load=function(a){function b(){e.contents_=goog.loadFileSync_(e.path);e.contents_&&(e.contents_=
117
+ e.transform(e.contents_),e.contents_&&(e.contents_+="\n//# sourceURL="+e.path))}function c(){e.lazyFetch_&&b();if(e.contents_){f&&a.setModuleState(goog.ModuleType.ES6);try{var l=e.contents_;e.contents_=null;goog.globalEval(goog.CLOSURE_EVAL_PREFILTER_.createScript(l));if(f)var m=goog.moduleLoaderState_.moduleName}finally{f&&a.clearModuleState()}f&&goog.global.$jscomp.require.ensure([e.getPathName()],function(){a.registerEs6ModuleExports(e.path,goog.global.$jscomp.require(e.getPathName()),m)});a.loaded()}}
118
+ function d(){var l=goog.global.document,m=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(m);c()}),n=goog.getScriptNonce_();n="<script"+(n?' nonce="'+n+'"':"")+">"+goog.protectScriptTag_('goog.Dependency.callback_("'+m+'");')+"\x3c/script>";l.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)}var e=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)b(),this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT("",this.contents_)?(this.contents_=null,a.loaded()):
119
+ a.pause();else{var f=this.loadFlags.module==goog.ModuleType.ES6;this.lazyFetch_||b();var g=1<a.pending().length;if(goog.Dependency.defer_&&(g||goog.isDocumentLoading_()))a.defer(function(){c()});else{var h=goog.global.document;g=goog.inHtmlDocument_()&&("ActiveXObject"in goog.global||goog.isEdge_());if(f&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()&&!g){goog.Dependency.defer_=!0;a.pause();var k=h.onreadystatechange;h.onreadystatechange=function(){"interactive"==h.readyState&&(h.onreadystatechange=
120
+ k,c(),a.resume());"function"===typeof k&&k.apply(void 0,arguments)}}else goog.inHtmlDocument_()&&goog.isDocumentLoading_()?d():c()}}},goog.TransformedDependency.prototype.transform=function(a){},goog.TranspiledDependency=function(a,b,c,d,e,f){goog.TransformedDependency.call(this,a,b,c,d,e);this.transpiler=f},goog.inherits(goog.TranspiledDependency,goog.TransformedDependency),goog.TranspiledDependency.prototype.transform=function(a){return this.transpiler.transpile(a,this.getPathName())},goog.PreTranspiledEs6ModuleDependency=
121
+ function(a,b,c,d,e){goog.TransformedDependency.call(this,a,b,c,d,e)},goog.inherits(goog.PreTranspiledEs6ModuleDependency,goog.TransformedDependency),goog.PreTranspiledEs6ModuleDependency.prototype.transform=function(a){return a},goog.GoogModuleDependency=function(a,b,c,d,e,f,g){goog.TransformedDependency.call(this,a,b,c,d,e);this.needsTranspile_=f;this.transpiler_=g},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform=function(a){this.needsTranspile_&&
122
+ (a=this.transpiler_.transpile(a,this.getPathName()));return goog.LOAD_MODULE_USING_EVAL&&void 0!==goog.global.JSON?"goog.loadModule("+goog.global.JSON.stringify(a+"\n//# sourceURL="+this.path+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+a+"\n;return exports});\n//# sourceURL="+this.path+"\n"},goog.DebugLoader_.prototype.addDependency=function(a,b,c,d){b=b||[];a=a.replace(/\\/g,"/");var e=goog.normalizePath_(goog.basePath+a);d&&"boolean"!==typeof d||(d=d?{module:goog.ModuleType.GOOG}:
123
+ {});c=this.factory_.createDependency(e,a,b,c,d,goog.transpiler_.needsTranspile(d.lang||"es3",d.module));this.dependencies_[e]=c;for(c=0;c<b.length;c++)this.idToPath_[b[c]]=e;this.idToPath_[a]=e},goog.DependencyFactory=function(a){this.transpiler=a},goog.DependencyFactory.prototype.createDependency=function(a,b,c,d,e,f){return e.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(a,b,c,d,e,f,this.transpiler):f?new goog.TranspiledDependency(a,b,c,d,e,this.transpiler):e.module==goog.ModuleType.ES6?
124
+ "never"==goog.TRANSPILE&&goog.ASSUME_ES_MODULES_TRANSPILED?new goog.PreTranspiledEs6ModuleDependency(a,b,c,d,e):new goog.Es6ModuleDependency(a,b,c,d,e):new goog.Dependency(a,b,c,d,e)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(a){goog.debugLoader_.setDependencyFactory(a)},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):
125
+ null,goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(a,b){goog.debugLoader_.bootstrap(a,b)});if(!COMPILED){var isChrome87=!1;try{isChrome87=eval(goog.global.trustedTypes.emptyScript)!==goog.global.trustedTypes.emptyScript}catch(a){}goog.CLOSURE_EVAL_PREFILTER_=goog.global.trustedTypes&&isChrome87&&goog.createTrustedTypesPolicy("goog#base#devonly#eval")||{createScript:goog.identity_}};/*
129
126
  @license
130
127
  Shaka Player
131
128
  Copyright 2016 Google LLC
132
129
  SPDX-License-Identifier: Apache-2.0
133
130
  */
134
- goog.asserts=function(){};goog.asserts.assert=function(a,b){};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.ENABLE_ASSERTS&&console.assert&&console.assert.bind&&(goog.asserts.assert=console.assert.bind(console));var shakaDemo={MessageIds:{ADS:"DEMO_ADS",AUDIO_ONLY:"DEMO_AUDIO_ONLY",CAPTIONS:"DEMO_CAPTIONS",DASH:"DEMO_DASH",HIGH_DEFINITION:"DEMO_HIGH_DEFINITION",HLS:"DEMO_HLS",LIVE:"DEMO_LIVE",MP2TS:"DEMO_MP2TS",MP4:"DEMO_MP4",MULTIPLE_LANGUAGES:"DEMO_MULTIPLE_LANGUAGES",OFFLINE:"DEMO_OFFLINE",STORED:"DEMO_STORED",SUBTITLES:"DEMO_SUBTITLES",SURROUND:"DEMO_SURROUND",THUMBNAILS:"DEMO_THUMBNAILS",TRICK_MODE:"DEMO_TRICK_MODE",ULTRA_HIGH_DEFINITION:"DEMO_ULTRA_HIGH_DEFINITION",VOD:"DEMO_VOD",WEBM:"DEMO_WEBM",XLINK:"DEMO_XLINK",
135
- CLEAR:"DEMO_CLEAR",CLEAR_KEY:"DEMO_CLEAR_KEY",FAIRPLAY:"DEMO_FAIRPLAY",PLAYREADY:"DEMO_PLAYREADY",WIDEVINE:"DEMO_WIDEVINE",APPLE:"DEMO_APPLE",AXINOM:"DEMO_AXINOM",AZURE_MEDIA_SERVICES:"DEMO_AZURE_MEDIA_SERVICES",BITCODIN:"DEMO_BITCODIN",CUSTOM:"DEMO_CUSTOM",DASH_IF:"DEMO_DASH_IF",GPAC:"DEMO_GPAC",IRT:"DEMO_IRT",METACDN:"DEMO_METACDN",MICROSOFT:"DEMO_MICROSOFT",NIMBLE_STREAMER:"DEMO_NIMBLE_STREAMER",SHAKA:"DEMO_SHAKA",UNIFIED_STREAMING:"DEMO_UNIFIED_STREAMING",UPLYNK:"DEMO_UPLYNK",ALL_CONTENT:"DEMO_ALL_CONTENT",
136
- CDN_HEADER:"DEMO_CDN_HEADER",COMPILED_DEBUG:"DEMO_COMPILED_DEBUG",COMPILED_RELEASE:"DEMO_COMPILED_RELEASE",CONFIG:"DEMO_CONFIG",CUSTOM_CONTENT:"DEMO_CUSTOM_CONTENT",DEMO_MODE_HEADER:"DEMO_DEMO_MODE_HEADER",DOCUMENTATION:"DEMO_DOCUMENTATION",HOME:"DEMO_HOME",JSDELIVR:"DEMO_JSDELIVR",LIBRARIES:"DEMO_LIBRARIES",LICENSE:"DEMO_LICENSE",NPM:"DEMO_NPM",PROJECT_LINKS_HEADER:"DEMO_PROJECT_LINKS_HEADER",REPORT_BUG:"DEMO_REPORT_BUG",SOURCE:"DEMO_SOURCE",SUPPORT:"DEMO_SUPPORT",UNCOMPILED:"DEMO_UNCOMPILED",FAILURE_MISC:"DEMO_FAILURE_MISC",
137
- FAILURE_NO_BROWSER_SUPPORT:"DEMO_FAILURE_NO_BROWSER_SUPPORT",PLAY:"DEMO_PLAY",PROMPT_NO:"DEMO_PROMPT_NO",PROMPT_YES:"DEMO_PROMPT_YES",UNSUPPORTED_DISABLED:"DEMO_UNSUPPORTED_DISABLED",UNSUPPORTED_NO_DASH_SUPPORT:"DEMO_UNSUPPORTED_NO_DASH_SUPPORT",UNSUPPORTED_NO_DOWNLOAD:"DEMO_UNSUPPORTED_NO_DOWNLOAD",UNSUPPORTED_NO_FORMAT_SUPPORT:"DEMO_UNSUPPORTED_NO_FORMAT_SUPPORT",UNSUPPORTED_NO_HLS_SUPPORT:"DEMO_UNSUPPORTED_NO_HLS_SUPPORT",UNSUPPORTED_NO_OFFLINE:"DEMO_UNSUPPORTED_NO_OFFLINE",UNSUPPORTED_NO_KEY_SUPPORT:"DEMO_UNSUPPORTED_NO_KEY_SUPPORT",
138
- UNSUPPORTED_NO_LICENSE_SUPPORT:"DEMO_UNSUPPORTED_NO_LICENSE_SUPPORT",DELETE_STORED_PROMPT:"DEMO_DELETE_STORED_PROMPT",UNSUPPORTED:"DEMO_UNSUPPORTED",FRONT_INTRO_DISMISS:"DEMO_FRONT_INTRO_DISMISS",FRONT_INTRO_ONE:"DEMO_FRONT_INTRO_ONE",FRONT_INTRO_TWO:"DEMO_FRONT_INTRO_TWO",AD_TAG_URL:"DEMO_AD_TAG_URL",ADS_TAB:"DEMO_ADS_TAB",IMA_ASSET_KEY:"DEMO_IMA_ASSET_KEY",IMA_CONTENT_SRC_ID:"DEMO_IMA_CONTENT_SRC_ID",IMA_VIDEO_ID:"DEMO_IMA_VIDEO_ID",CANCEL_BUTTON:"DEMO_CANCEL_BUTTON",CUSTOM_INTRO_ONE:"DEMO_CUSTOM_INTRO_ONE",
139
- CUSTOM_INTRO_TWO:"DEMO_CUSTOM_INTRO_TWO",CUSTOM_INTRO_THREE:"DEMO_CUSTOM_INTRO_THREE",DELETE_CUSTOM:"DEMO_DELETE_CUSTOM",DELETE_CUSTOM_PROMPT:"DEMO_DELETE_CUSTOM_PROMPT",DRM_SYSTEM:"DEMO_DRM_SYSTEM",DRM_TAB:"DEMO_DRM_TAB",EDIT_CUSTOM:"DEMO_EDIT_CUSTOM",HEADERS_TAB:"DEMO_HEADERS_TAB",ICON_URL:"DEMO_ICON_URL",LICENSE_CERTIFICATE_URL:"DEMO_LICENSE_CERTIFICATE_URL",LICENSE_HEADER_NAME:"DEMO_LICENSE_HEADER_NAME",LICENSE_HEADER_TITLE:"DEMO_LICENSE_HEADER_TITLE",LICENSE_HEADER_VALUE:"DEMO_LICENSE_HEADER_VALUE",
140
- LICENSE_SERVER_URL:"DEMO_LICENSE_SERVER_URL",MAIN_TAB:"DEMO_MAIN_TAB",MANIFEST_URL:"DEMO_MANIFEST_URL",MANIFEST_URL_ERROR:"DEMO_MANIFEST_URL_ERROR",NAME:"DEMO_NAME",NAME_ERROR:"DEMO_NAME_ERROR",EXTRA_SHAKA_PLAYER_CONFIG:"DEMO_EXTRA_SHAKA_PLAYER_CONFIG",EXTRA_TAB:"DEMO_EXTRA_TAB",INVALID_JSON_CONFIG_ERROR:"DEMO_INVALID_JSON_CONFIG_ERROR",MIME_TYPE:"DEMO_MIME_TYPE",SAVE_BUTTON:"DEMO_SAVE_BUTTON",AD_SEARCH:"DEMO_AD_SEARCH",AUDIO_ONLY_SEARCH:"DEMO_AUDIO_ONLY_SEARCH",CONTAINER_SEARCH:"DEMO_CONTAINER_SEARCH",
141
- DRM_SEARCH:"DEMO_DRM_SEARCH",HIGH_DEFINITION_SEARCH:"DEMO_HIGH_DEFINITION_SEARCH",LIVE_SEARCH:"DEMO_LIVE_SEARCH",MANIFEST_SEARCH:"DEMO_MANIFEST_SEARCH",OFFLINE_SEARCH:"DEMO_OFFLINE_SEARCH",STORED_SEARCH:"DEMO_STORED_SEARCH",SUBTITLES_SEARCH:"DEMO_SUBTITLES_SEARCH",SURROUND_SEARCH:"DEMO_SURROUND_SEARCH",SOURCE_SEARCH:"DEMO_SOURCE_SEARCH",TRICK_MODE_SEARCH:"DEMO_TRICK_MODE_SEARCH",XLINK_SEARCH:"DEMO_XLINK_SEARCH",ADAPTATION_RESTRICTIONS_SECTION_HEADER:"DEMO_ADAPTATION_RESTRICTIONS_SECTION_HEADER",ADAPTATION_SECTION_HEADER:"DEMO_ADAPTATION_SECTION_HEADER",
142
- ALWAYS_STREAM_TEXT:"DEMO_ALWAYS_STREAM_TEXT",ALWAYS_STREAM_TEXT_WARNING:"DEMO_ALWAYS_STREAM_TEXT_WARNING",AUDIO_CHANNEL_COUNT:"DEMO_AUDIO_CHANNEL_COUNT",AUDIO_LANGUAGE:"DEMO_AUDIO_LANGUAGE",AUDIO_ROBUSTNESS:"DEMO_AUDIO_ROBUSTNESS",AUTO_CORRECT_DASH_DRIFT:"DEMO_AUTO_CORRECT_DASH_DRIFT",AUTO_LOW_LATENCY:"DEMO_AUTO_LOW_LATENCY",AVAILABILITY_WINDOW_OVERRIDE:"DEMO_AVAILABILITY_WINDOW_OVERRIDE",BACKOFF_FACTOR:"DEMO_BACKOFF_FACTOR",BASE_DELAY:"DEMO_BASE_DELAY",BANDWIDTH_DOWNGRADE:"DEMO_BANDWIDTH_DOWNGRADE",
143
- BANDWIDTH_ESTIMATE:"DEMO_BANDWIDTH_ESTIMATE",BANDWIDTH_UPGRADE:"DEMO_BANDWIDTH_UPGRADE",BUFFER_BEHIND:"DEMO_BUFFER_BEHIND",BUFFERING_GOAL:"DEMO_BUFFERING_GOAL",CLOCK_SYNC_URI:"DEMO_CLOCK_SYNC_URI",CMCD_SECTION_HEADER:"DEMO_CMCD_SECTION_HEADER",CONNECTION_TIMEOUT:"DEMO_CONNECTION_TIMEOUT",CONTENT_ID:"DEMO_CONTENT_ID",DEFAULT_AUDIO_CODEC:"DEMO_DEFAULT_AUDIO_CODEC",DEFAULT_PRESENTATION_DELAY:"DEMO_DEFAULT_PRESENTATION_DELAY",DEFAULT_VIDEO_CODEC:"DEMO_DEFAULT_VIDEO_CODEC",DELAY_LICENSE:"DEMO_DELAY_LICENSE",
144
- DISABLE_AUDIO:"DEMO_DISABLE_AUDIO",DISABLE_TEXT:"DEMO_DISABLE_TEXT",DISABLE_THUMBNAILS:"DEMO_DISABLE_THUMBNAILS",DISABLE_VIDEO:"DEMO_DISABLE_VIDEO",DISABLE_XLINK_PROCESSING:"DEMO_DISABLE_XLINK_PROCESSING",DISPATCH_ALL_EMSG_BOXES:"DEMO_DISPATCH_ALL_EMSG_BOXES",OBSERVE_QUALITY_CHANGES:"DEMO_OBSERVE_QUALITY_CHANGES",DRM_RETRY_SECTION_HEADER:"DEMO_DRM_RETRY_SECTION_HEADER",DRM_SECTION_HEADER:"DEMO_DRM_SECTION_HEADER",DRM_SESSION_TYPE:"DEMO_DRM_SESSION_TYPE",DURATION_BACKOFF:"DEMO_DURATION_BACKOFF",ENABLED:"DEMO_ENABLED",
145
- FAST_HALF_LIFE:"DEMO_FAST_HALF_LIFE",FORCE_HTTPS:"DEMO_FORCE_HTTPS",FORCE_TRANSMUX_TS:"DEMO_FORCE_TRANSMUX_TS",FUZZ_FACTOR:"DEMO_FUZZ_FACTOR",GAP_DETECTION_THRESHOLD:"DEMO_GAP_DETECTION_THRESHOLD",IGNORE_DASH_EMPTY_ADAPTATION_SET:"DEMO_IGNORE_DASH_EMPTY_ADAPTATION_SET",IGNORE_DASH_DRM:"DEMO_IGNORE_DASH_DRM",IGNORE_DASH_MAX_SEGMENT_DURATION:"DEMO_IGNORE_DASH_MAX_SEGMENT_DURATION",IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY:"DEMO_IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY",IGNORE_HLS_IMAGE_FAILURES:"DEMO_IGNORE_HLS_IMAGE_FAILURES",
146
- IGNORE_HLS_TEXT_FAILURES:"DEMO_IGNORE_HLS_TEXT_FAILURES",USE_FULL_SEGMENTS_FOR_START_TIME:"DEMO_USE_FULL_SEGMENTS_FOR_START_TIME",IGNORE_MIN_BUFFER_TIME:"DEMO_IGNORE_MIN_BUFFER_TIME",IGNORE_TEXT_FAILURES:"DEMO_IGNORE_TEXT_FAILURES",INACCURATE_MANIFEST_TOLERANCE:"DEMO_INACCURATE_MANIFEST_TOLERANCE",INITIAL_SEGMENT_LIMIT:"DEMO_INITIAL_SEGMENT_LIMIT",JUMP_LARGE_GAPS:"DEMO_JUMP_LARGE_GAPS",LANGUAGE_SECTION_HEADER:"DEMO_LANGUAGE_SECTION_HEADER",LOG_LEVEL:"DEMO_LOG_LEVEL",LOG_LEVEL_DEBUG:"DEMO_LOG_LEVEL_DEBUG",
147
- LOG_LEVEL_INFO:"DEMO_LOG_LEVEL_INFO",LOG_LEVEL_V:"DEMO_LOG_LEVEL_V",LOG_LEVEL_VV:"DEMO_LOG_LEVEL_VV",LOG_LICENSE_EXCHANGE:"DEMO_LOG_LICENSE_EXCHANGE",LOW_LATENCY:"DEMO_LOW_LATENCY",MANIFEST_RETRY_SECTION_HEADER:"DEMO_MANIFEST_RETRY_SECTION_HEADER",MANIFEST_SECTION_HEADER:"DEMO_MANIFEST_SECTION_HEADER",MAX_ATTEMPTS:"DEMO_MAX_ATTEMPTS",MAX_BANDWIDTH:"DEMO_MAX_BANDWIDTH",MAX_FRAMERATE:"DEMO_MAX_FRAMERATE",MAX_HEIGHT:"DEMO_MAX_HEIGHT",MAX_PIXELS:"DEMO_MAX_PIXELS",MAX_SMALL_GAP_SIZE:"DEMO_MAX_SMALL_GAP_SIZE",
148
- MAX_WIDTH:"DEMO_MAX_WIDTH",MIN_BANDWIDTH:"DEMO_MIN_BANDWIDTH",MIN_BYTES:"DEMO_MIN_BYTES",MIN_FRAMERATE:"DEMO_MIN_FRAMERATE",MIN_HEIGHT:"DEMO_MIN_HEIGHT",MIN_PIXELS:"DEMO_MIN_PIXELS",MIN_TOTAL_BYTES:"DEMO_MIN_TOTAL_BYTES",MIN_WIDTH:"DEMO_MIN_WIDTH",NETWORK_INFORMATION:"DEMO_NETWORK_INFORMATION",NUMBER_DECIMAL_WARNING:"DEMO_NUMBER_DECIMAL_WARNING",NUMBER_INTEGER_WARNING:"DEMO_NUMBER_INTEGER_WARNING",NUMBER_NONZERO_DECIMAL_WARNING:"DEMO_NUMBER_NONZERO_DECIMAL_WARNING",NUMBER_NONZERO_INTEGER_WARNING:"DEMO_NUMBER_NONZERO_INTEGER_WARNING",
149
- OFFLINE_SECTION_HEADER:"DEMO_OFFLINE_SECTION_HEADER",PREFER_FORCED_SUBS:"DEMO_PREFER_FORCED_SUBS",PREFER_NATIVE_HLS:"DEMO_PREFER_NATIVE_HLS",REBUFFERING_GOAL:"DEMO_REBUFFERING_GOAL",RESTRICTIONS_SECTION_HEADER:"DEMO_RESTRICTIONS_SECTION_HEADER",SAFE_SEEK_OFFSET:"DEMO_SAFE_SEEK_OFFSET",SAFE_SKIP_DISTANCE:"DEMO_SAFE_SKIP_DISTANCE",SESSION_ID:"DEMO_SESSION_ID",SHAKA_CONTROLS:"DEMO_SHAKA_CONTROLS",SLOW_HALF_LIFE:"DEMO_SLOW_HALF_LIFE",STALL_DETECTOR_ENABLED:"DEMO_STALL_DETECTOR_ENABLED",STALL_THRESHOLD:"DEMO_STALL_THRESHOLD",
150
- STALL_TIMEOUT:"DEMO_STALL_TIMEOUT",START_AT_SEGMENT_BOUNDARY:"DEMO_START_AT_SEGMENT_BOUNDARY",STREAMING_RETRY_SECTION_HEADER:"DEMO_STREAMING_RETRY_SECTION_HEADER",STREAMING_SECTION_HEADER:"DEMO_STREAMING_SECTION_HEADER",SWITCH_INTERVAL:"DEMO_SWITCH_INTERVAL",TEXT_LANGUAGE:"DEMO_TEXT_LANGUAGE",TEXT_ROLE:"DEMO_TEXT_ROLE",TIMEOUT:"DEMO_TIMEOUT",TRICK_PLAY_CONTROLS:"DEMO_TRICK_PLAY_CONTROLS",TRICK_PLAY_CONTROLS_WARNING:"DEMO_TRICK_PLAY_CONTROLS_WARNING",UI_LOCALE:"DEMO_UI_LOCALE",UPDATE_EXPIRATION_TIME:"DEMO_UPDATE_EXPIRATION_TIME",
151
- UPDATE_INTERVAL_SECONDS:"DEMO_UPDATE_INTERVAL_SECONDS",USE_HEADERS:"DEMO_USE_HEADERS",USE_NATIVE_HLS_SAFARI:"DEMO_USE_NATIVE_HLS_SAFARI",USE_PERSISTENT_LICENSES:"DEMO_USE_PERSISTENT_LICENSES",VIDEO_ROBUSTNESS:"DEMO_VIDEO_ROBUSTNESS",XLINK_FAIL_GRACEFULLY:"DEMO_XLINK_FAIL_GRACEFULLY"}};shakaDemo.Tooltips=function(){};shakaDemo.Tooltips.make=function(a,b){tippy(a,{content:shakaDemoMain.getLocalizedString(b),placement:"bottom",arrow:!0,animation:"scale",size:"large"})};shakaDemo.AssetCard=function(a,b,c,d){this.card_=document.createElement("div");this.asset_=b;this.actions_=document.createElement("div");this.featureIconsContainer_=document.createElement("div");this.progressCircle_=document.createElement("div");this.progressCircleSvg_=document.createElementNS("http://www.w3.org/2000/svg","svg");this.progressCircleBack_=document.createElementNS("http://www.w3.org/2000/svg","circle");this.progressCircleBar_=document.createElementNS("http://www.w3.org/2000/svg","circle");
152
- this.remakeButtonsFn_=d;this.card_.classList.add("mdl-card-wide");this.card_.classList.add("mdl-card");this.card_.classList.add("mdl-shadow--2dp");this.card_.classList.add("asset-card");d=document.createElement("div");d.classList.add("mdl-card__title");this.card_.appendChild(d);var e=document.createElement("h2");e.classList.add("mdl-card__title-text");e.textContent=c?b.shortName||b.name:b.name;d.appendChild(e);if(b.iconUri){d=document.createElement("picture");e=document.createElement("source");e.srcset=
153
- b.iconUri.replace(/.png$/,".webp");e.type="image/webp";var g=document.createElement("source");g.srcset=b.iconUri;g.type="image/png";var f=document.createElement("img");f.src=b.iconUri;f.alt="";d.appendChild(e);d.appendChild(g);d.appendChild(f);this.card_.appendChild(d)}b.description&&c&&(c=document.createElement("div"),c.classList.add("mdl-card__supporting-text"),c.textContent=b.description,this.card_.appendChild(c));this.card_.appendChild(this.featureIconsContainer_);this.addFeatureIcons_(b);this.actions_.classList.add("mdl-card__actions");
154
- this.actions_.classList.add("mdl-card--border");this.card_.appendChild(this.actions_);this.progressCircle_.classList.add("hidden");this.progressCircle_.classList.add("progress-circle");this.card_.appendChild(this.progressCircle_);this.progressCircleSvg_.appendChild(this.progressCircleBack_);this.progressCircleSvg_.appendChild(this.progressCircleBar_);this.progressCircle_.appendChild(this.progressCircleSvg_);this.progressCircleSvg_.classList.add("progress-circle-svg");this.progressCircleBack_.classList.add("progress-circle-back");
155
- this.progressCircleBar_.classList.add("progress-circle-bar");a.appendChild(this.card_);this.remakeButtons()};shakaDemo.AssetCard.prototype.styleProgressCircle_=function(a){var b=this.progressCircleBar_,c=40*Math.PI;this.progressCircleSvg_.setAttribute("viewBox","0 0 45 45");b.setAttribute("stroke-dasharray",c);b.setAttribute("stroke-dashoffset",c*(1-a))};
156
- shakaDemo.AssetCard.prototype.addFeatureIcon_=function(a,b){var c=document.createElement("div");c.classList.add("feature-icon");c.setAttribute("icon",a);this.featureIconsContainer_.appendChild(c);shakaDemo.Tooltips.make(c,b)};
157
- shakaDemo.AssetCard.prototype.addFeatureIcons_=function(a){var b=shakaAssets.Feature,c=shakaAssets.KeySystem;b=(new Map).set(b.SUBTITLES,"subtitles").set(b.CAPTIONS,"closed_caption").set(b.LIVE,"live").set(b.TRICK_MODE,"trick_mode").set(b.HIGH_DEFINITION,"high_definition").set(b.ULTRA_HIGH_DEFINITION,"ultra_high_definition").set(b.SURROUND,"surround_sound").set(b.MULTIPLE_LANGUAGES,"multiple_languages").set(b.ADS,"ad").set(b.AUDIO_ONLY,"audio_only");for(var d=$jscomp.makeIterator(a.features),e=d.next();!e.done;e=
158
- d.next()){e=e.value;var g=b.get(e);g&&this.addFeatureIcon_(g,e)}a=$jscomp.makeIterator(a.drm);for(b=a.next();!b.done;b=a.next())switch(b=b.value,b){case c.WIDEVINE:this.addFeatureIcon_("widevine",b);break;case c.CLEAR_KEY:this.addFeatureIcon_("clear_key",b);break;case c.PLAYREADY:this.addFeatureIcon_("playready",b)}};shakaDemo.AssetCard.prototype.markAsUnsupported=function(a){this.card_.classList.add("asset-card-unsupported");this.makeUnsupportedButton_(shakaDemo.MessageIds.UNSUPPORTED,a)};
159
- shakaDemo.AssetCard.prototype.makeUnsupportedButton_=function(a,b){var c=this.addButton(a,function(){});c.setAttribute("disabled","");var d=document.createElement("div");c.parentElement&&c.parentElement.removeChild(c);d.classList.add("tooltip-attach-point");d.appendChild(c);this.actions_.appendChild(d);shakaDemo.Tooltips.make(d,b);return c};shakaDemo.AssetCard.prototype.selectByAsset=function(a){this.card_.classList.remove("selected");this.asset_==a&&this.card_.classList.add("selected")};
160
- shakaDemo.AssetCard.prototype.remakeButtons=function(){shaka.util.Dom.removeAllChildren(this.actions_);this.remakeButtonsFn_(this)};
161
- shakaDemo.AssetCard.prototype.addStoreButton=function(){var a=this,b=function(g,f,h){f.classList.add("asset-card-corner-button");f=document.createElement("i");f.textContent=h;f.classList.add("material-icons-round");g.appendChild(f)},c=shakaDemoMain.getAssetUnsupportedReason(this.asset_,!0);c||goog.asserts.assert(this.asset_.storeCallback,"A storage callback is expected for all supported assets!");if(c)c=this.makeUnsupportedButton_(null,c),b(c,c.parentElement||c,"get_app");else if(this.asset_.isStored()){var d=
162
- this.addButton(null,function(){a.attachDeleteDialog_(d)});b(d,d,"offline_pin")}else{var e=this.addButton(null,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress)return e.disabled=!0,g.yield(a.asset_.storeCallback(),2);a.remakeButtons();g.jumpToEnd()})});b(e,e,"get_app")}};
163
- shakaDemo.AssetCard.prototype.attachDeleteDialog_=function(a){var b=this,c=this.card_.parentElement;c&&this.makeYesNoDialogue_(c,shakaDemo.MessageIds.DELETE_STORED_PROMPT,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){a.disabled=!0;return d.yield(b.asset_.unstoreCallback(),0)})})};
164
- shakaDemo.AssetCard.prototype.makeYesNoDialogue_=function(a,b,c){var d=this,e=document.createElement("dialog");e.classList.add("mdl-dialog");a.appendChild(e);e.showModal||dialogPolyfill.registerDialog(e);a=document.createElement("h2");a.classList.add("mdl-typography--title");a.textContent=shakaDemoMain.getLocalizedString(b);e.appendChild(a);var g=document.createElement("div");e.appendChild(g);b=function(f,h){var k=document.createElement("button");k.textContent=shakaDemoMain.getLocalizedString(f);
165
- k.classList.add("mdl-button");k.classList.add("mdl-button--colored");k.classList.add("mdl-js-button");k.classList.add("mdl-js-ripple-effect");k.addEventListener("click",function(){h()});g.appendChild(k);k.blur()};b(shakaDemo.MessageIds.PROMPT_YES,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return e.close(),f.yield(c(),2);d.remakeButtons();f.jumpToEnd()})});b(shakaDemo.MessageIds.PROMPT_NO,function(){e.close()});e.showModal()};
166
- shakaDemo.AssetCard.prototype.updateProgress=function(){if(1>this.asset_.storedProgress){this.progressCircle_.classList.remove("hidden");for(var a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b=b.value,b instanceof HTMLButtonElement&&(b.disabled=!0)}else for(this.progressCircle_.classList.add("hidden"),a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b=b.value,b instanceof HTMLButtonElement&&(b.disabled=!1);this.styleProgressCircle_(this.asset_.storedProgress)};
167
- shakaDemo.AssetCard.prototype.addButton=function(a,b,c){var d=this,e=document.createElement("button");e.classList.add("mdl-button");e.classList.add("mdl-button--colored");e.classList.add("mdl-js-button");e.classList.add("mdl-js-ripple-effect");e.textContent=a?shakaDemoMain.getLocalizedString(a):"";e.addEventListener("click",function(){e.hasAttribute("disabled")||(c?d.makeYesNoDialogue_(d.actions_,c,b):b())});this.actions_.appendChild(e);return e};shakaDemo.CloseButton=function(a,b){var c=shaka.ui.Element.call(this,a,b)||this;c.button_=document.createElement("button");c.button_.classList.add("material-icons-round");c.button_.classList.add("close-button");c.button_.textContent="close";c.parent.appendChild(c.button_);c.button_.addEventListener("click",function(){shakaDemoMain.unload()});return c};$jscomp.inherits(shakaDemo.CloseButton,shaka.ui.Element);shakaDemo.CloseButton.Factory=function(){};
168
- shakaDemo.CloseButton.Factory.prototype.create=function(a,b){return new shakaDemo.CloseButton(a,b)};var ShakaDemoAssetInfo=function(a,b,c,d){this.name=a;this.shortName="";this.iconUri=b;this.manifestUri=c;this.source=d;this.disabled=this.focus=!1;this.extraText=[];this.description=this.certificateUri=null;this.isFeatured=!1;this.drm=[shakaAssets.KeySystem.CLEAR];this.features=[shakaAssets.Feature.VOD];this.licenseServers=new Map;this.licenseRequestHeaders=new Map;this.responseFilter=this.requestFilter=null;this.clearKeys=new Map;this.mimeType=this.imaContentSrcId=this.imaAssetKey=this.imaVideoId=
169
- this.adTagUri=this.extraConfig=null;this.storedProgress=1};ShakaDemoAssetInfo.prototype.addDescription=function(a){this.description=a;return this};ShakaDemoAssetInfo.prototype.addCertificateUri=function(a){this.certificateUri=a;return this};ShakaDemoAssetInfo.caseLessAlphaComparator_=function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:a.toLowerCase()>b.toLowerCase()?1:0};
131
+ goog.asserts=function(){};goog.asserts.assert=function(a,b){};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.ENABLE_ASSERTS&&console.assert&&console.assert.bind&&(goog.asserts.assert=console.assert.bind(console));var shakaDemo={MessageIds:{ADS:"DEMO_ADS",AUDIO_ONLY:"DEMO_AUDIO_ONLY",CAPTIONS:"DEMO_CAPTIONS",CONTAINERLESS:"DEMO_CONTAINERLESS",DASH:"DEMO_DASH",HIGH_DEFINITION:"DEMO_HIGH_DEFINITION",HLS:"DEMO_HLS",LIVE:"DEMO_LIVE",MP2TS:"DEMO_MP2TS",MP4:"DEMO_MP4",MULTIPLE_LANGUAGES:"DEMO_MULTIPLE_LANGUAGES",OFFLINE:"DEMO_OFFLINE",STORED:"DEMO_STORED",SUBTITLES:"DEMO_SUBTITLES",SURROUND:"DEMO_SURROUND",THUMBNAILS:"DEMO_THUMBNAILS",TRICK_MODE:"DEMO_TRICK_MODE",ULTRA_HIGH_DEFINITION:"DEMO_ULTRA_HIGH_DEFINITION",
132
+ VOD:"DEMO_VOD",WEBM:"DEMO_WEBM",XLINK:"DEMO_XLINK",CLEAR:"DEMO_CLEAR",CLEAR_KEY:"DEMO_CLEAR_KEY",FAIRPLAY:"DEMO_FAIRPLAY",PLAYREADY:"DEMO_PLAYREADY",WIDEVINE:"DEMO_WIDEVINE",APPLE:"DEMO_APPLE",AXINOM:"DEMO_AXINOM",AZURE_MEDIA_SERVICES:"DEMO_AZURE_MEDIA_SERVICES",BITCODIN:"DEMO_BITCODIN",CUSTOM:"DEMO_CUSTOM",DASH_IF:"DEMO_DASH_IF",GPAC:"DEMO_GPAC",IRT:"DEMO_IRT",METACDN:"DEMO_METACDN",MICROSOFT:"DEMO_MICROSOFT",NIMBLE_STREAMER:"DEMO_NIMBLE_STREAMER",SHAKA:"DEMO_SHAKA",UNIFIED_STREAMING:"DEMO_UNIFIED_STREAMING",
133
+ UPLYNK:"DEMO_UPLYNK",ALL_CONTENT:"DEMO_ALL_CONTENT",CDN_HEADER:"DEMO_CDN_HEADER",COMPILED_DEBUG:"DEMO_COMPILED_DEBUG",COMPILED_RELEASE:"DEMO_COMPILED_RELEASE",CONFIG:"DEMO_CONFIG",CUSTOM_CONTENT:"DEMO_CUSTOM_CONTENT",DEMO_MODE_HEADER:"DEMO_DEMO_MODE_HEADER",DOCUMENTATION:"DEMO_DOCUMENTATION",HOME:"DEMO_HOME",JSDELIVR:"DEMO_JSDELIVR",LIBRARIES:"DEMO_LIBRARIES",LICENSE:"DEMO_LICENSE",NPM:"DEMO_NPM",PROJECT_LINKS_HEADER:"DEMO_PROJECT_LINKS_HEADER",REPORT_BUG:"DEMO_REPORT_BUG",SOURCE:"DEMO_SOURCE",SUPPORT:"DEMO_SUPPORT",
134
+ UNCOMPILED:"DEMO_UNCOMPILED",FAILURE_MISC:"DEMO_FAILURE_MISC",FAILURE_NO_BROWSER_SUPPORT:"DEMO_FAILURE_NO_BROWSER_SUPPORT",PLAY:"DEMO_PLAY",PROMPT_NO:"DEMO_PROMPT_NO",PROMPT_YES:"DEMO_PROMPT_YES",UNSUPPORTED_DISABLED:"DEMO_UNSUPPORTED_DISABLED",UNSUPPORTED_NO_DASH_SUPPORT:"DEMO_UNSUPPORTED_NO_DASH_SUPPORT",UNSUPPORTED_NO_DOWNLOAD:"DEMO_UNSUPPORTED_NO_DOWNLOAD",UNSUPPORTED_NO_FORMAT_SUPPORT:"DEMO_UNSUPPORTED_NO_FORMAT_SUPPORT",UNSUPPORTED_NO_HLS_SUPPORT:"DEMO_UNSUPPORTED_NO_HLS_SUPPORT",UNSUPPORTED_NO_OFFLINE:"DEMO_UNSUPPORTED_NO_OFFLINE",
135
+ UNSUPPORTED_NO_KEY_SUPPORT:"DEMO_UNSUPPORTED_NO_KEY_SUPPORT",UNSUPPORTED_NO_LICENSE_SUPPORT:"DEMO_UNSUPPORTED_NO_LICENSE_SUPPORT",DELETE_STORED_PROMPT:"DEMO_DELETE_STORED_PROMPT",UNSUPPORTED:"DEMO_UNSUPPORTED",FRONT_INTRO_DISMISS:"DEMO_FRONT_INTRO_DISMISS",FRONT_INTRO_ONE:"DEMO_FRONT_INTRO_ONE",FRONT_INTRO_TWO:"DEMO_FRONT_INTRO_TWO",AD_TAG_URL:"DEMO_AD_TAG_URL",ADS_TAB:"DEMO_ADS_TAB",IMA_ASSET_KEY:"DEMO_IMA_ASSET_KEY",IMA_CONTENT_SRC_ID:"DEMO_IMA_CONTENT_SRC_ID",IMA_VIDEO_ID:"DEMO_IMA_VIDEO_ID",CANCEL_BUTTON:"DEMO_CANCEL_BUTTON",
136
+ CUSTOM_INTRO_ONE:"DEMO_CUSTOM_INTRO_ONE",CUSTOM_INTRO_TWO:"DEMO_CUSTOM_INTRO_TWO",CUSTOM_INTRO_THREE:"DEMO_CUSTOM_INTRO_THREE",DELETE_CUSTOM:"DEMO_DELETE_CUSTOM",DELETE_CUSTOM_PROMPT:"DEMO_DELETE_CUSTOM_PROMPT",DRM_SYSTEM:"DEMO_DRM_SYSTEM",DRM_TAB:"DEMO_DRM_TAB",EDIT_CUSTOM:"DEMO_EDIT_CUSTOM",HLS_FULL_MIME_TYPE:"DEMO_HLS_FULL_MIME_TYPE",HLS_TAB:"DEMO_HLS_TAB",HEADERS_TAB:"DEMO_HEADERS_TAB",ICON_URL:"DEMO_ICON_URL",LICENSE_CERTIFICATE_URL:"DEMO_LICENSE_CERTIFICATE_URL",LICENSE_HEADER_NAME:"DEMO_LICENSE_HEADER_NAME",
137
+ LICENSE_HEADER_TITLE:"DEMO_LICENSE_HEADER_TITLE",LICENSE_HEADER_VALUE:"DEMO_LICENSE_HEADER_VALUE",LICENSE_SERVER_URL:"DEMO_LICENSE_SERVER_URL",MAIN_TAB:"DEMO_MAIN_TAB",MANIFEST_URL:"DEMO_MANIFEST_URL",MANIFEST_URL_ERROR:"DEMO_MANIFEST_URL_ERROR",NAME:"DEMO_NAME",NAME_ERROR:"DEMO_NAME_ERROR",EXTRA_SHAKA_PLAYER_CONFIG:"DEMO_EXTRA_SHAKA_PLAYER_CONFIG",EXTRA_TAB:"DEMO_EXTRA_TAB",INVALID_JSON_CONFIG_ERROR:"DEMO_INVALID_JSON_CONFIG_ERROR",MIME_TYPE:"DEMO_MIME_TYPE",SAVE_BUTTON:"DEMO_SAVE_BUTTON",AD_SEARCH:"DEMO_AD_SEARCH",
138
+ AUDIO_ONLY_SEARCH:"DEMO_AUDIO_ONLY_SEARCH",CONTAINER_SEARCH:"DEMO_CONTAINER_SEARCH",DRM_SEARCH:"DEMO_DRM_SEARCH",HIGH_DEFINITION_SEARCH:"DEMO_HIGH_DEFINITION_SEARCH",LIVE_SEARCH:"DEMO_LIVE_SEARCH",MANIFEST_SEARCH:"DEMO_MANIFEST_SEARCH",OFFLINE_SEARCH:"DEMO_OFFLINE_SEARCH",STORED_SEARCH:"DEMO_STORED_SEARCH",SUBTITLES_SEARCH:"DEMO_SUBTITLES_SEARCH",SURROUND_SEARCH:"DEMO_SURROUND_SEARCH",SOURCE_SEARCH:"DEMO_SOURCE_SEARCH",TRICK_MODE_SEARCH:"DEMO_TRICK_MODE_SEARCH",XLINK_SEARCH:"DEMO_XLINK_SEARCH",ADAPTATION_RESTRICTIONS_SECTION_HEADER:"DEMO_ADAPTATION_RESTRICTIONS_SECTION_HEADER",
139
+ ADAPTATION_SECTION_HEADER:"DEMO_ADAPTATION_SECTION_HEADER",ALWAYS_STREAM_TEXT:"DEMO_ALWAYS_STREAM_TEXT",ALWAYS_STREAM_TEXT_WARNING:"DEMO_ALWAYS_STREAM_TEXT_WARNING",AUDIO_CHANNEL_COUNT:"DEMO_AUDIO_CHANNEL_COUNT",AUDIO_LANGUAGE:"DEMO_AUDIO_LANGUAGE",AUDIO_ROBUSTNESS:"DEMO_AUDIO_ROBUSTNESS",AUTO_CORRECT_DASH_DRIFT:"DEMO_AUTO_CORRECT_DASH_DRIFT",AUTO_LOW_LATENCY:"DEMO_AUTO_LOW_LATENCY",AVAILABILITY_WINDOW_OVERRIDE:"DEMO_AVAILABILITY_WINDOW_OVERRIDE",BACKOFF_FACTOR:"DEMO_BACKOFF_FACTOR",BASE_DELAY:"DEMO_BASE_DELAY",
140
+ BANDWIDTH_DOWNGRADE:"DEMO_BANDWIDTH_DOWNGRADE",BANDWIDTH_ESTIMATE:"DEMO_BANDWIDTH_ESTIMATE",BANDWIDTH_UPGRADE:"DEMO_BANDWIDTH_UPGRADE",BUFFER_BEHIND:"DEMO_BUFFER_BEHIND",BUFFERING_GOAL:"DEMO_BUFFERING_GOAL",CLOCK_SYNC_URI:"DEMO_CLOCK_SYNC_URI",CMCD_SECTION_HEADER:"DEMO_CMCD_SECTION_HEADER",CONNECTION_TIMEOUT:"DEMO_CONNECTION_TIMEOUT",CONTENT_ID:"DEMO_CONTENT_ID",DEFAULT_AUDIO_CODEC:"DEMO_DEFAULT_AUDIO_CODEC",DEFAULT_PRESENTATION_DELAY:"DEMO_DEFAULT_PRESENTATION_DELAY",DEFAULT_VIDEO_CODEC:"DEMO_DEFAULT_VIDEO_CODEC",
141
+ DELAY_LICENSE:"DEMO_DELAY_LICENSE",DISABLE_AUDIO:"DEMO_DISABLE_AUDIO",DISABLE_TEXT:"DEMO_DISABLE_TEXT",DISABLE_THUMBNAILS:"DEMO_DISABLE_THUMBNAILS",DISABLE_VIDEO:"DEMO_DISABLE_VIDEO",DISABLE_XLINK_PROCESSING:"DEMO_DISABLE_XLINK_PROCESSING",DISPATCH_ALL_EMSG_BOXES:"DEMO_DISPATCH_ALL_EMSG_BOXES",OBSERVE_QUALITY_CHANGES:"DEMO_OBSERVE_QUALITY_CHANGES",DRM_RETRY_SECTION_HEADER:"DEMO_DRM_RETRY_SECTION_HEADER",DRM_SECTION_HEADER:"DEMO_DRM_SECTION_HEADER",DRM_SESSION_TYPE:"DEMO_DRM_SESSION_TYPE",DURATION_BACKOFF:"DEMO_DURATION_BACKOFF",
142
+ ENABLED:"DEMO_ENABLED",FAST_HALF_LIFE:"DEMO_FAST_HALF_LIFE",FORCE_HTTPS:"DEMO_FORCE_HTTPS",FORCE_TRANSMUX_TS:"DEMO_FORCE_TRANSMUX_TS",FUZZ_FACTOR:"DEMO_FUZZ_FACTOR",GAP_DETECTION_THRESHOLD:"DEMO_GAP_DETECTION_THRESHOLD",IGNORE_DASH_EMPTY_ADAPTATION_SET:"DEMO_IGNORE_DASH_EMPTY_ADAPTATION_SET",IGNORE_DASH_DRM:"DEMO_IGNORE_DASH_DRM",IGNORE_DASH_MAX_SEGMENT_DURATION:"DEMO_IGNORE_DASH_MAX_SEGMENT_DURATION",IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY:"DEMO_IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY",IGNORE_HLS_IMAGE_FAILURES:"DEMO_IGNORE_HLS_IMAGE_FAILURES",
143
+ IGNORE_HLS_TEXT_FAILURES:"DEMO_IGNORE_HLS_TEXT_FAILURES",IGNORE_MANIFEST_PROGRAM_DATE_TIME:"DEMO_IGNORE_MANIFEST_PROGRAM_DATE_TIME",IGNORE_MIN_BUFFER_TIME:"DEMO_IGNORE_MIN_BUFFER_TIME",IGNORE_TEXT_FAILURES:"DEMO_IGNORE_TEXT_FAILURES",INACCURATE_MANIFEST_TOLERANCE:"DEMO_INACCURATE_MANIFEST_TOLERANCE",INITIAL_SEGMENT_LIMIT:"DEMO_INITIAL_SEGMENT_LIMIT",LANGUAGE_SECTION_HEADER:"DEMO_LANGUAGE_SECTION_HEADER",LOG_LEVEL:"DEMO_LOG_LEVEL",LOG_LEVEL_DEBUG:"DEMO_LOG_LEVEL_DEBUG",LOG_LEVEL_INFO:"DEMO_LOG_LEVEL_INFO",
144
+ LOG_LEVEL_V:"DEMO_LOG_LEVEL_V",LOG_LEVEL_VV:"DEMO_LOG_LEVEL_VV",LOG_LICENSE_EXCHANGE:"DEMO_LOG_LICENSE_EXCHANGE",LOW_LATENCY:"DEMO_LOW_LATENCY",MANIFEST_RETRY_SECTION_HEADER:"DEMO_MANIFEST_RETRY_SECTION_HEADER",MANIFEST_SECTION_HEADER:"DEMO_MANIFEST_SECTION_HEADER",MAX_ATTEMPTS:"DEMO_MAX_ATTEMPTS",MAX_BANDWIDTH:"DEMO_MAX_BANDWIDTH",MAX_FRAMERATE:"DEMO_MAX_FRAMERATE",MAX_HEIGHT:"DEMO_MAX_HEIGHT",MAX_PIXELS:"DEMO_MAX_PIXELS",MAX_WIDTH:"DEMO_MAX_WIDTH",MIN_BANDWIDTH:"DEMO_MIN_BANDWIDTH",MIN_BYTES:"DEMO_MIN_BYTES",
145
+ MIN_FRAMERATE:"DEMO_MIN_FRAMERATE",MIN_HEIGHT:"DEMO_MIN_HEIGHT",MIN_PIXELS:"DEMO_MIN_PIXELS",MIN_TOTAL_BYTES:"DEMO_MIN_TOTAL_BYTES",MIN_WIDTH:"DEMO_MIN_WIDTH",NETWORK_INFORMATION:"DEMO_NETWORK_INFORMATION",NUMBER_DECIMAL_WARNING:"DEMO_NUMBER_DECIMAL_WARNING",NUMBER_INTEGER_WARNING:"DEMO_NUMBER_INTEGER_WARNING",NUMBER_NONZERO_DECIMAL_WARNING:"DEMO_NUMBER_NONZERO_DECIMAL_WARNING",NUMBER_NONZERO_INTEGER_WARNING:"DEMO_NUMBER_NONZERO_INTEGER_WARNING",NUMBER_OF_PARALLEL_DOWNLOADS:"DEMO_NUMBER_OF_PARALLEL_DOWNLOADS",
146
+ OFFLINE_SECTION_HEADER:"DEMO_OFFLINE_SECTION_HEADER",PREFER_FORCED_SUBS:"DEMO_PREFER_FORCED_SUBS",PREFER_NATIVE_HLS:"DEMO_PREFER_NATIVE_HLS",REBUFFERING_GOAL:"DEMO_REBUFFERING_GOAL",RESTRICTIONS_SECTION_HEADER:"DEMO_RESTRICTIONS_SECTION_HEADER",SAFE_SEEK_OFFSET:"DEMO_SAFE_SEEK_OFFSET",SAFE_SKIP_DISTANCE:"DEMO_SAFE_SKIP_DISTANCE",SEGMENT_RELATIVE_VTT_TIMING:"DEMO_SEGMENT_RELATIVE_VTT_TIMING",SESSION_ID:"DEMO_SESSION_ID",SHAKA_CONTROLS:"DEMO_SHAKA_CONTROLS",SLOW_HALF_LIFE:"DEMO_SLOW_HALF_LIFE",STALL_DETECTOR_ENABLED:"DEMO_STALL_DETECTOR_ENABLED",
147
+ STALL_THRESHOLD:"DEMO_STALL_THRESHOLD",STALL_TIMEOUT:"DEMO_STALL_TIMEOUT",START_AT_SEGMENT_BOUNDARY:"DEMO_START_AT_SEGMENT_BOUNDARY",STREAMING_RETRY_SECTION_HEADER:"DEMO_STREAMING_RETRY_SECTION_HEADER",STREAMING_SECTION_HEADER:"DEMO_STREAMING_SECTION_HEADER",SWITCH_INTERVAL:"DEMO_SWITCH_INTERVAL",TEXT_LANGUAGE:"DEMO_TEXT_LANGUAGE",TEXT_ROLE:"DEMO_TEXT_ROLE",TIMEOUT:"DEMO_TIMEOUT",TRICK_PLAY_CONTROLS:"DEMO_TRICK_PLAY_CONTROLS",TRICK_PLAY_CONTROLS_WARNING:"DEMO_TRICK_PLAY_CONTROLS_WARNING",UI_LOCALE:"DEMO_UI_LOCALE",
148
+ UPDATE_EXPIRATION_TIME:"DEMO_UPDATE_EXPIRATION_TIME",UPDATE_INTERVAL_SECONDS:"DEMO_UPDATE_INTERVAL_SECONDS",USE_HEADERS:"DEMO_USE_HEADERS",USE_NATIVE_HLS_SAFARI:"DEMO_USE_NATIVE_HLS_SAFARI",USE_PERSISTENT_LICENSES:"DEMO_USE_PERSISTENT_LICENSES",VIDEO_ROBUSTNESS:"DEMO_VIDEO_ROBUSTNESS",XLINK_FAIL_GRACEFULLY:"DEMO_XLINK_FAIL_GRACEFULLY"}};var ShakaDemoAssetInfo=function(a,b,c,d){this.name=a;this.shortName="";this.iconUri=b;this.manifestUri=c;this.source=d;this.disabled=this.focus=!1;this.extraText=[];this.description=this.certificateUri=null;this.isFeatured=!1;this.drm=[shakaAssets.KeySystem.CLEAR];this.features=[shakaAssets.Feature.VOD];this.licenseServers=new Map;this.licenseRequestHeaders=new Map;this.responseFilter=this.requestFilter=null;this.clearKeys=new Map;this.mediaPlaylistFullMimeType=this.mimeType=this.imaContentSrcId=
149
+ this.imaAssetKey=this.imaVideoId=this.adTagUri=this.extraConfig=null;this.storedProgress=1};ShakaDemoAssetInfo.prototype.addDescription=function(a){this.description=a;return this};ShakaDemoAssetInfo.prototype.addCertificateUri=function(a){this.certificateUri=a;return this};ShakaDemoAssetInfo.caseLessAlphaComparator_=function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:a.toLowerCase()>b.toLowerCase()?1:0};
170
150
  ShakaDemoAssetInfo.prototype.addFeature=function(a){var b=shakaAssets.Feature;a==b.LIVE&&(this.features=this.features.filter(function(c){return c!=b.VOD}));this.features.push(a);this.features.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};ShakaDemoAssetInfo.prototype.addKeySystem=function(a){this.isClear()&&(this.drm=[]);this.drm.push(a);this.drm.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};
171
- ShakaDemoAssetInfo.prototype.isClear=function(){return 1==this.drm.length&&this.drm[0]==shakaAssets.KeySystem.CLEAR};ShakaDemoAssetInfo.prototype.setExtraConfig=function(a){this.extraConfig=a;return this};ShakaDemoAssetInfo.prototype.setMimeType=function(a){this.mimeType=a;return this};ShakaDemoAssetInfo.prototype.setRequestFilter=function(a){this.requestFilter=a;return this};ShakaDemoAssetInfo.prototype.setResponseFilter=function(a){this.responseFilter=a;return this};
172
- ShakaDemoAssetInfo.prototype.addLicenseServer=function(a,b){this.licenseServers.set(a,b);return this};ShakaDemoAssetInfo.prototype.setAdTagUri=function(a){this.adTagUri=a;this.addFeature(shakaAssets.Feature.ADS);return this};ShakaDemoAssetInfo.prototype.setIMAContentSourceId=function(a){this.imaContentSrcId=a;this.features.includes(shakaAssets.Feature.ADS)||this.addFeature(shakaAssets.Feature.ADS);return this};
151
+ ShakaDemoAssetInfo.prototype.isClear=function(){return 1==this.drm.length&&this.drm[0]==shakaAssets.KeySystem.CLEAR};ShakaDemoAssetInfo.prototype.setMediaPlaylistFullMimeType=function(a){this.mediaPlaylistFullMimeType=a;return this};ShakaDemoAssetInfo.prototype.setExtraConfig=function(a){this.extraConfig=a;return this};ShakaDemoAssetInfo.prototype.setMimeType=function(a){this.mimeType=a;return this};ShakaDemoAssetInfo.prototype.setRequestFilter=function(a){this.requestFilter=a;return this};
152
+ ShakaDemoAssetInfo.prototype.setResponseFilter=function(a){this.responseFilter=a;return this};ShakaDemoAssetInfo.prototype.addLicenseServer=function(a,b){this.licenseServers.set(a,b);return this};ShakaDemoAssetInfo.prototype.setAdTagUri=function(a){this.adTagUri=a;this.addFeature(shakaAssets.Feature.ADS);return this};ShakaDemoAssetInfo.prototype.setIMAContentSourceId=function(a){this.imaContentSrcId=a;this.features.includes(shakaAssets.Feature.ADS)||this.addFeature(shakaAssets.Feature.ADS);return this};
173
153
  ShakaDemoAssetInfo.prototype.setIMAVideoId=function(a){this.imaVideoId=a;this.features.includes(shakaAssets.Feature.ADS)||this.addFeature(shakaAssets.Feature.ADS);return this};ShakaDemoAssetInfo.prototype.setIMAAssetKey=function(a){this.imaAssetKey=a;this.features.includes(shakaAssets.Feature.ADS)||this.addFeature(shakaAssets.Feature.ADS);return this};ShakaDemoAssetInfo.prototype.addLicenseRequestHeader=function(a,b){this.licenseRequestHeaders.set(a,b);return this};
174
154
  ShakaDemoAssetInfo.prototype.addExtraText=function(a){this.extraText.push(a);return this};ShakaDemoAssetInfo.prototype.markAsFocused=function(){this.focus=!0;return this};ShakaDemoAssetInfo.prototype.markAsFeatured=function(a){this.isFeatured=!0;this.shortName=a||this.shortName;return this};ShakaDemoAssetInfo.prototype.markAsDisabled=function(){this.disabled=!0;return this};
175
155
  ShakaDemoAssetInfo.prototype.toJSON=function(){var a={},b;for(b in this){var c=this[b];if(c instanceof Map){var d={__type__:"map"};c=$jscomp.makeIterator(c.entries());for(var e=c.next();!e.done;e=c.next())e=e.value,d[e[0]]=e[1];a[b]=d}else a[b]=c}return a};
176
156
  ShakaDemoAssetInfo.prototype.applyFilters=function(a){var b=this;a.clearAllRequestFilters();a.clearAllResponseFilters();this.licenseRequestHeaders.size&&a.registerRequestFilter(function(c,d){return b.addLicenseRequestHeaders_(b.licenseRequestHeaders,c,d)});this.requestFilter&&a.registerRequestFilter(this.requestFilter);this.responseFilter&&a.registerResponseFilter(this.responseFilter)};
177
- ShakaDemoAssetInfo.prototype.getConfiguration=function(){var a={drm:{advanced:{}},manifest:{dash:{}}};if(this.extraConfig)for(var b in this.extraConfig)a[b]=this.extraConfig[b];this.licenseServers.size&&(a.drm.servers=a.drm.servers||{},this.licenseServers.forEach(function(c,d){a.drm.servers[d]=c}));this.clearKeys.size&&(a.drm.clearKeys=a.drm.clearKeys||{},this.clearKeys.forEach(function(c,d){a.drm.clearKeys[d]=c}));return a};
178
- ShakaDemoAssetInfo.prototype.addLicenseRequestHeaders_=function(a,b,c){b==shaka.net.NetworkingEngine.RequestType.LICENSE&&a.forEach(function(d,e){c.headers[e]=d})};ShakaDemoAssetInfo.prototype.isStored=function(){return null!=this.storedContent};ShakaDemoAssetInfo.makeBlankAsset=function(){return new ShakaDemoAssetInfo("","","",shakaAssets.Source.CUSTOM)};
179
- ShakaDemoAssetInfo.fromJSON=function(a){var b={},c;for(c in a){var d=a[c];if(d&&"object"==typeof d&&"map"==d.__type__){var e=new Map,g;for(g in d)"__type__"!=g&&e.set(g,d[g]);b[c]=e}else b[c]=d}a=ShakaDemoAssetInfo.makeBlankAsset();Object.assign(a,b);return a};var shakaAssets={};
157
+ ShakaDemoAssetInfo.prototype.getConfiguration=function(){var a={drm:{advanced:{}},manifest:{dash:{},hls:{}}};if(this.extraConfig)for(var b in this.extraConfig)a[b]=this.extraConfig[b];this.mediaPlaylistFullMimeType&&(a.manifest.hls.mediaPlaylistFullMimeType=this.mediaPlaylistFullMimeType);this.licenseServers.size&&(a.drm.servers=a.drm.servers||{},this.licenseServers.forEach(function(c,d){a.drm.servers[d]=c}));this.clearKeys.size&&(a.drm.clearKeys=a.drm.clearKeys||{},this.clearKeys.forEach(function(c,
158
+ d){a.drm.clearKeys[d]=c}));return a};ShakaDemoAssetInfo.prototype.addLicenseRequestHeaders_=function(a,b,c){b==shaka.net.NetworkingEngine.RequestType.LICENSE&&a.forEach(function(d,e){c.headers[e]=d})};ShakaDemoAssetInfo.prototype.isStored=function(){return null!=this.storedContent};ShakaDemoAssetInfo.makeBlankAsset=function(){return new ShakaDemoAssetInfo("","","",shakaAssets.Source.CUSTOM)};
159
+ ShakaDemoAssetInfo.fromJSON=function(a){var b={},c;for(c in a){var d=a[c];if(d&&"object"==typeof d&&"map"==d.__type__){var e=new Map,f;for(f in d)"__type__"!=f&&e.set(f,d[f]);b[c]=e}else b[c]=d}a=ShakaDemoAssetInfo.makeBlankAsset();Object.assign(a,b);return a};var shakaAssets={};
180
160
  shakaAssets.Source={CUSTOM:shakaDemo.MessageIds.CUSTOM,SHAKA:shakaDemo.MessageIds.SHAKA,AXINOM:shakaDemo.MessageIds.AXINOM,UNIFIED_STREAMING:shakaDemo.MessageIds.UNIFIED_STREAMING,DASH_IF:shakaDemo.MessageIds.DASH_IF,BITCODIN:shakaDemo.MessageIds.BITCODIN,METACDN:shakaDemo.MessageIds.METACDN,NIMBLE_STREAMER:shakaDemo.MessageIds.NIMBLE_STREAMER,AZURE_MEDIA_SERVICES:shakaDemo.MessageIds.AZURE_MEDIA_SERVICES,GPAC:shakaDemo.MessageIds.GPAC,UPLYNK:shakaDemo.MessageIds.UPLYNK,APPLE:shakaDemo.MessageIds.APPLE,IRT:shakaDemo.MessageIds.IRT,
181
161
  MICROSOFT:shakaDemo.MessageIds.MICROSOFT};shakaAssets.KeySystem={CLEAR_KEY:shakaDemo.MessageIds.CLEAR_KEY,FAIRPLAY:shakaDemo.MessageIds.FAIRPLAY,PLAYREADY:shakaDemo.MessageIds.PLAYREADY,WIDEVINE:shakaDemo.MessageIds.WIDEVINE,CLEAR:shakaDemo.MessageIds.CLEAR};
182
162
  shakaAssets.AdTag={SINGLE_LINEAR_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=",SINGLE_NON_LINEAR_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=480x70&iu=/124319096/external/single_ad_samples&ciu_szs=300x250 &impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dnonlinear&correlator=",
183
163
  SINGLE_SKIPPABLE_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator=",AD_POD_PREROLL_MIDROLL_POSTROLL:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpostpod&cmsid=496&vid=short_onecue&correlator="};
184
164
  shakaAssets.identifierForKeySystem=function(a){var b=shakaAssets.KeySystem;switch(a){case b.CLEAR_KEY:return"org.w3.clearkey";case b.FAIRPLAY:return"com.apple.fps.1_0";case b.PLAYREADY:return"com.microsoft.playready";case b.WIDEVINE:return"com.widevine.alpha";default:return"no drm protection"}};
185
165
  shakaAssets.Feature={TRICK_MODE:shakaDemo.MessageIds.TRICK_MODE,XLINK:shakaDemo.MessageIds.XLINK,SUBTITLES:shakaDemo.MessageIds.SUBTITLES,CAPTIONS:shakaDemo.MessageIds.CAPTIONS,MULTIPLE_LANGUAGES:shakaDemo.MessageIds.MULTIPLE_LANGUAGES,AUDIO_ONLY:shakaDemo.MessageIds.AUDIO_ONLY,OFFLINE:shakaDemo.MessageIds.OFFLINE,STORED:shakaDemo.MessageIds.STORED,ADS:shakaDemo.MessageIds.ADS,LIVE:shakaDemo.MessageIds.LIVE,VOD:shakaDemo.MessageIds.VOD,WEBM:shakaDemo.MessageIds.WEBM,MP4:shakaDemo.MessageIds.MP4,MP2TS:shakaDemo.MessageIds.MP2TS,
186
- HIGH_DEFINITION:shakaDemo.MessageIds.HIGH_DEFINITION,ULTRA_HIGH_DEFINITION:shakaDemo.MessageIds.ULTRA_HIGH_DEFINITION,SURROUND:shakaDemo.MessageIds.SURROUND,DASH:shakaDemo.MessageIds.DASH,HLS:shakaDemo.MessageIds.HLS,THUMBNAILS:shakaDemo.MessageIds.THUMBNAILS};shakaAssets.lastUplynkPrefix="";shakaAssets.UplynkResponseFilter=function(a,b){a==shaka.net.NetworkingEngine.RequestType.MANIFEST&&(shakaAssets.lastUplynkPrefix=b.headers["x-uplynk-prefix"]?b.headers["x-uplynk-prefix"]:"")};
166
+ CONTAINERLESS:shakaDemo.MessageIds.CONTAINERLESS,HIGH_DEFINITION:shakaDemo.MessageIds.HIGH_DEFINITION,ULTRA_HIGH_DEFINITION:shakaDemo.MessageIds.ULTRA_HIGH_DEFINITION,SURROUND:shakaDemo.MessageIds.SURROUND,DASH:shakaDemo.MessageIds.DASH,HLS:shakaDemo.MessageIds.HLS,THUMBNAILS:shakaDemo.MessageIds.THUMBNAILS};shakaAssets.lastUplynkPrefix="";
167
+ shakaAssets.UplynkResponseFilter=function(a,b){a==shaka.net.NetworkingEngine.RequestType.MANIFEST&&(shakaAssets.lastUplynkPrefix=b.headers["x-uplynk-prefix"]?b.headers["x-uplynk-prefix"]:"")};
187
168
  shakaAssets.UplynkRequestFilter=function(a,b){a==shaka.net.NetworkingEngine.RequestType.LICENSE&&(b.uris[0].includes("wv")&&shakaAssets.lastUplynkPrefix?b.uris[0]=shakaAssets.lastUplynkPrefix.concat("/wv"):b.uris[0].includes("ck")&&shakaAssets.lastUplynkPrefix?b.uris[0]=shakaAssets.lastUplynkPrefix.concat("/ck"):b.uris[0].includes("pr")&&shakaAssets.lastUplynkPrefix&&(b.uris[0]=shakaAssets.lastUplynkPrefix.concat("/pr")))};
188
169
  shakaAssets.testAssets=[(new ShakaDemoAssetInfo("Big Buck Bunny: the Dark Truths of a Video Dev Cartoon (DASH)","https://storage.googleapis.com/shaka-asset-icons/dark_truth.png","https://storage.googleapis.com/shaka-demo-assets/bbb-dark-truths/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Big Buck Bunny: the Dark Truths of a Video Dev Cartoon (HLS)",
189
170
  "https://storage.googleapis.com/shaka-asset-icons/dark_truth.png","https://storage.googleapis.com/shaka-demo-assets/bbb-dark-truths-hls/hls.m3u8",shakaAssets.Source.SHAKA)).addDescription("A serious documentary about a problem plaguing video developers.").markAsFeatured("Big Buck Bunny: the Dark Truths").addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Angel One (multicodec, multilingual)",
@@ -191,7 +172,8 @@ shakaAssets.testAssets=[(new ShakaDemoAssetInfo("Big Buck Bunny: the Dark Truths
191
172
  (new ShakaDemoAssetInfo("Angel One (multicodec, multilingual, Widevine)","https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-widevine/dash.mpd",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
192
173
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Angel One (multicodec, multilingual, ClearKey server)","https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-clearkey/dash.mpd",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.CLEAR_KEY).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("org.w3.clearkey",
193
174
  "https://cwip-shaka-proxy.appspot.com/clearkey?_u3wDe7erb7v8Lqt8A3QDQ=ABEiM0RVZneImaq7zN3u_w"),(new ShakaDemoAssetInfo("Angel One (HLS, MP4, multilingual)","https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-hls/hls.m3u8",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.OFFLINE),
194
- (new ShakaDemoAssetInfo("Angel One (HLS, MP4, multilingual, Widevine)","https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-widevine-hls/hls.m3u8",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
175
+ (new ShakaDemoAssetInfo("Angel One (HLS, MP4, video media playlist only)","https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-hls/playlist_v-0480p-1000k-libx264.mp4.m3u8",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE).setMediaPlaylistFullMimeType('video/mp4; codecs="avc1.4d401f"'),(new ShakaDemoAssetInfo("Angel One (HLS, MP4, multilingual, Widevine)",
176
+ "https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-widevine-hls/hls.m3u8",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
195
177
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Angel One (HLS, MP4, multilingual, Widevine, single linear ad)","https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-widevine-hls/hls.m3u8",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).setAdTagUri(shakaAssets.AdTag.SINGLE_LINEAR_AD).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
196
178
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Angel One (HLS, MP4, multilingual, Widevine, single non-linear ad)","https://storage.googleapis.com/shaka-asset-icons/angel_one.png","https://storage.googleapis.com/shaka-demo-assets/angel-one-widevine-hls/hls.m3u8",shakaAssets.Source.SHAKA)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).setAdTagUri(shakaAssets.AdTag.SINGLE_NON_LINEAR_AD).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.SURROUND).addFeature(shakaAssets.Feature.OFFLINE).addLicenseServer("com.widevine.alpha",
197
179
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Sintel 4k (multicodec)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://storage.googleapis.com/shaka-demo-assets/sintel/dash.mpd",shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.WEBM).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Sintel w/ trick mode (MP4 only, 720p)",
@@ -257,168 +239,190 @@ shakaAssets.Source.GPAC)).markAsDisabled().addFeature(shakaAssets.Feature.DASH).
257
239
  "https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter),(new ShakaDemoAssetInfo("Widevine - 16 Byte IV - (mix of encrypted and unencrypted periods)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://content.uplynk.com/1eb40d8e64234f5c9879db7045c3d48c.mpd?ad=cleardash&rays=cdefg",shakaAssets.Source.UPLYNK)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addLicenseServer("com.widevine.alpha",
258
240
  "https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter),(new ShakaDemoAssetInfo("Apple Advanced HLS Stream (fMP4)","https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png","https://storage.googleapis.com/shaka-demo-assets/apple-advanced-stream-fmp4/master.m3u8",shakaAssets.Source.APPLE)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.CAPTIONS).addFeature(shakaAssets.Feature.OFFLINE),
259
241
  (new ShakaDemoAssetInfo("Apple Advanced HLS Stream (TS)","https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png","https://storage.googleapis.com/shaka-demo-assets/apple-advanced-stream-ts/master.m3u8",shakaAssets.Source.APPLE)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.CAPTIONS).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Low Latency HLS Live","https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png",
260
- "https://ll-hls-test.apple.com/cmaf/master.m3u8",shakaAssets.Source.APPLE)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4),(new ShakaDemoAssetInfo("Bayerischer Rundfunk Recorded Loop (DASH)","https://storage.googleapis.com/shaka-asset-icons/bayerischer_rundfunk.png","https://irtdashreference-i.akamaihd.net/dash/live/901161/keepixo1/manifestBR2.mpd",shakaAssets.Source.IRT)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.LIVE),
261
- (new ShakaDemoAssetInfo("Bayerischer Rundfunk Recorded Loop (HLS)","https://storage.googleapis.com/shaka-asset-icons/bayerischer_rundfunk.png","https://irtdashreference-i.akamaihd.net/dash/live/901161/keepixo1/playlistBR2.m3u8",shakaAssets.Source.IRT)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.LIVE),(new ShakaDemoAssetInfo("Big Buck Bunny: the Dark Truths of a Video Dev Cartoon (HLS - PlayReady)",
262
- "https://storage.googleapis.com/shaka-asset-icons/dark_truth.png","https://test.playready.microsoft.com/media/dash/APPLEENC_CBCS_BBB_1080p/1080p_alternate.m3u8",shakaAssets.Source.MICROSOFT)).addKeySystem(shakaAssets.KeySystem.PLAYREADY).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addLicenseServer("com.microsoft.playready","http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(persist:false,ck:W31bfVt9W31bfVt9W31bfQ==,ckt:aescbc)")];shakaDemo.Input=function(a,b,c,d,e){var g=this;this.container_=document.createElement(c);a.latestElementContainer.appendChild(this.container_);this.input_=document.createElement(b);this.input_.onchange=function(){e(g.input_,g)};"textarea"==b&&(this.input_.oninput=function(){e(g.input_,g)});this.input_.id=shakaDemo.Input.generateNewId_("input");this.container_.appendChild(this.input_);a.latestTooltip&&(b=document.createElement("span"),b.textContent=a.latestTooltip,b.classList.add("hidden"),b.id=shakaDemo.Input.generateNewId_("extra-info"),
242
+ "https://ll-hls-test.apple.com/cmaf/master.m3u8",shakaAssets.Source.APPLE)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4),(new ShakaDemoAssetInfo("Audio only HLS with raw AAC","https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png","https://storage.googleapis.com/shaka-demo-assets/raw-hls-audio-only/manifest.m3u8",shakaAssets.Source.APPLE)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.CONTAINERLESS).addFeature(shakaAssets.Feature.AUDIO_ONLY),
243
+ (new ShakaDemoAssetInfo("Apple Advanced HLS Stream (TS) with raw AAC","https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png","https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_ts/master.m3u8",shakaAssets.Source.APPLE)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.CONTAINERLESS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Bayerischer Rundfunk Recorded Loop (DASH)",
244
+ "https://storage.googleapis.com/shaka-asset-icons/bayerischer_rundfunk.png","https://irtdashreference-i.akamaihd.net/dash/live/901161/keepixo1/manifestBR2.mpd",shakaAssets.Source.IRT)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.LIVE),(new ShakaDemoAssetInfo("Bayerischer Rundfunk Recorded Loop (HLS)","https://storage.googleapis.com/shaka-asset-icons/bayerischer_rundfunk.png","https://irtdashreference-i.akamaihd.net/dash/live/901161/keepixo1/playlistBR2.m3u8",
245
+ shakaAssets.Source.IRT)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.LIVE),(new ShakaDemoAssetInfo("Big Buck Bunny: the Dark Truths of a Video Dev Cartoon (HLS - PlayReady)","https://storage.googleapis.com/shaka-asset-icons/dark_truth.png","https://test.playready.microsoft.com/media/dash/APPLEENC_CBCS_BBB_1080p/1080p_alternate.m3u8",shakaAssets.Source.MICROSOFT)).addKeySystem(shakaAssets.KeySystem.PLAYREADY).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addLicenseServer("com.microsoft.playready",
246
+ "http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(persist:false,ck:W31bfVt9W31bfVt9W31bfQ==,ckt:aescbc)")];shakaDemo.Tooltips=function(){};shakaDemo.Tooltips.make=function(a,b){tippy(a,{content:shakaDemoMain.getLocalizedString(b),placement:"bottom",arrow:!0,animation:"scale",size:"large"})};shakaDemo.AssetCard=function(a,b,c,d){this.card_=document.createElement("div");this.asset_=b;this.actions_=document.createElement("div");this.featureIconsContainer_=document.createElement("div");this.progressCircle_=document.createElement("div");this.progressCircleSvg_=document.createElementNS("http://www.w3.org/2000/svg","svg");this.progressCircleBack_=document.createElementNS("http://www.w3.org/2000/svg","circle");this.progressCircleBar_=document.createElementNS("http://www.w3.org/2000/svg","circle");
247
+ this.remakeButtonsFn_=d;this.card_.classList.add("mdl-card-wide");this.card_.classList.add("mdl-card");this.card_.classList.add("mdl-shadow--2dp");this.card_.classList.add("asset-card");d=document.createElement("div");d.classList.add("mdl-card__title");this.card_.appendChild(d);var e=document.createElement("h2");e.classList.add("mdl-card__title-text");e.textContent=c?b.shortName||b.name:b.name;d.appendChild(e);if(b.iconUri){d=document.createElement("picture");e=document.createElement("source");e.srcset=
248
+ b.iconUri.replace(/.png$/,".webp");e.type="image/webp";var f=document.createElement("source");f.srcset=b.iconUri;f.type="image/png";var g=document.createElement("img");g.src=b.iconUri;g.alt="";d.appendChild(e);d.appendChild(f);d.appendChild(g);this.card_.appendChild(d)}b.description&&c&&(c=document.createElement("div"),c.classList.add("mdl-card__supporting-text"),c.textContent=b.description,this.card_.appendChild(c));this.card_.appendChild(this.featureIconsContainer_);this.addFeatureIcons_(b);this.actions_.classList.add("mdl-card__actions");
249
+ this.actions_.classList.add("mdl-card--border");this.card_.appendChild(this.actions_);this.progressCircle_.classList.add("hidden");this.progressCircle_.classList.add("progress-circle");this.card_.appendChild(this.progressCircle_);this.progressCircleSvg_.appendChild(this.progressCircleBack_);this.progressCircleSvg_.appendChild(this.progressCircleBar_);this.progressCircle_.appendChild(this.progressCircleSvg_);this.progressCircleSvg_.classList.add("progress-circle-svg");this.progressCircleBack_.classList.add("progress-circle-back");
250
+ this.progressCircleBar_.classList.add("progress-circle-bar");a.appendChild(this.card_);this.remakeButtons()};shakaDemo.AssetCard.prototype.styleProgressCircle_=function(a){var b=this.progressCircleBar_,c=40*Math.PI;this.progressCircleSvg_.setAttribute("viewBox","0 0 45 45");b.setAttribute("stroke-dasharray",c);b.setAttribute("stroke-dashoffset",c*(1-a))};
251
+ shakaDemo.AssetCard.prototype.addFeatureIcon_=function(a,b){var c=document.createElement("div");c.classList.add("feature-icon");c.setAttribute("icon",a);this.featureIconsContainer_.appendChild(c);shakaDemo.Tooltips.make(c,b)};
252
+ shakaDemo.AssetCard.prototype.addFeatureIcons_=function(a){var b=shakaAssets.Feature,c=shakaAssets.KeySystem;b=(new Map).set(b.SUBTITLES,"subtitles").set(b.CAPTIONS,"closed_caption").set(b.LIVE,"live").set(b.TRICK_MODE,"trick_mode").set(b.HIGH_DEFINITION,"high_definition").set(b.ULTRA_HIGH_DEFINITION,"ultra_high_definition").set(b.SURROUND,"surround_sound").set(b.MULTIPLE_LANGUAGES,"multiple_languages").set(b.ADS,"ad").set(b.AUDIO_ONLY,"audio_only");for(var d=$jscomp.makeIterator(a.features),e=d.next();!e.done;e=
253
+ d.next()){e=e.value;var f=b.get(e);f&&this.addFeatureIcon_(f,e)}a=$jscomp.makeIterator(a.drm);for(b=a.next();!b.done;b=a.next())switch(b=b.value,b){case c.WIDEVINE:this.addFeatureIcon_("widevine",b);break;case c.CLEAR_KEY:this.addFeatureIcon_("clear_key",b);break;case c.PLAYREADY:this.addFeatureIcon_("playready",b)}};shakaDemo.AssetCard.prototype.markAsUnsupported=function(a){this.card_.classList.add("asset-card-unsupported");this.makeUnsupportedButton_(shakaDemo.MessageIds.UNSUPPORTED,a)};
254
+ shakaDemo.AssetCard.prototype.makeUnsupportedButton_=function(a,b){var c=this.addButton(a,function(){});c.setAttribute("disabled","");var d=document.createElement("div");c.parentElement&&c.parentElement.removeChild(c);d.classList.add("tooltip-attach-point");d.appendChild(c);this.actions_.appendChild(d);shakaDemo.Tooltips.make(d,b);return c};shakaDemo.AssetCard.prototype.selectByAsset=function(a){this.card_.classList.remove("selected");this.asset_==a&&this.card_.classList.add("selected")};
255
+ shakaDemo.AssetCard.prototype.remakeButtons=function(){shaka.util.Dom.removeAllChildren(this.actions_);this.remakeButtonsFn_(this)};
256
+ shakaDemo.AssetCard.prototype.addStoreButton=function(){var a=this,b=function(f,g,h){g.classList.add("asset-card-corner-button");g=document.createElement("i");g.textContent=h;g.classList.add("material-icons-round");f.appendChild(g)},c=shakaDemoMain.getAssetUnsupportedReason(this.asset_,!0);c||goog.asserts.assert(this.asset_.storeCallback,"A storage callback is expected for all supported assets!");if(c)c=this.makeUnsupportedButton_(null,c),b(c,c.parentElement||c,"get_app");else if(this.asset_.isStored()){var d=
257
+ this.addButton(null,function(){a.attachDeleteDialog_(d)});b(d,d,"offline_pin")}else{var e=this.addButton(null,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return e.disabled=!0,f.yield(a.asset_.storeCallback(),2);a.remakeButtons();f.jumpToEnd()})});b(e,e,"get_app")}};
258
+ shakaDemo.AssetCard.prototype.attachDeleteDialog_=function(a){var b=this,c=this.card_.parentElement;c&&this.makeYesNoDialogue_(c,shakaDemo.MessageIds.DELETE_STORED_PROMPT,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){a.disabled=!0;return d.yield(b.asset_.unstoreCallback(),0)})})};
259
+ shakaDemo.AssetCard.prototype.makeYesNoDialogue_=function(a,b,c){var d=this,e=document.createElement("dialog");e.classList.add("mdl-dialog");a.appendChild(e);e.showModal||dialogPolyfill.registerDialog(e);a=document.createElement("h2");a.classList.add("mdl-typography--title");a.textContent=shakaDemoMain.getLocalizedString(b);e.appendChild(a);var f=document.createElement("div");e.appendChild(f);b=function(g,h){var k=document.createElement("button");k.textContent=shakaDemoMain.getLocalizedString(g);
260
+ k.classList.add("mdl-button");k.classList.add("mdl-button--colored");k.classList.add("mdl-js-button");k.classList.add("mdl-js-ripple-effect");k.addEventListener("click",function(){h()});f.appendChild(k);k.blur()};b(shakaDemo.MessageIds.PROMPT_YES,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress)return e.close(),g.yield(c(),2);d.remakeButtons();g.jumpToEnd()})});b(shakaDemo.MessageIds.PROMPT_NO,function(){e.close()});e.showModal()};
261
+ shakaDemo.AssetCard.prototype.updateProgress=function(){if(1>this.asset_.storedProgress){this.progressCircle_.classList.remove("hidden");for(var a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b=b.value,b instanceof HTMLButtonElement&&(b.disabled=!0)}else for(this.progressCircle_.classList.add("hidden"),a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b=b.value,b instanceof HTMLButtonElement&&(b.disabled=!1);this.styleProgressCircle_(this.asset_.storedProgress)};
262
+ shakaDemo.AssetCard.prototype.addButton=function(a,b,c){var d=this,e=document.createElement("button");e.classList.add("mdl-button");e.classList.add("mdl-button--colored");e.classList.add("mdl-js-button");e.classList.add("mdl-js-ripple-effect");e.textContent=a?shakaDemoMain.getLocalizedString(a):"";e.addEventListener("click",function(){e.hasAttribute("disabled")||(c?d.makeYesNoDialogue_(d.actions_,c,b):b())});this.actions_.appendChild(e);return e};shakaDemo.CloseButton=function(a,b){var c=shaka.ui.Element.call(this,a,b)||this;c.button_=document.createElement("button");c.button_.classList.add("material-icons-round");c.button_.classList.add("close-button");c.button_.textContent="close";c.parent.appendChild(c.button_);c.button_.addEventListener("click",function(){shakaDemoMain.unload()});return c};$jscomp.inherits(shakaDemo.CloseButton,shaka.ui.Element);shakaDemo.CloseButton.Factory=function(){};
263
+ shakaDemo.CloseButton.Factory.prototype.create=function(a,b){return new shakaDemo.CloseButton(a,b)};shakaDemo.Input=function(a,b,c,d,e){var f=this;this.container_=document.createElement(c);a.latestElementContainer.appendChild(this.container_);this.input_=document.createElement(b);this.input_.onchange=function(){e(f.input_,f)};"textarea"==b&&(this.input_.oninput=function(){e(f.input_,f)});this.input_.id=shakaDemo.Input.generateNewId_("input");this.container_.appendChild(this.input_);a.latestTooltip&&(b=document.createElement("span"),b.textContent=a.latestTooltip,b.classList.add("hidden"),b.id=shakaDemo.Input.generateNewId_("extra-info"),
263
264
  this.container_.appendChild(b),this.input_.setAttribute("aria-describedby",b.id));this.extra_=null;d&&(this.extra_=document.createElement(d),this.container_.appendChild(this.extra_))};shakaDemo.Input.prototype.input=function(){return this.input_};shakaDemo.Input.prototype.container=function(){return this.container_};shakaDemo.Input.prototype.extra=function(){return this.extra_};
264
265
  shakaDemo.Input.prototype.setValid=function(a){a?(this.input_.setCustomValidity(""),this.container_.classList.remove("is-invalid")):(this.input_.setCustomValidity("invalid"),this.container_.parentElement.classList.add("is-invalid"))};shakaDemo.Input.generateNewId_=function(a){var b=shakaDemo.Input.lastId_;shakaDemo.Input.lastId_+=1;return a+"-labeled-"+b};shakaDemo.Input.lastId_=0;
265
266
  shakaDemo.SelectInput=function(a,b,c,d){shakaDemo.Input.call(this,a,"select","div","label",c);this.container_.classList.add("mdl-textfield");this.container_.classList.add("mdl-js-textfield");this.container_.classList.add("mdl-textfield--floating-label");this.input_.classList.add("mdl-textfield__input");this.extra_.classList.add("mdl-textfield__label");this.extra_.setAttribute("for",this.input_.id);b&&(this.extra_.textContent=shakaDemoMain.getLocalizedString(b));a=$jscomp.makeIterator(Object.keys(d));
266
267
  for(b=a.next();!b.done;b=a.next())b=b.value,c=document.createElement("option"),c.textContent=d[b],c.value=b,this.input_.appendChild(c)};$jscomp.inherits(shakaDemo.SelectInput,shakaDemo.Input);
267
268
  shakaDemo.BoolInput=function(a,b,c){shakaDemo.Input.call(this,a,"input","label","span",c);this.input_.type="checkbox";this.container_.classList.add("mdl-switch");this.container_.classList.add("mdl-js-switch");this.container_.classList.add("mdl-js-ripple-effect");this.container_.setAttribute("for",this.input_.id);this.input_.classList.add("mdl-switch__input");this.extra_.classList.add("mdl-switch__label")};$jscomp.inherits(shakaDemo.BoolInput,shakaDemo.Input);
268
269
  shakaDemo.TextInput=function(a,b,c,d){shakaDemo.Input.call(this,a,d?"textarea":"input","div","label",c);this.container_.classList.add("mdl-textfield");this.container_.classList.add("mdl-js-textfield");this.container_.classList.add("mdl-textfield--floating-label");this.input_.classList.add("mdl-textfield__input");this.extra_.classList.add("mdl-textfield__label");this.extra_.setAttribute("for",this.input_.id)};$jscomp.inherits(shakaDemo.TextInput,shakaDemo.Input);
269
- shakaDemo.DatalistInput=function(a,b,c,d){shakaDemo.TextInput.call(this,a,b,c,!1);var e=this,g=new Awesomplete(this.input_);g.list=d.slice();g.minChars=0;this.input_.addEventListener("focus",function(){g.evaluate()});this.input_.addEventListener("awesomplete-selectcomplete",function(){c(e.input_,e)})};$jscomp.inherits(shakaDemo.DatalistInput,shakaDemo.TextInput);
270
- shakaDemo.NumberInput=function(a,b,c,d,e,g){shakaDemo.TextInput.call(this,a,b,c,!1);a=document.createElement("span");a.classList.add("mdl-textfield__error");this.container_.appendChild(a);b=shakaDemo.MessageIds;a.textContent=e&&d?shakaDemoMain.getLocalizedString(b.NUMBER_DECIMAL_WARNING):e?shakaDemoMain.getLocalizedString(b.NUMBER_INTEGER_WARNING):d?shakaDemoMain.getLocalizedString(b.NUMBER_NONZERO_DECIMAL_WARNING):shakaDemoMain.getLocalizedString(b.NUMBER_NONZERO_INTEGER_WARNING);this.input_.pattern=
271
- "(Infinity|";this.input_.pattern=e?this.input_.pattern+"[0-9]*":this.input_.pattern+"[0-9]*[1-9][0-9]*";d&&(this.input_.pattern+="(.[0-9]+)?");this.input_.pattern+=")";g&&(this.input_.pattern+="?")};$jscomp.inherits(shakaDemo.NumberInput,shakaDemo.TextInput);shakaDemo.InputContainer=function(a,b,c,d){this.style_=c;this.table_=document.createElement("div");this.defaultRowClass_=null;this.numRows_=0;b&&this.createHeader_(a,b);this.table_.classList.add(c);c==shakaDemo.InputContainer.Style.ACCORDION&&this.table_.classList.add("hidden");a.appendChild(this.table_);d&&this.addDocLink_(this.table_,d)};shakaDemo.InputContainer.prototype.getIsOpen=function(){return this.style_==shakaDemo.InputContainer.Style.ACCORDION?this.table_.classList.contains("show"):!1};
270
+ shakaDemo.DatalistInput=function(a,b,c,d){shakaDemo.TextInput.call(this,a,b,c,!1);var e=this,f=new Awesomplete(this.input_);f.list=d.slice();f.minChars=0;this.input_.addEventListener("focus",function(){f.evaluate()});this.input_.addEventListener("awesomplete-selectcomplete",function(){c(e.input_,e)})};$jscomp.inherits(shakaDemo.DatalistInput,shakaDemo.TextInput);
271
+ shakaDemo.NumberInput=function(a,b,c,d,e,f){shakaDemo.TextInput.call(this,a,b,c,!1);a=document.createElement("span");a.classList.add("mdl-textfield__error");this.container_.appendChild(a);b=shakaDemo.MessageIds;a.textContent=e&&d?shakaDemoMain.getLocalizedString(b.NUMBER_DECIMAL_WARNING):e?shakaDemoMain.getLocalizedString(b.NUMBER_INTEGER_WARNING):d?shakaDemoMain.getLocalizedString(b.NUMBER_NONZERO_DECIMAL_WARNING):shakaDemoMain.getLocalizedString(b.NUMBER_NONZERO_INTEGER_WARNING);this.input_.pattern=
272
+ "(Infinity|";this.input_.pattern=e?this.input_.pattern+"[0-9]*":this.input_.pattern+"[0-9]*[1-9][0-9]*";d&&(this.input_.pattern+="(.[0-9]+)?");this.input_.pattern+=")";f&&(this.input_.pattern+="?")};$jscomp.inherits(shakaDemo.NumberInput,shakaDemo.TextInput);shakaDemo.InputContainer=function(a,b,c,d){this.style_=c;this.table_=document.createElement("div");this.defaultRowClass_=null;this.numRows_=0;b&&this.createHeader_(a,b);this.table_.classList.add(c);c==shakaDemo.InputContainer.Style.ACCORDION&&this.table_.classList.add("hidden");a.appendChild(this.table_);d&&this.addDocLink_(this.table_,d)};shakaDemo.InputContainer.prototype.getIsOpen=function(){return this.style_==shakaDemo.InputContainer.Style.ACCORDION?this.table_.classList.contains("show"):!1};
272
273
  shakaDemo.InputContainer.prototype.open=function(){var a=this;!this.style_!=shakaDemo.InputContainer.Style.ACCORDION&&(this.table_.classList.remove("hidden"),setTimeout(function(){a.table_.classList.add("show")},20),this.header_.classList.add("mdl-button--colored"))};
273
274
  shakaDemo.InputContainer.prototype.close=function(){var a=this;this.style_==shakaDemo.InputContainer.Style.ACCORDION&&(this.table_.classList.remove("show"),this.table_.addEventListener("transitionend",function(b){a.table_.classList.add("hidden")},{once:!0}),this.header_.classList.remove("mdl-button--colored"))};
274
275
  shakaDemo.InputContainer.prototype.createHeader_=function(a,b){var c=this;this.style_==shakaDemo.InputContainer.Style.ACCORDION?(this.header_=document.createElement("button"),this.header_.classList.add("mdl-button--raised"),this.header_.classList.add("mdl-button"),this.header_.classList.add("mdl-js-button"),this.header_.classList.add("mdl-js-ripple-effect"),this.header_.addEventListener("click",function(){c.getIsOpen()?c.close():c.open()})):(this.header_=document.createElement("div"),this.header_.classList.add("input-header"));
275
276
  this.header_.textContent=shakaDemoMain.getLocalizedString(b);a.appendChild(this.header_)};shakaDemo.InputContainer.prototype.addDocLink_=function(a,b){var c=document.createElement("a");c.href=b;c.target="_blank";c.classList.add("mdl-button");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.classList.add("mdl-button--colored");var d=document.createElement("i");d.classList.add("material-icons-round");d.textContent="help";c.appendChild(d);a.appendChild(c)};
276
277
  shakaDemo.InputContainer.prototype.setDefaultRowClass=function(a){this.defaultRowClass_=a};shakaDemo.InputContainer.prototype.getClassList=function(){return this.table_.classList};
277
278
  shakaDemo.InputContainer.prototype.addRow=function(a,b,c){c=c||this.defaultRowClass_||"";this.latestRow_=document.createElement("div");c&&this.latestRow_.classList.add(c);this.table_.appendChild(this.latestRow_);c="input-container-row-"+this.numRows_;this.numRows_+=1;if(a){var d=document.createElement("label");d.setAttribute("for",c);d.classList.add("input-container-label");var e=document.createElement("b");e.textContent=shakaDemoMain.getLocalizedString(a);d.appendChild(e);this.latestRow_.appendChild(d)}this.latestElementContainer=
278
- document.createElement("div");this.latestRow_.appendChild(this.latestElementContainer);this.latestElementContainer.classList.add("input-container-row");this.latestElementContainer.id=c;if(this.latestTooltip=b)shakaDemo.Tooltips.make(this.latestRow_,b),this.latestRow_.setAttribute("tabindex",-1),this.latestRow_.classList.add("borderless")};shakaDemo.InputContainer.Style={VERTICAL:"input-container-style-vertical",ACCORDION:"input-container-style-accordion",FLEX:"input-container-style-flex"};shakaDemo.Utils=function(){};
279
- shakaDemo.Utils.runThroughHashParams=function(a,b){var c=[],d=function(k,l){c.push(l);a(k,l)};d("audiolang","preferredAudioLanguage");d("textlang","preferredTextLanguage");d("textrole","preferredTextRole");d("channels","preferredAudioChannelCount");c.push("abr.enabled");c.push("streaming.jumpLargeGaps");c.push("drm.advanced");c.push("drm.servers");var e=[],g=[],f=function(k){for(var l in k){e.includes(l)&&!g.includes(l)&&g.push(l);e.push(l);var m=k[l];"number"!=typeof m&&"string"!=typeof m&&"boolean"!=
280
- typeof m&&f(m)}};f(b);var h=function(k,l){for(var m in k){var n=m,p=l+m;if(!c.includes(p)){g.includes(m)&&(n=p);var q=k[m];"number"==typeof q||"string"==typeof q||"boolean"==typeof q?a(n,p):h(q,p+".")}}};h(b,"")};shakaDemo.Utils.browserSupportsUncompiledMode=function(){try{return eval("async ()=>{}"),!0}catch(a){return!1}};shakaDemo.Main=function(){this.localization_=this.selectedAsset=this.player_=this.container_=this.video_=null;this.fullyLoaded_=!1;this.controls_=null;this.nativeControlsEnabled_=this.trickPlayControlsEnabled_=!1;this.uiLocale_="";this.noInput_=!1;this.errorDisplayLink_=document.getElementById("error-display-link");this.currentErrorSeverity_=null;MaterialLayout.prototype.Constant_.MENU_ICON="settings"};
281
- shakaDemo.Main.prototype.initCommon_=function(){var a=this;window.addEventListener("error",function(b){if(!b.message.includes("cvox.Api"))a.onError_(b.error)});document.getElementById("error-display-close-button").addEventListener("click",function(b){return a.closeError_()});this.setUpVersionStrings_()};
282
- shakaDemo.Main.prototype.initFailed=function(a){var b=this,c,d,e,g,f,h,k,l,m,n,p,q;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress){b.initCommon_();b.makeVersionLinks_();c=document.getElementById("error-display-close-button");c.style.display="none";componentHandler.upgradeDom();d=[];e=$jscomp.makeIterator(document.getElementsByClassName("should-disable-on-fail"));for(g=e.next();!g.done;g=e.next())f=g.value,d.push(f);h=$jscomp.makeIterator(document.getElementsByClassName("mdl-layout__drawer-button"));
283
- for(g=h.next();!g.done;g=h.next())k=g.value,d.push(k);l=$jscomp.makeIterator(d);for(g=l.next();!g.done;g=l.next())m=g.value,m.tabIndex=-1,m.classList.add("disabled-by-fail");b.localization_=new shaka.ui.Localization("en");b.localization_.changeLocale(navigator.languages||[]);return t.yield(b.setupLocalization_(),2)}n=shaka.util.Error.Severity.CRITICAL;q=p="";switch(a){case shaka.ui.Overlay.FailReasonCode.NO_BROWSER_SUPPORT:q=b.getLocalizedString(shakaDemo.MessageIds.FAILURE_NO_BROWSER_SUPPORT);p=
284
- "https://github.com/google/shaka-player#platform-and-browser-support-matrix";break;case shaka.ui.Overlay.FailReasonCode.PLAYER_FAILED_TO_LOAD:q=b.getLocalizedString(shakaDemo.MessageIds.FAILURE_MISC)}b.handleError_(n,q,p);t.jumpToEnd()})};
285
- shakaDemo.Main.prototype.init=function(){var a=this,b,c,d,e,g,f,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){switch(k.nextAddress){case 1:return a.initCommon_(),b=a,k.yield(shaka.Player.probeSupport(),2);case 2:return b.support_=k.yieldResult,a.video_=document.getElementById("video"),a.video_.poster=shakaDemo.Main.mainPoster_,a.container_=document.getElementsByClassName("video-container")[0],navigator.serviceWorker&&(console.debug("Registering service worker."),navigator.serviceWorker.register("service_worker.js")),
286
- a.noInput_="noinput"in a.getParams_(),k.yield(a.setupPlayer_(),3);case 3:return a.readHash_(),window.addEventListener("hashchange",function(){return a.hashChanged_()}),k.yield(a.setupStorage_(),4);case 4:a.setupBugButton_();if(a.noInput_){c=$jscomp.makeIterator(document.getElementsByClassName("should-hide-in-no-input-mode"));for(d=c.next();!d.done;d=c.next())e=d.value,a.hideElement_(e);g=$jscomp.makeIterator(document.getElementsByClassName("should-show-in-no-input-mode"));for(d=g.next();!d.done;d=
287
- g.next())f=d.value,a.showElement_(f);a.container_.classList.add("no-input-sized");document.getElementById("video-bar").classList.add("no-input-sized")}a.dispatchEventWithName_("shaka-main-loaded");return k.yield(Promise.resolve(),5);case 5:componentHandler.upgradeDom(),h=a.getLastAssetFromHash_(),a.fullyLoaded_=!0,a.remakeHash(),h&&!a.selectedAsset&&a.loadAsset(h),k.jumpToEnd()}})};
288
- shakaDemo.Main.prototype.loadText_=function(a){var b,c,d,e,g,f,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){return 1==k.nextAddress?(b=new shaka.net.NetworkingEngine,c=shaka.net.NetworkingEngine.defaultRetryParameters(),d=shaka.net.NetworkingEngine.makeRequest([a],c),e=shaka.net.NetworkingEngine.RequestType.APP,g=b.request(e,d),k.yield(g.promise,2)):3!=k.nextAddress?(f=k.yieldResult,h=shaka.util.StringUtils.fromUTF8(f.data),k.yield(b.destroy(),3)):k["return"](h)})};
289
- shakaDemo.Main.prototype.reportBug_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){switch(g.nextAddress){case 1:return g.yield(a.loadText_("autoTemplate.txt"),2);case 2:b=g.yieldResult;c=function(f,h){b=b.replace(f,h)};c("RE:player",shaka.Player.version);c("RE:link",window.location.href);c("RE:browser",navigator.userAgent);if(!a.selectedAsset||a.selectedAsset.source!=shakaAssets.Source.CUSTOM){c("RE:customwarning\n","");g.jumpTo(3);break}return g.yield(a.loadText_("customWarning.txt"),
290
- 4);case 4:d=g.yieldResult,c("RE:customwarning",d);case 3:e="https://github.com/google/shaka-player/issues/new?",e+="body="+encodeURIComponent(b),window.open(e,"_blank"),g.jumpToEnd()}})};
291
- shakaDemo.Main.prototype.setupBugButton_=function(){var a=this,b=document.getElementById("bug-button");b.addEventListener("click",function(){return a.reportBug_()});navigator.onLine||b.setAttribute("disabled","");window.addEventListener("online",function(){b.removeAttribute("disabled")});window.addEventListener("offline",function(){b.setAttribute("disabled","")})};
292
- shakaDemo.Main.prototype.configureUI_=function(){var a=this.video_.ui,b=a.getConfiguration();b.addSeekBar=!0;b.controlPanelElements=b.controlPanelElements.filter(function(d){return"rewind"!=d&&"fast_forward"!=d});if(this.trickPlayControlsEnabled_){b.addSeekBar=!1;var c=b.controlPanelElements.indexOf("play_pause");b.controlPanelElements.splice(c,1,"rewind","play_pause","fast_forward")}b.controlPanelElements.includes("close")||b.controlPanelElements.push("close");a.configure(b)};
293
- shakaDemo.Main.prototype.setupPlayer_=function(){var a=this,b,c,d,e,g,f,h,k,l;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress)return b=a.video_,c=b.ui,a.player_=c.getControls().getPlayer(),a.noInput_||(d=new shakaDemo.CloseButton.Factory,shaka.ui.Controls.registerElement("close",d),a.configureUI_()),a.player_.configure("manifest.dash.clockSyncUri","https://shaka-player-demo.appspot.com/time.txt"),a.defaultConfig_=a.player_.getConfiguration(),a.desiredConfig_=a.player_.getConfiguration(),
294
- e=navigator.languages||["en-us"],a.configure("preferredAudioLanguage",e[0]),a.configure("preferredTextLanguage",e[0]),a.uiLocale_=e[0],g=function(n){return a.onErrorEvent_(n)},a.player_.addEventListener("error",g),a.controls_=c.getControls(),a.controls_.addEventListener("error",g),a.controls_.addEventListener("caststatuschanged",function(n){a.onCastStatusChange_(n.newStatus)}),a.localization_=a.controls_.getLocalization(),m.yield(a.setupLocalization_(),2);f=document.getElementById("drawer-close-button");
295
- f.addEventListener("click",function(){document.getElementById("main-layout").MaterialLayout.toggleDrawer();a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideElement_(f)});h=document.querySelector(".mdl-layout__drawer-button");goog.asserts.assert(h,"There should be a drawer button.");k=function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.showElement_(f)};h.addEventListener("click",k);h.addEventListener("keydown",function(n){n=n.key;" "!=n&&"Spacebar"!=n&&"Enter"!=
296
- n||k()});l=document.querySelector(".mdl-layout__obfuscator");goog.asserts.assert(l,"There should be an obfuscator.");l.addEventListener("click",function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideElement_(f)});a.hideElement_(f);m.jumpToEnd()})};
297
- shakaDemo.Main.prototype.setupLocalization_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress)return b=function(){a.localizeHTMLElements_();a.dispatchEventWithName_("shaka-main-locale-changed")},c=shaka.ui.Localization.UNKNOWN_LOCALES,a.localization_.addEventListener(c,function(f){var h={};f=$jscomp.makeIterator(f.locales);for(var k=f.next();!k.done;h={$jscomp$loop$prop$locale$75:h.$jscomp$loop$prop$locale$75},k=f.next())h.$jscomp$loop$prop$locale$75=
298
- k.value,a.loadUILocale_(h.$jscomp$loop$prop$locale$75).then(function(l){return function(){l.$jscomp$loop$prop$locale$75==a.uiLocale_&&b()}}(h))}),d=shaka.ui.Localization.LOCALE_CHANGED,a.localization_.addEventListener(d,function(f){b()}),e=[],e.push(a.loadUILocale_(a.uiLocale_)),a.uiLocale_.includes("-")&&e.push(a.loadUILocale_(a.uiLocale_.split("-")[0])),a.uiLocale_.startsWith("en")||e.push(a.loadUILocale_("en")),g.yield(Promise.all(e),2);a.localizeHTMLElements_();g.jumpToEnd()})};
299
- shakaDemo.Main.prototype.getIsDrawerOpen=function(){var a=document.querySelector(".mdl-layout__drawer");goog.asserts.assert(a,"There should be a drawer.");return a.classList.contains("is-visible")};shakaDemo.Main.prototype.getIdentifierFromAsset_=function(a){return a.name+(a.source==shakaAssets.Source.CUSTOM?" [CUSTOM]":"")};
300
- shakaDemo.Main.prototype.makeStorageInstance_=function(){var a=this;if(!shaka.offline.Storage.support())return null;var b=new shaka.offline.Storage;b.configure(this.desiredConfig_);b.configure("offline.progressCallback",function(c,d){var e=c.appMetadata.identifier;a:{for(var g=$jscomp.makeIterator(shakaAssets.testAssets),f=g.next();!f.done;f=g.next())if(f=f.value,a.getIdentifierFromAsset_(f)==e){e=f;break a}if(shakaDemoCustom)for(g=$jscomp.makeIterator(shakaDemoCustom.assets()),f=g.next();!f.done;f=
301
- g.next())if(f=f.value,a.getIdentifierFromAsset_(f)==e){e=f;break a}e=null}e&&(e.storedProgress=d,a.dispatchEventWithName_("shaka-main-offline-progress"))});return b};
302
- shakaDemo.Main.prototype.setupOfflineSupport=function(a){var b=this;if(this.initialStoredList_){a.storedContent=null;for(var c=$jscomp.makeIterator(this.initialStoredList_),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.appMetadata.identifier;this.getIdentifierFromAsset_(a)==e&&(a.storedContent=d)}a.storeCallback=function(){var g,f,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){switch(l.nextAddress){case 1:g=b.makeStorageInstance_();if(!g)return l["return"]();l.setCatchFinallyBlocks(2);
303
- return l.yield(b.drmConfiguration_(a,g),4);case 4:return f={identifier:b.getIdentifierFromAsset_(a),downloaded:new Date},a.storedProgress=0,b.dispatchEventWithName_("shaka-main-offline-progress"),l.yield(g.store(a.manifestUri,f).promise,5);case 5:h=l.yieldResult;a.storedContent=h;l.leaveTryBlock(3);break;case 2:k=l.enterCatchBlock(),b.onError_(k),a.storedContent=null;case 3:g.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),l.jumpToEnd()}})};a.unstoreCallback=function(){var g,
304
- f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:a==b.selectedAsset&&b.unload();if(!a.storedContent||!a.storedContent.offlineUri){h.jumpTo(0);break}g=b.makeStorageInstance_();if(!g)return h["return"]();h.setCatchFinallyBlocks(3);a.storedProgress=0;b.dispatchEventWithName_("shaka-main-offline-progress");return h.yield(g.remove(a.storedContent.offlineUri),5);case 5:a.storedContent=null;h.leaveTryBlock(4);break;case 3:f=h.enterCatchBlock(),b.onError_(f);case 4:g.destroy(),
305
- a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),h.jumpToEnd()}})}}};
306
- shakaDemo.Main.prototype.setupStorage_=function(){var a=this,b,c,d,e,g,f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:b=a.makeStorageInstance_();if(!b)return h["return"]();h.setCatchFinallyBlocks(2,3);c=a;return h.yield(b.list(),5);case 5:c.initialStoredList_=h.yieldResult;case 3:h.enterFinallyBlock();b.destroy();h.leaveFinallyBlock(4);break;case 2:d=h.enterCatchBlock();console.error(d);a.initialStoredList_=null;h.jumpTo(3);break;case 4:e=$jscomp.makeIterator(shakaAssets.testAssets);
307
- for(g=e.next();!g.done;g=e.next())f=g.value,a.getAssetUnsupportedReason(f,!0)||a.setupOfflineSupport(f);h.jumpToEnd()}})};shakaDemo.Main.prototype.hashChanged_=function(){this.readHash_();this.dispatchEventWithName_("shaka-main-config-change")};
308
- shakaDemo.Main.prototype.getAssetUnsupportedReason=function(a,b){var c=this;if(b&&(!shaka.offline.Storage.support()||!this.initialStoredList_))return shakaDemo.MessageIds.UNSUPPORTED_NO_OFFLINE;if(a.source==shakaAssets.Source.CUSTOM)return null;if(a.disabled)return shakaDemo.MessageIds.UNSUPPORTED_DISABLED;if(b&&!a.features.includes(shakaAssets.Feature.OFFLINE))return shakaDemo.MessageIds.UNSUPPORTED_NO_DOWNLOAD;if(!a.isClear()){if(!a.drm.some(function(e){return c.support_.drm[shakaAssets.identifierForKeySystem(e)]}))return shakaDemo.MessageIds.UNSUPPORTED_NO_KEY_SUPPORT;
309
- if(b&&!a.drm.some(function(e){e=shakaAssets.identifierForKeySystem(e);return c.support_.drm[e]&&c.support_.drm[e].persistentState}))return shakaDemo.MessageIds.UNSUPPORTED_NO_LICENSE_SUPPORT}if(a.features.includes(shakaAssets.Feature.DASH)&&!this.support_.manifest.mpd)return shakaDemo.MessageIds.UNSUPPORTED_NO_DASH_SUPPORT;if(a.features.includes(shakaAssets.Feature.HLS)&&!this.support_.manifest.m3u8)return shakaDemo.MessageIds.UNSUPPORTED_NO_HLS_SUPPORT;var d=[];a.features.includes(shakaAssets.Feature.WEBM)&&
310
- d.push("video/webm");a.features.includes(shakaAssets.Feature.MP4)&&d.push("video/mp4");a.features.includes(shakaAssets.Feature.MP2TS)&&d.push("video/mp2t");return d.some(function(e){return c.support_.media[e]})?null:shakaDemo.MessageIds.UNSUPPORTED_NO_FORMAT_SUPPORT};shakaDemo.Main.prototype.setTrickPlayControlsEnabled=function(a){this.trickPlayControlsEnabled_=a;this.configureUI_();this.remakeHash()};shakaDemo.Main.prototype.getTrickPlayControlsEnabled=function(){return this.trickPlayControlsEnabled_};
311
- shakaDemo.Main.prototype.setNativeControlsEnabled=function(a){this.nativeControlsEnabled_=a;this.remakeHash()};shakaDemo.Main.prototype.getNativeControlsEnabled=function(){return this.nativeControlsEnabled_};shakaDemo.Main.prototype.localizeHTMLElements_=function(){for(var a=$jscomp.makeIterator(document.querySelectorAll("[localized-string]")),b=a.next();!b.done;b=a.next()){b=b.value;var c=b.getAttribute("localized-string");if(c=shakaDemo.MessageIds[c])b.textContent=this.getLocalizedString(c)}};
312
- shakaDemo.Main.prototype.getLocalizedString=function(a){return this.localization_.resolve(a)};
313
- shakaDemo.Main.prototype.loadUILocale_=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(!a)return d["return"]();c=function(e){var g,f,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress)return g=e+"/locales/"+a+".json",l.setCatchFinallyBlocks(2),l.yield(b.loadText_(g),4);if(2!=l.nextAddress)return f=l.yieldResult,h=JSON.parse(f),k=new Map(Object.entries(h)),b.localization_.insert(a,k),l.leaveTryBlock(0);l.enterCatchBlock();
314
- console.warn("Unable to load locale",a,"for url",g);l.jumpToEnd()})};return d.yield(Promise.all([c("../ui"),c("../demo")]),0)})};shakaDemo.Main.prototype.setUILocale=function(a){this.uiLocale_=a;a=[a].concat(navigator.languages);this.localization_.changeLocale(a)};shakaDemo.Main.prototype.getUILocale=function(){return this.uiLocale_};
315
- shakaDemo.Main.prototype.getLastAssetFromHash_=function(){var a=this.getParams_(),b=a.asset,c=a.adTagUri;if(b){for(var d=$jscomp.makeIterator(shakaAssets.testAssets),e=d.next();!e.done;e=d.next())if(e=e.value,e.manifestUri==b&&e.adTagUri==c)return e;c=$jscomp.makeIterator(shakaDemoCustom.assets());for(e=c.next();!e.done;e=c.next())if(d=e.value,d.manifestUri==b)return d;b=new ShakaDemoAssetInfo("loaded asset","",b,shakaAssets.Source.CUSTOM);if("license"in a)for(c=shakaDemo.Main.commonDrmSystems,("drmSystem"in
316
- a)&&(c=[a.drmSystem]),c=$jscomp.makeIterator(c),d=c.next();!d.done;d=c.next())b.addLicenseServer(d.value,a.license);"certificate"in a&&b.addCertificateUri(a.certificate);return b}return null};
317
- shakaDemo.Main.prototype.readHash_=function(){var a=this,b=this.getParams_();if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(g,f){if(g in b){var h=a.getCurrentConfigValue(f),k=b[g];"boolean"==typeof h?k="true"==k:"number"==typeof h&&(k=parseFloat(k));a.configure(f,k)}},c);if(c=this.getCurrentConfigValue("drm.advanced"))for(var d=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),e=d.next();!e.done;e=d.next())e=e.value,c[e]||(c[e]=shakaDemo.Main.defaultAdvancedDrmConfig()),
318
- "videoRobustness"in b&&(c[e].videoRobustness=b.videoRobustness),"audioRobustness"in b&&(c[e].audioRobustness=b.audioRobustness)}"lang"in b&&(c=b.lang,this.configure("preferredAudioLanguage",c),this.configure("preferredTextLanguage",c),this.setUILocale(c));"uilang"in b&&this.setUILocale(b.uilang);"noadaptation"in b&&this.configure("abr.enabled",!1);"jumpLargeGaps"in b&&this.configure("streaming.jumpLargeGaps",!0);this.makeVersionLinks_();this.nativeControlsEnabled_="nativecontrols"in b;"trickplay"in
319
- b&&(this.trickPlayControlsEnabled_=!0,this.configureUI_());shakaDemo.Utils.browserSupportsUncompiledMode()||(c=document.getElementById("uncompiled-link"),goog.asserts.assert(c instanceof HTMLAnchorElement,"Wrong element type!"),c.setAttribute("disabled",""),c.removeAttribute("href"),c.title="requires a newer browser");shaka.log&&("vv"in b?shaka.log.setLevel(shaka.log.Level.V2):"v"in b?shaka.log.setLevel(shaka.log.Level.V1):"debug"in b?shaka.log.setLevel(shaka.log.Level.DEBUG):"info"in b&&shaka.log.setLevel(shaka.log.Level.INFO))};
320
- shakaDemo.Main.prototype.makeVersionLinks_=function(){var a=this,b=this.getParams_(),c="uncompiled";"build"in b?c=b.build:"compiled"in b&&(c="compiled");b={};for(var d=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]),e=d.next();!e.done;b={$jscomp$loop$prop$type$77:b.$jscomp$loop$prop$type$77},e=d.next())b.$jscomp$loop$prop$type$77=e.value,e=document.getElementById(b.$jscomp$loop$prop$type$77.split("_").join("-")+"-link"),goog.asserts.assert(e instanceof HTMLAnchorElement,"Wrong element type!"),
321
- c==b.$jscomp$loop$prop$type$77?(e.setAttribute("disabled",""),e.removeAttribute("href"),e.title="currently selected"):(e.removeAttribute("disabled"),e.addEventListener("click",function(g){return function(){var f=location.hash.substr(1).split(";").filter(function(h){return"compiled"!=h&&"build"!=h.split("=")[0]});f.push("build="+g.$jscomp$loop$prop$type$77);a.setNewHashSilent_(f.join(";"));location.reload();return!1}}(b)))};
322
- shakaDemo.Main.prototype.getParams_=function(){var a=location.search.substr(1);a=a?a.split(";"):[];var b=location.hash.substr(1);b=b?b.split(";"):[];b=a.concat(b);a={};b=$jscomp.makeIterator(b);for(var c=b.next();!c.done;c=b.next())c=c.value.split("="),a[c[0]]=c.slice(1).join("=");return a};shakaDemo.Main.prototype.getValueFromGivenConfig_=function(a,b){for(var c=b,d=a;d;){var e=d.split(/\.(.+)/);if(3==e.length)d=e[1],c=c[e[0]];else return c[e[0]]}};
323
- shakaDemo.Main.prototype.getCurrentConfigValue=function(a){return this.getValueFromGivenConfig_(a,this.desiredConfig_)};shakaDemo.Main.prototype.resetConfiguration=function(a){this.configure(a,void 0)};shakaDemo.Main.prototype.configure=function(a,b){2==arguments.length&&"string"==typeof a&&(a=shaka.util.ConfigUtils.convertToConfigObject(a,b));shaka.util.PlayerConfiguration.mergeConfigObjects(this.desiredConfig_,a,this.defaultConfig_);this.player_.configure(a,b)};
324
- shakaDemo.Main.prototype.getConfiguration=function(){return this.desiredConfig_};shakaDemo.Main.prototype.requestCertificate_=function(a,b){var c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress)return c=shaka.net.NetworkingEngine.RequestType.APP,d={uris:[a]},g.yield(b.request(c,d).promise,2);e=g.yieldResult;return g["return"](e.data)})};
325
- shakaDemo.Main.prototype.unload=function(){this.selectedAsset=null;var a=document.getElementById("video-bar");this.hideElement_(a);this.video_.poster=shakaDemo.Main.mainPoster_;document.fullscreenElement&&document.exitFullscreen();document.pictureInPictureElement&&document.exitPictureInPicture();this.player_.unload();this.dispatchEventWithName_("shaka-main-selected-asset-changed");navigator.mediaSession&&(navigator.mediaSession.metadata=null);this.remakeHash()};
326
- shakaDemo.Main.prototype.drmConfiguration_=function(a,b){var c=this,d,e,g,f,h,k,l,m,n,p;return $jscomp.asyncExecutePromiseGeneratorProgram(function(q){if(1==q.nextAddress){d=b?b.getNetworkingEngine():c.player_.getNetworkingEngine();goog.asserts.assert(d,"There should be a net engine.");a.applyFilters(d);e=a.getConfiguration();b?b.configure(e):(c.player_.resetConfiguration(),c.player_.configure(c.desiredConfig_),c.player_.configure(e));g=b?b.getConfiguration():c.player_.getConfiguration();if(!a.certificateUri){f=
327
- $jscomp.makeIterator(a.licenseServers.keys());for(h=f.next();!h.done;h=f.next())k=h.value,g.drm.advanced[k]&&delete g.drm.advanced[k].serverCertificate;return q.jumpTo(2)}return q.yield(c.requestCertificate_(a.certificateUri,d),3)}if(2!=q.nextAddress)for(l=q.yieldResult,m=shaka.util.BufferUtils.toUint8(l),n=$jscomp.makeIterator(a.licenseServers.keys()),h=n.next();!h.done;h=n.next())p=h.value,g.drm.advanced[p]=g.drm.advanced[p]||{},g.drm.advanced[p].serverCertificate=m;b?b.configure(g):c.player_.configure("drm.advanced",
328
- g.drm.advanced);c.remakeHash();q.jumpToEnd()})};shakaDemo.Main.prototype.showPlayer_=function(){var a=document.getElementById("video-bar");this.showElement_(a);this.closeError_();this.video_.poster=shakaDemo.Main.mainPoster_;a.scrollIntoView({behavior:"smooth",block:"start"})};
329
- shakaDemo.Main.prototype.loadAsset=function(a){var b=this,c,d,e,g,f,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){switch(k.nextAddress){case 1:return k.setCatchFinallyBlocks(2),b.selectedAsset=a,b.showPlayer_(),b.dispatchEventWithName_("shaka-main-selected-asset-changed"),k.yield(b.drmConfiguration_(a),4);case 4:b.controls_.getCastProxy().setAppData({asset:a});b.nativeControlsEnabled_?(b.controls_.setEnabledShakaControls(!1),b.controls_.setEnabledNativeControls(!0),b.player_.setVideoContainer(null)):
330
- (b.controls_.setEnabledShakaControls(!0),b.controls_.setEnabledNativeControls(!1),b.player_.setVideoContainer(b.container_));c=a.manifestUri;a.storedContent&&a.storedContent.offlineUri&&(c=a.storedContent.offlineUri);if(!(a.imaAssetKey||a.imaContentSrcId&&a.imaVideoId)){k.jumpTo(5);break}return k.yield(b.getManifestUriFromAdManager_(a),6);case 6:c=k.yieldResult;case 5:return k.yield(b.player_.load(c,null,a.mimeType||void 0),7);case 7:b.player_.isAudioOnly()&&(b.video_.poster=shakaDemo.Main.audioOnlyPoster_);
331
- if((d=b.player_.getAdManager())&&a.adTagUri)try{goog.asserts.assert(null!=b.video_,"this.video should exist!"),d.initClientSide(b.controls_.getClientSideAdContainer(),b.video_),e=new google.ima.AdsRequest,e.adTagUrl=a.adTagUri,d.requestClientSideAds(e)}catch(l){console.log(l),console.warn("Ads code has been prevented from running. Proceeding without ads.")}navigator.mediaSession&&(g={title:a.name,artwork:[{src:a.iconUri}]},g.artist=a.source,navigator.mediaSession.metadata=new MediaMetadata(g));k.leaveTryBlock(3);
332
- break;case 2:if(h=f=k.enterCatchBlock(),h.code==shaka.util.Error.Code.LOAD_INTERRUPTED)console.debug("load() interrupted");else b.onError_(h);case 3:b.remakeHash(),k.jumpToEnd()}})};
333
- shakaDemo.Main.prototype.remakeHash=function(){var a=this;if(this.fullyLoaded_){var b=[];if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(g,f){var h=a.getCurrentConfigValue(f),k=a.getValueFromGivenConfig_(f,a.defaultConfig_),l=isNaN(h)&&isNaN(k);h==k||l||b.push(g+"="+h)},c);var d=this.getCurrentConfigValue("drm.advanced");if(d){var e=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems);for(c=e.next();!c.done;c=e.next())if(c=d[c.value]){c.videoRobustness&&
334
- b.push("videoRobustness="+c.videoRobustness);c.audioRobustness&&b.push("audioRobustness="+c.audioRobustness);break}}}this.getCurrentConfigValue("abr.enabled")||b.push("noadaptation");this.getCurrentConfigValue("streaming.jumpLargeGaps")&&b.push("jumpLargeGaps");b.push("uilang="+this.getUILocale());if(this.selectedAsset){d=shakaAssets.testAssets.includes(this.selectedAsset);b.push("asset="+this.selectedAsset.manifestUri);this.selectedAsset.adTagUri&&b.push("adTagUri="+this.selectedAsset.adTagUri);
335
- if(!d&&this.selectedAsset.licenseServers.size)for(c=this.selectedAsset.licenseServers.values().next().value,b.push("license="+c),e=$jscomp.makeIterator(this.selectedAsset.licenseServers.keys()),c=e.next();!c.done;c=e.next())if(c=c.value,!shakaDemo.Main.commonDrmSystems.includes(c)){b.push("drmSystem="+c);break}!d&&this.selectedAsset.certificateUri&&b.push("certificate="+this.selectedAsset.certificateUri)}c=document.getElementById("nav-button-container");c=$jscomp.makeIterator(c.childNodes);for(d=
336
- c.next();!d.done;d=c.next())if(d=d.value,d.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(d instanceof HTMLElement,"Wrong node type!"),d.classList.contains("mdl-button--accent"))){b.push("panel="+d.getAttribute("tab-identifier"));(c=d.getAttribute("tab-hash"))&&b.push("panelData="+c);break}c=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]);for(d=c.next();!d.done;d=c.next())d=d.value,document.getElementById(d.split("_").join("-")+"-link").hasAttribute("disabled")&&b.push("build="+
337
- d);this.noInput_&&b.push("noinput");this.nativeControlsEnabled_&&b.push("nativecontrols");this.trickPlayControlsEnabled_&&b.push("trickplay");if(shaka.log&&shaka.log.currentLevel!=shaka.log.MAX_LOG_LEVEL)switch(shaka.log.currentLevel){case shaka.log.Level.INFO:b.push("info");break;case shaka.log.Level.DEBUG:b.push("debug");break;case shaka.log.Level.V2:b.push("vv");break;case shaka.log.Level.V1:b.push("v")}this.setNewHashSilent_(b.join(";"))}};
338
- shakaDemo.Main.prototype.setNewHashSilent_=function(a){history.replaceState(null,"",document.location.pathname+"#"+a)};shakaDemo.Main.prototype.getHamburgerMenu=function(){return document.getElementById("hamburger-menu-contents")};shakaDemo.Main.prototype.hideElement_=function(a){a.classList.add("hidden")};shakaDemo.Main.prototype.showElement_=function(a){a.classList.remove("hidden")};
339
- shakaDemo.Main.prototype.getManifestUriFromAdManager_=function(a){var b=this,c,d,e,g,f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress)return c=b.player_.getAdManager(),d=b.controls_.getServerSideAdContainer(),h.setCatchFinallyBlocks(2),goog.asserts.assert(null!=b.video_,"Video should not be null!"),c.initServerSide(d,b.video_),null!=a.imaAssetKey?(e=new google.ima.dai.api.LiveStreamRequest,e.assetKey=a.imaAssetKey):(goog.asserts.assert(null!=a.imaContentSrcId&&
340
- null!=a.imaVideoId,"Asset should have ima ids!"),e=new google.ima.dai.api.VODStreamRequest,e.contentSourceId=a.imaContentSrcId,e.videoId=a.imaVideoId),h.yield(c.requestServerSideStream(e,a.manifestUri),4);if(2!=h.nextAddress)return g=h.yieldResult,h["return"](g);f=h.enterCatchBlock();console.log(f);console.warn("Ads code has been prevented from running or returned an error. Proceeding without ads.");return h["return"](a.manifestUri)})};
341
- shakaDemo.Main.prototype.addNavButton=function(a){var b=this,c=document.getElementById("nav-button-container"),d=document.getElementById("contents"),e=document.getElementById("nav-button-"+a),g=this.getParams_();(a=g.panel==encodeURI(e.getAttribute("tab-identifier")))?(g=g.panelData)&&e.setAttribute("tab-hash",g):g.panel||(a=null!=e.getAttribute("defaultselected"));var f=document.createElement("div");this.hideElement_(f);d.appendChild(f);g=function(){for(var h=$jscomp.makeIterator(c.childNodes),k=
342
- h.next();!k.done;k=h.next())k=k.value,k.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(k instanceof Element,"Wrong node type!"),k.classList.remove("mdl-button--accent"));h=$jscomp.makeIterator(d.childNodes);for(k=h.next();!k.done;k=h.next())k=k.value,k.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(k instanceof Element,"Wrong node type!"),b.hideElement_(k));e.classList.add("mdl-button--accent");b.showElement_(f);b.remakeHash();b.dispatchEventWithName_("shaka-main-page-changed");f.scrollIntoView({behavior:"smooth",
343
- block:"start"})};e.addEventListener("click",g);a&&Promise.resolve().then(g);return{container:f,button:e}};shakaDemo.Main.prototype.dispatchEventWithName_=function(a){var b=document.createEvent("CustomEvent");b.initCustomEvent(a,!1,!1,null);document.dispatchEvent(b)};
344
- shakaDemo.Main.prototype.setUpVersionStrings_=function(){for(var a=shaka.Player.version.split("-"),b=[],c={},d=$jscomp.makeIterator(["debug","uncompiled"]),e=d.next();!e.done;c={$jscomp$loop$prop$whitelisted$79:c.$jscomp$loop$prop$whitelisted$79},e=d.next())c.$jscomp$loop$prop$whitelisted$79=e.value,a.includes(c.$jscomp$loop$prop$whitelisted$79)&&(b.push(c.$jscomp$loop$prop$whitelisted$79),a=a.filter(function(g){return function(f){return f!=g.$jscomp$loop$prop$whitelisted$79}}(c)));c=document.getElementsByClassName("version-string");
345
- c=$jscomp.makeIterator(c);for(d=c.next();!d.done;d=c.next())d=d.value,d.textContent=a.join("-"),0<b.length&&(d.textContent+=" ("+b.join(", ")+")")};shakaDemo.Main.prototype.closeError_=function(){document.getElementById("error-display").classList.add("hidden");this.errorDisplayLink_.href="";this.errorDisplayLink_.textContent="";this.currentErrorSeverity_=null};shakaDemo.Main.prototype.onErrorEvent_=function(a){this.onError_(a.detail)};
346
- shakaDemo.Main.prototype.onError_=function(a){var b=a.severity;if(null==b||void 0==a.severity)b=shaka.util.Error.Severity.CRITICAL;var c=a.message||"Error code "+a.code,d="";a.code&&(d="../docs/api/shaka.util.Error.html#value:"+a.code);console.error(a);this.handleError_(b,c,d)};
347
- shakaDemo.Main.prototype.handleError_=function(a,b,c){if(null==this.currentErrorSeverity_||a>this.currentErrorSeverity_)this.errorDisplayLink_.href=c,void 0===this.errorDisplayLink_.textContent?this.errorDisplayLink_.innerText=b:this.errorDisplayLink_.textContent=b,this.currentErrorSeverity_=a,this.errorDisplayLink_.href?this.errorDisplayLink_.classList.remove("input-disabled"):this.errorDisplayLink_.classList.add("input-disabled"),document.getElementById("error-display").classList.remove("hidden")};
348
- shakaDemo.Main.prototype.onCastStatusChange_=function(a){a&&!this.selectedAsset&&(this.selectedAsset=ShakaDemoAssetInfo.makeBlankAsset(),this.showPlayer_())};shakaDemo.Main.defaultAdvancedDrmConfig=function(){return{distinctiveIdentifierRequired:!1,persistentStateRequired:!1,videoRobustness:"",audioRobustness:"",sessionType:"",serverCertificate:new Uint8Array(0),serverCertificateUri:"",individualizationServer:""}};
349
- shakaDemo.Main.commonDrmSystems=["com.widevine.alpha","com.microsoft.playready","com.apple.fps","com.adobe.primetime","org.w3.clearkey"];var shakaDemoMain=new shakaDemo.Main;shakaDemo.Main.mainPoster_="https://shaka-player-demo.appspot.com/assets/poster.jpg";shakaDemo.Main.audioOnlyPoster_="https://shaka-player-demo.appspot.com/assets/audioOnly.gif";
350
- shakaDemo.Main.initWrapper=function(a){var b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress)return c.setCatchFinallyBlocks(2),c.yield(a(),4);if(2!=c.nextAddress)return c.leaveTryBlock(0);b=c.enterCatchBlock();shakaDemoMain.onError_(b);console.error(b);c.jumpToEnd()})};document.addEventListener("shaka-ui-loaded",function(){shakaDemo.Main.initWrapper(function(){return shakaDemoMain.init()})});document.addEventListener("shaka-ui-load-failed",function(a){shakaDemo.Main.initWrapper(function(){shakaDemoMain.initFailed(a.detail.reasonCode)})});var shakaDemoConfig;shakaDemo.Config=function(a){var b=this;this.container_=a;this.sections_=[];this.latestInput_=null;this.reload_();document.addEventListener("shaka-main-config-change",function(){b.reloadAndSaveState_()});document.addEventListener("shaka-main-locale-changed",function(){b.reloadAndSaveState_()});document.addEventListener("shaka-main-drawer-state-change",function(){b.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())});this.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())};
279
+ document.createElement("div");this.latestRow_.appendChild(this.latestElementContainer);this.latestElementContainer.classList.add("input-container-row");this.latestElementContainer.id=c;if(this.latestTooltip=b)shakaDemo.Tooltips.make(this.latestRow_,b),this.latestRow_.setAttribute("tabindex",-1),this.latestRow_.classList.add("borderless")};shakaDemo.InputContainer.Style={VERTICAL:"input-container-style-vertical",ACCORDION:"input-container-style-accordion",FLEX:"input-container-style-flex"};var shakaDemoConfig;shakaDemo.Config=function(a){var b=this;this.container_=a;this.sections_=[];this.latestInput_=null;this.reload_();document.addEventListener("shaka-main-config-change",function(){b.reloadAndSaveState_()});document.addEventListener("shaka-main-locale-changed",function(){b.reloadAndSaveState_()});document.addEventListener("shaka-main-drawer-state-change",function(){b.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())});this.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())};
351
280
  shakaDemo.Config.init=function(){var a=shakaDemoMain.getHamburgerMenu();shakaDemoConfig=new shakaDemo.Config(a)};shakaDemo.Config.prototype.setContentAvailability_=function(a){a?this.container_.classList.remove("hidden"):this.container_.classList.add("hidden")};
352
281
  shakaDemo.Config.prototype.reload_=function(){shaka.util.Dom.removeAllChildren(this.container_);this.sections_=[];this.addMetaSection_();this.addLanguageSection_();this.addAbrSection_();this.addOfflineSection_();this.addDrmSection_();this.addStreamingSection_();this.addManifestSection_();this.addRetrictionsSection_("",shakaDemo.MessageIds.RESTRICTIONS_SECTION_HEADER);this.addCmcdSection_()};
353
282
  shakaDemo.Config.prototype.reloadAndSaveState_=function(){var a=this.sections_.map(function(d){return d.getIsOpen()});this.reload_();for(var b=0;b<a.length;b++){var c=this.sections_[b];a[b]&&c.open()}componentHandler.upgradeDom()};
354
- shakaDemo.Config.prototype.addDrmSection_=function(){var a=this,b=shakaDemo.MessageIds,c=this.resolveExternLink_(".DrmConfiguration");this.addSection_(b.DRM_SECTION_HEADER,c).addBoolInput_(b.DELAY_LICENSE,"drm.delayLicenseRequestUntilPlayed").addBoolInput_(b.LOG_LICENSE_EXCHANGE,"drm.logLicenseExchange").addNumberInput_(b.UPDATE_EXPIRATION_TIME,"drm.updateExpirationTime",!0,!1,!0);var d=shakaDemoMain.getConfiguration().drm.advanced||{};c=function(g,f,h){a.addDatalistInput_(g,h,function(k){for(var l=
355
- $jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),m=l.next();!m.done;m=l.next())m=m.value,m in d||(d[m]=shakaDemo.Main.defaultAdvancedDrmConfig());for(var n in d)d[n][f]=k.value;shakaDemoMain.configure("drm.advanced",d);shakaDemoMain.remakeHash()});if(g=Object.keys(d)[0])g=d[g][f],a.latestInput_.input().value=g};var e="SW_SECURE_CRYPTO SW_SECURE_DECODE HW_SECURE_CRYPTO HW_SECURE_DECODE HW_SECURE_ALL 150 2000 3000".split(" ");c(b.VIDEO_ROBUSTNESS,"videoRobustness",e);c(b.AUDIO_ROBUSTNESS,"audioRobustness",
283
+ shakaDemo.Config.prototype.addDrmSection_=function(){var a=this,b=shakaDemo.MessageIds,c=this.resolveExternLink_(".DrmConfiguration");this.addSection_(b.DRM_SECTION_HEADER,c).addBoolInput_(b.DELAY_LICENSE,"drm.delayLicenseRequestUntilPlayed").addBoolInput_(b.LOG_LICENSE_EXCHANGE,"drm.logLicenseExchange").addNumberInput_(b.UPDATE_EXPIRATION_TIME,"drm.updateExpirationTime",!0,!1,!0);var d=shakaDemoMain.getConfiguration().drm.advanced||{};c=function(f,g,h){a.addDatalistInput_(f,h,function(k){for(var l=
284
+ $jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),m=l.next();!m.done;m=l.next())m=m.value,m in d||(d[m]=shakaDemo.Main.defaultAdvancedDrmConfig());for(var n in d)d[n][g]=k.value;shakaDemoMain.configure("drm.advanced",d);shakaDemoMain.remakeHash()});if(f=Object.keys(d)[0])f=d[f][g],a.latestInput_.input().value=f};var e="SW_SECURE_CRYPTO SW_SECURE_DECODE HW_SECURE_CRYPTO HW_SECURE_DECODE HW_SECURE_ALL 150 2000 3000".split(" ");c(b.VIDEO_ROBUSTNESS,"videoRobustness",e);c(b.AUDIO_ROBUSTNESS,"audioRobustness",
356
285
  e);c(b.DRM_SESSION_TYPE,"sessionType",["temporary","persistent-license"]);this.addRetrySection_("drm",b.DRM_RETRY_SECTION_HEADER)};
357
286
  shakaDemo.Config.prototype.addManifestSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".ManifestConfiguration");this.addSection_(a.MANIFEST_SECTION_HEADER,b).addBoolInput_(a.IGNORE_DASH_DRM,"manifest.dash.ignoreDrmInfo").addBoolInput_(a.AUTO_CORRECT_DASH_DRIFT,"manifest.dash.autoCorrectDrift").addBoolInput_(a.DISABLE_XLINK_PROCESSING,"manifest.dash.disableXlinkProcessing").addBoolInput_(a.XLINK_FAIL_GRACEFULLY,"manifest.dash.xlinkFailGracefully").addBoolInput_(a.IGNORE_DASH_SUGGESTED_PRESENTATION_DELAY,
358
- "manifest.dash.ignoreSuggestedPresentationDelay").addBoolInput_(a.IGNORE_DASH_EMPTY_ADAPTATION_SET,"manifest.dash.ignoreEmptyAdaptationSet").addBoolInput_(a.IGNORE_DASH_MAX_SEGMENT_DURATION,"manifest.dash.ignoreMaxSegmentDuration").addBoolInput_(a.IGNORE_HLS_TEXT_FAILURES,"manifest.hls.ignoreTextStreamFailures").addBoolInput_(a.IGNORE_HLS_IMAGE_FAILURES,"manifest.hls.ignoreImageStreamFailures").addBoolInput_(a.USE_FULL_SEGMENTS_FOR_START_TIME,"manifest.hls.useFullSegmentsForStartTime").addTextInput_(a.DEFAULT_AUDIO_CODEC,
359
- "manifest.hls.defaultAudioCodec").addTextInput_(a.DEFAULT_VIDEO_CODEC,"manifest.hls.defaultVideoCodec").addNumberInput_(a.AVAILABILITY_WINDOW_OVERRIDE,"manifest.availabilityWindowOverride",!0,!1,!0).addTextInput_(a.CLOCK_SYNC_URI,"manifest.dash.clockSyncUri").addNumberInput_(a.DEFAULT_PRESENTATION_DELAY,"manifest.defaultPresentationDelay").addBoolInput_(a.IGNORE_MIN_BUFFER_TIME,"manifest.dash.ignoreMinBufferTime").addNumberInput_(a.INITIAL_SEGMENT_LIMIT,"manifest.dash.initialSegmentLimit",!1,!1,!0).addBoolInput_(a.DISABLE_AUDIO,
360
- "manifest.disableAudio").addBoolInput_(a.DISABLE_VIDEO,"manifest.disableVideo").addBoolInput_(a.DISABLE_TEXT,"manifest.disableText").addBoolInput_(a.DISABLE_THUMBNAILS,"manifest.disableThumbnails");this.addRetrySection_("manifest",a.MANIFEST_RETRY_SECTION_HEADER)};
287
+ "manifest.dash.ignoreSuggestedPresentationDelay").addBoolInput_(a.IGNORE_DASH_EMPTY_ADAPTATION_SET,"manifest.dash.ignoreEmptyAdaptationSet").addBoolInput_(a.IGNORE_DASH_MAX_SEGMENT_DURATION,"manifest.dash.ignoreMaxSegmentDuration").addBoolInput_(a.IGNORE_HLS_TEXT_FAILURES,"manifest.hls.ignoreTextStreamFailures").addBoolInput_(a.IGNORE_HLS_IMAGE_FAILURES,"manifest.hls.ignoreImageStreamFailures").addTextInput_(a.DEFAULT_AUDIO_CODEC,"manifest.hls.defaultAudioCodec").addTextInput_(a.DEFAULT_VIDEO_CODEC,
288
+ "manifest.hls.defaultVideoCodec").addBoolInput_(a.IGNORE_MANIFEST_PROGRAM_DATE_TIME,"manifest.hls.ignoreManifestProgramDateTime").addNumberInput_(a.AVAILABILITY_WINDOW_OVERRIDE,"manifest.availabilityWindowOverride",!0,!1,!0).addTextInput_(a.CLOCK_SYNC_URI,"manifest.dash.clockSyncUri").addNumberInput_(a.DEFAULT_PRESENTATION_DELAY,"manifest.defaultPresentationDelay").addBoolInput_(a.IGNORE_MIN_BUFFER_TIME,"manifest.dash.ignoreMinBufferTime").addNumberInput_(a.INITIAL_SEGMENT_LIMIT,"manifest.dash.initialSegmentLimit",
289
+ !1,!1,!0).addBoolInput_(a.DISABLE_AUDIO,"manifest.disableAudio").addBoolInput_(a.DISABLE_VIDEO,"manifest.disableVideo").addBoolInput_(a.DISABLE_TEXT,"manifest.disableText").addBoolInput_(a.DISABLE_THUMBNAILS,"manifest.disableThumbnails").addBoolInput_(a.SEGMENT_RELATIVE_VTT_TIMING,"manifest.segmentRelativeVttTiming");this.addRetrySection_("manifest",a.MANIFEST_RETRY_SECTION_HEADER)};
361
290
  shakaDemo.Config.prototype.addAbrSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".AbrConfiguration");this.addSection_(a.ADAPTATION_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"abr.enabled").addBoolInput_(a.NETWORK_INFORMATION,"abr.useNetworkInformation").addNumberInput_(a.BANDWIDTH_ESTIMATE,"abr.defaultBandwidthEstimate").addNumberInput_(a.BANDWIDTH_DOWNGRADE,"abr.bandwidthDowngradeTarget",!0).addNumberInput_(a.BANDWIDTH_UPGRADE,"abr.bandwidthUpgradeTarget",!0).addNumberInput_(a.SWITCH_INTERVAL,
362
291
  "abr.switchInterval",!0).addNumberInput_(a.MIN_TOTAL_BYTES,"abr.advanced.minTotalBytes").addNumberInput_(a.MIN_BYTES,"abr.advanced.minBytes").addNumberInput_(a.FAST_HALF_LIFE,"abr.advanced.fastHalfLife",!0).addNumberInput_(a.SLOW_HALF_LIFE,"abr.advanced.slowHalfLife",!0);this.addRetrictionsSection_("abr",a.ADAPTATION_RESTRICTIONS_SECTION_HEADER)};
363
292
  shakaDemo.Config.prototype.addCmcdSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".CmcdConfiguration");this.addSection_(a.CMCD_SECTION_HEADER,b).addBoolInput_(a.ENABLED,"cmcd.enabled").addTextInput_(a.SESSION_ID,"cmcd.sessionId").addTextInput_(a.CONTENT_ID,"cmcd.contentId").addBoolInput_(a.USE_HEADERS,"cmcd.useHeaders")};
364
293
  shakaDemo.Config.prototype.addRetrictionsSection_=function(a,b){var c=shakaDemo.MessageIds,d=(a?a+".":"")+"restrictions.",e=this.resolveExternLink_(".Restrictions");this.addSection_(b,e).addNumberInput_(c.MIN_WIDTH,d+"minWidth").addNumberInput_(c.MAX_WIDTH,d+"maxWidth").addNumberInput_(c.MIN_HEIGHT,d+"minHeight").addNumberInput_(c.MAX_HEIGHT,d+"maxHeight").addNumberInput_(c.MIN_PIXELS,d+"minPixels").addNumberInput_(c.MAX_PIXELS,d+"maxPixels").addNumberInput_(c.MIN_FRAMERATE,d+"minFrameRate").addNumberInput_(c.MAX_FRAMERATE,
365
294
  d+"maxFrameRate").addNumberInput_(c.MIN_BANDWIDTH,d+"minBandwidth").addNumberInput_(c.MAX_BANDWIDTH,d+"maxBandwidth")};
366
295
  shakaDemo.Config.prototype.addRetrySection_=function(a,b){var c=shakaDemo.MessageIds,d=a+".retryParameters.",e=this.resolveExternLink_(".RetryParameters");this.addSection_(b,e).addNumberInput_(c.MAX_ATTEMPTS,d+"maxAttempts").addNumberInput_(c.BASE_DELAY,d+"baseDelay",!0).addNumberInput_(c.BACKOFF_FACTOR,d+"backoffFactor",!0).addNumberInput_(c.FUZZ_FACTOR,d+"fuzzFactor",!0).addNumberInput_(c.TIMEOUT,d+"timeout",!0).addNumberInput_(c.STALL_TIMEOUT,d+"stallTimeout",!0).addNumberInput_(c.CONNECTION_TIMEOUT,
367
- d+"connectionTimeout",!0)};shakaDemo.Config.prototype.addOfflineSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".OfflineConfiguration");this.addSection_(a.OFFLINE_SECTION_HEADER,b).addBoolInput_(a.USE_PERSISTENT_LICENSES,"offline.usePersistentLicense")};
368
- shakaDemo.Config.prototype.addStreamingSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".StreamingConfiguration");this.addSection_(a.STREAMING_SECTION_HEADER,b).addNumberInput_(a.GAP_DETECTION_THRESHOLD,"streaming.gapDetectionThreshold",!0).addNumberInput_(a.MAX_SMALL_GAP_SIZE,"streaming.smallGapLimit",!0).addNumberInput_(a.BUFFERING_GOAL,"streaming.bufferingGoal",!0).addNumberInput_(a.DURATION_BACKOFF,"streaming.durationBackoff",!0).addNumberInput_(a.REBUFFERING_GOAL,"streaming.rebufferingGoal",
369
- !0).addNumberInput_(a.BUFFER_BEHIND,"streaming.bufferBehind",!0).addNumberInput_(a.SAFE_SEEK_OFFSET,"streaming.safeSeekOffset",!0).addNumberInput_(a.STALL_THRESHOLD,"streaming.stallThreshold",!0).addNumberInput_(a.SAFE_SKIP_DISTANCE,"streaming.stallSkip",!0).addNumberInput_(a.INACCURATE_MANIFEST_TOLERANCE,"streaming.inaccurateManifestTolerance",!0).addBoolInput_(a.LOW_LATENCY,"streaming.lowLatencyMode").addBoolInput_(a.AUTO_LOW_LATENCY,"streaming.autoLowLatencyMode").addBoolInput_(a.FORCE_HTTPS,"streaming.forceHTTPS").addBoolInput_(a.PREFER_NATIVE_HLS,
370
- "streaming.preferNativeHls").addNumberInput_(a.UPDATE_INTERVAL_SECONDS,"streaming.updateIntervalSeconds",!0).addBoolInput_(a.DISPATCH_ALL_EMSG_BOXES,"streaming.dispatchAllEmsgBoxes").addBoolInput_(a.OBSERVE_QUALITY_CHANGES,"streaming.observeQualityChanges");shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(a.ALWAYS_STREAM_TEXT,function(c){},a.ALWAYS_STREAM_TEXT_WARNING),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!0):this.addBoolInput_(a.ALWAYS_STREAM_TEXT,
371
- "streaming.alwaysStreamText");this.addBoolInput_(a.JUMP_LARGE_GAPS,"streaming.jumpLargeGaps").addBoolInput_(a.FORCE_TRANSMUX_TS,"streaming.forceTransmuxTS").addBoolInput_(a.START_AT_SEGMENT_BOUNDARY,"streaming.startAtSegmentBoundary").addBoolInput_(a.IGNORE_TEXT_FAILURES,"streaming.ignoreTextStreamFailures").addBoolInput_(a.STALL_DETECTOR_ENABLED,"streaming.stallEnabled").addBoolInput_(a.USE_NATIVE_HLS_SAFARI,"streaming.useNativeHlsOnSafari");this.addRetrySection_("streaming",a.STREAMING_RETRY_SECTION_HEADER)};
296
+ d+"connectionTimeout",!0)};shakaDemo.Config.prototype.addOfflineSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".OfflineConfiguration");this.addSection_(a.OFFLINE_SECTION_HEADER,b).addBoolInput_(a.USE_PERSISTENT_LICENSES,"offline.usePersistentLicense").addNumberInput_(a.NUMBER_OF_PARALLEL_DOWNLOADS,"offline.numberOfParallelDownloads")};
297
+ shakaDemo.Config.prototype.addStreamingSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".StreamingConfiguration");this.addSection_(a.STREAMING_SECTION_HEADER,b).addNumberInput_(a.GAP_DETECTION_THRESHOLD,"streaming.gapDetectionThreshold",!0).addNumberInput_(a.BUFFERING_GOAL,"streaming.bufferingGoal",!0).addNumberInput_(a.DURATION_BACKOFF,"streaming.durationBackoff",!0).addNumberInput_(a.REBUFFERING_GOAL,"streaming.rebufferingGoal",!0).addNumberInput_(a.BUFFER_BEHIND,"streaming.bufferBehind",
298
+ !0).addNumberInput_(a.SAFE_SEEK_OFFSET,"streaming.safeSeekOffset",!0).addNumberInput_(a.STALL_THRESHOLD,"streaming.stallThreshold",!0).addNumberInput_(a.SAFE_SKIP_DISTANCE,"streaming.stallSkip",!0).addNumberInput_(a.INACCURATE_MANIFEST_TOLERANCE,"streaming.inaccurateManifestTolerance",!0).addBoolInput_(a.LOW_LATENCY,"streaming.lowLatencyMode").addBoolInput_(a.AUTO_LOW_LATENCY,"streaming.autoLowLatencyMode").addBoolInput_(a.FORCE_HTTPS,"streaming.forceHTTPS").addBoolInput_(a.PREFER_NATIVE_HLS,"streaming.preferNativeHls").addNumberInput_(a.UPDATE_INTERVAL_SECONDS,
299
+ "streaming.updateIntervalSeconds",!0).addBoolInput_(a.DISPATCH_ALL_EMSG_BOXES,"streaming.dispatchAllEmsgBoxes").addBoolInput_(a.OBSERVE_QUALITY_CHANGES,"streaming.observeQualityChanges");shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(a.ALWAYS_STREAM_TEXT,function(c){},a.ALWAYS_STREAM_TEXT_WARNING),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!0):this.addBoolInput_(a.ALWAYS_STREAM_TEXT,"streaming.alwaysStreamText");this.addBoolInput_(a.FORCE_TRANSMUX_TS,
300
+ "streaming.forceTransmuxTS").addBoolInput_(a.START_AT_SEGMENT_BOUNDARY,"streaming.startAtSegmentBoundary").addBoolInput_(a.IGNORE_TEXT_FAILURES,"streaming.ignoreTextStreamFailures").addBoolInput_(a.STALL_DETECTOR_ENABLED,"streaming.stallEnabled").addBoolInput_(a.USE_NATIVE_HLS_SAFARI,"streaming.useNativeHlsOnSafari");this.addRetrySection_("streaming",a.STREAMING_RETRY_SECTION_HEADER)};
372
301
  shakaDemo.Config.prototype.addLanguageSection_=function(){var a=shakaDemo.MessageIds,b=this.resolveExternLink_(".PlayerConfiguration");this.addSection_(a.LANGUAGE_SECTION_HEADER,b).addTextInput_(a.AUDIO_LANGUAGE,"preferredAudioLanguage").addTextInput_(a.TEXT_LANGUAGE,"preferredTextLanguage").addTextInput_(a.TEXT_ROLE,"preferredTextRole");this.addCustomTextInput_(a.UI_LOCALE,function(c){shakaDemoMain.setUILocale(c.value);shakaDemoMain.remakeHash()});this.latestInput_.input().value=shakaDemoMain.getUILocale();
373
302
  this.addNumberInput_(a.AUDIO_CHANNEL_COUNT,"preferredAudioChannelCount");this.addBoolInput_(a.PREFER_FORCED_SUBS,"preferForcedSubs")};
374
- shakaDemo.Config.prototype.addMetaSection_=function(){var a=this,b=shakaDemo.MessageIds;this.addSection_(null,null);this.addCustomBoolInput_(b.SHAKA_CONTROLS,function(g){shakaDemoMain.setNativeControlsEnabled(!g.checked);g.checked&&(shakaDemoMain.configure("streaming.alwaysStreamText",!0),shakaDemoMain.remakeHash());a.reloadAndSaveState_()});shakaDemoMain.getNativeControlsEnabled()||(this.latestInput_.input().checked=!0);shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(b.TRICK_PLAY_CONTROLS,
375
- function(g){},b.TRICK_PLAY_CONTROLS_WARNING),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!1):(this.addCustomBoolInput_(b.TRICK_PLAY_CONTROLS,function(g){shakaDemoMain.setTrickPlayControlsEnabled(g.checked)}),shakaDemoMain.getTrickPlayControlsEnabled()&&(this.latestInput_.input().checked=!0));if(shaka.log){var c=shaka.log.Level,d=shaka.log.setLevel,e={info:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_INFO),debug:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_DEBUG),v:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_V),
376
- vv:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_VV)};this.addSelectInput_(b.LOG_LEVEL,e,function(g){switch(g.value){case "info":d(c.INFO);break;case "debug":d(c.DEBUG);break;case "vv":d(c.V2);break;case "v":d(c.V1)}shakaDemoMain.remakeHash()});b=this.latestInput_.input();switch(shaka.log.currentLevel){case c.DEBUG:b.value="debug";break;case c.V2:b.value="vv";break;case c.V1:b.value="v";break;default:b.value="info"}}};
303
+ shakaDemo.Config.prototype.addMetaSection_=function(){var a=this,b=shakaDemo.MessageIds;this.addSection_(null,null);this.addCustomBoolInput_(b.SHAKA_CONTROLS,function(f){shakaDemoMain.setNativeControlsEnabled(!f.checked);f.checked&&(shakaDemoMain.configure("streaming.alwaysStreamText",!0),shakaDemoMain.remakeHash());a.reloadAndSaveState_()});shakaDemoMain.getNativeControlsEnabled()||(this.latestInput_.input().checked=!0);shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_(b.TRICK_PLAY_CONTROLS,
304
+ function(f){},b.TRICK_PLAY_CONTROLS_WARNING),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!1):(this.addCustomBoolInput_(b.TRICK_PLAY_CONTROLS,function(f){shakaDemoMain.setTrickPlayControlsEnabled(f.checked)}),shakaDemoMain.getTrickPlayControlsEnabled()&&(this.latestInput_.input().checked=!0));if(shaka.log){var c=shaka.log.Level,d=shaka.log.setLevel,e={info:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_INFO),debug:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_DEBUG),v:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_V),
305
+ vv:shakaDemoMain.getLocalizedString(b.LOG_LEVEL_VV)};this.addSelectInput_(b.LOG_LEVEL,e,function(f){switch(f.value){case "info":d(c.INFO);break;case "debug":d(c.DEBUG);break;case "vv":d(c.V2);break;case "v":d(c.V1)}shakaDemoMain.remakeHash()});b=this.latestInput_.input();switch(shaka.log.currentLevel){case c.DEBUG:b.value="debug";break;case c.V2:b.value="vv";break;case c.V1:b.value="v";break;default:b.value="info"}}};
377
306
  shakaDemo.Config.prototype.resolveExternLink_=function(a){return"../docs/api/shaka.extern.html#"+a};shakaDemo.Config.prototype.addSection_=function(a,b){this.sections_.push(new shakaDemo.InputContainer(this.container_,a,a?shakaDemo.InputContainer.Style.ACCORDION:shakaDemo.InputContainer.Style.VERTICAL,b));return this};
378
307
  shakaDemo.Config.prototype.addBoolInput_=function(a,b,c){this.addCustomBoolInput_(a,function(d){shakaDemoMain.configure(b,d.checked);shakaDemoMain.remakeHash()},c);shakaDemoMain.getCurrentConfigValue(b)&&(this.latestInput_.input().checked=!0);return this};shakaDemo.Config.prototype.addCustomBoolInput_=function(a,b,c){this.createRow_(a,c);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.BoolInput(this.getLatestSection_(),a,b);return this};
379
308
  shakaDemo.Config.prototype.addTextInput_=function(a,b,c){this.addCustomTextInput_(a,function(d){shakaDemoMain.configure(b,d.value);shakaDemoMain.remakeHash()},c);this.latestInput_.input().value=shakaDemoMain.getCurrentConfigValue(b);return this};shakaDemo.Config.prototype.addCustomTextInput_=function(a,b,c){this.createRow_(a,c);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.TextInput(this.getLatestSection_(),a,b);return this};
380
- shakaDemo.Config.prototype.addNumberInput_=function(a,b,c,d,e,g){c=void 0===c?!1:c;d=void 0===d?!0:d;e=void 0===e?!1:e;this.createRow_(a,g);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.NumberInput(this.getLatestSection_(),a,function(f){shakaDemoMain.resetConfiguration(b);shakaDemoMain.remakeHash();"Infinity"==f.value?(shakaDemoMain.configure(b,Infinity),shakaDemoMain.remakeHash()):""==f.value&&e||(f=Number(f.value),0==f&&!d||isNaN(f)||Math.floor(f)!=f&&!c||(shakaDemoMain.configure(b,
381
- f),shakaDemoMain.remakeHash()))},c,d,e);this.latestInput_.input().value=shakaDemoMain.getCurrentConfigValue(b);isNaN(Number(this.latestInput_.input().value))&&e&&(this.latestInput_.input().value="");return this};shakaDemo.Config.prototype.addDatalistInput_=function(a,b,c,d){this.createRow_(a,d);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.DatalistInput(this.getLatestSection_(),a,c,b);return this};
309
+ shakaDemo.Config.prototype.addNumberInput_=function(a,b,c,d,e,f){c=void 0===c?!1:c;d=void 0===d?!0:d;e=void 0===e?!1:e;this.createRow_(a,f);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.NumberInput(this.getLatestSection_(),a,function(g){shakaDemoMain.resetConfiguration(b);shakaDemoMain.remakeHash();"Infinity"==g.value?(shakaDemoMain.configure(b,Infinity),shakaDemoMain.remakeHash()):""==g.value&&e||(g=Number(g.value),0==g&&!d||isNaN(g)||Math.floor(g)!=g&&!c||(shakaDemoMain.configure(b,
310
+ g),shakaDemoMain.remakeHash()))},c,d,e);this.latestInput_.input().value=shakaDemoMain.getCurrentConfigValue(b);isNaN(Number(this.latestInput_.input().value))&&e&&(this.latestInput_.input().value="");return this};shakaDemo.Config.prototype.addDatalistInput_=function(a,b,c,d){this.createRow_(a,d);a=shakaDemoMain.getLocalizedString(a);this.latestInput_=new shakaDemo.DatalistInput(this.getLatestSection_(),a,c,b);return this};
382
311
  shakaDemo.Config.prototype.addSelectInput_=function(a,b,c,d){this.createRow_(a,d);this.latestInput_=new shakaDemo.SelectInput(this.getLatestSection_(),null,c,b);return this};shakaDemo.Config.prototype.createRow_=function(a,b){this.getLatestSection_().addRow(a,b||null)};shakaDemo.Config.prototype.getLatestSection_=function(){goog.asserts.assert(0<this.sections_.length,"Must have at least one section.");return this.sections_[this.sections_.length-1]};document.addEventListener("shaka-main-loaded",shakaDemo.Config.init);
383
312
  document.addEventListener("shaka-main-cleanup",function(){shakaDemoConfig=null});var shakaDemoCustom;
384
313
  shakaDemo.Custom=function(a){var b=this;this.dialog_=document.createElement("dialog");this.dialog_.classList.add("mdl-dialog");a.appendChild(this.dialog_);this.dialog_.showModal||dialogPolyfill.registerDialog(this.dialog_);this.assets_=this.loadAssetInfos_();this.assetCards_=[];this.savedList_=document.createElement("div");a.appendChild(this.savedList_);var c=document.createElement("div");c.classList.add("add-button-container");a.appendChild(c);var d=this.makeButton_("add",shakaDemo.Custom.ButtonStyle_.FAB,function(){b.showAssetDialog_(ShakaDemoAssetInfo.makeBlankAsset())});
385
314
  c.appendChild(d);document.addEventListener("shaka-main-selected-asset-changed",function(){b.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){b.updateOfflineProgress_()});document.addEventListener("shaka-main-locale-changed",function(){b.remakeSavedList_()});document.addEventListener("shaka-main-page-changed",function(){b.savedList_.childNodes.length||a.classList.contains("hidden")||b.remakeSavedList_()})};
386
315
  shakaDemo.Custom.init=function(){var a=shakaDemoMain.addNavButton("custom");shakaDemoCustom=new shakaDemo.Custom(a.container)};shakaDemo.Custom.prototype.assets=function(){return Array.from(this.assets_)};shakaDemo.Custom.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};
387
316
  shakaDemo.Custom.prototype.makeField_=function(a,b,c,d,e){a.addRow(null,null);a=new shakaDemo.TextInput(a,b,d,e);a.extra().textContent=b;c(a.input(),a.container())};
388
- shakaDemo.Custom.prototype.makeAssetDialogContentsHeaders_=function(a,b){var c=this,d=document.createElement("div"),e=[],g=function(k,l){var m=document.createElement("div");d.appendChild(m);var n=new shakaDemo.InputContainer(m,shakaDemo.MessageIds.LICENSE_HEADER_TITLE,shakaDemo.InputContainer.Style.VERTICAL,null),p={headerName:k,div:m};e.push(p);var q=!k,t=function(r,w){k&&a.licenseRequestHeaders["delete"](k);k=r;p.headerName=r;l=w;if(k&&l){q&&(q=!1,g(null,null),componentHandler.upgradeDom());a.addLicenseRequestHeader(k,
389
- l);for(var u=$jscomp.makeIterator(e),x=u.next();!x.done;x=u.next())if(x=x.value,x!=p&&k==x.headerName){u=e.indexOf(x);e.splice(u,1);d.removeChild(x.div);break}}else q||d.removeChild(m)},v=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_NAME);c.makeField_(n,v,function(r,w){k&&(r.value=k)},function(r){t(r.value,l)});v=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_VALUE);c.makeField_(n,v,function(r,w){l&&(r.value=l)},function(r){t(k,r.value)})};if(0!=a.licenseRequestHeaders.size)for(var f=
390
- $jscomp.makeIterator(a.licenseRequestHeaders.keys()),h=f.next();!h.done;h=f.next())h=h.value,g(h,a.licenseRequestHeaders.get(h));g(null,null);return d};
391
- shakaDemo.Custom.prototype.makeAssetDialogContentsAds_=function(a,b){var c=this,d=document.createElement("div"),e=new shakaDemo.InputContainer(d,null,shakaDemo.InputContainer.Style.VERTICAL,null),g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.AD_TAG_URL);this.makeField_(e,g,function(f,h){a.adTagUri&&(f.value=a.adTagUri)},function(f){a.adTagUri=f.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_CONTENT_SRC_ID);this.makeField_(e,g,function(f,h){a.imaContentSrcId&&(f.value=
392
- a.imaContentSrcId);c.manifestField_.required=c.checkManifestRequired_(a)},function(f){a.imaContentSrcId=f.value;c.manifestField_.required=c.checkManifestRequired_(a)});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_VIDEO_ID);this.makeField_(e,g,function(f,h){a.imaVideoId&&(f.value=a.imaVideoId);c.manifestField_.required=c.checkManifestRequired_(a)},function(f){a.imaVideoId=f.value;c.manifestField_.required=c.checkManifestRequired_(a)});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_ASSET_KEY);
393
- this.makeField_(e,g,function(f,h){a.imaAssetKey&&(f.value=a.imaAssetKey);c.manifestField_.required=c.checkManifestRequired_(a)},function(f){a.imaAssetKey=f.value;c.manifestField_.required=c.checkManifestRequired_(a)});return d};
394
- shakaDemo.Custom.prototype.makeAssetDialogContentsDrm_=function(a,b){var c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.VERTICAL,null),e,g,f=function(){var k=e.value,l=g.value;if(k){a.licenseServers.clear();for(var m=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),n=m.next();!n.done;n=m.next())a.licenseServers.set(n.value,k);l&&a.licenseServers.set(l,k)}else a.licenseServers.clear()},h=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_SERVER_URL);
395
- this.makeField_(d,h,function(k,l){e=k;var m=a.licenseServers.keys().next();m&&m.value&&(k.value=a.licenseServers.get(m.value))},function(k){f()});h=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_CERTIFICATE_URL);this.makeField_(d,h,function(k,l){a.certificateUri&&(k.value=a.certificateUri)},function(k){a.certificateUri=k.value});h=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.DRM_SYSTEM);this.makeField_(d,h,function(k,l){g=k;var m=a.licenseServers.keys();m=$jscomp.makeIterator(m);
396
- for(var n=m.next();!n.done;n=m.next())if(n=n.value,!shakaDemo.Main.commonDrmSystems.includes(n)){k.value=n;break}},function(k){f()});return c};
397
- shakaDemo.Custom.prototype.makeAssetDialogContentsExtra_=function(a,b){var c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.FLEX,null);d.getClassList().add("wide-input");d.setDefaultRowClass("wide-input");var e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.EXTRA_SHAKA_PLAYER_CONFIG);this.makeField_(d,e,function(g,f){g.setAttribute("rows",10);a.extraConfig&&(g.value=JSON.stringify(a.extraConfig,null,2));b.push(g);var h=document.createElement("span");
398
- h.classList.add("mdl-textfield__error");h.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.INVALID_JSON_CONFIG_ERROR);f.appendChild(h)},function(g,f){try{if(g.value){var h=JSON.parse(g.value);a.extraConfig=h}else a.extraConfig=null;f.setValid(!0)}catch(k){f.setValid(!1)}},!0);return c};
399
- shakaDemo.Custom.prototype.makeAssetDialogContentsMain_=function(a,b,c){var d=this,e=document.createElement("div"),g=new shakaDemo.InputContainer(e,null,shakaDemo.InputContainer.Style.VERTICAL,null),f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL);this.makeField_(g,f,function(h,k){h.value=a.manifestUri;b.push(h);var l=document.createElement("span");l.classList.add("mdl-textfield__error");l.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL_ERROR);k.appendChild(l);
400
- h.required=d.checkManifestRequired_(a);h.pattern="^(?!([\r\n\t\f\v ]+)$).*$";d.manifestField_=h},function(h){a.manifestUri=h.value});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME);this.makeField_(g,f,function(h,k){h.value=a.name;b.push(h);var l=document.createElement("span");l.classList.add("mdl-textfield__error");l.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME_ERROR);k.appendChild(l);h.required=!0;h.pattern="^(?!( *";l=$jscomp.makeIterator(d.assets_);for(var m=
401
- l.next();!m.done;m=l.next())m=m.value,m!=a&&(h.pattern+="|"+m.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));h.pattern+=")$).*$"},function(h){a.name=h.value});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.ICON_URL);this.makeField_(g,f,function(h,k){if(a.iconUri){h.value=a.iconUri;var l=document.createElement("img");l.src=h.value;l.alt="";c.appendChild(l)}},function(h){shaka.util.Dom.removeAllChildren(c);if(a.iconUri=h.value){var k=document.createElement("img");k.src=h.value;k.alt="";c.appendChild(k)}});
402
- f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MIME_TYPE);this.makeField_(g,f,function(h,k){a.mimeType&&(h.value=a.mimeType)},function(h){a.mimeType=h.value||null});return e};shakaDemo.Custom.prototype.checkManifestRequired_=function(a){return!(a.imaContentSrcId&&a.imaVideoId||null!=a.imaAssetKey)};
403
- shakaDemo.Custom.prototype.makeAssetDialogContentsFinish_=function(a,b){var c=this,d=document.createElement("tr"),e=shakaDemo.Custom.ButtonStyle_.RAISED,g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.SAVE_BUTTON);d.appendChild(this.makeButton_(g,e,function(){for(var f=$jscomp.makeIterator(b),h=f.next();!h.done;h=f.next())if(!h.value.validity.valid)return;shakaDemoMain.setupOfflineSupport(a);c.assets_.add(a);c.saveAssetInfos_(c.assets_);c.remakeSavedList_();c.dialog_.close()}));g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CANCEL_BUTTON);
404
- d.appendChild(this.makeButton_(g,e,function(){c.dialog_.close()}));return d};
405
- shakaDemo.Custom.prototype.showAssetDialog_=function(a){var b=this;shaka.util.Dom.removeAllChildren(this.dialog_);var c=[],d=document.createElement("div"),e=this.makeAssetDialogContentsMain_(a,c,d),g=this.makeAssetDialogContentsDrm_(a,c),f=this.makeAssetDialogContentsHeaders_(a,c),h=this.makeAssetDialogContentsAds_(a,c),k=this.makeAssetDialogContentsExtra_(a,c);a=this.makeAssetDialogContentsFinish_(a,c);var l=document.createElement("tr"),m=[],n=[];c=function(p,q,t){var v=shakaDemo.Custom.ButtonStyle_.PLAIN;
406
- p=shakaDemoMain.getLocalizedString(p);var r=b.makeButton_(p,v,function(){for(var w=$jscomp.makeIterator(m),u=w.next();!u.done;u=w.next())u.value.classList.add("hidden");q.classList.remove("hidden");w=$jscomp.makeIterator(n);for(u=w.next();!u.done;u=w.next())u.value.classList.remove("mdl-button--accent");r.classList.add("mdl-button--accent")});l.appendChild(r);m.push(q);n.push(r);t?r.classList.add("mdl-button--accent"):q.classList.add("hidden")};c(shakaDemo.MessageIds.MAIN_TAB,e,!0);c(shakaDemo.MessageIds.DRM_TAB,
407
- g,!1);c(shakaDemo.MessageIds.HEADERS_TAB,f,!1);c(shakaDemo.MessageIds.ADS_TAB,h,!1);c(shakaDemo.MessageIds.EXTRA_TAB,k,!1);this.dialog_.appendChild(l);this.dialog_.appendChild(e);this.dialog_.appendChild(g);this.dialog_.appendChild(f);this.dialog_.appendChild(h);this.dialog_.appendChild(k);this.dialog_.appendChild(a);this.dialog_.appendChild(d);componentHandler.upgradeDom();this.dialog_.showModal()};
317
+ shakaDemo.Custom.prototype.makeAssetDialogContentsHeaders_=function(a,b){var c=this,d=document.createElement("div"),e=[],f=function(k,l){var m=document.createElement("div");d.appendChild(m);var n=new shakaDemo.InputContainer(m,shakaDemo.MessageIds.LICENSE_HEADER_TITLE,shakaDemo.InputContainer.Style.VERTICAL,null),p={headerName:k,div:m};e.push(p);var q=!k,t=function(u,x){k&&a.licenseRequestHeaders["delete"](k);k=u;p.headerName=u;l=x;if(k&&l){q&&(q=!1,f(null,null),componentHandler.upgradeDom());a.addLicenseRequestHeader(k,
318
+ l);for(var v=$jscomp.makeIterator(e),r=v.next();!r.done;r=v.next())if(r=r.value,r!=p&&k==r.headerName){v=e.indexOf(r);e.splice(v,1);d.removeChild(r.div);break}}else q||d.removeChild(m)},w=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_NAME);c.makeField_(n,w,function(u,x){k&&(u.value=k)},function(u){t(u.value,l)});w=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_HEADER_VALUE);c.makeField_(n,w,function(u,x){l&&(u.value=l)},function(u){t(k,u.value)})};if(0!=a.licenseRequestHeaders.size)for(var g=
319
+ $jscomp.makeIterator(a.licenseRequestHeaders.keys()),h=g.next();!h.done;h=g.next())h=h.value,f(h,a.licenseRequestHeaders.get(h));f(null,null);return d};
320
+ shakaDemo.Custom.prototype.makeAssetDialogContentsHLS_=function(a,b){var c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.FLEX,null);d.getClassList().add("wide-input");d.setDefaultRowClass("wide-input");var e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.HLS_FULL_MIME_TYPE);this.makeField_(d,e,function(f,g){a.mediaPlaylistFullMimeType&&(f.value=a.mediaPlaylistFullMimeType);var h=shaka.util.PlayerConfiguration.createDefault();f.placeholder=
321
+ h.manifest.hls.mediaPlaylistFullMimeType},function(f){a.setMediaPlaylistFullMimeType(f.value)});return c};
322
+ shakaDemo.Custom.prototype.makeAssetDialogContentsAds_=function(a,b){var c=this,d=document.createElement("div"),e=new shakaDemo.InputContainer(d,null,shakaDemo.InputContainer.Style.VERTICAL,null),f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.AD_TAG_URL);this.makeField_(e,f,function(g,h){a.adTagUri&&(g.value=a.adTagUri)},function(g){a.adTagUri=g.value});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_CONTENT_SRC_ID);this.makeField_(e,f,function(g,h){a.imaContentSrcId&&(g.value=
323
+ a.imaContentSrcId);c.manifestField_.required=c.checkManifestRequired_(a)},function(g){a.imaContentSrcId=g.value;c.manifestField_.required=c.checkManifestRequired_(a)});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_VIDEO_ID);this.makeField_(e,f,function(g,h){a.imaVideoId&&(g.value=a.imaVideoId);c.manifestField_.required=c.checkManifestRequired_(a)},function(g){a.imaVideoId=g.value;c.manifestField_.required=c.checkManifestRequired_(a)});f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.IMA_ASSET_KEY);
324
+ this.makeField_(e,f,function(g,h){a.imaAssetKey&&(g.value=a.imaAssetKey);c.manifestField_.required=c.checkManifestRequired_(a)},function(g){a.imaAssetKey=g.value;c.manifestField_.required=c.checkManifestRequired_(a)});return d};
325
+ shakaDemo.Custom.prototype.makeAssetDialogContentsDrm_=function(a,b){var c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.VERTICAL,null),e,f,g=function(){var k=e.value,l=f.value;if(k){a.licenseServers.clear();for(var m=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),n=m.next();!n.done;n=m.next())a.licenseServers.set(n.value,k);l&&a.licenseServers.set(l,k)}else a.licenseServers.clear()},h=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_SERVER_URL);
326
+ this.makeField_(d,h,function(k,l){e=k;var m=a.licenseServers.keys().next();m&&m.value&&(k.value=a.licenseServers.get(m.value))},function(k){g()});h=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.LICENSE_CERTIFICATE_URL);this.makeField_(d,h,function(k,l){a.certificateUri&&(k.value=a.certificateUri)},function(k){a.certificateUri=k.value});h=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.DRM_SYSTEM);this.makeField_(d,h,function(k,l){f=k;var m=a.licenseServers.keys();m=$jscomp.makeIterator(m);
327
+ for(var n=m.next();!n.done;n=m.next())if(n=n.value,!shakaDemo.Main.commonDrmSystems.includes(n)){k.value=n;break}},function(k){g()});return c};
328
+ shakaDemo.Custom.prototype.makeAssetDialogContentsExtra_=function(a,b){var c=document.createElement("div"),d=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.FLEX,null);d.getClassList().add("wide-input");d.setDefaultRowClass("wide-input");var e=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.EXTRA_SHAKA_PLAYER_CONFIG);this.makeField_(d,e,function(f,g){f.setAttribute("rows",10);a.extraConfig&&(f.value=JSON.stringify(a.extraConfig,null,2));b.push(f);var h=document.createElement("span");
329
+ h.classList.add("mdl-textfield__error");h.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.INVALID_JSON_CONFIG_ERROR);g.appendChild(h)},function(f,g){try{if(f.value){var h=JSON.parse(f.value);a.extraConfig=h}else a.extraConfig=null;g.setValid(!0)}catch(k){g.setValid(!1)}},!0);return c};
330
+ shakaDemo.Custom.prototype.makeAssetDialogContentsMain_=function(a,b,c){var d=this,e=document.createElement("div"),f=new shakaDemo.InputContainer(e,null,shakaDemo.InputContainer.Style.VERTICAL,null),g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL);this.makeField_(f,g,function(h,k){h.value=a.manifestUri;b.push(h);var l=document.createElement("span");l.classList.add("mdl-textfield__error");l.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MANIFEST_URL_ERROR);k.appendChild(l);
331
+ h.required=d.checkManifestRequired_(a);h.pattern="^(?!([\r\n\t\f\v ]+)$).*$";d.manifestField_=h},function(h){a.manifestUri=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME);this.makeField_(f,g,function(h,k){h.value=a.name;b.push(h);var l=document.createElement("span");l.classList.add("mdl-textfield__error");l.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.NAME_ERROR);k.appendChild(l);h.required=!0;h.pattern="^(?!( *";l=$jscomp.makeIterator(d.assets_);for(var m=
332
+ l.next();!m.done;m=l.next())m=m.value,m!=a&&(h.pattern+="|"+m.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));h.pattern+=")$).*$"},function(h){a.name=h.value});g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.ICON_URL);this.makeField_(f,g,function(h,k){if(a.iconUri){h.value=a.iconUri;var l=document.createElement("img");l.src=h.value;l.alt="";c.appendChild(l)}},function(h){shaka.util.Dom.removeAllChildren(c);if(a.iconUri=h.value){var k=document.createElement("img");k.src=h.value;k.alt="";c.appendChild(k)}});
333
+ g=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.MIME_TYPE);this.makeField_(f,g,function(h,k){a.mimeType&&(h.value=a.mimeType)},function(h){a.mimeType=h.value||null});return e};shakaDemo.Custom.prototype.checkManifestRequired_=function(a){return!(a.imaContentSrcId&&a.imaVideoId||null!=a.imaAssetKey)};
334
+ shakaDemo.Custom.prototype.makeAssetDialogContentsFinish_=function(a,b){var c=this,d=document.createElement("tr"),e=shakaDemo.Custom.ButtonStyle_.RAISED,f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.SAVE_BUTTON);d.appendChild(this.makeButton_(f,e,function(){for(var g=$jscomp.makeIterator(b),h=g.next();!h.done;h=g.next())if(!h.value.validity.valid)return;shakaDemoMain.setupOfflineSupport(a);c.assets_.add(a);c.saveAssetInfos_(c.assets_);c.remakeSavedList_();c.dialog_.close()}));f=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CANCEL_BUTTON);
335
+ d.appendChild(this.makeButton_(f,e,function(){c.dialog_.close()}));return d};
336
+ shakaDemo.Custom.prototype.showAssetDialog_=function(a){var b=this;shaka.util.Dom.removeAllChildren(this.dialog_);var c=[],d=document.createElement("div"),e=this.makeAssetDialogContentsMain_(a,c,d),f=this.makeAssetDialogContentsDrm_(a,c),g=this.makeAssetDialogContentsHeaders_(a,c),h=this.makeAssetDialogContentsAds_(a,c),k=this.makeAssetDialogContentsHLS_(a,c),l=this.makeAssetDialogContentsExtra_(a,c);a=this.makeAssetDialogContentsFinish_(a,c);var m=document.createElement("tr"),n=[],p=[];c=function(q,
337
+ t,w){var u=shakaDemo.Custom.ButtonStyle_.PLAIN;q=shakaDemoMain.getLocalizedString(q);var x=b.makeButton_(q,u,function(){for(var v=$jscomp.makeIterator(n),r=v.next();!r.done;r=v.next())r.value.classList.add("hidden");t.classList.remove("hidden");v=$jscomp.makeIterator(p);for(r=v.next();!r.done;r=v.next())r.value.classList.remove("mdl-button--accent");x.classList.add("mdl-button--accent")});m.appendChild(x);n.push(t);p.push(x);w?x.classList.add("mdl-button--accent"):t.classList.add("hidden")};c(shakaDemo.MessageIds.MAIN_TAB,
338
+ e,!0);c(shakaDemo.MessageIds.DRM_TAB,f,!1);c(shakaDemo.MessageIds.HEADERS_TAB,g,!1);c(shakaDemo.MessageIds.ADS_TAB,h,!1);c(shakaDemo.MessageIds.HLS_TAB,k,!1);c(shakaDemo.MessageIds.EXTRA_TAB,l,!1);this.dialog_.appendChild(m);this.dialog_.appendChild(e);this.dialog_.appendChild(f);this.dialog_.appendChild(g);this.dialog_.appendChild(h);this.dialog_.appendChild(k);this.dialog_.appendChild(l);this.dialog_.appendChild(a);this.dialog_.appendChild(d);componentHandler.upgradeDom();this.dialog_.showModal()};
408
339
  shakaDemo.Custom.prototype.loadAssetInfos_=function(){var a=window.localStorage.getItem(shakaDemo.Custom.saveId_);return a?(a=JSON.parse(a),new Set(a.map(function(b){b=ShakaDemoAssetInfo.fromJSON(b);shakaDemoMain.setupOfflineSupport(b);return b}))):new Set};shakaDemo.Custom.prototype.saveAssetInfos_=function(a){var b=shakaDemo.Custom.saveId_;a=Array.from(a);window.localStorage.setItem(b,JSON.stringify(a))};
409
340
  shakaDemo.Custom.prototype.makeButton_=function(a,b,c){var d=document.createElement("button");switch(b){case shakaDemo.Custom.ButtonStyle_.FAB:d.classList.add("mdl-button--fab");d.classList.add("mdl-button--colored");b=document.createElement("i");b.classList.add("material-icons-round");b.textContent=a;d.appendChild(b);break;case shakaDemo.Custom.ButtonStyle_.RAISED:d.textContent=a;d.classList.add("mdl-button--raised");break;case shakaDemo.Custom.ButtonStyle_.PLAIN:d.textContent=a}d.addEventListener("click",
410
341
  c);d.classList.add("mdl-button");d.classList.add("mdl-js-button");d.classList.add("mdl-js-ripple-effect");return d};
411
342
  shakaDemo.Custom.prototype.createAssetCardFor_=function(a){var b=this;return new shakaDemo.AssetCard(this.savedList_,a,!1,function(c){c.addButton(shakaDemo.MessageIds.PLAY,function(){shakaDemoMain.loadAsset(a);b.updateSelected_()});c.addButton(shakaDemo.MessageIds.EDIT_CUSTOM,function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress)return a.unstoreCallback?d.yield(a.unstoreCallback(),2):d.jumpTo(2);b.showAssetDialog_(a);d.jumpToEnd()})});c.addButton(shakaDemo.MessageIds.DELETE_CUSTOM,
412
343
  function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress)return b.assets_["delete"](a),a.unstoreCallback?d.yield(a.unstoreCallback(),2):d.jumpTo(2);b.saveAssetInfos_(b.assets_);b.remakeSavedList_();d.jumpToEnd()})},shakaDemo.MessageIds.DELETE_CUSTOM);c.addStoreButton()})};shakaDemo.Custom.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};
413
344
  shakaDemo.Custom.prototype.remakeSavedList_=function(){var a=this;shaka.util.Dom.removeAllChildren(this.savedList_);if(0==this.assets_.size){var b=function(c,d){var e=document.createElement("h2");e.classList.add("mdl-typography--"+c);e.textContent=d;a.savedList_.appendChild(e)};b("title",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_ONE));b("body-2",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_TWO));b("body-1",shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.CUSTOM_INTRO_THREE))}else this.assetCards_=
414
- Array.from(this.assets_).map(function(c){return a.createAssetCardFor_(c)}),this.updateSelected_()};shakaDemo.Custom.ButtonStyle_={RAISED:0,FAB:1,PLAIN:2};shakaDemo.Custom.saveId_="shakaPlayerDemoSavedAssets";document.addEventListener("shaka-main-loaded",shakaDemo.Custom.init);document.addEventListener("shaka-main-cleanup",function(){shakaDemoCustom=null});var shakaDemoFront;
345
+ Array.from(this.assets_).map(function(c){return a.createAssetCardFor_(c)}),this.updateSelected_()};shakaDemo.Custom.ButtonStyle_={RAISED:0,FAB:1,PLAIN:2};shakaDemo.Custom.saveId_="shakaPlayerDemoSavedAssets";document.addEventListener("shaka-main-loaded",shakaDemo.Custom.init);document.addEventListener("shaka-main-cleanup",function(){shakaDemoCustom=null});shakaDemo.Utils=function(){};
346
+ shakaDemo.Utils.runThroughHashParams=function(a,b){var c=[],d=function(k,l){c.push(l);a(k,l)};d("audiolang","preferredAudioLanguage");d("textlang","preferredTextLanguage");d("textrole","preferredTextRole");d("channels","preferredAudioChannelCount");c.push("abr.enabled");c.push("drm.advanced");c.push("drm.servers");var e=[],f=[],g=function(k){for(var l in k){e.includes(l)&&!f.includes(l)&&f.push(l);e.push(l);var m=k[l];"number"!=typeof m&&"string"!=typeof m&&"boolean"!=typeof m&&g(m)}};g(b);var h=
347
+ function(k,l){for(var m in k){var n=m,p=l+m;if(!c.includes(p)){f.includes(m)&&(n=p);var q=k[m];"number"==typeof q||"string"==typeof q||"boolean"==typeof q?a(n,p):h(q,p+".")}}};h(b,"")};shakaDemo.Utils.browserSupportsUncompiledMode=function(){try{return eval("async ()=>{}"),!0}catch(a){return!1}};var shakaDemoFront;
415
348
  shakaDemo.Front=function(a){var b=this;this.assetCards_=[];this.messageDiv_=document.createElement("div");this.assetCardDiv_=document.createElement("div");a.appendChild(this.messageDiv_);this.makeMessage_();a.appendChild(this.assetCardDiv_);document.addEventListener("shaka-main-selected-asset-changed",function(){b.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){b.updateOfflineProgress_()});document.addEventListener("shaka-main-locale-changed",function(){b.remakeAssetCards_()});
416
349
  document.addEventListener("shaka-main-page-changed",function(){b.assetCardDiv_.childNodes.length||a.classList.contains("hidden")||b.remakeAssetCards_()})};shakaDemo.Front.init=function(){var a=shakaDemoMain.addNavButton("front");shakaDemoFront=new shakaDemo.Front(a.container)};
417
350
  shakaDemo.Front.prototype.makeMessage_=function(){var a=this;if(!window.localStorage.getItem("shakaPlayerHideFrontMessage")){var b=function(c,d){var e=document.createElement("h2");e.classList.add("mdl-typography--"+c);e.textContent=shakaDemoMain.getLocalizedString(d);a.messageDiv_.appendChild(e)};b("body-2",shakaDemo.MessageIds.FRONT_INTRO_ONE);b("body-1",shakaDemo.MessageIds.FRONT_INTRO_TWO);b=document.createElement("button");b.classList.add("mdl-button");b.classList.add("mdl-button--colored");b.classList.add("mdl-js-button");
418
351
  b.classList.add("mdl-js-ripple-effect");b.textContent=shakaDemoMain.getLocalizedString(shakaDemo.MessageIds.FRONT_INTRO_DISMISS);b.addEventListener("click",function(){shaka.util.Dom.removeAllChildren(a.messageDiv_);window.localStorage.setItem("shakaPlayerHideFrontMessage","true")});this.messageDiv_.appendChild(b)}};
419
352
  shakaDemo.Front.prototype.remakeAssetCards_=function(){var a=this;shaka.util.Dom.removeAllChildren(this.assetCardDiv_);this.assetCards_=shakaAssets.testAssets.filter(function(b){return b.isFeatured&&!b.disabled}).map(function(b){return a.createAssetCardFor_(b,a.assetCardDiv_)});this.updateSelected_()};
420
353
  shakaDemo.Front.prototype.createAssetCardFor_=function(a,b){var c=this;return new shakaDemo.AssetCard(b,a,!0,function(d){var e=shakaDemoMain.getAssetUnsupportedReason(a,!1);e?d.markAsUnsupported(e):(d.addButton(shakaDemo.MessageIds.PLAY,function(){shakaDemoMain.loadAsset(a);c.updateSelected_()}),d.addStoreButton())})};shakaDemo.Front.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};
421
- shakaDemo.Front.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};document.addEventListener("shaka-main-loaded",shakaDemo.Front.init);document.addEventListener("shaka-main-cleanup",function(){shakaDemoFront=null});var shakaDemoSearch;
354
+ shakaDemo.Front.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};document.addEventListener("shaka-main-loaded",shakaDemo.Front.init);document.addEventListener("shaka-main-cleanup",function(){shakaDemoFront=null});shakaDemo.Main=function(){this.localization_=this.selectedAsset=this.player_=this.container_=this.video_=null;this.fullyLoaded_=!1;this.controls_=null;this.nativeControlsEnabled_=this.trickPlayControlsEnabled_=!1;this.uiLocale_="";this.noInput_=!1;this.errorDisplayLink_=document.getElementById("error-display-link");this.currentErrorSeverity_=null;MaterialLayout.prototype.Constant_.MENU_ICON="settings"};
355
+ shakaDemo.Main.prototype.initCommon_=function(){var a=this;window.addEventListener("error",function(b){if(!b.message.includes("cvox.Api"))a.onError_(b.error)});document.getElementById("error-display-close-button").addEventListener("click",function(b){return a.closeError_()});this.setUpVersionStrings_()};
356
+ shakaDemo.Main.prototype.initFailed=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress){b.initCommon_();b.makeVersionLinks_();c=document.getElementById("error-display-close-button");c.style.display="none";componentHandler.upgradeDom();d=[];e=$jscomp.makeIterator(document.getElementsByClassName("should-disable-on-fail"));for(f=e.next();!f.done;f=e.next())g=f.value,d.push(g);h=$jscomp.makeIterator(document.getElementsByClassName("mdl-layout__drawer-button"));
357
+ for(f=h.next();!f.done;f=h.next())k=f.value,d.push(k);l=$jscomp.makeIterator(d);for(f=l.next();!f.done;f=l.next())m=f.value,m.tabIndex=-1,m.classList.add("disabled-by-fail");b.localization_=new shaka.ui.Localization("en");b.localization_.changeLocale(navigator.languages||[]);return t.yield(b.setupLocalization_(),2)}n=shaka.util.Error.Severity.CRITICAL;q=p="";switch(a){case shaka.ui.Overlay.FailReasonCode.NO_BROWSER_SUPPORT:q=b.getLocalizedString(shakaDemo.MessageIds.FAILURE_NO_BROWSER_SUPPORT);p=
358
+ "https://github.com/shaka-project/shaka-player#platform-and-browser-support-matrix";break;case shaka.ui.Overlay.FailReasonCode.PLAYER_FAILED_TO_LOAD:q=b.getLocalizedString(shakaDemo.MessageIds.FAILURE_MISC)}b.handleError_(n,q,p);t.jumpToEnd()})};
359
+ shakaDemo.Main.prototype.init=function(){var a=this,b,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){switch(k.nextAddress){case 1:return a.initCommon_(),b=a,k.yield(shaka.Player.probeSupport(),2);case 2:return b.support_=k.yieldResult,a.video_=document.getElementById("video"),a.video_.poster=shakaDemo.Main.mainPoster_,a.container_=document.getElementsByClassName("video-container")[0],navigator.serviceWorker&&(console.debug("Registering service worker."),navigator.serviceWorker.register("service_worker.js")),
360
+ a.noInput_="noinput"in a.getParams_(),k.yield(a.setupPlayer_(),3);case 3:return a.readHash_(),window.addEventListener("hashchange",function(){return a.hashChanged_()}),k.yield(a.setupStorage_(),4);case 4:a.setupBugButton_();if(a.noInput_){c=$jscomp.makeIterator(document.getElementsByClassName("should-hide-in-no-input-mode"));for(d=c.next();!d.done;d=c.next())e=d.value,a.hideElement_(e);f=$jscomp.makeIterator(document.getElementsByClassName("should-show-in-no-input-mode"));for(d=f.next();!d.done;d=
361
+ f.next())g=d.value,a.showElement_(g);a.container_.classList.add("no-input-sized");document.getElementById("video-bar").classList.add("no-input-sized")}a.dispatchEventWithName_("shaka-main-loaded");return k.yield(Promise.resolve(),5);case 5:componentHandler.upgradeDom(),h=a.getLastAssetFromHash_(),a.fullyLoaded_=!0,a.remakeHash(),h&&!a.selectedAsset&&a.loadAsset(h),k.jumpToEnd()}})};
362
+ shakaDemo.Main.prototype.loadText_=function(a){var b,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){return 1==k.nextAddress?(b=new shaka.net.NetworkingEngine,c=shaka.net.NetworkingEngine.defaultRetryParameters(),d=shaka.net.NetworkingEngine.makeRequest([a],c),e=shaka.net.NetworkingEngine.RequestType.APP,f=b.request(e,d),k.yield(f.promise,2)):3!=k.nextAddress?(g=k.yieldResult,h=shaka.util.StringUtils.fromUTF8(g.data),k.yield(b.destroy(),3)):k["return"](h)})};
363
+ shakaDemo.Main.prototype.reportBug_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){switch(f.nextAddress){case 1:return f.yield(a.loadText_("autoTemplate.txt"),2);case 2:b=f.yieldResult;c=function(g,h){b=b.replace(g,h)};c("RE:player",shaka.Player.version);c("RE:link",window.location.href);c("RE:browser",navigator.userAgent);if(!a.selectedAsset||a.selectedAsset.source!=shakaAssets.Source.CUSTOM){c("RE:customwarning\n","");f.jumpTo(3);break}return f.yield(a.loadText_("customWarning.txt"),
364
+ 4);case 4:d=f.yieldResult,c("RE:customwarning",d);case 3:e="https://github.com/shaka-project/shaka-player/issues/new?",e+="body="+encodeURIComponent(b),window.open(e,"_blank"),f.jumpToEnd()}})};
365
+ shakaDemo.Main.prototype.setupBugButton_=function(){var a=this,b=document.getElementById("bug-button");b.addEventListener("click",function(){return a.reportBug_()});navigator.onLine||b.setAttribute("disabled","");window.addEventListener("online",function(){b.removeAttribute("disabled")});window.addEventListener("offline",function(){b.setAttribute("disabled","")})};
366
+ shakaDemo.Main.prototype.configureUI_=function(){var a=this.video_.ui,b=a.getConfiguration();b.addSeekBar=!0;b.controlPanelElements=b.controlPanelElements.filter(function(d){return"rewind"!=d&&"fast_forward"!=d});if(this.trickPlayControlsEnabled_){b.addSeekBar=!1;var c=b.controlPanelElements.indexOf("play_pause");b.controlPanelElements.splice(c,1,"rewind","play_pause","fast_forward")}b.controlPanelElements.includes("close")||b.controlPanelElements.push("close");a.configure(b)};
367
+ shakaDemo.Main.prototype.setupPlayer_=function(){var a=this,b,c,d,e,f,g,h,k,l;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress)return b=a.video_,c=b.ui,a.player_=c.getControls().getPlayer(),a.noInput_||(d=new shakaDemo.CloseButton.Factory,shaka.ui.Controls.registerElement("close",d),a.configureUI_()),a.player_.configure("manifest.dash.clockSyncUri","https://shaka-player-demo.appspot.com/time.txt"),a.defaultConfig_=a.player_.getConfiguration(),a.desiredConfig_=a.player_.getConfiguration(),
368
+ e=navigator.languages||["en-us"],a.configure("preferredAudioLanguage",e[0]),a.configure("preferredTextLanguage",e[0]),a.uiLocale_=e[0],f=function(n){return a.onErrorEvent_(n)},a.player_.addEventListener("error",f),a.controls_=c.getControls(),a.controls_.addEventListener("error",f),a.controls_.addEventListener("caststatuschanged",function(n){a.onCastStatusChange_(n.newStatus)}),a.localization_=a.controls_.getLocalization(),m.yield(a.setupLocalization_(),2);g=document.getElementById("drawer-close-button");
369
+ g.addEventListener("click",function(){document.getElementById("main-layout").MaterialLayout.toggleDrawer();a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideElement_(g)});h=document.querySelector(".mdl-layout__drawer-button");goog.asserts.assert(h,"There should be a drawer button.");k=function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.showElement_(g)};h.addEventListener("click",k);h.addEventListener("keydown",function(n){n=n.key;" "!=n&&"Spacebar"!=n&&"Enter"!=
370
+ n||k()});l=document.querySelector(".mdl-layout__obfuscator");goog.asserts.assert(l,"There should be an obfuscator.");l.addEventListener("click",function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideElement_(g)});a.hideElement_(g);m.jumpToEnd()})};
371
+ shakaDemo.Main.prototype.setupLocalization_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return b=function(){a.localizeHTMLElements_();a.dispatchEventWithName_("shaka-main-locale-changed")},c=shaka.ui.Localization.UNKNOWN_LOCALES,a.localization_.addEventListener(c,function(g){var h={};g=$jscomp.makeIterator(g.locales);for(var k=g.next();!k.done;h={$jscomp$loop$prop$locale$75:h.$jscomp$loop$prop$locale$75},k=g.next())h.$jscomp$loop$prop$locale$75=
372
+ k.value,a.loadUILocale_(h.$jscomp$loop$prop$locale$75).then(function(l){return function(){l.$jscomp$loop$prop$locale$75==a.uiLocale_&&b()}}(h))}),d=shaka.ui.Localization.LOCALE_CHANGED,a.localization_.addEventListener(d,function(g){b()}),e=[],e.push(a.loadUILocale_(a.uiLocale_)),a.uiLocale_.includes("-")&&e.push(a.loadUILocale_(a.uiLocale_.split("-")[0])),a.uiLocale_.startsWith("en")||e.push(a.loadUILocale_("en")),f.yield(Promise.all(e),2);a.localizeHTMLElements_();f.jumpToEnd()})};
373
+ shakaDemo.Main.prototype.getIsDrawerOpen=function(){var a=document.querySelector(".mdl-layout__drawer");goog.asserts.assert(a,"There should be a drawer.");return a.classList.contains("is-visible")};shakaDemo.Main.prototype.getIdentifierFromAsset_=function(a){return a.name+(a.source==shakaAssets.Source.CUSTOM?" [CUSTOM]":"")};
374
+ shakaDemo.Main.prototype.makeStorageInstance_=function(){var a=this;if(!shaka.offline.Storage.support())return null;var b=new shaka.offline.Storage;b.configure(this.desiredConfig_);b.configure("offline.progressCallback",function(c,d){var e=c.appMetadata.identifier;a:{for(var f=$jscomp.makeIterator(shakaAssets.testAssets),g=f.next();!g.done;g=f.next())if(g=g.value,a.getIdentifierFromAsset_(g)==e){e=g;break a}if(shakaDemoCustom)for(f=$jscomp.makeIterator(shakaDemoCustom.assets()),g=f.next();!g.done;g=
375
+ f.next())if(g=g.value,a.getIdentifierFromAsset_(g)==e){e=g;break a}e=null}e&&(e.storedProgress=d,a.dispatchEventWithName_("shaka-main-offline-progress"))});return b};
376
+ shakaDemo.Main.prototype.setupOfflineSupport=function(a){var b=this;if(this.initialStoredList_){a.storedContent=null;for(var c=$jscomp.makeIterator(this.initialStoredList_),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.appMetadata.identifier;this.getIdentifierFromAsset_(a)==e&&(a.storedContent=d)}a.storeCallback=function(){var f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){switch(n.nextAddress){case 1:f=b.makeStorageInstance_();if(!f)return n["return"]();n.setCatchFinallyBlocks(2);
377
+ return n.yield(b.drmConfiguration_(a,f),4);case 4:return g={identifier:b.getIdentifierFromAsset_(a),downloaded:new Date},a.storedProgress=0,b.dispatchEventWithName_("shaka-main-offline-progress"),h=Date.now(),n.yield(f.store(a.manifestUri,g).promise,5);case 5:k=n.yieldResult;l=Date.now();console.log("Download time:",l-h);a.storedContent=k;n.leaveTryBlock(3);break;case 2:m=n.enterCatchBlock(),b.onError_(m),a.storedContent=null;case 3:f.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),
378
+ n.jumpToEnd()}})};a.unstoreCallback=function(){var f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:a==b.selectedAsset&&b.unload();if(!a.storedContent||!a.storedContent.offlineUri){h.jumpTo(0);break}f=b.makeStorageInstance_();if(!f)return h["return"]();h.setCatchFinallyBlocks(3);a.storedProgress=0;b.dispatchEventWithName_("shaka-main-offline-progress");return h.yield(f.remove(a.storedContent.offlineUri),5);case 5:a.storedContent=null;h.leaveTryBlock(4);
379
+ break;case 3:g=h.enterCatchBlock(),b.onError_(g);case 4:f.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),h.jumpToEnd()}})}}};
380
+ shakaDemo.Main.prototype.setupStorage_=function(){var a=this,b,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:b=a.makeStorageInstance_();if(!b)return h["return"]();h.setCatchFinallyBlocks(2,3);c=a;return h.yield(b.list(),5);case 5:c.initialStoredList_=h.yieldResult;case 3:h.enterFinallyBlock();b.destroy();h.leaveFinallyBlock(4);break;case 2:d=h.enterCatchBlock();console.error(d);a.initialStoredList_=null;h.jumpTo(3);break;case 4:e=$jscomp.makeIterator(shakaAssets.testAssets);
381
+ for(f=e.next();!f.done;f=e.next())g=f.value,a.getAssetUnsupportedReason(g,!0)||a.setupOfflineSupport(g);h.jumpToEnd()}})};shakaDemo.Main.prototype.hashChanged_=function(){this.readHash_();this.dispatchEventWithName_("shaka-main-config-change")};
382
+ shakaDemo.Main.prototype.getAssetUnsupportedReason=function(a,b){var c=this;if(b&&(!shaka.offline.Storage.support()||!this.initialStoredList_))return shakaDemo.MessageIds.UNSUPPORTED_NO_OFFLINE;if(a.source==shakaAssets.Source.CUSTOM)return null;if(a.disabled)return shakaDemo.MessageIds.UNSUPPORTED_DISABLED;if(b&&!a.features.includes(shakaAssets.Feature.OFFLINE))return shakaDemo.MessageIds.UNSUPPORTED_NO_DOWNLOAD;if(!a.isClear()){if(!a.drm.some(function(e){return c.support_.drm[shakaAssets.identifierForKeySystem(e)]}))return shakaDemo.MessageIds.UNSUPPORTED_NO_KEY_SUPPORT;
383
+ if(b&&!a.drm.some(function(e){e=shakaAssets.identifierForKeySystem(e);return c.support_.drm[e]&&c.support_.drm[e].persistentState}))return shakaDemo.MessageIds.UNSUPPORTED_NO_LICENSE_SUPPORT}if(a.features.includes(shakaAssets.Feature.DASH)&&!this.support_.manifest.mpd)return shakaDemo.MessageIds.UNSUPPORTED_NO_DASH_SUPPORT;if(a.features.includes(shakaAssets.Feature.HLS)&&!this.support_.manifest.m3u8)return shakaDemo.MessageIds.UNSUPPORTED_NO_HLS_SUPPORT;var d=[];a.features.includes(shakaAssets.Feature.WEBM)&&
384
+ d.push("video/webm");a.features.includes(shakaAssets.Feature.MP4)&&d.push("video/mp4");a.features.includes(shakaAssets.Feature.MP2TS)&&d.push("video/mp2t");a.features.includes(shakaAssets.Feature.CONTAINERLESS)&&d.push("audio/aac");return d.some(function(e){return c.support_.media[e]})?null:shakaDemo.MessageIds.UNSUPPORTED_NO_FORMAT_SUPPORT};shakaDemo.Main.prototype.setTrickPlayControlsEnabled=function(a){this.trickPlayControlsEnabled_=a;this.configureUI_();this.remakeHash()};
385
+ shakaDemo.Main.prototype.getTrickPlayControlsEnabled=function(){return this.trickPlayControlsEnabled_};shakaDemo.Main.prototype.setNativeControlsEnabled=function(a){this.nativeControlsEnabled_=a;this.remakeHash()};shakaDemo.Main.prototype.getNativeControlsEnabled=function(){return this.nativeControlsEnabled_};
386
+ shakaDemo.Main.prototype.localizeHTMLElements_=function(){for(var a=$jscomp.makeIterator(document.querySelectorAll("[localized-string]")),b=a.next();!b.done;b=a.next()){b=b.value;var c=b.getAttribute("localized-string");if(c=shakaDemo.MessageIds[c])b.textContent=this.getLocalizedString(c)}};shakaDemo.Main.prototype.getLocalizedString=function(a){return this.localization_.resolve(a)};
387
+ shakaDemo.Main.prototype.loadUILocale_=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(!a)return d["return"]();c=function(e){var f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress)return f=e+"/locales/"+a+".json",l.setCatchFinallyBlocks(2),l.yield(b.loadText_(f),4);if(2!=l.nextAddress)return g=l.yieldResult,h=JSON.parse(g),k=new Map(Object.entries(h)),b.localization_.insert(a,k),l.leaveTryBlock(0);l.enterCatchBlock();
388
+ console.warn("Unable to load locale",a,"for url",f);l.jumpToEnd()})};return d.yield(Promise.all([c("../ui"),c("../demo")]),0)})};shakaDemo.Main.prototype.setUILocale=function(a){this.uiLocale_=a;a=[a].concat(navigator.languages);this.localization_.changeLocale(a)};shakaDemo.Main.prototype.getUILocale=function(){return this.uiLocale_};
389
+ shakaDemo.Main.prototype.getLastAssetFromHash_=function(){var a=this.getParams_(),b=a.asset,c=a.adTagUri;if(b){for(var d=$jscomp.makeIterator(shakaAssets.testAssets),e=d.next();!e.done;e=d.next())if(e=e.value,e.manifestUri==b&&e.adTagUri==c)return e;c=$jscomp.makeIterator(shakaDemoCustom.assets());for(e=c.next();!e.done;e=c.next())if(d=e.value,d.manifestUri==b)return d;b=new ShakaDemoAssetInfo("loaded asset","",b,shakaAssets.Source.CUSTOM);if("license"in a)for(c=shakaDemo.Main.commonDrmSystems,("drmSystem"in
390
+ a)&&(c=[a.drmSystem]),c=$jscomp.makeIterator(c),d=c.next();!d.done;d=c.next())b.addLicenseServer(d.value,a.license);"certificate"in a&&b.addCertificateUri(a.certificate);return b}return null};
391
+ shakaDemo.Main.prototype.readHash_=function(){var a=this,b=this.getParams_();if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(f,g){if(f in b){var h=a.getCurrentConfigValue(g),k=b[f];"boolean"==typeof h?k="true"==k:"number"==typeof h&&(k=parseFloat(k));a.configure(g,k)}},c);if(c=this.getCurrentConfigValue("drm.advanced"))for(var d=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),e=d.next();!e.done;e=d.next())e=e.value,c[e]||(c[e]=shakaDemo.Main.defaultAdvancedDrmConfig()),
392
+ "videoRobustness"in b&&(c[e].videoRobustness=b.videoRobustness),"audioRobustness"in b&&(c[e].audioRobustness=b.audioRobustness)}"lang"in b&&(c=b.lang,this.configure("preferredAudioLanguage",c),this.configure("preferredTextLanguage",c),this.setUILocale(c));"uilang"in b&&this.setUILocale(b.uilang);"noadaptation"in b&&this.configure("abr.enabled",!1);this.makeVersionLinks_();this.nativeControlsEnabled_="nativecontrols"in b;"trickplay"in b&&(this.trickPlayControlsEnabled_=!0,this.configureUI_());shakaDemo.Utils.browserSupportsUncompiledMode()||
393
+ (c=document.getElementById("uncompiled-link"),goog.asserts.assert(c instanceof HTMLAnchorElement,"Wrong element type!"),c.setAttribute("disabled",""),c.removeAttribute("href"),c.title="requires a newer browser");shaka.log&&("vv"in b?shaka.log.setLevel(shaka.log.Level.V2):"v"in b?shaka.log.setLevel(shaka.log.Level.V1):"debug"in b?shaka.log.setLevel(shaka.log.Level.DEBUG):"info"in b&&shaka.log.setLevel(shaka.log.Level.INFO))};
394
+ shakaDemo.Main.prototype.makeVersionLinks_=function(){var a=this,b=this.getParams_(),c="uncompiled";"build"in b?c=b.build:"compiled"in b&&(c="compiled");b={};for(var d=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]),e=d.next();!e.done;b={$jscomp$loop$prop$type$77:b.$jscomp$loop$prop$type$77},e=d.next())b.$jscomp$loop$prop$type$77=e.value,e=document.getElementById(b.$jscomp$loop$prop$type$77.split("_").join("-")+"-link"),goog.asserts.assert(e instanceof HTMLAnchorElement,"Wrong element type!"),
395
+ c==b.$jscomp$loop$prop$type$77?(e.setAttribute("disabled",""),e.removeAttribute("href"),e.title="currently selected"):(e.removeAttribute("disabled"),e.addEventListener("click",function(f){return function(){var g=location.hash.substr(1).split(";").filter(function(h){return"compiled"!=h&&"build"!=h.split("=")[0]});g.push("build="+f.$jscomp$loop$prop$type$77);a.setNewHashSilent_(g.join(";"));location.reload();return!1}}(b)))};
396
+ shakaDemo.Main.prototype.getParams_=function(){var a=location.search.substr(1);a=a?a.split(";"):[];var b=location.hash.substr(1);b=b?b.split(";"):[];b=a.concat(b);a={};b=$jscomp.makeIterator(b);for(var c=b.next();!c.done;c=b.next())c=c.value.split("="),a[c[0]]=c.slice(1).join("=");return a};shakaDemo.Main.prototype.getValueFromGivenConfig_=function(a,b){for(var c=b,d=a;d;){var e=d.split(/\.(.+)/);if(3==e.length)d=e[1],c=c[e[0]];else return c[e[0]]}};
397
+ shakaDemo.Main.prototype.getCurrentConfigValue=function(a){return this.getValueFromGivenConfig_(a,this.desiredConfig_)};shakaDemo.Main.prototype.resetConfiguration=function(a){this.configure(a,void 0)};shakaDemo.Main.prototype.configure=function(a,b){2==arguments.length&&"string"==typeof a&&(a=shaka.util.ConfigUtils.convertToConfigObject(a,b));shaka.util.PlayerConfiguration.mergeConfigObjects(this.desiredConfig_,a,this.defaultConfig_);this.player_.configure(a,b)};
398
+ shakaDemo.Main.prototype.getConfiguration=function(){return this.desiredConfig_};shakaDemo.Main.prototype.requestCertificate_=function(a,b){var c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return c=shaka.net.NetworkingEngine.RequestType.APP,d={uris:[a]},f.yield(b.request(c,d).promise,2);e=f.yieldResult;return f["return"](e.data)})};
399
+ shakaDemo.Main.prototype.unload=function(){this.selectedAsset=null;var a=document.getElementById("video-bar");this.hideElement_(a);this.video_.poster=shakaDemo.Main.mainPoster_;document.fullscreenElement&&document.exitFullscreen();this.video_.webkitDisplayingFullscreen&&this.video_.webkitExitFullscreen();document.pictureInPictureElement&&document.exitPictureInPicture();this.player_.unload();this.dispatchEventWithName_("shaka-main-selected-asset-changed");navigator.mediaSession&&(navigator.mediaSession.metadata=
400
+ null);this.remakeHash()};
401
+ shakaDemo.Main.prototype.drmConfiguration_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p;return $jscomp.asyncExecutePromiseGeneratorProgram(function(q){if(1==q.nextAddress){d=b?b.getNetworkingEngine():c.player_.getNetworkingEngine();goog.asserts.assert(d,"There should be a net engine.");a.applyFilters(d);e=a.getConfiguration();b?b.configure(e):(c.player_.resetConfiguration(),c.player_.configure(c.desiredConfig_),c.player_.configure(e));f=b?b.getConfiguration():c.player_.getConfiguration();if(!a.certificateUri){g=
402
+ $jscomp.makeIterator(a.licenseServers.keys());for(h=g.next();!h.done;h=g.next())k=h.value,f.drm.advanced[k]&&delete f.drm.advanced[k].serverCertificate;return q.jumpTo(2)}return q.yield(c.requestCertificate_(a.certificateUri,d),3)}if(2!=q.nextAddress)for(l=q.yieldResult,m=shaka.util.BufferUtils.toUint8(l),n=$jscomp.makeIterator(a.licenseServers.keys()),h=n.next();!h.done;h=n.next())p=h.value,f.drm.advanced[p]=f.drm.advanced[p]||{},f.drm.advanced[p].serverCertificate=m;b?b.configure(f):c.player_.configure("drm.advanced",
403
+ f.drm.advanced);c.remakeHash();q.jumpToEnd()})};shakaDemo.Main.prototype.showPlayer_=function(){var a=document.getElementById("video-bar");this.showElement_(a);this.closeError_();this.video_.poster=shakaDemo.Main.mainPoster_;a.scrollIntoView({behavior:"smooth",block:"start"})};
404
+ shakaDemo.Main.prototype.loadAsset=function(a){var b=this,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){switch(k.nextAddress){case 1:return k.setCatchFinallyBlocks(2),b.selectedAsset=a,b.showPlayer_(),b.dispatchEventWithName_("shaka-main-selected-asset-changed"),k.yield(b.drmConfiguration_(a),4);case 4:b.controls_.getCastProxy().setAppData({asset:a});b.nativeControlsEnabled_?(b.controls_.setEnabledShakaControls(!1),b.controls_.setEnabledNativeControls(!0),b.player_.setVideoContainer(null)):
405
+ (b.controls_.setEnabledShakaControls(!0),b.controls_.setEnabledNativeControls(!1),b.player_.setVideoContainer(b.container_));c=a.manifestUri;a.storedContent&&a.storedContent.offlineUri&&(c=a.storedContent.offlineUri);if(!(a.imaAssetKey||a.imaContentSrcId&&a.imaVideoId)){k.jumpTo(5);break}return k.yield(b.getManifestUriFromAdManager_(a),6);case 6:c=k.yieldResult;case 5:return k.yield(b.player_.load(c,null,a.mimeType||void 0),7);case 7:b.player_.isAudioOnly()&&(b.video_.poster=shakaDemo.Main.audioOnlyPoster_);
406
+ if((d=b.player_.getAdManager())&&a.adTagUri)try{goog.asserts.assert(null!=b.video_,"this.video should exist!"),d.initClientSide(b.controls_.getClientSideAdContainer(),b.video_),e=new google.ima.AdsRequest,e.adTagUrl=a.adTagUri,d.requestClientSideAds(e)}catch(l){console.log(l),console.warn("Ads code has been prevented from running. Proceeding without ads.")}navigator.mediaSession&&(f={title:a.name,artwork:[{src:a.iconUri}]},f.artist=a.source,navigator.mediaSession.metadata=new MediaMetadata(f));k.leaveTryBlock(3);
407
+ break;case 2:if(h=g=k.enterCatchBlock(),h.code==shaka.util.Error.Code.LOAD_INTERRUPTED)console.debug("load() interrupted");else b.onError_(h);case 3:b.remakeHash(),k.jumpToEnd()}})};
408
+ shakaDemo.Main.prototype.remakeHash=function(){var a=this;if(this.fullyLoaded_){var b=[];if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(f,g){var h=a.getCurrentConfigValue(g),k=a.getValueFromGivenConfig_(g,a.defaultConfig_),l=isNaN(h)&&isNaN(k);h==k||l||b.push(f+"="+h)},c);var d=this.getCurrentConfigValue("drm.advanced");if(d){var e=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems);for(c=e.next();!c.done;c=e.next())if(c=d[c.value]){c.videoRobustness&&
409
+ b.push("videoRobustness="+c.videoRobustness);c.audioRobustness&&b.push("audioRobustness="+c.audioRobustness);break}}}this.getCurrentConfigValue("abr.enabled")||b.push("noadaptation");b.push("uilang="+this.getUILocale());if(this.selectedAsset){d=shakaAssets.testAssets.includes(this.selectedAsset);b.push("asset="+this.selectedAsset.manifestUri);this.selectedAsset.adTagUri&&b.push("adTagUri="+this.selectedAsset.adTagUri);if(!d&&this.selectedAsset.licenseServers.size)for(c=this.selectedAsset.licenseServers.values().next().value,
410
+ b.push("license="+c),e=$jscomp.makeIterator(this.selectedAsset.licenseServers.keys()),c=e.next();!c.done;c=e.next())if(c=c.value,!shakaDemo.Main.commonDrmSystems.includes(c)){b.push("drmSystem="+c);break}!d&&this.selectedAsset.certificateUri&&b.push("certificate="+this.selectedAsset.certificateUri)}c=document.getElementById("nav-button-container");c=$jscomp.makeIterator(c.childNodes);for(d=c.next();!d.done;d=c.next())if(d=d.value,d.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(d instanceof HTMLElement,
411
+ "Wrong node type!"),d.classList.contains("mdl-button--accent"))){b.push("panel="+d.getAttribute("tab-identifier"));(c=d.getAttribute("tab-hash"))&&b.push("panelData="+c);break}c=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]);for(d=c.next();!d.done;d=c.next())d=d.value,document.getElementById(d.split("_").join("-")+"-link").hasAttribute("disabled")&&b.push("build="+d);this.noInput_&&b.push("noinput");this.nativeControlsEnabled_&&b.push("nativecontrols");this.trickPlayControlsEnabled_&&
412
+ b.push("trickplay");if(shaka.log&&shaka.log.currentLevel!=shaka.log.MAX_LOG_LEVEL)switch(shaka.log.currentLevel){case shaka.log.Level.INFO:b.push("info");break;case shaka.log.Level.DEBUG:b.push("debug");break;case shaka.log.Level.V2:b.push("vv");break;case shaka.log.Level.V1:b.push("v")}this.setNewHashSilent_(b.join(";"))}};shakaDemo.Main.prototype.setNewHashSilent_=function(a){history.replaceState(null,"",document.location.pathname+"#"+a)};shakaDemo.Main.prototype.getHamburgerMenu=function(){return document.getElementById("hamburger-menu-contents")};
413
+ shakaDemo.Main.prototype.hideElement_=function(a){a.classList.add("hidden")};shakaDemo.Main.prototype.showElement_=function(a){a.classList.remove("hidden")};
414
+ shakaDemo.Main.prototype.getManifestUriFromAdManager_=function(a){var b=this,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress)return c=b.player_.getAdManager(),d=b.controls_.getServerSideAdContainer(),h.setCatchFinallyBlocks(2),goog.asserts.assert(null!=b.video_,"Video should not be null!"),c.initServerSide(d,b.video_),null!=a.imaAssetKey?(e=new google.ima.dai.api.LiveStreamRequest,e.assetKey=a.imaAssetKey):(goog.asserts.assert(null!=a.imaContentSrcId&&
415
+ null!=a.imaVideoId,"Asset should have ima ids!"),e=new google.ima.dai.api.VODStreamRequest,e.contentSourceId=a.imaContentSrcId,e.videoId=a.imaVideoId),h.yield(c.requestServerSideStream(e,a.manifestUri),4);if(2!=h.nextAddress)return f=h.yieldResult,h["return"](f);g=h.enterCatchBlock();console.log(g);console.warn("Ads code has been prevented from running or returned an error. Proceeding without ads.");return h["return"](a.manifestUri)})};
416
+ shakaDemo.Main.prototype.addNavButton=function(a){var b=this,c=document.getElementById("nav-button-container"),d=document.getElementById("contents"),e=document.getElementById("nav-button-"+a),f=this.getParams_();(a=f.panel==encodeURI(e.getAttribute("tab-identifier")))?(f=f.panelData)&&e.setAttribute("tab-hash",f):f.panel||(a=null!=e.getAttribute("defaultselected"));var g=document.createElement("div");this.hideElement_(g);d.appendChild(g);f=function(){for(var h=$jscomp.makeIterator(c.childNodes),k=
417
+ h.next();!k.done;k=h.next())k=k.value,k.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(k instanceof Element,"Wrong node type!"),k.classList.remove("mdl-button--accent"));h=$jscomp.makeIterator(d.childNodes);for(k=h.next();!k.done;k=h.next())k=k.value,k.nodeType==Node.ELEMENT_NODE&&(goog.asserts.assert(k instanceof Element,"Wrong node type!"),b.hideElement_(k));e.classList.add("mdl-button--accent");b.showElement_(g);b.remakeHash();b.dispatchEventWithName_("shaka-main-page-changed");g.scrollIntoView({behavior:"smooth",
418
+ block:"start"})};e.addEventListener("click",f);a&&Promise.resolve().then(f);return{container:g,button:e}};shakaDemo.Main.prototype.dispatchEventWithName_=function(a){var b=document.createEvent("CustomEvent");b.initCustomEvent(a,!1,!1,null);document.dispatchEvent(b)};
419
+ shakaDemo.Main.prototype.setUpVersionStrings_=function(){for(var a=shaka.Player.version.split("-"),b=[],c={},d=$jscomp.makeIterator(["debug","uncompiled"]),e=d.next();!e.done;c={$jscomp$loop$prop$whitelisted$79:c.$jscomp$loop$prop$whitelisted$79},e=d.next())c.$jscomp$loop$prop$whitelisted$79=e.value,a.includes(c.$jscomp$loop$prop$whitelisted$79)&&(b.push(c.$jscomp$loop$prop$whitelisted$79),a=a.filter(function(f){return function(g){return g!=f.$jscomp$loop$prop$whitelisted$79}}(c)));c=document.getElementsByClassName("version-string");
420
+ c=$jscomp.makeIterator(c);for(d=c.next();!d.done;d=c.next())d=d.value,d.textContent=a.join("-"),0<b.length&&(d.textContent+=" ("+b.join(", ")+")")};shakaDemo.Main.prototype.closeError_=function(){document.getElementById("error-display").classList.add("hidden");this.errorDisplayLink_.href="";this.errorDisplayLink_.textContent="";this.currentErrorSeverity_=null};shakaDemo.Main.prototype.onErrorEvent_=function(a){this.onError_(a.detail)};
421
+ shakaDemo.Main.prototype.onError_=function(a){var b=a.severity;if(null==b||void 0==a.severity)b=shaka.util.Error.Severity.CRITICAL;var c=a.message||"Error code "+a.code,d="";a.code&&(d="../docs/api/shaka.util.Error.html#value:"+a.code);console.error(a);this.handleError_(b,c,d)};
422
+ shakaDemo.Main.prototype.handleError_=function(a,b,c){if(null==this.currentErrorSeverity_||a>this.currentErrorSeverity_)this.errorDisplayLink_.href=c,void 0===this.errorDisplayLink_.textContent?this.errorDisplayLink_.innerText=b:this.errorDisplayLink_.textContent=b,this.currentErrorSeverity_=a,this.errorDisplayLink_.href?this.errorDisplayLink_.classList.remove("input-disabled"):this.errorDisplayLink_.classList.add("input-disabled"),document.getElementById("error-display").classList.remove("hidden")};
423
+ shakaDemo.Main.prototype.onCastStatusChange_=function(a){a&&!this.selectedAsset&&(this.selectedAsset=ShakaDemoAssetInfo.makeBlankAsset(),this.showPlayer_())};shakaDemo.Main.defaultAdvancedDrmConfig=function(){return{distinctiveIdentifierRequired:!1,persistentStateRequired:!1,videoRobustness:"",audioRobustness:"",sessionType:"",serverCertificate:new Uint8Array(0),serverCertificateUri:"",individualizationServer:""}};
424
+ shakaDemo.Main.commonDrmSystems=["com.widevine.alpha","com.microsoft.playready","com.apple.fps","com.adobe.primetime","org.w3.clearkey"];var shakaDemoMain=new shakaDemo.Main;shakaDemo.Main.mainPoster_="https://shaka-player-demo.appspot.com/assets/poster.jpg";shakaDemo.Main.audioOnlyPoster_="https://shaka-player-demo.appspot.com/assets/audioOnly.gif";
425
+ shakaDemo.Main.initWrapper=function(a){var b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress)return c.setCatchFinallyBlocks(2),c.yield(a(),4);if(2!=c.nextAddress)return c.leaveTryBlock(0);b=c.enterCatchBlock();shakaDemoMain.onError_(b);console.error(b);c.jumpToEnd()})};document.addEventListener("shaka-ui-loaded",function(){shakaDemo.Main.initWrapper(function(){return shakaDemoMain.init()})});document.addEventListener("shaka-ui-load-failed",function(a){shakaDemo.Main.initWrapper(function(){shakaDemoMain.initFailed(a.detail.reasonCode)})});var shakaDemoSearch;
422
426
  shakaDemo.Search=function(a,b){var c=this;this.desiredFeatures_=[];this.button_=b;this.resultsDiv_=document.createElement("div");this.assetCards_=[];document.addEventListener("shaka-main-selected-asset-changed",function(){c.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){c.updateOfflineProgress_()});document.addEventListener("shaka-main-locale-changed",function(){c.remakeSearchDiv_(a);c.remakeResultsDiv_();componentHandler.upgradeDom()});document.addEventListener("shaka-main-page-changed",
423
427
  function(){c.resultsDiv_.childNodes.length||a.classList.contains("hidden")||c.remakeResultsDiv_()});this.readHashParameters_();this.updateHashParameters_();this.remakeSearchDiv_(a)};shakaDemo.Search.init=function(){var a=shakaDemoMain.addNavButton("search");shakaDemoSearch=new shakaDemo.Search(a.container,a.button)};
424
428
  shakaDemo.Search.prototype.readHashParameters_=function(){var a=this.button_.getAttribute("tab-hash");if(a){a=$jscomp.makeIterator(a.split(","));for(var b=a.next();!b.done;b=a.next())if(b=b.value,b.startsWith("drm:")){if(b=b.split("drm:")[1],b=shakaAssets.KeySystem[b])this.desiredDRM_=b}else if(b.startsWith("source:")){if(b=b.split("source:")[1],b=shakaAssets.Source[b])this.desiredSource_=b}else(b=shakaAssets.Feature[b])&&this.desiredFeatures_.push(b)}};
@@ -429,13 +433,13 @@ shakaDemo.Search.prototype.remakeResultsDiv_=function(){var a=this;shaka.util.Do
429
433
  shakaDemo.Search.prototype.checkDesiredTerm_=function(a,b){switch(b){case shakaDemo.Search.TermType.DRM:return this.desiredDRM_==a;case shakaDemo.Search.TermType.SOURCE:return this.desiredSource_==a;case shakaDemo.Search.TermType.FEATURE:return this.desiredFeatures_.includes(a);default:return!1}};
430
434
  shakaDemo.Search.prototype.addDesiredTerm_=function(a,b,c){switch(b){case shakaDemo.Search.TermType.DRM:this.desiredDRM_=a;break;case shakaDemo.Search.TermType.SOURCE:this.desiredSource_=a;break;case shakaDemo.Search.TermType.FEATURE:b=$jscomp.makeIterator(c);for(c=b.next();!c.done;c=b.next())c=this.desiredFeatures_.indexOf(c.value),-1!=c&&this.desiredFeatures_.splice(c,1);this.desiredFeatures_.push(a)}};
431
435
  shakaDemo.Search.prototype.removeDesiredTerm_=function(a,b){switch(b){case shakaDemo.Search.TermType.DRM:this.desiredDRM_=null;break;case shakaDemo.Search.TermType.SOURCE:this.desiredSource_=null;break;case shakaDemo.Search.TermType.FEATURE:var c=this.desiredFeatures_.indexOf(a);-1!=c&&this.desiredFeatures_.splice(c,1)}};
432
- shakaDemo.Search.prototype.makeBooleanInput_=function(a,b,c,d){var e=this;a.addRow(b,d,"significant-right-padding");(new shakaDemo.BoolInput(a,b,function(g){g.checked?e.addDesiredTerm_(b,c,[b]):e.removeDesiredTerm_(b,c);e.remakeResultsDiv_();componentHandler.upgradeDom();e.updateHashParameters_()})).input().checked=this.checkDesiredTerm_(b,c)};
433
- shakaDemo.Search.prototype.makeSelectInput_=function(a,b,c,d){var e=this;a.addRow(null,null);for(var g={},f=$jscomp.makeIterator(c),h=f.next();!h.done;h=f.next())h=h.value,g[h]=shakaDemoMain.getLocalizedString(h);var k=g["---"]="---";a=new shakaDemo.SelectInput(a,b,function(l){"---"!=l.value?e.addDesiredTerm_(l.value,d,c):e.removeDesiredTerm_(k,d);k=l.value;e.remakeResultsDiv_();componentHandler.upgradeDom();e.updateHashParameters_()},g);a.input().value="---";b=$jscomp.makeIterator(c);for(g=b.next();!g.done;g=
434
- b.next())if(g=g.value,this.checkDesiredTerm_(g,d)){k=a.input().value=g;break}};
435
- shakaDemo.Search.prototype.remakeSearchDiv_=function(a){shaka.util.Dom.removeAllChildren(a);var b=shakaAssets.Feature,c=shakaDemo.Search.TermType.FEATURE,d=shakaDemo.Search.TermType.DRM,e=shakaDemo.Search.TermType.SOURCE,g=new shakaDemo.InputContainer(a,null,shakaDemo.InputContainer.Style.FLEX,null);this.makeSelectInput_(g,shakaDemo.MessageIds.MANIFEST_SEARCH,[b.DASH,b.HLS],c);this.makeSelectInput_(g,shakaDemo.MessageIds.CONTAINER_SEARCH,[b.MP4,b.MP2TS,b.WEBM],c);this.makeSelectInput_(g,shakaDemo.MessageIds.DRM_SEARCH,
436
- Object.values(shakaAssets.KeySystem),d);this.makeSelectInput_(g,shakaDemo.MessageIds.SOURCE_SEARCH,Object.values(shakaAssets.Source).filter(function(f){return f!=shakaAssets.Source.CUSTOM}),e);this.makeSelectInput_(g,shakaDemo.MessageIds.LIVE_SEARCH,[b.LIVE,b.VOD],c);d=new shakaDemo.InputContainer(a,null,shakaDemo.InputContainer.Style.FLEX,null);this.makeBooleanInput_(d,b.HIGH_DEFINITION,c,shakaDemo.MessageIds.HIGH_DEFINITION_SEARCH);this.makeBooleanInput_(d,b.XLINK,c,shakaDemo.MessageIds.XLINK_SEARCH);
437
- this.makeBooleanInput_(d,b.SUBTITLES,c,shakaDemo.MessageIds.SUBTITLES_SEARCH);this.makeBooleanInput_(d,b.TRICK_MODE,c,shakaDemo.MessageIds.TRICK_MODE_SEARCH);this.makeBooleanInput_(d,b.SURROUND,c,shakaDemo.MessageIds.SURROUND_SEARCH);this.makeBooleanInput_(d,b.OFFLINE,c,shakaDemo.MessageIds.OFFLINE_SEARCH);this.makeBooleanInput_(d,b.STORED,c,shakaDemo.MessageIds.STORED_SEARCH);this.makeBooleanInput_(d,b.ADS,c,shakaDemo.MessageIds.AD_SEARCH);this.makeBooleanInput_(d,b.AUDIO_ONLY,c,shakaDemo.MessageIds.AUDIO_ONLY_SEARCH);
438
- this.makeBooleanInput_(d,b.THUMBNAILS,c,shakaDemo.MessageIds.THUMBNAILS);a.appendChild(this.resultsDiv_)};
436
+ shakaDemo.Search.prototype.makeBooleanInput_=function(a,b,c,d){var e=this;a.addRow(b,d,"significant-right-padding");(new shakaDemo.BoolInput(a,b,function(f){f.checked?e.addDesiredTerm_(b,c,[b]):e.removeDesiredTerm_(b,c);e.remakeResultsDiv_();componentHandler.upgradeDom();e.updateHashParameters_()})).input().checked=this.checkDesiredTerm_(b,c)};
437
+ shakaDemo.Search.prototype.makeSelectInput_=function(a,b,c,d){var e=this;a.addRow(null,null);for(var f={},g=$jscomp.makeIterator(c),h=g.next();!h.done;h=g.next())h=h.value,f[h]=shakaDemoMain.getLocalizedString(h);var k=f["---"]="---";a=new shakaDemo.SelectInput(a,b,function(l){"---"!=l.value?e.addDesiredTerm_(l.value,d,c):e.removeDesiredTerm_(k,d);k=l.value;e.remakeResultsDiv_();componentHandler.upgradeDom();e.updateHashParameters_()},f);a.input().value="---";b=$jscomp.makeIterator(c);for(f=b.next();!f.done;f=
438
+ b.next())if(f=f.value,this.checkDesiredTerm_(f,d)){k=a.input().value=f;break}};
439
+ shakaDemo.Search.prototype.remakeSearchDiv_=function(a){shaka.util.Dom.removeAllChildren(a);var b=shakaAssets.Feature,c=shakaDemo.Search.TermType.FEATURE,d=shakaDemo.Search.TermType.DRM,e=shakaDemo.Search.TermType.SOURCE,f=new shakaDemo.InputContainer(a,null,shakaDemo.InputContainer.Style.FLEX,null);this.makeSelectInput_(f,shakaDemo.MessageIds.MANIFEST_SEARCH,[b.DASH,b.HLS],c);this.makeSelectInput_(f,shakaDemo.MessageIds.CONTAINER_SEARCH,[b.MP4,b.MP2TS,b.WEBM,b.CONTAINERLESS],c);this.makeSelectInput_(f,
440
+ shakaDemo.MessageIds.DRM_SEARCH,Object.values(shakaAssets.KeySystem),d);this.makeSelectInput_(f,shakaDemo.MessageIds.SOURCE_SEARCH,Object.values(shakaAssets.Source).filter(function(g){return g!=shakaAssets.Source.CUSTOM}),e);this.makeSelectInput_(f,shakaDemo.MessageIds.LIVE_SEARCH,[b.LIVE,b.VOD],c);d=new shakaDemo.InputContainer(a,null,shakaDemo.InputContainer.Style.FLEX,null);this.makeBooleanInput_(d,b.HIGH_DEFINITION,c,shakaDemo.MessageIds.HIGH_DEFINITION_SEARCH);this.makeBooleanInput_(d,b.XLINK,
441
+ c,shakaDemo.MessageIds.XLINK_SEARCH);this.makeBooleanInput_(d,b.SUBTITLES,c,shakaDemo.MessageIds.SUBTITLES_SEARCH);this.makeBooleanInput_(d,b.TRICK_MODE,c,shakaDemo.MessageIds.TRICK_MODE_SEARCH);this.makeBooleanInput_(d,b.SURROUND,c,shakaDemo.MessageIds.SURROUND_SEARCH);this.makeBooleanInput_(d,b.OFFLINE,c,shakaDemo.MessageIds.OFFLINE_SEARCH);this.makeBooleanInput_(d,b.STORED,c,shakaDemo.MessageIds.STORED_SEARCH);this.makeBooleanInput_(d,b.ADS,c,shakaDemo.MessageIds.AD_SEARCH);this.makeBooleanInput_(d,
442
+ b.AUDIO_ONLY,c,shakaDemo.MessageIds.AUDIO_ONLY_SEARCH);this.makeBooleanInput_(d,b.THUMBNAILS,c,shakaDemo.MessageIds.THUMBNAILS);a.appendChild(this.resultsDiv_)};
439
443
  shakaDemo.Search.prototype.searchResults_=function(){var a=this;return shakaAssets.testAssets.filter(function(b){if(b.disabled||a.desiredDRM_&&!b.drm.includes(a.desiredDRM_)||a.desiredSource_&&b.source!=a.desiredSource_)return!1;for(var c=$jscomp.makeIterator(a.desiredFeatures_),d=c.next();!d.done;d=c.next())if(d=d.value,d==shakaAssets.Feature.STORED){if(!b.isStored())return!1}else if(!b.features.includes(d))return!1;return!0})};shakaDemo.Search.TermType={FEATURE:"Feature",DRM:"DRM",SOURCE:"Source"};
440
444
  document.addEventListener("shaka-main-loaded",shakaDemo.Search.init);document.addEventListener("shaka-main-cleanup",function(){shakaDemoSearch=null});
441
445
  //# sourceMappingURL=demo.compiled.map