"use strict";(globalThis.webpackChunk_nicolive_pc_program_watch_container_component=globalThis.webpackChunk_nicolive_pc_program_watch_container_component||[]).push([["158"],{57135:function(e,t,s){s.d(t,{Yt:()=>a,yh:()=>F});var i,r,a={};s.r(a),s.d(a,{resolveApiCall:()=>_}),s(11556);var n=s(31184),o=s(78317);let d="COOKIE",l={withCredential:!0,timeoutMs:3e3};class c{domain;apiClient;constructor(e){this.domain=e,this.apiClient=function(e){let t=(0,o.H9)(e);return{getBroadcastStreamByProgramId:(0,n.zC)(t),deleteBroadcastStreamByProgramId:(0,n.PL)(t)}}(this.domain.site.state.relive.apiBaseUrl)}async fetch(e){let{programId:t}=e;try{let{data:e}=await this.apiClient.getBroadcastStreamByProgramId({parameter:{"X-niconico-session":d,programId:t}},l);return e}catch(e){throw Error("broadcast-stream fetch: unknown error")}}async delete(e){let{programId:t}=e;try{await this.apiClient.deleteBroadcastStreamByProgramId({parameter:{"X-niconico-session":d,programId:t}},l)}catch(e){throw Error("broadcast-stream delete: unknown error")}}}var h=s(64927),g=s(65994),m=s(16001),u=s(22604),p=s(92946),v=s(8923),f=s(61037);let C={};class y extends g.y{domain;client;constructor(e,t=C){super(t),this.domain=e,(0,f.U5)(()=>this.domain.operatorCommand.jump.state.isReady,e=>{e&&this.disconnect().catch(e=>{v.u.error(e)})})}async initialize(){var e,t;this.domain.userProgramWatch.canWatch&&(this.setupReliveClient((0,p.C)(this.domain.site.state.relive.webSocketUrl,"webSocketUrl")),null==(e=this.client)||e.on("reload_log",e=>{let t=e.split(":")[0];"start"!==t&&"success"!==t&&v.u.info("infra/relive/store#reload_log",e)}),null==(t=this.client)||t.on("error_message",e=>{v.u.error("infra/relive/store#error_message",e)}))}setupReliveClient(e){this.client=h.Pr({webSocketUrl:e,programTitle:this.domain.program.state.title,frontendId:this.domain.site.state.frontendId,audienceToken:this.domain.player.state.audienceToken,openTimeMs:(0,u.X)(this.domain.program.state.openTime),beginTimeMs:(0,u.X)(this.domain.program.state.beginTime),endTimeMs:void 0!==this.domain.program.state.endTime?(0,u.X)(this.domain.program.state.endTime):null,serverTimeMs:this.domain.site.state.serverTime,vposBaseTimeMs:(0,u.X)(this.domain.program.state.vposBaseTime)})}async connect(e){if(!this.client)throw Error("CONNECT_CLIENT_NOTFOUND");await this.client.play({connectableRoomProtocol:h.du.eP.WebSocket,isCommentableClient:!0,priorStreamQuality:e.priorStreamQuality,useLowLatencyStream:e.useLowLatencyStream,watchableStreamProtocol:h.F6.Ig.HLS,isChasePlay:this.domain.playingMode.isChasePlay,accessRightMethod:"single_cookie"}).then(()=>{m.Startup.logger.mark(m.Startup.Marker.DID_CONNECT_WEBSOCKET)})}async disconnect(){if(!this.client)throw Error("DISCONNECT_CLIENT_NOTFOUND");return this.client.stop()}}s(36335),s(44673).D({ActionDetail:"action_detail",LabelDetail:"label_detail"});class w{dispatch(e,t){let s={event:`nicolive_${e}`,event_info:{[t.key]:t.value}};v.u.debug("GAEvent:",`nicolive_${e}`,JSON.stringify(s)),window.NicoGoogleTagManagerDataLayer&&window.NicoGoogleTagManagerDataLayer.push(s)}}((i=r||(r={})).User||(i.User={})).V="1",(i.Channel||(i.Channel={})).V="1";let M={User:{V:"2"},Channel:{V:"1"}},P={withCredential:!0,timeoutMs:6e3};class T{domain;apiClient;constructor(e){this.domain=e,this.apiClient=function(e){let t=(0,o.H9)(e);return{getRecommend:(0,n.lO)(t)}}(this.domain.site.state.frontendPublicApiUrl.replace("/front/api/",""))}async initialize(){this.updateRelatedContents().catch(e=>{v.u.error(e)})}async updateRecommendProgram(){if(!this.domain.program.state.isRecommendEnabled)return;let e=this.domain.program.providerTypeIsCommunity?this.createLiveWatchUserParams():this.createLiveWatchChannelParams();if(!e)return;let{data:t}=await this.apiClient.getRecommend({parameter:e},P);this.domain.recommend.program.update({data:t})}async updateRelatedContents(){if(!this.domain.program.state.isRecommendEnabled)return;let e=this.domain.program.providerTypeIsCommunity?this.createLiveWatchRelatedContentsUserParams():this.createLiveWatchRelatedContentsChannelParams();if(e)try{let{data:t}=await this.apiClient.getRecommend({parameter:e},P);this.domain.recommend.related.update({data:t})}catch(e){v.u.error(e)}}createChannelRequestBaseParams(){let e=this.domain.channel.state.id,t=this.domain.program.state.tag.list;if(!e||!t)return;let s=t.map(e=>e.text).join(",");return{channel_id:e,frontend_id:this.domain.site.state.frontendId.toString(),tags:s,site:"nicolive",content_meta:!0,version:"v2"}}createCommunityRequestBaseParams(){if(!this.domain.program.supplierIfUser)return;let e=this.domain.program.state.tag.list.map(e=>e.text).join(",");return{frontend_id:this.domain.site.state.frontendId.toString(),tags:e,site:"nicolive",content_meta:!0,version:"v2"}}createLiveWatchChannelParams(){let e=this.createChannelRequestBaseParams();if(e)return{...e,live_id:this.domain.program.state.nicoliveProgramId,recipe:"live_watch_channel",v:r.Channel.V}}createLiveWatchUserParams(){let e=this.createCommunityRequestBaseParams();if(e)return{...e,live_id:this.domain.program.state.nicoliveProgramId,recipe:"live_watch_user",v:r.User.V}}createLiveWatchRelatedContentsUserParams(){var e;let t=this.createCommunityRequestBaseParams();if(t)return{...t,recipe:"live_watch_related_contents_user",broadcaster_id:null==(e=this.domain.program.supplierIfUser)?void 0:e.programProviderId,v:M.User.V}}createLiveWatchRelatedContentsChannelParams(){let e=this.createChannelRequestBaseParams();if(e)return{...e,recipe:"live_watch_related_contents_channel",v:M.Channel.V}}}var I=s(85512);async function _(e,t){try{return{ok:await e()}}catch(e){return{error:t(e instanceof I.iQ?e.getResponse().data:void 0)}}}var b=s(36800),B=s(80457),U=s(38023),S=s(78602),A=s(30563),E=s(47311);class R{timeProgressTriggerHandler=null;constructor(e){this.timeProgressTriggerHandler=E.Z.create(e),this.timeProgressTriggerHandler.start()}dispose(){null!==this.timeProgressTriggerHandler&&this.timeProgressTriggerHandler.dispose()}reserve(e,t){if(null===this.timeProgressTriggerHandler)return;let s=this.timeProgressTriggerHandler.makePassing({callback:()=>{t(),null!==this.timeProgressTriggerHandler&&this.timeProgressTriggerHandler.remove(s)},oneTime:!0,positionMs:e});this.timeProgressTriggerHandler.add(s)}}s(63359),s(61455);let k={viewUri:null,isFetchedPastMessages:!1};class N extends g.y{ndgrApiClient=new B.S;stores;constructor({stores:e}){super(k),(0,f.rC)(this,{updateIsFetchedPastMessages:f.aD.bound,updateViewUri:f.aD.bound}),this.stores=e,this.ndgrApiClient.addEventListener("onError",async e=>{if("AlreadyOpened"!==e.detail.code&&"AlreadyClosed"!==e.detail.code){if("FetchTimeout"===e.detail.code)return void v.u.warn("infra/ndgr/base/Store","onError",e.detail,e.detail.cause);v.u.error("infra/ndgr/base/Store","onError",e.detail,e.detail.cause),await this.close()}})}snapshotBeforeMessages=[];snapshotMessages=[];snapshotAfterMessages=[];pastMessagesFireReactionDisposer;messageSynchronizer;open(e){if(null===this.state.viewUri)return void v.u.error("infra/ndgr/base/Store","open","viewUri is not set.");this.openInitialize(),this.ndgrApiClient.open(this.state.viewUri,e)}openInitialize(){this.clearOpenState(),this.ndgrApiClient.setTrackingParams({userId:this.stores.user.accountTypeIsNon?"guest":this.stores.user.state.id||"unknown",contentId:this.stores.program.state.nicoliveProgramId,frontendId:this.stores.site.state.frontendId,frontendVersion:this.stores.site.state.frontendVersion,actionTrackId:this.stores.watch.process.actionTrackId}),this.stores.playingMode.isLive?this.ndgrApiClient.addEventListener("onMessage",this.liveMessageHandler):(this.ndgrApiClient.addEventListener("onMessage",this.playbackMessageHandler),this.messageSynchronizer=new R(()=>this.stores.timer.emulator.nowMs)),this.pastMessagesFireReactionDisposer=(0,f.gx)(()=>this.state.isFetchedPastMessages,()=>{this.emit("pastMessages",{snapshotBeforeMessages:this.snapshotBeforeMessages,snapshotMessages:this.snapshotMessages,snapshotAfterMessages:this.snapshotAfterMessages}),this.snapshotBeforeMessages=[],this.snapshotMessages=[],this.snapshotAfterMessages=[]})}clearOpenState(){var e,t;this.ndgrApiClient.removeEventListener("onMessage",this.liveMessageHandler),this.ndgrApiClient.removeEventListener("onMessage",this.playbackMessageHandler),null==(e=this.messageSynchronizer)||e.dispose(),null==(t=this.pastMessagesFireReactionDisposer)||t.call(this),this.updateIsFetchedPastMessages(!1),this.snapshotBeforeMessages=[],this.snapshotMessages=[],this.snapshotAfterMessages=[]}liveMessageHandler=e=>{this.signalCatcher(e)||(this.state.isFetchedPastMessages?this.emit("currentMessage",{message:e}):this.dividePastMessage(e))};playbackMessageHandler=e=>{var t,s,i,r;if(this.signalCatcher(e))return;let a=this.resolveVposBasedUnixTimeMs(e)||1e3*Number((null==(t=e.detail.message.meta)||null==(s=t.at)?void 0:s.seconds)??0)+Math.trunc(((null==t||null==(i=t.at)?void 0:i.nanos)??0)/1e6);if(a>this.stores.timer.emulator.nowMs||this.state.isFetchedPastMessages){null==(r=this.messageSynchronizer)||r.reserve(a,()=>this.emit("currentMessage",{message:e}))}else this.dividePastMessage(e)};resolveVposBasedUnixTimeMs(e){if("message"===e.detail.message.payload.case)return"chat"===e.detail.message.payload.value.data.case?10*e.detail.message.payload.value.data.value.vpos+1e3*this.stores.program.state.vposBaseTime:void 0}dividePastMessage(e){switch(e.detail.playlist.case){case"backward":this.snapshotBeforeMessages.push(e);break;case"snapshot":this.snapshotMessages.push(e);break;case"previous":case"segment":this.snapshotAfterMessages.push(e);break;default:(0,A.qV)(e.detail.playlist.case)}}signalCatcher(e){let t=e.detail.message.payload;return"signal"===t.case&&(this.state.isFetchedPastMessages||"segment"!==e.detail.playlist.case||t.value!==S.Ip.Flushed||U.iK(()=>{this.updateIsFetchedPastMessages(!0)},100),!0)}updateIsFetchedPastMessages(e){this.state.isFetchedPastMessages=e}async close(){try{this.ndgrApiClient.close(),this.clearOpenState()}catch(e){v.u.error(e)}}addMessageEventListener(e,t){this.ndgrApiClient.addEventListener("onMessage",e,t)}addErrorEventListener(e,t){this.ndgrApiClient.addEventListener("onError",e,t)}removeAllEventListener(){this.ndgrApiClient.removeAllEventListener()}updatePlaybackRate(e){this.ndgrApiClient.updatePlayBackRate(e)}updateViewUri(e){this.state.viewUri=e}get viewUri(){return this.state.viewUri}}class L{moderator;chat;constructor({stores:e}){this.moderator=new N({stores:e}),this.chat=new N({stores:e})}}class F extends g.y{relive;googleAnalytics;recommend;logging;broadcastStream;ndgr;constructor(e,t={}){super(t),this.logging=new b.y(e),this.relive=new y(e),this.googleAnalytics=new w,this.recommend=new T(e),this.broadcastStream=new c(e),this.ndgr=new L({stores:e})}async initialize(){await Promise.allSettled([this.relive.initialize(),this.recommend.initialize()])}}},36800:function(e,t,s){s.d(t,{y:()=>a,O:()=>n}),s(11556);var i=s(71721),r=s(11122);class a{domain;logger;constructor(e){this.domain=e,this.logger=new i.R(this.domain.site.state.dcdn.logGifUrl)}async output(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.logger)throw Error("logging output: not initialized.");let s=parseInt(this.domain.user.state.id||"",10);if(t&&!a.isForceOutputUser(s)||this.domain.playingMode.isLive&&this.domain.program.statusIsEnded)return;let i=isNaN(s)?void 0:`${await r.v6.resolveHashedUserId(s.toString())}${a.sliceUserId(s.toString())}`;i&&(e.params.user=i),e.params.lv=this.domain.program.state.nicoliveProgramId,e.params.time=Date.now().toString(),e.params.isPremium=this.domain.user.accountTypeIsPremium.toString(),e.params.frontend_id=this.domain.site.state.frontendId.toString(),await this.logger.log(e).catch(e=>{})}static sliceUserId(e){return""===e?"":e.padStart(2,"0").slice(-2)}static isForceOutputUser(e){return!isNaN(e)&&e%100==29}}let n=s(44673).D({VISIT_GATE:"visit_gate"})},55456:function(e,t,s){s.d(t,{v:()=>i,C:()=>c});var i={};function r(e){return"upgrade"===e.type}function a(e){return"fullfill"===e.type}s.r(i),s.d(i,{isFullfillRequirement:()=>a,isUpgradeRequirement:()=>r});var n=s(99336),o=s(84594),d=s(97674);class l{functions;functionChannelId;REQUEST_NAVIGATION_TIMEOUT_MS;bridge;constructor(e){this.functions=e,this.functionChannelId="NicoexPlatform",this.REQUEST_NAVIGATION_TIMEOUT_MS=1e3,this.bridge=void 0}setDestinationWindow(e){let t=new d.PostMessageDataBus(e),s=new n.DataChannel(t),i=new o.FunctionChannel(s);i.bind(this.functionChannelId,this),this.bridge={dataBus:t,dataChannel:s,functionChannel:i}}destroy(){this.bridge&&(this.bridge.functionChannel.destroy(),this.bridge.dataChannel.destroy(),this.bridge.dataBus.destroy(),this.bridge=void 0)}isConnected(){return!!this.bridge}closeWindow(){return this.attachCrossBorderBridge(this.functions.closeWindow)}upgradeUser(e){return this.attachCrossBorderBridge(this.functions.upgradeUser,e)}buyPoint(e){return this.attachCrossBorderBridge(this.functions.buyPoint,e)}requestNavigation(e,t,s,i){this.bridge&&this.bridge.functionChannel.invoke(this.functionChannelId,"requestNavigation",[e,t],(e,t)=>{void 0!==t&&s&&s(t),e&&i&&i()},this.REQUEST_NAVIGATION_TIMEOUT_MS)}redirectNicoliveCommand(e,t,s,i){this.bridge&&this.bridge.functionChannel.invoke(this.functionChannelId,"redirectNicoliveCommand",[e,t],e=>{!e&&s&&s(),e&&i&&i()})}redirectActionMessage(e,t){this.bridge&&this.bridge.functionChannel.invoke(this.functionChannelId,"redirectActionMessage",[e,t])}showUserProfile(e){return this.attachCrossBorderBridge(this.functions.showUserProfile,e)}resizeWindowAsDefined(e){return this.attachCrossBorderBridge(this.functions.resizeWindowAsDefined,e)}confirm(e,t){return this.attachCrossBorderBridge(this.functions.confirm,e,t)}alert(e,t){return this.attachCrossBorderBridge(this.functions.alert,e,t)}openRichView(e){return this.attachCrossBorderBridge(this.functions.openRichView,e)}showTextForm(e){return this.attachCrossBorderBridge(this.functions.showTextForm,e)}requestNicoliveCommand(e,t){return this.attachCrossBorderBridge(this.functions.requestNicoliveCommand,e,t)}openUrl(e){return this.attachCrossBorderBridge(this.functions.openUrl,e)}attachCrossBorderBridge(e){for(var t=arguments.length,s=Array(t>1?t-1:0),i=1;ir(t=>{this.isConnected()&&e(t)}):r}}class c{nicoexPlatform;constructor(e){this.nicoexPlatform=new l(e)}connect(e){this.nicoexPlatform.setDestinationWindow(e)}disconnect(){this.nicoexPlatform.destroy()}isConnected(){return this.nicoexPlatform.isConnected()}redirectCommand(e,t){this.nicoexPlatform.redirectNicoliveCommand(e,t)}redirectActionMessage(e,t){this.nicoexPlatform.redirectActionMessage(e,t)}}}}]);