//■ABC File MinorVersion:16 , MajorVersion:46 //INT cnt=143 //UINT cnt=1 //DOUBLE cnt=32 //STRING cnt=6667 //NAMESPACES cnt=1166 //NAMESPACE_SETS cnt=279 //MULTINAMES cnt=7959 //Methods cnt=5427 //METADATA cnt=0 //INTERFACE cnt=465 //CLASS cnt=465 //SCRIPT cnt=396 //■script000■ package jp.nicovideo.ext{ import jp.nicovideo.ext.config.IThumbConfig import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars //■class(instance)_index:0 public interface IThumbPlayer { //static constructor public static function IThumbPlayer$cinit() { //MethodID:0, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function setThumbWatchVars(hug1:IThumbConfig, hug2:NicoFlashVars):void; //MethodID:1, dispID:0 function get initialized():Boolean; //MethodID:2, dispID:0 function playThumbPlayer():void; //MethodID:3, dispID:0 function pauseThumbPlayer():void; //MethodID:4, dispID:0 function set onChangedVideoStatus(hug1:Function):void; //MethodID:5, dispID:0 function get videoPlayerStatus():String; //MethodID:6, dispID:0 //constructor public function IThumbPlayer(); //MethodID:7, dispID:0 } } //■script001■ package jp.nicovideo.nicoplayer{ import flash.display.DisplayObject import flash.display.MovieClip import flash.display.Sprite import flash.display.StageAlign import flash.display.StageScaleMode import flash.errors.IOError import flash.errors.IllegalOperationError import flash.events.Event import flash.events.TimerEvent import flash.net.URLRequest import flash.net.URLVariables import flash.net.navigateToURL import flash.system.Security import flash.ui.ContextMenu import flash.utils.Timer import jp.nicovideo.ext.config.IThumbConfig import jp.nicovideo.hiroba.HirobaConnectorClient import jp.nicovideo.hiroba.IHirobaConnector import jp.nicovideo.hiroba.events.HirobaErrorEvent import jp.nicovideo.hiroba.events.HirobaEvent import jp.nicovideo.hiroba.events.HirobaEventReferer import jp.nicovideo.hiroba.models.HirobaMessageServerInfo import jp.nicovideo.marquee.INicoMarqueePlayer import jp.nicovideo.marquee.MarqueeClient import jp.nicovideo.nicoplayer.app.ApplibarLoader import jp.nicovideo.nicoplayer.config.DebugMode import jp.nicovideo.nicoplayer.config.DefaultInitializer import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.nicoplayer.config.getDebugMode import jp.nicovideo.nicoplayer.external.ExternalClient import jp.nicovideo.nicoplayer.hiroba.HirobaPlayer import jp.nicovideo.nicoplayer.hiroba.events.HirobaErrorStatus import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.MyList import jp.nicovideo.nicoplayer.models.PlayDelay import jp.nicovideo.nicoplayer.models.PlayerConfig import jp.nicovideo.nicoplayer.models.PlayerInfo import jp.nicovideo.nicoplayer.models.PlayerVersion import jp.nicovideo.nicoplayer.models.RelatedVideoList import jp.nicovideo.nicoplayer.models.ScreenAspectRatio import jp.nicovideo.nicoplayer.models.StartVposConfig import jp.nicovideo.nicoplayer.models.SystemMessage import jp.nicovideo.nicoplayer.models.VideoDetail import jp.nicovideo.nicoplayer.models.VideoLoadGuardian import jp.nicovideo.nicoplayer.models.api.BGMVideoInfo import jp.nicovideo.nicoplayer.models.api.GetBGM import jp.nicovideo.nicoplayer.models.api.GetChecklist import jp.nicovideo.nicoplayer.models.api.GetFLV import jp.nicovideo.nicoplayer.models.api.GetRelation import jp.nicovideo.nicoplayer.models.api.GetSponsorInfo import jp.nicovideo.nicoplayer.models.api.ICapturableVideoContainer import jp.nicovideo.nicoplayer.models.api.IKeygen import jp.nicovideo.nicoplayer.models.api.InitializeInfo import jp.nicovideo.nicoplayer.models.api.Jumper import jp.nicovideo.nicoplayer.models.api.Keygen import jp.nicovideo.nicoplayer.models.api.RegisterBGM import jp.nicovideo.nicoplayer.models.comment.CommentConstants import jp.nicovideo.nicoplayer.models.comment.CommentList import jp.nicovideo.nicoplayer.models.comment.CommentListPublicStatus import jp.nicovideo.nicoplayer.models.comment.CommentPoolContainer import jp.nicovideo.nicoplayer.models.comment.CommentRouter import jp.nicovideo.nicoplayer.models.comment.CommentStorageEvents import jp.nicovideo.nicoplayer.models.comment.ICommentList import jp.nicovideo.nicoplayer.models.comment.LocalCommentList import jp.nicovideo.nicoplayer.models.comment.OwnerCommentList import jp.nicovideo.nicoplayer.models.comment.TimeMachine import jp.nicovideo.nicoplayer.models.filter.ChannelReplacer import jp.nicovideo.nicoplayer.models.filter.DeleteFilter import jp.nicovideo.nicoplayer.models.filter.LockedComment import jp.nicovideo.nicoplayer.models.filter.NGComment import jp.nicovideo.nicoplayer.models.filter.NGInfo import jp.nicovideo.nicoplayer.models.filter.NGResponseConstants import jp.nicovideo.nicoplayer.models.filter.NGType import jp.nicovideo.nicoplayer.models.filter.Replacer import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVarsInitializer import jp.nicovideo.nicoplayer.models.flashvars.PlaylistFlashVars import jp.nicovideo.nicoplayer.models.log.LogManager import jp.nicovideo.nicoplayer.models.mylist.DefaultMylistAppender import jp.nicovideo.nicoplayer.models.playlist.Playlist import jp.nicovideo.nicoplayer.models.playlist.PlaylistController import jp.nicovideo.nicoplayer.models.playlist.PlaylistErrorManager import jp.nicovideo.nicoplayer.models.video.ChildVideoName import jp.nicovideo.nicoplayer.models.video.FLVVideo import jp.nicovideo.nicoplayer.models.video.IVideo import jp.nicovideo.nicoplayer.models.video.SWFVideo import jp.nicovideo.nicoplayer.models.video.VideoController import jp.nicovideo.nicoplayer.models.video.VideoLoadWatcher import jp.nicovideo.nicoplayer.models.video.VideoType import jp.nicovideo.nicoplayer.models.video.VideoWrapper import jp.nicovideo.nicoplayer.models.video.VposWatcher import jp.nicovideo.nicoplayer.models.video.userSponsor.IUserSponsorVideo import jp.nicovideo.nicoplayer.models.video.userSponsor.UserSponsorVideoClient import jp.nicovideo.nicoplayer.plugin.NicoPluginClient import jp.nicovideo.nicoplayer.remocon.RemoconClient import jp.nicovideo.nicoplayer.remocon.RemoconFullScreenKeeper import jp.nicovideo.nicoplayer.remocon.RemoconNotifier import jp.nicovideo.nicoplayer.remocon.RemoconPlayerStateObserver import jp.nicovideo.nicoplayer.remocon.RemoconReceiver import jp.nicovideo.nicoplayer.remocon.RemoconState import jp.nicovideo.nicoplayer.remocon.method.defineRemoconMethods import jp.nicovideo.nicoplayer.storages.CommentStorage import jp.nicovideo.nicoplayer.storages.CommentStorageError import jp.nicovideo.nicoplayer.storages.ICommentStorage import jp.nicovideo.nicoplayer.storages.MessageServerClient import jp.nicovideo.nicoplayer.tpls.INicoViewController import jp.nicovideo.nicoplayer.tpls.NicoViewControllerClient import jp.nicovideo.nicoplayer.tpls.shutter.AudioShutterConstants import jp.nicovideo.nicoplayer.tpls.shutter.CommentShutterConstants import jp.nicovideo.nicoplayer.tpls.shutter.ControllerShutter import jp.nicovideo.nicoplayer.videoender.IVideoenderTesterConfig import jp.nicovideo.nicoplayer.videoender.VideoenderTesterConfig import jp.nicovideo.nicoplayer.views.JumpMessageLayer import jp.nicovideo.nicoplayer.views.VideoLayerConstants import jp.nicovideo.nicoplayer.views.VideoLayerManager import jp.nicovideo.nicoplayer.views.comment.CommentLayer import jp.nicovideo.nicoplayer.views.comment.CommentLayerID import jp.nicovideo.nicoplayer.views.comment.CommentLayerView import jp.nicovideo.nicoplayer.views.comment.CommentViewTransformer import jp.nicovideo.nicoplayer.views.framerate.FrameRateBooster import jp.nicovideo.nicoscript.INicoSPlayer import jp.nicovideo.nicoscript.NicoSClient import jp.nicovideo.nicoscript.NicoSConstants import jp.nicovideo.nicoscript.macro.parsers.IMacroParserResult import jp.nicovideo.util.CrossSharedObject import jp.nicovideo.util.HTTPUtils import jp.nicovideo.util.ObjectUtils import jp.nicovideo.util.StringUtils import jp.nicovideo.util.api.APICacheProxy import jp.nicovideo.util.events.EventBarrier import jp.nicovideo.util.events.EventChunk import jp.nicovideo.util.events.EventPipe import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.events.EventSequence import jp.nicovideo.util.events.event_sender import jp.nicovideo.util.external.JSConnector import jp.nicovideo.util.loka.Loka import jp.nicovideo.util.loka.__MSG__ //■class(instance)_index:1 public class NicoPlayer extends Sprite implements IThumbPlayer { //static constructor public static function NicoPlayer$cinit() { //MethodID:9, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 54 DEBUG_MODE = getDebugMode(); DEBUG_MODE_EXT = ((DEBUG_MODE == DebugMode.NON) ? DebugMode.NON : DebugMode.EXTDEV); } //static variables/etc. private static const DEBUG_MODE:uint; //slotID:1 private static const DEBUG_MODE_EXT:uint; //slotID:2 //constructor public function NicoPlayer() { //MethodID:10, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 137 this.commentListContainer = {}; this.systemMessage = SystemMessage.instance; this.nicoViewControllerClient = new NicoViewControllerClient(); this.pluginClient = new NicoPluginClient(); this._playlistSequences = []; super(); Security.allowDomain("*"); this.isThumbWatchMode = (loaderInfo.parameters[this._IS_THUMBWATCH_PARAM] == "1"); this.configure = new NicoConfig(); Loka.instance.debug = true; if(this.isThumbWatchMode) return; if(loaderInfo.parameters[this._PLAYLIST_ID]){ this.initializePlaylistPlayer(); return; } this.initializeWatchPlayer(); } //variables/etc. private const _IS_THUMBWATCH_PARAM:String = "thumbWatch"; //slotID:0 private const _PLAYLIST_ID:String = "playlistId"; //slotID:0 private var getFLV:GetFLV; //slotID:0 private var flashVars:NicoFlashVars; //slotID:0 private var playlistFlashVars:PlaylistFlashVars; //slotID:0 private var playerConfig:IPlayerConfig; //slotID:0 private var video:VideoWrapper; //slotID:0 private var commentListContainer:Object; //slotID:0 private var mainCommentListName:String = "commentlist:main"; //slotID:0 private var commentList:CommentList; //slotID:0 private var ownerCommentList:OwnerCommentList; //slotID:0 private var privateCommentList:CommentList; //slotID:0 private var nicoSCommentList:CommentList; //slotID:0 private var localCommentList:LocalCommentList; //slotID:0 private var systemMessage:SystemMessage; //slotID:0 private var relatedList:RelatedVideoList; //slotID:0 private var ngComment:NGComment; //slotID:0 private var lockedComment:LockedComment; //slotID:0 private var replacer:Replacer; //slotID:0 private var playerVersion:PlayerVersion; //slotID:0 private var playerInfo:PlayerInfo; //slotID:0 private var timeMachine:TimeMachine; //slotID:0 private var deleteFilter:DeleteFilter; //slotID:0 private var channelReplacer:ChannelReplacer; //slotID:0 private var videoLoadGuardian:VideoLoadGuardian; //slotID:0 private var getChecklist:GetChecklist; //slotID:0 private var myList:MyList; //slotID:0 private var playlist:Playlist; //slotID:0 private var initializeInfo:InitializeInfo; //slotID:0 private var _startVposConfig:StartVposConfig; //slotID:0 private var commentLayerView:CommentLayerView; //slotID:0 private var commentLayer:CommentLayer; //slotID:0 private var commentViewTransformer:CommentViewTransformer; //slotID:0 private var commentRouter:CommentRouter; //slotID:0 private var videoLayerManager:VideoLayerManager; //slotID:0 private var videoController:VideoController; //slotID:0 private var jumpMsgLayer:JumpMessageLayer; //slotID:0 private var nicoViewController:INicoViewController; //slotID:0 private var nicoViewControllerClient:NicoViewControllerClient; //slotID:0 private var vposWatcher:VposWatcher; //slotID:0 private var commentShutter:ControllerShutter; //slotID:0 private var audioShutter:ControllerShutter; //slotID:0 private var playlistController:PlaylistController; //slotID:0 private var frameRateBooster:FrameRateBooster; //slotID:0 private var userSponsorVideo:IUserSponsorVideo; //slotID:0 private var hirobaPlayer:HirobaPlayer; //slotID:0 private var hirobaConnectorClient:HirobaConnectorClient; //slotID:0 private var _thumbConfig:IThumbConfig; //slotID:0 private var configure:NicoConfig; //slotID:0 private var keygen:IKeygen; //slotID:0 private var commentStorage:ICommentStorage; //slotID:0 private var jumper:Jumper; //slotID:0 private var nicosPlayer:INicoSPlayer; //slotID:0 private var nicosClient:NicoSClient; //slotID:0 private var nicosPipe:Function; //slotID:0 private var BGMVideoInfos:Array; //slotID:0 private var marqueeClient:MarqueeClient; //slotID:0 private var externalClient:ExternalClient; //slotID:0 private var isThumbWatchMode:Boolean = false; //slotID:0 private var _onChangedVideoStatus:Function; //slotID:0 private var _initialized:Boolean = false; //slotID:0 private var _wholeVideoLoadSucceeded:Boolean = false; //slotID:0 private var pluginClient:NicoPluginClient; //slotID:0 private var _playlistSequences:Array; //slotID:0 private var _isPlaylist:Boolean = false; //slotID:0 private var _videoLoadSucceeded:Boolean; //slotID:0 private var _isPlaylistPrepared:Boolean = false; //slotID:0 private var _shutterKeyLastClosed:int = -1; //slotID:0 private var _isShowedDialog:Boolean = false; //slotID:0 private var _logManager:LogManager; //slotID:0 private var _playerPageMyselfURL:String; //slotID:0 private var _videoenderTesterConfig:IVideoenderTesterConfig; //slotID:0 private function initializePlaylistPlayer():void { //MethodID:12, LocalCount= 2 , MaxScope= 2, MaxStack= 19, CodeLength= 422 internal var menu:ContextMenu; //slotID:1 internal var vars:Object; //slotID:2 internal var seq:EventSequence; //slotID:3 this._isPlaylist = true; DefaultInitializer.setConfig(this.configure, loaderInfo.url, DEBUG_MODE); this.keygen = new Keygen(this.configure); stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; menu = new ContextMenu(); menu.hideBuiltInItems(); menu.builtInItems.quality = true; contextMenu = menu; vars = loaderInfo.parameters; this.flashVars = new NicoFlashVars(); NicoFlashVarsInitializer.setFlashVars(this.flashVars, vars); this.playlistFlashVars = new PlaylistFlashVars(vars); this._playerPageMyselfURL = function():String{ //MethodID:11, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 49 var hug1:* = {}; if(playlistFlashVars.playlistSort) hug1["sort"] = playlistFlashVars.playlistSort; return StringUtils.joinQuery((configure.PLAYLIST_PAGE_BASE_URL + playlistFlashVars.playlistID), hug1); }(); this.nicoViewControllerClient.nicoConfig = this.configure; this.nicoViewControllerClient.flashVars = this.flashVars; this.nicoViewControllerClient.playlistFlashVars = this.playlistFlashVars; this.nicoViewControllerClient.playerPageMyselfURL = this._playerPageMyselfURL; this.pluginClient.setProperty("nicoConfig", this.configure); this.pluginClient.setProperty("flashVars", this.flashVars); this.nicoViewControllerClient.pluginClient = this.pluginClient; this._playlistSequences = [this._loadWatchAPI, this.loadVideoInfoAPI, this.initializeMyList, this.loadBGMVideoInfo, this.initializeCommentStorage, this.initializeGetChecklist, this.initializeHiroba, this.prepareVideo, this.prepareCommentLists, this.initializeModelAndView, this.initializeCommentRouter, this.initializeModelAndView4Watch, this.initializeLogger, this.loadConfirm, this.initializePlugin, this.initializeCommentLists, this._delayVideo, this._loadVideo]; seq = new EventSequence(this); seq.push(this.initializePlayerVersion, this.initializePlayerInfo, this.initializeCrossSharedObjectSWF, this.initializeJSConnector, this.initializeJumper, this.createLogger, this.initializePlayerConfig, this.loadTemplateSWF, this.initializePlaylist, this.loadViewControllerSWF, this.loadNicoScriptSWF, this.checkInitializePlaylist, this.initializeNG, this.startPlaylist); seq.next(); } private function startPlaylist():void { //MethodID:13, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 54 if(this.playlistController) this.playlistController.play(null, null, (this.playerConfig.autoPlay && !this.initializeInfo.isPremium)); EventSequence.current.next(); } private function _loadWatchAPI():void { //MethodID:15, LocalCount= 2 , MaxScope= 2, MaxStack= 4, CodeLength= 96 internal var apiParams:Object; //slotID:1 this.nicoViewControllerClient.flashVars = null; apiParams = {}; if(this._isPlaylist){ apiParams["mode"] = "playlist"; apiParams["playlist_token"] = this.playlist.token; } HTTPUtils.loadJSON(EventSequence.bind(function(hug1:Object):void{ //MethodID:14, LocalCount= 5 , MaxScope= 0, MaxStack= 4, CodeLength= 245 var hug2:* = undefined; if(!hug1 || (hug1.status == "ng")){ if(_isPlaylist){ if(hug1.status_message == PlaylistErrorManager.TOKEN_TIMEOUT){ if(playlistController.errorCount < 1){ playlistController.errorCount++; playlistController.isInvalidToken = true; playlistController.isVideoUpdating = false; playlistController.play(playlistController.threadID); return; } } playlistController.onError(hug1.status_message.toString()); if(PlaylistErrorManager.TABWINDOW_ALERT_ERRORS.indexOf(hug1.status_message.toString()) != (-1)) playlistController.goNext(null, (playerConfig.autoPlay && !initializeInfo.isPremium)); } return; } flashVars = new NicoFlashVars(); NicoFlashVarsInitializer.setFlashVars(flashVars, hug1); if(_isPlaylist){ hug2 = playlist.getVideoInfo(playlistController.threadID); hug2.flashVars = flashVars; } nicoViewControllerClient.flashVars = flashVars; EventSequence.current.next(); }), (this.configure.WATCH_API_URL + this.playlistController.threadID), apiParams); } private function initializePlaylist():void { //MethodID:18, LocalCount= 2 , MaxScope= 2, MaxStack= 7, CodeLength= 96 internal var apiParams:Object; //slotID:1 apiParams = {}; apiParams["ts"] = new Date().time; apiParams["playlist_token"] = this.playlistFlashVars.playlistToken; this.playlist = new Playlist((this.configure.GET_PLAYLIST_URL + this.playlistFlashVars.playlistID), apiParams, this.playlistFlashVars.playlistSort, EventSequence.bind(function(hug1:Boolean):void{ //MethodID:17, LocalCount= 3 , MaxScope= 1, MaxStack= 11, CodeLength= 172 internal var success:Boolean; //slotID:1 internal var reset:Function; //slotID:2 reset = null; success = hug1; reset = function():void{ //MethodID:16, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 43 nicoViewControllerClient.getFLVData = null; nicoViewControllerClient.videoController = null; nicoViewControllerClient.commentRouter = null; nicoViewControllerClient.relatedList = null; nicoViewControllerClient.myList = null; nicoViewControllerClient.defaultMylistAppender = null; }; _isPlaylistPrepared = success; if(!success){ EventSequence.current.next(); return; } if(playlistController){ EventSequence.current.next(); return; } initializeInfo = InitializeInfo.getInstance(); nicoViewControllerClient.initializeInfo = initializeInfo; pluginClient.setProperty("initializeInfo", initializeInfo); playlistController = new PlaylistController(_playlistSequences, initializePlaylist, playlist, playlistFlashVars, configure, playerInfo.playlistLimit, reset, playerConfig.isPlaylistRandomPlay, _playerPageMyselfURL); nicoViewControllerClient.playlistController = playlistController; EventSequence.current.next(); })); } private function checkInitializePlaylist():void { //MethodID:19, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 105 var hug1:String = null; if(!this.initializeInfo || !this.initializeInfo.userID){ this.systemMessage.informln(__MSG__("ユーザー情報の取得に失敗")); hug1 = ("

" + __MSG__("ユーザー情報の取得に失敗しました。") + "

" + "

" + __MSG__("ログインしていない可能性があります。") + "

"); this.systemMessage.alert(hug1); return; } EventSequence.current.next(); } public function setThumbWatchVars(hug1:IThumbConfig, hug2:NicoFlashVars):void { //MethodID:20, LocalCount= 4 , MaxScope= 1, MaxStack= 23, CodeLength= 234 if(DEBUG_MODE_EXT != DebugMode.NON){ DefaultInitializer.setConfig(this.configure, loaderInfo.url, DEBUG_MODE_EXT); DefaultInitializer.setThumbDebugMode(this.configure); }else{ DefaultInitializer.setConfig(this.configure, hug1.playerURL, DebugMode.NON); } this.keygen = new Keygen(this.configure); this._thumbConfig = hug1; this.flashVars = hug2; this.nicoViewControllerClient.thumbConfig = hug1; this.nicoViewControllerClient.nicoConfig = this.configure; this.nicoViewControllerClient.flashVars = hug2; var hug3:EventSequence = new EventSequence(this); hug3.push(this.initializePlayerVersion, this.initializePlayerInfo, this.initializeCrossSharedObjectSWF, this.initializeJSConnector, this.initializeJumper, this.initializePlayerConfig, this._loadThumbViewSWF, this._loadThumbControllerSWF, this.loadNicoScriptSWF, this._loadThumbVideoInfo, this.loadBGMVideoInfo, this.initializeNG, this.initializeCommentStorage, this.prepareVideo, this.prepareCommentLists, this.initializeModelAndView, this._initializeModelAndViewThumbWatch, this.initializeSponsorVideo, this._delayVideo, this._loadVideo, this.initializeCommentLists, this.beginToPlayVideo); hug3.next(); } public function get initialized():Boolean { //MethodID:21, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._initialized; } public function playThumbPlayer():void { //MethodID:22, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 47 if(this.isThumbWatchMode && this.video && this.video.isInitialized) this.video.play(); } public function pauseThumbPlayer():void { //MethodID:23, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 47 if(this.isThumbWatchMode && this.video && this.video.isInitialized) this.video.stop(); } public function set onChangedVideoStatus(hug1:Function):void { //MethodID:25, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 57 internal var onChanged:Function; //slotID:1 onChanged = hug1; if(!this.isThumbWatchMode) throw new IllegalOperationError("NicoPlayer.set onChangedVideoStatus: player is not in thumbwatch."); if(onChanged == null) throw new ArgumentError("NicoPlayer.set onChangedVideoStatus: invalid parameters onChanged is null."); this._onChangedVideoStatus = function(hug1:String):void{ //MethodID:24, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 24 if(!_initialized) _initialized = true; onChanged(hug1); }; } public function get videoPlayerStatus():String { //MethodID:26, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 49 if(this.isThumbWatchMode && this.video && this.video.isInitialized) return this.video.videoPlayerStatus; return ""; } private function initializeWatchPlayer():void { //MethodID:27, LocalCount= 4 , MaxScope= 1, MaxStack= 31, CodeLength= 362 DefaultInitializer.setConfig(this.configure, loaderInfo.url, DEBUG_MODE); this.keygen = new Keygen(this.configure); stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; var hug1:ContextMenu = new ContextMenu(); hug1.hideBuiltInItems(); hug1.builtInItems.quality = true; contextMenu = hug1; var hug2:Object = loaderInfo.parameters; this.flashVars = new NicoFlashVars(); NicoFlashVarsInitializer.setFlashVars(this.flashVars, hug2); this._playerPageMyselfURL = (this.configure.BASE_URL + "watch/" + this.flashVars.watchID); this.nicoViewControllerClient.nicoConfig = this.configure; this.nicoViewControllerClient.flashVars = this.flashVars; this.nicoViewControllerClient.playerPageMyselfURL = this._playerPageMyselfURL; this.pluginClient.setProperty("nicoConfig", this.configure); this.pluginClient.setProperty("flashVars", this.flashVars); this.nicoViewControllerClient.pluginClient = this.pluginClient; var hug3:EventSequence = new EventSequence(this); hug3.push(this.initializePlayerVersion, this.initializePlayerInfo, this.initializeCrossSharedObjectSWF, this.initializeJSConnector, this.initializeJumper, this.createLogger, this.initializePlayerConfig, this.loadTemplateSWF, this.loadViewControllerSWF, this.loadNicoScriptSWF, this.loadVideoInfoAPI, this.initializeMyList, this.loadBGMVideoInfo, this.initializeNG, this.initializeCommentStorage, this.initializeGetChecklist, this.initializeHiroba, this.prepareVideo, this.prepareCommentLists, this.initializeModelAndView, this.initializeCommentRouter, this.initializeModelAndView4Watch, this.initializeSponsorVideo, this.initializeLogger, this.loadConfirm, this.initializePlugin, this.initializeCommentLists, this._delayVideo, this._loadVideo, this.beginToPlayVideo); hug3.next(); } private function initializeCrossSharedObjectSWF():void { //MethodID:30, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 64 internal var _url:String; //slotID:1 _url = null; _url = StringUtils.joinQuery(this.configure.CROSSSHAREDOBJECT_SWF_URL, {t:this.playerVersion.crossSharedObject}); CrossSharedObject.init(_url, EventSequence.bind(function(hug1:Boolean):void{ //MethodID:29, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 134 internal var sccessed:Boolean; //slotID:1 sccessed = hug1; if(!sccessed) throw new Error("NicoPlayer.loadCrossSharedObjectSWF: failure to load \"" + configure.CROSSSHAREDOBJECT_SWF_URL + "\""); if(CrossSharedObject.isPersistable || !configure.CROSSSHAREDOBJECT_NONIMG_SWF_URL){ EventSequence.current.next(); }else{ CrossSharedObject.terminate(); _url = StringUtils.joinQuery(configure.CROSSSHAREDOBJECT_NONIMG_SWF_URL, {t:playerVersion.crossSharedObject}); CrossSharedObject.init(_url, EventSequence.bind(function(hug1:Boolean):void{ //MethodID:28, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 38 if(!hug1) throw new Error("NicoPlayer.loadCrossSharedObjectNoNimgSWF: failure to load \"" + configure.CROSSSHAREDOBJECT_NONIMG_SWF_URL + "\""); EventSequence.current.next(); })); } })); } private function createLogger():void { //MethodID:31, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 42 this._logManager = new LogManager(!CrossSharedObject.isPersistable); this.nicoViewControllerClient.logManager = this._logManager; EventSequence.current.next(); } private function initializePlayerConfig():void { //MethodID:32, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 116 this.playerConfig = new PlayerConfig(this.isThumbWatchMode); this.nicoViewControllerClient.playerConfig = this.playerConfig; this.pluginClient.setProperty("playerConfig", this.playerConfig); this.playerConfig.deepenedCommentForce = this.flashVars.isDeepenedCommentForce; this.playerConfig.aspectRatio = ((this.flashVars.isWide || this._isPlaylist) ? ScreenAspectRatio.WIDE : ScreenAspectRatio.NORMAL); EventSequence.current.next(); } private function initializeJumper():void { //MethodID:33, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 74 this.jumper = new Jumper(this.configure, this.flashVars.watchID); this.nicoViewControllerClient.jumper = this.jumper; this._startVposConfig = new StartVposConfig(this.jumper, this.flashVars); this.nicoViewControllerClient.startVposConfig = this._startVposConfig; EventSequence.current.next(); } private function initializePlayerVersion():void { //MethodID:35, LocalCount= 2 , MaxScope= 2, MaxStack= 7, CodeLength= 116 internal var request:URLRequest; //slotID:1 internal var params:URLVariables; //slotID:2 internal var api:APICacheProxy; //slotID:3 request = new URLRequest(this.configure.PLAYERVERSION_XML_URL); params = new URLVariables(); params.v = this.flashVars.playerVersionUpdated; request.data = params; api = new APICacheProxy(request, 0, uint.MAX_VALUE, this.flashVars.playerVersionUpdated, false); this.playerVersion = new PlayerVersion(EventSequence.bind(function(hug1:Boolean):void{ //MethodID:34, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 36 if(!hug1) throw new Error("NicoPlayer.playerVersion. initialize error"); nicoViewControllerClient.playerVersion = playerVersion; EventSequence.current.next(); }), api); } private function initializeJSConnector():void { //MethodID:37, LocalCount= 2 , MaxScope= 2, MaxStack= 4, CodeLength= 71 internal var request:URLRequest; //slotID:1 request = new URLRequest(this.configure.JSCONNECTOR_SWF_URL); request.data = new URLVariables("v=" + this.playerVersion.jsconnector); JSConnector.init(request, EventSequence.current.bind(function(hug1:Boolean):void{ //MethodID:36, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 27 if(!hug1) throw new IOError("NicoPlayer.initializeJSConnector: initialize error."); EventSequence.current.next(); })); } private function initializePlayerInfo():void { //MethodID:39, LocalCount= 2 , MaxScope= 2, MaxStack= 7, CodeLength= 116 internal var request:URLRequest; //slotID:1 internal var params:URLVariables; //slotID:2 internal var api:APICacheProxy; //slotID:3 request = new URLRequest(this.configure.PLAYERINFO_XML_URL); params = new URLVariables(); params.v = this.flashVars.playerInfoUpdated; request.data = params; api = new APICacheProxy(request, 0, uint.MAX_VALUE, this.flashVars.playerInfoUpdated, false); this.playerInfo = new PlayerInfo(EventSequence.bind(function(hug1:Boolean):void{ //MethodID:38, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 36 if(!hug1) throw new Error("NicoPlayer.playerInfo. initialize error"); nicoViewControllerClient.playerInfo = playerInfo; EventSequence.current.next(); }), api); } private function loadTemplateSWF():void { //MethodID:41, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 42 HTTPUtils.loadSWF(EventSequence.bind(function(hug1:*):void{ //MethodID:40, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 45 if(!hug1) throw new Error("NicoPlayer.loadTemplateSWF: failure to load \"" + configure.VIEW_SWF_URL + "\""); nicoViewControllerClient.viewRoot = hug1; EventSequence.current.next(); }), this.configure.VIEW_SWF_URL, {t:this.playerVersion.nicoplayerTemplate}); } private function loadViewControllerSWF():void { //MethodID:43, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 42 HTTPUtils.loadSWF(EventSequence.bind(function(hug1:*):void{ //MethodID:42, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 89 if(!hug1) throw new Error("NicoPlayer.loadViewControllerSWF: failure to load \"" + configure.VIEWCONTROLLER_SWF_URL + "\""); addChild(nicoViewControllerClient.viewRoot); nicoViewController = INicoViewController(hug1); nicoViewController.startInit(nicoViewControllerClient); if(playlistController) playlistController.nicoViewController = nicoViewController; EventSequence.current.next(); }), this.configure.VIEWCONTROLLER_SWF_URL, {t:this.playerVersion.nicoplayerViewController}); } private function loadNicoScriptSWF():void { //MethodID:45, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 76 if(!this.flashVars.hasOwnerThread && !this.playlistFlashVars){ EventSequence.current.next(); return; } HTTPUtils.loadSWF(EventSequence.bind(function(hug1:*):void{ //MethodID:44, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 50 if(!hug1) throw new Error("NicoPlayer.loadViewControllerSWF: failure to load \"" + configure.NICOSPLAYER_URL + "\""); nicosPlayer = INicoSPlayer(hug1); EventSequence.current.next(); }), this.configure.NICOSPLAYER_URL, {t:this.playerVersion.nicoscriptPlayer}); } private function getGetFLVAPIParams():Object { //MethodID:46, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 165 var hug1:Object = {}; hug1["v"] = ((this._isPlaylist && this.playlistController) ? this.playlistController.threadID : this.flashVars.watchID); if(this.flashVars.videoType == VideoType.SWF) hug1["as3"] = "1"; if(this.flashVars.forceLowMode) hug1["lo"] = "1"; if(this.flashVars.economyMode) hug1["eco"] = this.flashVars.economyMode; if(this.flashVars.watchFlashVars.noHiroba || this._isPlaylist) hug1["nh"] = "1"; return hug1; } private function loadVideoInfoAPI():void { //MethodID:48, LocalCount= 2 , MaxScope= 2, MaxStack= 6, CodeLength= 65 this.nicoViewControllerClient.getFLVData = null; this.systemMessage.informln(__MSG__("動画情報を取得開始")); this.getFLV = new GetFLV(this.configure.GETFLV_URL, this.getGetFLVAPIParams(), EventSequence.bind(function(hug1:Boolean):void{ //MethodID:47, LocalCount= 7 , MaxScope= 0, MaxStack= 4, CodeLength= 508 var hug2:* = undefined; var hug6:* = undefined; var hug3:* = _playerPageMyselfURL; if(!hug1 || getFLV.closed){ systemMessage.informln(__MSG__("動画情報の取得に失敗")); hug2 = (("

" + __MSG__("動画情報の取得に失敗しました。") + "

" + "

" + __MSG__("ログイン状態が解除されているか、動画が非公開状態にある可能性があります。") + "
") + __MSG__("リロードして再度ログイン", hug3) + "

"); systemMessage.alert(hug2); return; } if(!initializeInfo){ initializeInfo = InitializeInfo.getInstance(); nicoViewControllerClient.initializeInfo = initializeInfo; pluginClient.setProperty("initializeInfo", initializeInfo); } if(!initializeInfo.userID){ systemMessage.informln(__MSG__("ユーザー情報の取得に失敗")); hug2 = ("

" + __MSG__("ユーザー情報の取得に失敗しました。") + "

" + "

" + __MSG__("以下のページにアクセスしログインしてください。") + "" + hug3 + "" + "

"); systemMessage.alert(hug2); return; } if(flashVars.isChannel){ systemMessage.informln(__MSG__("チャンネル動画")); }else if(flashVars.isCommunityThread){ systemMessage.informln(__MSG__("コミュニティ動画")); } nicoViewControllerClient.getFLVData = getFLV; if(!pluginClient.hasInitialized("getFLV")) pluginClient.setProperty("getFLV", getFLV); SystemMessage.instance.informln(__MSG__("スレッド(動画)") + ":" + flashVars.watchID); var hug4:* = new RegExp("(https?|rtmp(e|t|te)?)://([^.]+).+", "ig"); var hug5:* = hug4.exec(getFLV.videoURL); if(hug5 != null){ hug6 = ((__MSG__("動画ホスト") + ":") + ((hug5.length >= 1) ? hug5[3] : "")); if(new RegExp("low$").test(getFLV.videoURL)) hug6 += __MSG__(" (エコノミー)"); SystemMessage.instance.informln(hug6); } EventSequence.current.next(); })); } private function initializeMyList():void { //MethodID:49, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 46 this.myList = new MyList(this.configure, this.getFLV.threadID); this.nicoViewControllerClient.myList = this.myList; EventSequence.current.next(); } private function loadBGMVideoInfo():void { //MethodID:51, LocalCount= 2 , MaxScope= 2, MaxStack= 4, CodeLength= 119 this.BGMVideoInfos = []; if((!this.flashVars.importedBGMVideos || (this.flashVars.importedBGMVideos.length == 0)) || ((this.getFLV.deleted != 0) && (this.getFLV.deleted != 8))){ EventSequence.current.next(); return; } GetBGM.exec(EventSequence.bind(function(hug1:Boolean, hug2:Array):void{ //MethodID:50, LocalCount= 5 , MaxScope= 0, MaxStack= 3, CodeLength= 118 var hug3:* = undefined; var hug4:* = undefined; if(!hug1){ systemMessage.informln(__MSG__("引用動画の情報の取得に失敗")); hug3 = _playerPageMyselfURL; hug4 = ("

" + __MSG__("引用動画の情報の取得に失敗しました。") + "

" + "

" + __MSG__("お手数ですが以下のリンクをおしてページをロードしてください。") + "" + hug3 + "" + "

"); systemMessage.alert(hug4); return; } BGMVideoInfos = hug2; EventSequence.current.next(); }), this.configure.GETBGM_API_URL, this.getFLV.threadID); } private function initializeNG():void { //MethodID:55, LocalCount= 2 , MaxScope= 2, MaxStack= 11, CodeLength= 145 internal var noLoad:Boolean; //slotID:1 noLoad = !CrossSharedObject.isPersistable; this.nicoViewControllerClient.ngFilter = null; this.ngComment = new NGComment(this.initializeInfo.userID, this.initializeInfo.ngRevision, this.configure.GETCONFIGURENGCLIENT_URL, this.initializeInfo.isPremium, this.playerConfig, this.initializeInfo.isNGMaintenance, noLoad, this.flashVars.isMymemory, (this.isThumbWatchMode ? null : this.flashVars.watchFlashVars.csrfToken)); this.ngComment.onInitialized.add(EventSequence.bind(function(hug1:Boolean):void{ //MethodID:53, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 187 internal var success:Boolean; //slotID:1 internal var ngCommentLength:*; //slotID:2 internal var ngUserLength:*; //slotID:3 ngCommentLength = undefined; ngUserLength = undefined; success = hug1; if(!success) systemMessage.alert("

" + __MSG__("NG設定の読み込みに失敗") + "

" + "

" + __MSG__("時間を空けてアクセスしていただくか、下のリンクからお知らせください。") + "
" + "" + "お問い合わせ" + "" + "

"); nicoViewControllerClient.ngFilter = ngComment; if(!pluginClient.hasInitialized("ngFilter")) pluginClient.setProperty("ngFilter", ngComment); if(!isThumbWatchMode){ ngCommentLength = 0; ngUserLength = 0; ngComment.list.forEach(function(hug1:NGInfo, hug2:int, hug3:Array):void{ //MethodID:52, LocalCount= 6 , MaxScope= 0, MaxStack= 2, CodeLength= 79 if(hug1.type == NGType.MESSAGE){ ngCommentLength++; }else if(hug1.type == NGType.USER_ID){ ngUserLength++; } }); _logManager.observer.onNGCommentInitialized(ngCommentLength, ngUserLength); } EventSequence.current.next(); })); this.ngComment.onUpdated.add(function(hug1:Array, hug2:String):void{ //MethodID:54, LocalCount= 6 , MaxScope= 0, MaxStack= 2, CodeLength= 56 var hug3:ICommentList = null; if(hug2 == NGResponseConstants.UNSERVE) return; for each(hug3 in commentListContainer){ hug3.serveCommentList(); } }); } private function initializeCommentStorage():void { //MethodID:59, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 106 internal var client:MessageServerClient; //slotID:1 client = null; this.nicoViewControllerClient.commentStorageEvents = null; client = new MessageServerClient(this.getFLV.messageServerURL); client.connectionLost.add(function(hug1:String):void{ //MethodID:56, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 20 systemMessage.informln(__MSG__("コメント受信中にエラーが発生: ") + hug1); }); client.connected.add(function():void{ //MethodID:57, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 18 systemMessage.informln(__MSG__("コメントサーバーへの接続準備完了")); }); if(this._logManager) this._logManager.observer.onThreadLoadStarted(); client.connect(EventSequence.bind(function(hug1:Boolean, hug2:String):void{ //MethodID:58, LocalCount= 3 , MaxScope= 0, MaxStack= 8, CodeLength= 131 commentStorage = new CommentStorage(client, keygen, initializeInfo.userID, initializeInfo.isPremium, flashVars, getFLV); if((playerInfo.leafFilter.indexOf(getFLV.messageServerURL) != (-1)) || (flashVars.leafSwitch == NicoFlashVars.LEAF_DISABLE)) commentStorage.forceLeafOff = true; nicoViewControllerClient.commentStorageEvents = new CommentStorageEvents(commentStorage); if(_logManager) _logManager.observer.onThreadLoadCompleted(hug1); EventSequence.current.next(); })); } private function initializeGetChecklist():void { //MethodID:61, LocalCount= 2 , MaxScope= 2, MaxStack= 6, CodeLength= 102 internal var apiCacheProxy:APICacheProxy; //slotID:1 internal var callback:Function; //slotID:2 internal var noLoad:Boolean; //slotID:3 apiCacheProxy = new APICacheProxy(new URLRequest(this.configure.GET_CHECKLIST_URL), 0, 0, this.initializeInfo.userID); callback = EventSequence.bind(function(hug1:Boolean):void{ //MethodID:60, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 11 EventSequence.current.next(); }); noLoad = !CrossSharedObject.isPersistable; this.getChecklist = new GetChecklist(callback, apiCacheProxy, this.flashVars.watchFlashVars.useChecklistCache, noLoad); } private function initializeHiroba():void { //MethodID:69, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 380 this._logManager.observer.onHirobaInitializeStarted(); if((this.getFLV.hirobaHost == null) || (this.getFLV.hirobaPort == 0) || (this.getFLV.hirobaThreadID == null) || this.flashVars.watchFlashVars.noHiroba || this.flashVars.isNoComment || this.flashVars.watchFlashVars.isOwnerThreadEditMode || this.flashVars.watchFlashVars.isEditMode){ if(!(((this.getFLV.hirobaHost != null) && (this.getFLV.hirobaPort != 0) && !(!(this.getFLV.hirobaThreadID == null))) && (this.flashVars.watchFlashVars.noHiroba || this.flashVars.isNoComment || this.flashVars.watchFlashVars.isOwnerThreadEditMode || this.flashVars.watchFlashVars.isEditMode))) this._logManager.observer.onHirobaConnected(false, HirobaErrorStatus.HIROBA_INFO_NOT_FOUND, HirobaEventReferer.NICO_PLAYER); EventSequence.current.next(); return; } if(this.nicoViewControllerClient.hirobaPlayer){ this._logManager.observer.onHirobaInitializeAborted(); EventSequence.current.next(); return; } this.hirobaPlayer = new HirobaPlayer(this.playerConfig, this.initializeInfo.isPremium); this.nicoViewControllerClient.hirobaPlayer = this.hirobaPlayer; HTTPUtils.loadSWF(function(hug1:Sprite):void{ //MethodID:68, LocalCount= 3 , MaxScope= 1, MaxStack= 6, CodeLength= 276 internal var swf:Sprite; //slotID:1 internal var connector:IHirobaConnector; //slotID:2 internal var succeeded:Boolean; //slotID:3 internal var client:HirobaConnectorClient; //slotID:4 internal var onConnectionFailed:Function; //slotID:5 internal var onDisconnected:Function; //slotID:6 internal var onConnected:Function; //slotID:7 connector = null; client = null; onConnectionFailed = null; onDisconnected = null; onConnected = null; swf = hug1; onConnectionFailed = function(hug1:HirobaErrorEvent):void{ //MethodID:63, LocalCount= 2 , MaxScope= 0, MaxStack= 4, CodeLength= 37 systemMessage.informln(__MSG__("広場の接続中にエラーが発生")); _logManager.observer.onHirobaConnected(false, hug1.text, hug1.referer); }; onDisconnected = function(hug1:HirobaErrorEvent):void{ //MethodID:64, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 36 systemMessage.informln(__MSG__("広場の接続中にエラーが発生")); _logManager.observer.onHirobaDisconnected(hug1.text, hug1.referer); }; onConnected = function(hug1:Boolean, hug2:String, hug3:String):void{ //MethodID:66, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 243 internal var succeeded:Boolean; //slotID:1 internal var status:String; //slotID:2 internal var referer:String; //slotID:3 succeeded = hug1; status = hug2; referer = hug3; if((referer == HirobaEventReferer.HIROBA_AGENT) && succeeded){ _logManager.observer.onHirobaConnected(true, status, referer); return; } if(!succeeded){ systemMessage.informln(__MSG__("広場の接続に失敗")); _logManager.observer.onHirobaConnected(false, status, referer); return; } systemMessage.informln(__MSG__("広場の接続に成功")); _logManager.observer.onHirobaConnected(true, status, referer); hirobaPlayer.onClickedLink.add(function():void{ //MethodID:65, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 15 if(videoController) videoController.stop(); }); hirobaPlayer.connector = connector; if(commentRouter) commentRouter.addHiroba(hirobaPlayer); if(marqueeClient && marqueeClient.marqueePlayer) client.insertItemOnMarquee_0 = INicoMarqueePlayer(marqueeClient.marqueePlayer).interruptContent; hirobaConnectorClient = client; nicoViewController.onHirobaInitialized(); }; connector = IHirobaConnector(swf); succeeded = (connector != null); if(!succeeded){ systemMessage.informln(__MSG__("広場の接続に失敗")); _logManager.observer.onHirobaConnected(false, HirobaErrorStatus.HIROBA_CONNECTOR_NOT_FOUND, HirobaEventReferer.NICO_PLAYER); return; } client = new HirobaConnectorClient(new HirobaMessageServerInfo(getFLV, configure.GETFLV_URL, getGetFLVAPIParams()), initializeInfo.userID, keygen, function():Number{ //MethodID:62, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 25 return (playerConfig.isMute ? 0 : playerConfig.volume); }); client.checkList = getChecklist; connector.initialize(client); connector.addEventListener(HirobaErrorEvent.CONNECTION_FAIL, onConnectionFailed); connector.addEventListener(HirobaErrorEvent.DISCONNECTED, onDisconnected); connector.addEventListener(HirobaEvent.CLICKED_LINK, function(hug1:Event):void{ //MethodID:67, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 15 if(videoController) videoController.stop(); }); connector.connect(onConnected); }, this.configure.HIROBACONNECTOR_SWF_URL, {v:this.playerVersion.hirobaconnector}); EventSequence.current.next(); } private function prepareVideo():void { //MethodID:71, LocalCount= 2 , MaxScope= 2, MaxStack= 8, CodeLength= 570 internal var videoWidth:int; //slotID:1 internal var videoHeight:int; //slotID:2 this.nicoViewControllerClient.video = null; this.nicoViewControllerClient.videoController = null; if(!this.videoLayerManager){ this.videoLayerManager = new VideoLayerManager(this.nicoViewController.videoBase, this.playerConfig.aspectRatio); if(this.playerConfig.deepenedComment){ ObjectUtils.callLater(function():void{ //MethodID:70, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 8 videoLayerManager.deepenComment(); }); } this.nicoViewControllerClient.videoLayerManager = this.videoLayerManager; }else{ this.videoLayerManager.refreshLayers(); } if(!this.pluginClient.hasInitialized("videoLayerManager")) this.pluginClient.setProperty("videoLayerManager", this.videoLayerManager); videoWidth = ((this.flashVars.isWide || this._isPlaylist) ? VideoLayerConstants.VIDEO_LAYER_HD_WIDTH : VideoLayerConstants.VIDEO_LAYER_SD_WIDTH); videoHeight = ((this.flashVars.isWide || this._isPlaylist) ? VideoLayerConstants.VIDEO_LAYER_HD_HEIGHT : VideoLayerConstants.VIDEO_LAYER_SD_HEIGHT); if(this.video && this.video.isInitialized){ this.video.close(); this.video = null; } this.video = new VideoWrapper(this.videoLayerManager.videoLayer, this.getFLV, this.configure, this.flashVars, videoWidth, videoHeight); this.nicoViewControllerClient.video = this.video; this.videoController = new VideoController(this.video, this.playerConfig, this.initializeInfo.isPremium, this._isPlaylist); this.nicoViewControllerClient.videoController = this.videoController; if(this._logManager){ this.video.onVideoLoadComplete.add(this._logManager.observer.onVideoLoadCompleted); this.video.onVideoBufferingStarted.add(this._logManager.observer.onVideoBufferingStarted); } if(this.playlistController) this.playlistController.videoController = this.videoController; if(!this.pluginClient.hasInitialized("videoController")) this.pluginClient.setProperty("videoController", this.videoController); if(this._onChangedVideoStatus != null) this.video.onChangedVideoStatus.add(this._onChangedVideoStatus); if(this.vposWatcher) this.vposWatcher.kill(); this.vposWatcher = new VposWatcher(this.video); if(this.videoLoadGuardian != null) this.videoLoadGuardian.destroy(); this.videoLoadGuardian = new VideoLoadGuardian(this.video, this.initializeInfo.isPremium); if(this.nicoViewControllerClient.videoLoadWatcher == null) this.nicoViewControllerClient.videoLoadWatcher = new VideoLoadWatcher(); EventSequence.current.next(); } private function prepareCommentLists():void { //MethodID:73, LocalCount= 2 , MaxScope= 2, MaxStack= 12, CodeLength= 597 internal var normalThreadID:String; //slotID:1 internal var leafMode:Boolean; //slotID:2 internal var clear:Function; //slotID:3 internal var filtered:CommentPoolContainer; //slotID:4 filtered = null; clear = function():void{ //MethodID:72, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 150 nicoViewControllerClient.commentListContainer = null; nicoViewControllerClient.nicoSClient = null; if(nicosClient) nicosClient.clear(); if(nicosPlayer) nicosPlayer.clear(); nicosClient = null; privateCommentList = null; commentList = null; nicoSCommentList = null; ownerCommentList = null; localCommentList = null; delete commentListContainer[CommentConstants.CL_PRIVATE]; delete commentListContainer[CommentConstants.CL_MAIN]; delete commentListContainer[CommentConstants.CL_NICOS]; delete commentListContainer[CommentConstants.CL_OWNER]; delete commentListContainer[CommentConstants.CL_LOCAL]; }; clear(); normalThreadID = this.getFLV.threadID; leafMode = (((this.playerInfo.leafFilter.indexOf(this.getFLV.messageServerURL) != (-1)) || (this.flashVars.leafSwitch != NicoFlashVars.LEAF_DISABLE)) && this.playerConfig.isEnabledLeafMode); if(this.flashVars.isCommunityThread){ this.privateCommentList = new CommentList(this.getFLV.threadID, this.getFLV.videoLength, this.commentStorage, CommentConstants.CL_PRIVATE, this.flashVars.isMymemory, leafMode); this.commentListContainer[CommentConstants.CL_PRIVATE] = this.privateCommentList; this.mainCommentListName = CommentConstants.CL_PRIVATE; normalThreadID = this.getFLV.optionalThreadID; } if(this.getFLV.nicoSThreadID){ this.nicoSCommentList = new CommentList(this.getFLV.nicoSThreadID, this.getFLV.videoLength, this.commentStorage, CommentConstants.CL_NICOS); this.commentListContainer[CommentConstants.CL_NICOS] = this.nicoSCommentList; } this.commentList = new CommentList(normalThreadID, this.getFLV.videoLength, this.commentStorage, CommentConstants.CL_MAIN, this.flashVars.isMymemory, leafMode); this.commentListContainer[CommentConstants.CL_MAIN] = this.commentList; if(this.flashVars.hasOwnerThread){ this.nicosClient = new NicoSClient(this.nicosPlayer, this.videoController, this.videoLayerManager, this.jumper, this.flashVars, null, null, this.nicoSCommentList, this.playerConfig, this._isPlaylist); this.ownerCommentList = new OwnerCommentList(normalThreadID, this.commentStorage, this.nicosClient, new RegisterBGM(this.configure)); this.commentListContainer[CommentConstants.CL_OWNER] = this.ownerCommentList; } this.localCommentList = new LocalCommentList(); this.commentListContainer[CommentConstants.CL_LOCAL] = this.localCommentList; this.nicoViewControllerClient.commentListContainer = this.commentListContainer; this.nicoViewControllerClient.nicoSClient = this.nicosClient; if(!this.pluginClient.hasInitialized("commentListContainer")) this.pluginClient.setProperty("commentListContainer", this.commentListContainer); if(!this.nicoViewControllerClient.filteredCommentPoolContainers) this.nicoViewControllerClient.filteredCommentPoolContainers = []; if(!this.pluginClient.hasInitialized("filteredCommentPoolContainer")){ filtered = new CommentPoolContainer(); this.pluginClient.setProperty("filteredCommentPoolContainer", filtered); this.nicoViewControllerClient.filteredCommentPoolContainers.push(filtered); } EventSequence.current.next(); } private function initializeModelAndView():void { //MethodID:74, LocalCount= 3 , MaxScope= 1, MaxStack= 9, CodeLength= 768 var hug2:GetRelation = null; this.nicoViewControllerClient.commentLayer = null; this.nicoViewControllerClient.commentLayerView = null; this.nicoViewControllerClient.commentViewTransformer = null; this.nicoViewControllerClient.jumpMessageLayer = null; this.nicoViewControllerClient.replacer = null; this.nicoViewControllerClient.channelReplacer = null; this.nicoViewControllerClient.deleteFilter = null; this.nicoViewControllerClient.externalClient = null; this.initializeCommentLayerView(); this.nicoViewControllerClient.commentLayer = this.commentLayer; this.nicoViewControllerClient.commentLayerView = this.commentLayerView; this.nicoViewControllerClient.commentViewTransformer = this.commentViewTransformer; if(this.nicosClient){ this.nicosClient.commentLayerView_ = this.commentLayerView; this.nicosClient.commentLayer_ = this.commentLayer; } this.jumpMsgLayer = new JumpMessageLayer(this.videoLayerManager.jumpMsgLayer); this.nicoViewControllerClient.jumpMessageLayer = this.jumpMsgLayer; this.replacer = new Replacer(this.getFLV.ownerFilter, this.configure.GET_CONFIGURE_NGWORD, this.flashVars.watchID, this.initializeInfo.isNGMaintenance, (this.isThumbWatchMode ? null : this.flashVars.watchFlashVars.csrfToken)); this.nicoViewControllerClient.replacer = this.replacer; if(this.getFLV.channelFilter){ this.channelReplacer = new ChannelReplacer(this.getFLV.channelFilter); this.nicoViewControllerClient.channelReplacer = this.channelReplacer; } var hug1:Object = {}; if(this.commentList) hug1[CommentConstants.CL_MAIN] = this.commentList; if(this.nicoSCommentList) hug1[CommentConstants.CL_NICOS] = this.nicoSCommentList; if(this.privateCommentList) hug1[CommentConstants.CL_PRIVATE] = this.privateCommentList; this.deleteFilter = new DeleteFilter(hug1, (this.isThumbWatchMode ? false : this.flashVars.watchFlashVars.isEditMode)); this.nicoViewControllerClient.deleteFilter = this.deleteFilter; if(!this.audioShutter){ this.audioShutter = new ControllerShutter(AudioShutterConstants.END_OF_ENUM, "AUDIO"); this.nicoViewControllerClient.audioShutter = this.audioShutter; this.pluginClient.setProperty("audioShutter", this.audioShutter); } if(!this.externalClient) this.externalClient = new ExternalClient(); this.externalClient.initialize(this.flashVars.watchID, this.video, this.videoController, this.playerConfig, this.initializeInfo.isPremium, (this.isThumbWatchMode ? false : this.flashVars.watchFlashVars.isOwnerThreadEditMode), (this.getFLV.nicoSThreadID != null)); this.externalClient.localCommentList = this.localCommentList; this.externalClient.ownerCommentList = this.ownerCommentList; this.nicoViewControllerClient.externalClient = this.externalClient; this.video.onChangedVideoStatus.add(this.externalClient.onChangeVideoStatus); if(!this.commentShutter){ this.commentShutter = new ControllerShutter(CommentShutterConstants.END_OF_ENUM, "COMMENT"); this.nicoViewControllerClient.commentShutter = this.commentShutter; if(this.playlistController != null) this.playlistController.commentShutter = this.commentShutter; } if(this.nicosClient){ this.nicosClient.audioShutter = this.audioShutter; this.nicosClient.commentShutter = this.commentShutter; } if(!this.flashVars.forceRelationInvisible){ hug2 = new GetRelation(HTTPUtils.loadXML, this.configure.GETRELATION_URL, this.flashVars.watchID, this.flashVars.category); this.relatedList = new RelatedVideoList(hug2, this.flashVars.noRelatedVideo); this.nicoViewControllerClient.relatedList = this.relatedList; } EventSequence.current.next(); } private function initializeCommentRouter():void { //MethodID:78, LocalCount= 2 , MaxScope= 2, MaxStack= 8, CodeLength= 271 this.nicoViewControllerClient.lockedComment = null; this.nicoViewControllerClient.commentRouter = null; if(this.isThumbWatchMode && !this.flashVars.thumbFlashVars.thumbComment){ EventSequence.current.next(); return; } this.lockedComment = new LockedComment(this.getFLV.threadID, this.mainCommentListName, this.flashVars.watchFlashVars.isPostLocked, this.flashVars.watchFlashVars.isEditMode); this.nicoViewControllerClient.lockedComment = this.lockedComment; this.deleteFilter.lockedComment = this.lockedComment; this.commentRouter = new CommentRouter(this.flashVars, this.playerConfig, this.lockedComment, this.nicosClient, this.initializeInfo.isPremium, this.channelReplacer); this.commentRouter.onCommentPostErorr.add(function(hug1:String):void{ //MethodID:75, LocalCount= 3 , MaxScope= 0, MaxStack= 5, CodeLength= 580 var hug2:String = hug1; switch(hug2){ case CommentRouter.ERROR_POST_184: systemMessage.informComment(__MSG__("チャンネルとコミュニティ動画では184コマンドを使用できません")); break; case CommentRouter.ERROR_POST_AT_COMMENT_UNDEFINED: systemMessage.alert(__MSG__("入力された@コメントは、以下のどちらかの理由で使用できません。
") + __MSG__("・存在しない
") + __MSG__("・投稿者以外は使えない
") + __MSG__("現在、動画閲覧者が使用できるのは、") + "" + __MSG__("@ボタン(閲覧者用)") + "" + __MSG__("@ピザ") + "" + __MSG__("の2つです。")); break; case CommentRouter.ERROR_POST_BUTTON_ONCE: systemMessage.informComment(__MSG__("@ボタンは、1視聴につき1つまでしかご利用になれません")); break; case CommentRouter.ERROR_POST_BUTTON_PREMIUM_ONLY: systemMessage.alert(__MSG__("@ボタンは現在[[a_tag_open]]プレミアム会員[[a_tag_close]]のみ使用可能です。", "", "")); break; case CommentRouter.ERROR_POST_HIROBA: systemMessage.informComment(__MSG__("広場では@ボタンは使えません。")); break; case CommentRouter.ERROR_POST_INITIALIZE: systemMessage.informComment(__MSG__("コメント投稿の準備が未完了です")); break; case CommentRouter.ERROR_POST_BUTTON_ARGUMENTS: systemMessage.informComment(__MSG__("@ボタンの設定項目が足りません。")); break; case CommentRouter.ERROR_POST_SAME_COMMENT: systemMessage.informComment(__MSG__("同じコメントを連続で投稿することができません。")); break; case CommentRouter.ERROR_POST_CHANNEL_FILTER: systemMessage.informComment(__MSG__("入力されたコメントはこの動画では投稿できません。")); break; case CommentRouter.ERROR_POST_AT_COMMENT_DISABLED: systemMessage.informComment(__MSG__("この動画では@コメントは使えません。")); break; case CommentRouter.ERROR_POST_COMMAND_DISABLED: systemMessage.informComment(__MSG__("この動画ではコマンドは使えません。")); break; default: break; } }); if(this.flashVars.watchFlashVars.noAtPizza || this.isThumbWatchMode){ this.commentRouter.onCommentHavingMacro.add(function(hug1:IMacroParserResult):void{ //MethodID:76, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 22 if(hug1.macroName == "ピザ") systemMessage.informComment("@ピザは、使用できません。"); }); }else{ this.commentRouter.onCommentHavingMacro.add(function(hug1:IMacroParserResult):void{ //MethodID:77, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 40 if(hug1.macroName == "ピザ"){ navigateToURL(new URLRequest(configure.PIZZA_URL), "_blank"); videoController.stop(); } }); } if(this.nicosClient) this.nicosClient.commentRouter = this.commentRouter; this.nicoViewControllerClient.commentRouter = this.commentRouter; EventSequence.current.next(); } private function initializeModelAndView4Watch():void { //MethodID:82, LocalCount= 3 , MaxScope= 2, MaxStack= 10, CodeLength= 1164 internal var linkURL:String; //slotID:1 internal var pageURL:String; //slotID:2 internal var messageHTML:String; //slotID:3 internal var onMarqueePlayerLoaded:Function; //slotID:4 internal var isUseVideoEnder:Boolean; //slotID:5 linkURL = null; pageURL = null; messageHTML = null; isUseVideoEnder = false; this.nicoViewControllerClient.timeMachine = null; this.nicoViewControllerClient.marqueeClient = null; this.nicoViewControllerClient.frameRateBooster = null; this.timeMachine = new TimeMachine(new Date(parseInt(this.getFLV.threadID, 10) * 1000)); this.nicoViewControllerClient.timeMachine = this.timeMachine; if(!this.frameRateBooster) this.frameRateBooster = new FrameRateBooster(stage); this.nicoViewControllerClient.frameRateBooster = this.frameRateBooster; if(this._isPlaylist && (this._shutterKeyLastClosed >= 0)){ this.commentShutter.open(this._shutterKeyLastClosed); this._shutterKeyLastClosed = -1; } if(this.flashVars.isMymemory){ this.commentShutter.close(this._shutterKeyLastClosed = CommentShutterConstants.SHUTTER_MYMEMORY, __MSG__("マイメモリーはコメントできません")); }else if(!this.getFLV.commentExpire && !this.flashVars.watchFlashVars.isOwnerThreadEditMode){ if(this.flashVars.watchFlashVars.commentListPublicStatus == CommentListPublicStatus.MEMBER_ONLY){ linkURL = (this.configure.CHANNEL_URL + (this.flashVars.isChannel ? "channel" : "community") + "/" + this.flashVars.communityGlobalID); this.commentShutter.close(this._shutterKeyLastClosed = CommentShutterConstants.SHUTTER_CHANNEL_COMMUNITY, (("") + (this.flashVars.isChannel ? __MSG__("コメントするにはチャンネルに入会してください") : __MSG__("コメントするにはコミュニティに入会してください")) + "")); }else{ this.commentShutter.close(this._shutterKeyLastClosed = CommentShutterConstants.SHUTTER_OTHER, ""); } }else if(this.flashVars.watchFlashVars.isCommentShuttered){ this.commentShutter.close(this._shutterKeyLastClosed = CommentShutterConstants.SHUTTER_LOCKED, __MSG__("あなたはコメントを禁止されています")); } if(!CrossSharedObject.isPersistable){ if(!this.flashVars.watchFlashVars.isEditMode && !this.flashVars.watchFlashVars.isOwnerThreadEditMode) this.commentShutter.close(this._shutterKeyLastClosed = CommentShutterConstants.SHUTTER_NOSHAREDOBJECT, ("

" + __MSG__("ローカル記憶領域が使用できないため、コメント機能を制限をしています") + "

")); if(!this._isShowedDialog){ this._isShowedDialog = true; this.systemMessage.informln(__MSG__("SharedObjectの初期に失敗しました。")); pageURL = this._playerPageMyselfURL; messageHTML = ("

" + __MSG__("ローカル記憶領域の書き込みが出来ません。") + "

" + "

" + __MSG__("NG設定、音量設定の保存、ニコニコニュース、RSS、") + "
" + __MSG__("生放送開始のお知らせ、ユーザーが設定した@CMなど、") + "
" + __MSG__("プレーヤーの機能がご利用出来ない状態です。") + "
" + __MSG__("プレーヤーの各機能を有効にするため、Flashの設定を変更してください。") + "
" + "ローカル記憶領域の設定を変更する方法について" + "

"); this.systemMessage.alert(messageHTML); } } if(this.flashVars.watchFlashVars.isEditMode){ this.deleteFilter.onFinishedEdit = function(hug1:Boolean):void{ //MethodID:79, LocalCount= 5 , MaxScope= 0, MaxStack= 4, CodeLength= 144 var hug3:String = null; var hug4:String = null; var hug2:String = _playerPageMyselfURL; if(!hug1){ if(flashVars.isMymemory){ hug3 = StringUtils.joinQuery(hug2, {edit:"mymemory"}); hug4 = ("マイメモリーの編集に失敗しました。" + "再度編集しなおす場合は、以下のURLからお願いします。
" + "" + hug3 + ""); }else{ hug3 = StringUtils.joinQuery(hug2, {edit:"comment"}); hug4 = ("編集の保存に失敗しました。" + "再度編集しなおす場合は、以下のURLからお願いします。
" + "" + hug3 + ""); } systemMessage.alert(hug4); return; } navigateToURL(new URLRequest(hug2), "_self"); }; } if(!this.flashVars.watchFlashVars.isNoMarquee && !this.flashVars.watchFlashVars.isEditMode && !this.flashVars.watchFlashVars.isOwnerThreadEditMode && CrossSharedObject.isPersistable){ onMarqueePlayerLoaded = function():void{ //MethodID:80, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 94 if(nicosClient) nicosClient.marqueePlayer = INicoMarqueePlayer(marqueeClient.marqueePlayer); if(hirobaConnectorClient) hirobaConnectorClient.insertItemOnMarquee_0 = INicoMarqueePlayer(marqueeClient.marqueePlayer).interruptContent; if(playlistController) playlistController.marqueeClient = marqueeClient; pluginClient.setProperty("marqueeClient", marqueeClient); commentRouter.addMarqueePlayer(marqueeClient.marqueePlayer); }; if(!this.marqueeClient) this.marqueeClient = new MarqueeClient(this.configure.MARQUEE_PLAYER_URL, this.playerVersion, this.playerInfo, this.nicoViewController.marqueeBase, this.videoLayerManager, this.playerConfig, this.initializeInfo, onMarqueePlayerLoaded); if(this.nicosClient) this.nicosClient.marqueePlayer = INicoMarqueePlayer(this.marqueeClient.marqueePlayer); this.marqueeClient.videoController = this.videoController; this.marqueeClient.flashVars = this.flashVars; this.nicoViewControllerClient.marqueeClient = this.marqueeClient; } if(!this.flashVars.watchFlashVars.isNoAppli && !this.pluginClient.hasInitialized("videoDetail")) this.pluginClient.setProperty("videoDetail", new VideoDetail(this.flashVars.category, this.flashVars.videoDetail)); function():void{ //MethodID:81, LocalCount= 5 , MaxScope= 0, MaxStack= 23, CodeLength= 193 if(_isPlaylist) return; var hug1:* = new RemoconNotifier(configure.REMOCON_ALERT_SWF_URL + "?" + playerVersion.remoconAlert); var hug2:* = new RemoconFullScreenKeeper(playerConfig, externalClient); var hug3:* = new RemoconPlayerStateObserver(externalClient.udpateRemoconState, hug1, hug2); commentRouter.onCommentPostErorr.add(hug3.onCommentRouterPostError); var hug4:* = new RemoconClient(hug3, hug1, RemoconState.instance); RemoconReceiver.initialize({videoController:videoController, playerConfig:playerConfig, commentRouter:commentRouter, isPremium:initializeInfo.isPremium, stateObserver:hug3, notifier:hug1, userID:initializeInfo.userID, userNasme:initializeInfo.nickname, commentShutter:commentShutter, audioShutter:audioShutter, fullScreenKeeper:hug2}, defineRemoconMethods); hug2.start(); nicoViewControllerClient.remoconClient = hug4; }(); this.nicoViewControllerClient.defaultMylistAppender = new DefaultMylistAppender(HTTPUtils.loadJSON, this.configure.MYLIST_ADD_API_URL, this.getFLV.threadID, this.flashVars.watchFlashVars.noDeflistAdd, this.flashVars.watchFlashVars.csrfToken); if(this.nicoViewControllerClient.videoenderTesterConfig == null){ if(this._isPlaylist){ isUseVideoEnder = (this.playlistFlashVars && this.playlistFlashVars.useVideoEnder); }else{ isUseVideoEnder = (this.flashVars.watchFlashVars && this.flashVars.watchFlashVars.useVideoEnder); } this._videoenderTesterConfig = new VideoenderTesterConfig(isUseVideoEnder); this.nicoViewControllerClient.videoenderTesterConfig = this._videoenderTesterConfig; } EventSequence.current.next(); } private function initializeSponsorVideo():void { //MethodID:85, LocalCount= 2 , MaxScope= 2, MaxStack= 7, CodeLength= 169 internal var url:String; //slotID:1 internal var info:GetSponsorInfo; //slotID:2 info = null; this.nicoViewControllerClient.getSponsorInfo = null; if(!this.isThumbWatchMode && (this.flashVars.isMymemory || this.flashVars.watchFlashVars.isEditMode || this.flashVars.watchFlashVars.isOwnerThreadEditMode)){ EventSequence.current.next(); return; } url = StringUtils.joinQuery(this.configure.GETSPONSOR_API_URL, {limit:"4", videoid:this.flashVars.originalVideoID}); info = new GetSponsorInfo(url, function(hug1:Boolean):void{ //MethodID:84, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 213 internal var succeeded:Boolean; //slotID:1 internal var layer:*; //slotID:2 internal var userSponsorSWFURL:*; //slotID:3 internal var otherSponsorLink:*; //slotID:4 internal var youAlsoLink:*; //slotID:5 layer = undefined; otherSponsorLink = undefined; youAlsoLink = undefined; succeeded = hug1; if(!succeeded || (info.sponsorInfoList.length == 0)) return; layer = videoLayerManager.createOptionalLayer(VideoLayerManager.OPTIONAL_LAYER_SPONSORVIDEOLAYER); userSponsorSWFURL = StringUtils.joinQuery(configure.USERSPONSOR_MOVIE_URL, {t:playerVersion.userSponsorMovie}); otherSponsorLink = (StringUtils.joinQuery(configure.OTHERSPONSOR_URL, {vid:flashVars.originalVideoID}) + "&video_player"); youAlsoLink = (StringUtils.joinQuery(configure.OTHERSPONSOR_URL, {vid:flashVars.originalVideoID}) + "&video_player_also"); if(video.hasLoaded){ HTTPUtils.loadSWF(function(hug1:*):void{ //MethodID:83, LocalCount= 2 , MaxScope= 0, MaxStack= 8, CodeLength= 76 if(hug1){ userSponsorVideo = IUserSponsorVideo(hug1); userSponsorVideo.initialize(new UserSponsorVideoClient(info, layer, otherSponsorLink, youAlsoLink, ICapturableVideoContainer(videoController.videoWrapper), vposWatcher)); video.appendVideo(ChildVideoName.USER_SPONSOR, userSponsorVideo); } }, userSponsorSWFURL, {}); }else{ video.appendVideo(ChildVideoName.USER_SPONSOR, userSponsorVideo); } }); this.nicoViewControllerClient.getSponsorInfo = info; EventSequence.current.next(); } private function loadConfirm():void { //MethodID:87, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 24 this.videoLoadGuardian.loadStart(EventSequence.bind(function(hug1:Boolean):void{ //MethodID:86, LocalCount= 3 , MaxScope= 0, MaxStack= 5, CodeLength= 144 var hug2:* = undefined; if(hug1){ EventSequence.current.next(); }else if(!isThumbWatchMode){ if(_isPlaylist && playlistController){ playlistController.onError(PlaylistErrorManager.VIDEO_LOAD_STOP); }else{ hug2 = _playerPageMyselfURL; SystemMessage.instance.alert(("

" + __MSG__("動画の読み込みができません。") + "

" + "

" + __MSG__("別のタブかウィンドウで、動画をいくつか読み込み中です。
") + __MSG__("読み込みが完了してから再度アクセスしてください。
") + "
") + __MSG__("リロードする", hug2) + "

"); } } })); } private function initializePlugin():void { //MethodID:91, LocalCount= 2 , MaxScope= 2, MaxStack= 9, CodeLength= 208 internal var loader:ApplibarLoader; //slotID:1 loader = null; if(this.flashVars.watchFlashVars.isNoAppli || this.flashVars.watchFlashVars.isEditMode || this.flashVars.watchFlashVars.isOwnerThreadEditMode || !CrossSharedObject.isPersistable){ EventSequence.current.next(); return; } loader = new ApplibarLoader(this.configure.APPLIBAR_URL, {v:this.playerVersion.applibar}, this.initializeInfo.userID, this.flashVars.watchFlashVars.bootApp, this.playerConfig, this.flashVars.watchFlashVars.appliInstalled, this.flashVars.watchFlashVars.isAppliPromotion); loader.onLoaded.add(function(hug1:Boolean):void{ //MethodID:88, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 26 if(!hug1) return; nicoViewControllerClient.applibarLoader = loader; loader.setPluginClient(pluginClient); }); loader.onPageOpen.add(function():void{ //MethodID:89, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 18 if(videoController.isPlaying) videoController.stop(); }); this._playlistSequences.forEach(function(hug1:Function, hug2:int, hug3:Array):Boolean{ //MethodID:90, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 22 if(hug1 == initializePlugin){ _playlistSequences.splice(hug2, 1); return false; } return true; }); EventSequence.current.next(); } private function _delayVideo():void { //MethodID:93, LocalCount= 2 , MaxScope= 2, MaxStack= 4, CodeLength= 101 internal var delay:Number; //slotID:1 internal var timer:Timer; //slotID:2 internal var handler:Function; //slotID:3 timer = null; handler = null; delay = PlayDelay.getPlayDelayTime(this.initializeInfo.isPremium, this.isThumbWatchMode); timer = new Timer(delay, 1); handler = EventSequence.bind(function():void{ //MethodID:92, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 40 timer.stop(); timer.reset(); timer.removeEventListener(TimerEvent.TIMER_COMPLETE, handler); EventSequence.current.next(); }); timer.addEventListener(TimerEvent.TIMER_COMPLETE, handler); timer.start(); } private function _loadVideo():void { //MethodID:97, LocalCount= 5 , MaxScope= 2, MaxStack= 10, CodeLength= 779 internal var barrier:EventBarrier; //slotID:1 internal var succeeded_all:Boolean; //slotID:2 internal var bgmNeeded:Boolean; //slotID:3 internal var bgmVideos:Object; //slotID:4 internal var cmVideos:Object; //slotID:5 internal var bgmInfo:BGMVideoInfo; //slotID:6 internal var bgmVideo:IVideo; //slotID:7 internal var container:Sprite; //slotID:8 succeeded_all = false; bgmNeeded = false; bgmVideos = null; cmVideos = null; bgmInfo = null; bgmVideo = null; container = null; if(this._logManager) this._logManager.observer.onVideoLoadStarted(); barrier = new EventBarrier(); succeeded_all = true; this.systemMessage.informln(__MSG__("動画の読み込みを開始")); if((this.getFLV.videoProtocol == "rtmp") || (this.getFLV.videoProtocol == "rtmpe") || (this.getFLV.videoProtocol == "rtmpt") || (this.getFLV.videoProtocol == "rtmpte")) this.systemMessage.informln(__MSG__("動画に接続")); this.video.isRetryable = false; this.video.load(barrier.bind(function(hug1:Boolean):void{ //MethodID:94, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 110 succeeded_all = (succeeded_all && hug1); if(!hug1 && !isThumbWatchMode && _logManager) _logManager.observer.onVideoLoadErrorOccurred(); if(_startVposConfig.halfwayStartEnabled) _startVposConfig.judgebyVideoLength(video); if(!_startVposConfig.halfwayStartEnabled){ nicoViewController.initVideoEventPipe(vposWatcher); nicoViewController.onVideoInitialized(hug1); } _videoLoadSucceeded = hug1; })); bgmNeeded = Boolean(this.BGMVideoInfos.length != 0); bgmVideos = {}; cmVideos = {}; if(this.flashVars.watchFlashVars && !this.flashVars.watchFlashVars.isOwnerThreadEditMode || this.flashVars.thumbFlashVars && this.BGMVideoInfos && bgmNeeded){ for each(bgmInfo in this.BGMVideoInfos){ if(bgmInfo.type == BGMVideoInfo.TYPE_BGM){ container = new Sprite(); container.graphics.beginFill(0); container.graphics.drawRect(0, 0, NicoSConstants.ATBGM_VIDEO_WIDTH, NicoSConstants.ATBGM_VIDEO_HEIGHT); }else{ container = new MovieClip(); container.graphics.beginFill(0); container.graphics.drawRect(0, 0, NicoSConstants.ATCM_VIDEO_WIDTH, NicoSConstants.ATCM_VIDEO_HEIGHT); } container.graphics.endFill(); switch(bgmInfo.movieType){ case VideoType.FLV: case VideoType.MP4: bgmVideo = new FLVVideo(bgmInfo.URL, container, -1); break; case VideoType.SWF: bgmVideo = new SWFVideo(bgmInfo.URL, container, NaN, false, "", null, "", bgmInfo.isAS3); break; default: throw new Error("未定義のBGMタイプ:" + bgmInfo.movieType); break; } if(bgmInfo.type == BGMVideoInfo.TYPE_BGM){ bgmVideos[bgmInfo.ID] = bgmVideo; }else{ cmVideos[bgmInfo.ID] = bgmVideo; } bgmVideo.load(barrier.bind(function(hug1:Boolean):void{ //MethodID:95, LocalCount= 2 , MaxScope= 0, MaxStack= 4, CodeLength= 102 if(!succeeded_all) return; succeeded_all = (succeeded_all && hug1); if(!hug1){ if(!isThumbWatchMode) SystemMessage.instance.alert("

" + __MSG__("引用動画の読み込みに失敗") + "

" + "

" + __MSG__("問題解消に向けて努力しております。") + "
" + __MSG__("しばらく時間をおいて再度アクセスしてみて下さい。") + "

"); return; } })); } } barrier.finish(EventSequence.bind(function():void{ //MethodID:96, LocalCount= 5 , MaxScope= 0, MaxStack= 4, CodeLength= 145 var hug1:* = undefined; var hug2:* = undefined; _wholeVideoLoadSucceeded = succeeded_all; if(!succeeded_all){ EventSequence.current.next(); return; } if(bgmNeeded){ hug1 = {}; for(hug2 in cmVideos){ hug1[hug2] = cmVideos[hug2].movieClip; } nicosClient.setBGMVideos(bgmVideos, hug1); } if(getFLV.deleted == 0) PlayDelay.countUp(); if(marqueeClient) marqueeClient.load(); EventSequence.current.next(); })); } private function initializeLogger():void { //MethodID:98, LocalCount= 1 , MaxScope= 1, MaxStack= 13, CodeLength= 63 this._logManager.initialize(this.initializeInfo, this.configure, this.flashVars, this.getFLV, this.playerConfig, this.playerInfo, this, this.isThumbWatchMode, this.video, this, this._isPlaylist, this._videoenderTesterConfig); EventSequence.current.next(); } private function initializeCommentLists():void { //MethodID:102, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 241 internal var barrier:EventBarrier; //slotID:1 internal var error:CommentStorageError; //slotID:2 internal var init_handler:Function; //slotID:3 barrier = null; error = null; init_handler = null; init_handler = function(hug1:CommentStorageError):void{ //MethodID:99, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 38 var hug2:CommentStorageError = hug1; error = hug2; if(!(error || hug2)) return; barrier.finish(); }; if(this.nicosClient) this.nicosClient.setup(); this.systemMessage.informln(__MSG__("コメントサーバーへの接続を開始")); barrier = new EventBarrier(); error = null; this.commentList.onCommentPostFinished.add(function(hug1:String, hug2:int, hug3:int):void{ //MethodID:100, LocalCount= 5 , MaxScope= 0, MaxStack= 2, CodeLength= 63 var hug4:XMLList = null; if(hug2 == MessageServerClient.POST_INVALID_THREAD){ hug4 = playerInfo.getThreadError; if(hug4 && (hug4.post_invalid_thread != "")) SystemMessage.instance.alert(hug4.post_invalid_thread); } }); this.commentList.initialize(barrier.bind(init_handler)); if(this.flashVars.isCommunityThread) this.privateCommentList.initialize(barrier.bind(init_handler)); if(this.nicoSCommentList) this.nicoSCommentList.initialize(barrier.bind(init_handler)); if(this.flashVars.hasOwnerThread) this.ownerCommentList.initialize(barrier.bind(init_handler)); barrier.finish(function():void{ //MethodID:101, LocalCount= 4 , MaxScope= 0, MaxStack= 4, CodeLength= 201 var hug1:String = null; if(error){ if(error.isInLowerLayer){ systemMessage.informln(__MSG__("コメントサーバーへの接続に失敗")); }else{ systemMessage.informln(threadStatusCodeToMessage(error.status)); } nicoViewController.onCommentListInitialized(false); return; } systemMessage.informln(__MSG__("コメントサーバーへの接続に成功")); if(flashVars.thumbFlashVars && flashVars.thumbFlashVars.thumbComment || !isThumbWatchMode && !flashVars.isMymemory){ for(hug1 in commentListContainer){ commentRouter.add(hug1, commentListContainer[hug1]); } } nicoViewController.onCommentListInitialized(true); setupCommentListEventPipes(); }); EventSequence.current.next(); } private function setupCommentListEventPipes():void { //MethodID:103, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 51 var hug1:ICommentList = null; this.nicoViewController.initCommentEventPipe(); for each(hug1 in this.commentListContainer){ hug1.serveCommentList(); } } private function beginToPlayVideo():void { //MethodID:108, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 216 internal var alreadyBegan:Boolean; //slotID:1 internal var begin:Function; //slotID:2 internal var vpos:Number; //slotID:3 alreadyBegan = false; vpos = NaN; begin = function():void{ //MethodID:104, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 129 if(_startVposConfig.halfwayStartEnabled) nicoViewController.initVideoEventPipe(vposWatcher); if(isThumbWatchMode){ if(!flashVars.thumbFlashVars.isP4Mode) videoController.play(); }else{ videoController.startToPlay(_startVposConfig.isAutoPlay || (nicoViewControllerClient.initializeInfo.isPremium && playerConfig.autoPlay)); if(!_wholeVideoLoadSucceeded) videoController.stop(); } if(_startVposConfig.halfwayStartEnabled) nicoViewController.onVideoInitialized(_videoLoadSucceeded); }; this.externalClient.onPlayerReady(); if(this.isThumbWatchMode){ begin(); return; } if(this.flashVars.watchFlashVars.jumpReturnVideoID){ vpos = this.flashVars.watchFlashVars.jumpPlayLength; if(this._startVposConfig.halfwayStartEnabled) vpos += this.flashVars.watchFlashVars.jumpVPosPlayFrom; vpos *= 1000; this.vposWatcher.addWatchPoint(function():void{ //MethodID:106, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 97 internal var params:Object; //slotID:1 params = null; videoController.stop(); params = {}; if(flashVars.watchFlashVars.jumpVPosReturnTo > 0) params.from = flashVars.watchFlashVars.jumpVPosReturnTo; SystemMessage.instance.informJumpMessage(function():void{ //MethodID:105, LocalCount= 4 , MaxScope= 0, MaxStack= 10, CodeLength= 109 var hug1:Object = jumper.tossedObject; var hug2:String = flashVars.watchFlashVars.jumpReturnVideoID; var hug3:Object = {}; if(hug1 && hug1.jumpHistory) hug3 = hug1.jumpHistory; hug3[flashVars.watchID] = true; jumper.jump(hug2, params, false, {jumpFrom:flashVars.watchID, jumpHistory:hug3, jumpHash_:(hug1 ? hug1.jumpHash : undefined)}); }, (flashVars.watchFlashVars.jumpReturnMessage || __MSG__("元の動画にジャンプします"))); }, vpos, 0x7FFFFFFF); } if(!this._startVposConfig.halfwayStartEnabled){ begin(); return; } alreadyBegan = false; EventPipe.serial(new EventChunk(this.video, ["onVideoSeeked"]), this.videoController, EventSequence.bind(function(hug1:String, hug2:Array):EventResult{ //MethodID:107, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 28 if(!alreadyBegan){ alreadyBegan = true; begin(); } return EventResult.BREAK; })); this.videoController.seek(this._startVposConfig.fromMsec, true); } private function initializeCommentLayerView():void { //MethodID:109, LocalCount= 2 , MaxScope= 1, MaxStack= 7, CodeLength= 343 this.commentLayer = new CommentLayer(this.videoLayerManager.commentLayer, this.playerConfig, this.initializeInfo.isPremium); this.commentLayer.addLayer(CommentLayerID.MAIN); this.commentLayer.addLayer(CommentLayerID.OWNER); var hug1:Object = {}; if(this.flashVars.isCommunityThread){ hug1[CommentLayerID.MAIN] = [CommentConstants.CL_PRIVATE, CommentConstants.CL_LOCAL]; hug1[CommentLayerID.OWNER] = [CommentConstants.CL_OWNER]; hug1[CommentLayerID.OPTION] = [CommentConstants.CL_MAIN]; this.commentLayer.addLayer(CommentLayerID.OPTION, 0); this.commentLayer.setOptionalLayer(CommentLayerID.OPTION); }else{ hug1[CommentLayerID.MAIN] = [CommentConstants.CL_MAIN, CommentConstants.CL_LOCAL, CommentConstants.CL_NICOS]; hug1[CommentLayerID.OWNER] = [CommentConstants.CL_OWNER]; } this.commentLayerView = new CommentLayerView(this, this.video, VideoLayerConstants.COMMENT_LAYER_SD_WIDTH, VideoLayerConstants.COMMENT_LAYER_SD_HEIGHT, this.getFLV.videoLength); this.commentViewTransformer = new CommentViewTransformer(hug1, this.commentLayer, this.commentLayerView, (this.nicosClient ? this.nicosClient.player : null)); if(this.isThumbWatchMode && this.flashVars.thumbFlashVars && this.flashVars.thumbFlashVars.isP4Mode) this.commentViewTransformer.setP4Mode(); } private function threadStatusCodeToMessage(hug1:int):String { //MethodID:110, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 415 var hug2:XMLList = null; var hug3:int = hug1; switch(hug3){ case MessageServerClient.THREAD_FOUND: return __MSG__("..."); case MessageServerClient.THREAD_INVALID: return __MSG__("メッセージサーバーへの接続に失敗"); case MessageServerClient.THREAD_NOT_FOUND: hug2 = this.playerInfo.getThreadError; if(hug2 && (hug2.thread_not_found != "")) SystemMessage.instance.alert(hug2.thread_not_found); return __MSG__("スレッドが見つかりません"); case MessageServerClient.THREAD_VERSION: return __MSG__("プレイヤーのバージョンが不正"); case MessageServerClient.THREAD_INVALID_ADMINKEY: return __MSG__("AdminKeyが不正"); case MessageServerClient.THREAD_TOO_OLD_ADMINKEY: return __MSG__("AdminKeyが失効"); case MessageServerClient.THREAD_INVALID_WAYBACKKEY: return __MSG__("WaybackKeyが不正"); case MessageServerClient.THREAD_TOO_OLD_WAYBACKKEY: return __MSG__("WaybackKeyが失効"); case MessageServerClient.THREAD_INVALID_THREADKEY: return __MSG__("ThreadKeyが不正"); case MessageServerClient.THREAD_TOO_OLD_THREADKEY: return __MSG__("ThreadKeyが失効"); default: return __MSG__("不明なエラー:code=[code]", hug1); break; } } private function _loadThumbViewSWF():void { //MethodID:112, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 42 HTTPUtils.loadSWF(EventSequence.bind(function(hug1:*):void{ //MethodID:111, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 73 if(!hug1) throw new Error("NicoPlayer._loadThumbViewSWF: load failure."); if(!hug1 is MovieClip) throw new Error("NicoPlayer._loadThumbViewSWF: content is not MovieClip."); addChild(hug1 as DisplayObject); (hug1 as DisplayObject).visible = false; nicoViewControllerClient.viewRoot = hug1; EventSequence.current.next(); }), this.configure.THUMBPLAYER_VIEW_URL, {t:this.playerVersion.thumbplayerView}); } private function _loadThumbControllerSWF():void { //MethodID:114, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 42 HTTPUtils.loadSWF(EventSequence.bind(function(hug1:*):void{ //MethodID:113, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 67 if(!hug1) throw new Error("NicoPlayer._loadThumbControllerSWF: load failure."); nicoViewController = INicoViewController(hug1); if(!nicoViewController) throw new Error("NicoPlayer._loadThumbControllerSWF: content is not INicoViewController."); nicoViewController.startInit(nicoViewControllerClient); EventSequence.current.next(); }), this.configure.THUMBPLAYER_CONTROLLER_URL, {t:this.playerVersion.thumbplayerController}); } private function _loadThumbVideoInfo():void { //MethodID:116, LocalCount= 2 , MaxScope= 2, MaxStack= 6, CodeLength= 148 internal var apiParams:Object; //slotID:1 apiParams = {}; apiParams["as3"] = "1"; apiParams["v"] = this.flashVars.watchID; apiParams["k"] = this.flashVars.thumbFlashVars.thumbPlayKey; if(this.flashVars.forceLowMode) apiParams["lo"] = "1"; if(this.flashVars.economyMode) apiParams["eco"] = this.flashVars.economyMode; this.getFLV = new GetFLV(this.configure.THUMBWATCH_URL, apiParams, EventSequence.bind(function(hug1:Boolean):void{ //MethodID:115, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 41 nicoViewControllerClient.getFLVData = getFLV; initializeInfo = InitializeInfo.getInstance(); nicoViewControllerClient.initializeInfo = initializeInfo; EventSequence.current.next(); })); } private function _initializeModelAndViewThumbWatch():void { //MethodID:119, LocalCount= 2 , MaxScope= 2, MaxStack= 7, CodeLength= 118 if(this.flashVars.thumbFlashVars.thumbComment){ this.commentRouter = new CommentRouter(this.flashVars, this.playerConfig, null, this.nicosClient, this.initializeInfo.isPremium); this.commentRouter.onCommentPostErorr.add(function(hug1:String):void{ //MethodID:117, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 346 var hug2:String = hug1; switch(hug2){ case CommentRouter.ERROR_POST_184: systemMessage.informComment(__MSG__("チャンネルとコミュニティ動画では184コマンドを使用できません。")); break; case CommentRouter.ERROR_POST_BUTTON_ARGUMENTS: case CommentRouter.ERROR_POST_BUTTON_ONCE: case CommentRouter.ERROR_POST_BUTTON_PREMIUM_ONLY: case CommentRouter.ERROR_POST_BUTTON_DISABLED: systemMessage.informComment(__MSG__("@ボタンは、使用できません。")); break; case CommentRouter.ERROR_POST_AT_COMMENT_UNDEFINED: systemMessage.informComment(__MSG__("その@コメントは存在しないか、投稿者以外は使えないかのどちらかです。")); break; case CommentRouter.ERROR_POST_INITIALIZE: systemMessage.informComment(__MSG__("コメント投稿の準備が未完了です。")); break; case CommentRouter.ERROR_POST_SAME_COMMENT: systemMessage.informComment(__MSG__("同じコメントを連続で投稿することができません。")); break; case CommentRouter.ERROR_POST_CHANNEL_FILTER: systemMessage.informComment(__MSG__("入力されたコメントはチャンネルにより規制されています。")); break; default: break; } }); this.commentRouter.onCommentHavingMacro.add(function(hug1:IMacroParserResult):void{ //MethodID:118, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 22 if(hug1.macroName == "ピザ") systemMessage.informComment("@ピザは、使用できません。"); }); if(this.nicosClient) this.nicosClient.commentRouter = this.commentRouter; this.nicoViewControllerClient.commentRouter = this.commentRouter; } EventSequence.current.next(); } } } //■script002■ package{ import jp.nicovideo.nicoplayer.NicoPlayer //■class(instance)_index:2 public class nicoplayer extends NicoPlayer { //static constructor public static function nicoplayer$cinit() { //MethodID:121, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function nicoplayer() { //MethodID:122, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script003■ package jp.nicovideo.ext.config{ //■class(instance)_index:3 public interface IThumbConfig { //static constructor public static function IThumbConfig$cinit() { //MethodID:124, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get nicovideoURL():String; //MethodID:125, dispID:0 function get playerURL():String; //MethodID:126, dispID:0 //constructor public function IThumbConfig(); //MethodID:127, dispID:0 } } //■script004■ package jp.nicovideo.nicoplayer.models.flashvars{ //■class(instance)_index:4 public class NicoFlashVars extends Object { //static constructor public static function NicoFlashVars$cinit() { //MethodID:129, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27 LEAF_NO_LOCK = 0; LEAF_HIDDEN_MENU = 1; LEAF_DISABLE = 2; } //static variables/etc. public static const LEAF_NO_LOCK:uint = 0; //slotID:1 public static const LEAF_HIDDEN_MENU:uint = 1; //slotID:2 public static const LEAF_DISABLE:uint = 2; //slotID:3 //variables/etc. private var _watchFlashVars:WatchFlashVars; //slotID:0 private var _thumbFlashVars:ThumbFlashVars; //slotID:0 private var _watchID:String; //slotID:0 private var _originalVideoID:String; //slotID:0 private var _mylistCount:uint; //slotID:0 private var _videoType:String; //slotID:0 private var _videoTitle:String = ""; //slotID:0 private var _videoDescription:String = ""; //slotID:0 private var _isMymemory:Boolean; //slotID:0 private var _waitsSWFVideoInit:Boolean; //slotID:0 private var _forceLowMode:Boolean; //slotID:0 private var _economyMode:String; //slotID:0 private var _playerVersionUpdated:String; //slotID:0 private var _playerInfoUpdated:String; //slotID:0 private var _isCommunityVideo:Boolean; //slotID:0 private var _isCommunityThread:Boolean; //slotID:0 private var _hasOwnerThread:Boolean; //slotID:0 private var _isDeepenedCommentForce:Boolean; //slotID:0 private var _isChannel:Boolean; //slotID:0 private var _isNoComment:Boolean; //slotID:0 private var _importedBGMVideos:Array; //slotID:0 private var _category:String; //slotID:0 private var _categoryGroup:String; //slotID:0 private var _communityID:String; //slotID:0 private var _communityGlobalID:String; //slotID:0 private var _isNoCommand:Boolean; //slotID:0 private var _isNoAtComment:Boolean; //slotID:0 private var _isWide:Boolean; //slotID:0 private var _countryCode:String; //slotID:0 private var _videoDetail:Object; //slotID:0 private var _leafSwitch:uint = 0; //slotID:0 private var _noRelation:Boolean; //slotID:0 private var _noRelatedVideo:Boolean; //slotID:0 public function get watchID():String { //MethodID:130, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._watchID; } internal function set watchID(hug1:String):void { //MethodID:131, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._watchID = hug1; } public function get originalVideoID():String { //MethodID:132, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._originalVideoID; } internal function set originalVideoID(hug1:String):void { //MethodID:133, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._originalVideoID = hug1; } public function get mylistCount():uint { //MethodID:134, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._mylistCount; } internal function set mylistCount(hug1:uint):void { //MethodID:135, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._mylistCount = hug1; } public function get videoType():String { //MethodID:136, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoType; } internal function set videoType(hug1:String):void { //MethodID:137, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._videoType = hug1; } public function get videoTitle():String { //MethodID:138, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoTitle; } internal function set videoTitle(hug1:String):void { //MethodID:139, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._videoTitle = hug1; } public function get videoDescription():String { //MethodID:140, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoDescription; } internal function set videoDescription(hug1:String):void { //MethodID:141, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._videoDescription = hug1; } public function get isMymemory():Boolean { //MethodID:142, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isMymemory; } internal function set isMymemory(hug1:Boolean):void { //MethodID:143, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isMymemory = hug1; } public function get waitsSWFVideoInit():Boolean { //MethodID:144, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._waitsSWFVideoInit; } internal function set waitsSWFVideoInit(hug1:Boolean):void { //MethodID:145, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._waitsSWFVideoInit = hug1; } public function get forceLowMode():Boolean { //MethodID:146, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._forceLowMode; } internal function set forceLowMode(hug1:Boolean):void { //MethodID:147, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._forceLowMode = hug1; } public function get economyMode():String { //MethodID:148, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._economyMode; } internal function set economyMode(hug1:String):void { //MethodID:149, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._economyMode = hug1; } public function get playerVersionUpdated():String { //MethodID:150, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playerVersionUpdated; } internal function set playerVersionUpdated(hug1:String):void { //MethodID:151, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._playerVersionUpdated = hug1; } public function get playerInfoUpdated():String { //MethodID:152, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playerInfoUpdated; } internal function set playerInfoUpdated(hug1:String):void { //MethodID:153, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._playerInfoUpdated = hug1; } public function get isCommunityVideo():Boolean { //MethodID:154, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isCommunityVideo; } internal function set isCommunityVideo(hug1:Boolean):void { //MethodID:155, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isCommunityVideo = hug1; } public function get isCommunityThread():Boolean { //MethodID:156, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isCommunityThread; } internal function set isCommunityThread(hug1:Boolean):void { //MethodID:157, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isCommunityThread = hug1; } public function get hasOwnerThread():Boolean { //MethodID:158, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hasOwnerThread; } internal function set hasOwnerThread(hug1:Boolean):void { //MethodID:159, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._hasOwnerThread = hug1; } public function get isDeepenedCommentForce():Boolean { //MethodID:160, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isDeepenedCommentForce; } internal function set isDeepenedCommentForce(hug1:Boolean):void { //MethodID:161, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isDeepenedCommentForce = hug1; } public function get importedBGMVideos():Array { //MethodID:162, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._importedBGMVideos; } internal function set importedBGMVideos(hug1:Array):void { //MethodID:163, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._importedBGMVideos = hug1; } public function get isChannel():Boolean { //MethodID:164, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isChannel; } internal function set isChannel(hug1:Boolean):void { //MethodID:165, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isChannel = hug1; } public function get isNoComment():Boolean { //MethodID:166, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isNoComment; } internal function set isNoComment(hug1:Boolean):void { //MethodID:167, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isNoComment = hug1; } public function get category():String { //MethodID:168, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._category; } internal function set category(hug1:String):void { //MethodID:169, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._category = hug1; } public function get categoryGroup():String { //MethodID:170, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._categoryGroup; } internal function set categoryGroup(hug1:String):void { //MethodID:171, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._categoryGroup = hug1; } public function get watchFlashVars():WatchFlashVars { //MethodID:172, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._watchFlashVars; } internal function set watchFlashVars(hug1:WatchFlashVars):void { //MethodID:173, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._watchFlashVars = hug1; } public function get thumbFlashVars():ThumbFlashVars { //MethodID:174, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._thumbFlashVars; } internal function set thumbFlashVars(hug1:ThumbFlashVars):void { //MethodID:175, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._thumbFlashVars = hug1; } public function get communityID():String { //MethodID:176, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._communityID; } internal function set communityID(hug1:String):void { //MethodID:177, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._communityID = hug1; } public function get communityGlobalID():String { //MethodID:178, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._communityGlobalID; } internal function set communityGlobalID(hug1:String):void { //MethodID:179, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._communityGlobalID = hug1; } public function get isNoCommand():Boolean { //MethodID:180, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isNoCommand; } internal function set isNoCommand(hug1:Boolean):void { //MethodID:181, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isNoCommand = hug1; } public function get isNoAtComment():Boolean { //MethodID:182, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isNoAtComment; } internal function set isNoAtComment(hug1:Boolean):void { //MethodID:183, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isNoAtComment = hug1; } public function get isWide():Boolean { //MethodID:184, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isWide; } internal function set isWide(hug1:Boolean):void { //MethodID:185, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isWide = hug1; } public function get countryCode():String { //MethodID:186, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._countryCode; } internal function set countryCode(hug1:String):void { //MethodID:187, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._countryCode = hug1; } public function get videoDetail():Object { //MethodID:188, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoDetail; } internal function set videoDetail(hug1:Object):void { //MethodID:189, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._videoDetail = hug1; } public function get leafSwitch():uint { //MethodID:190, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._leafSwitch; } internal function set leafSwitch(hug1:uint):void { //MethodID:191, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._leafSwitch = hug1; } public function get forceRelationInvisible():Boolean { //MethodID:192, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._noRelation; } internal function set forceRelationInvisible(hug1:Boolean):void { //MethodID:193, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._noRelation = hug1; } public function get noRelatedVideo():Boolean { //MethodID:194, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._noRelatedVideo; } internal function set noRelatedVideo(hug1:Boolean):void { //MethodID:195, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._noRelatedVideo = hug1; } //constructor public function NicoFlashVars() { //MethodID:196, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script005■ package jp.nicovideo.nicoplayer.models.video{ //■class(instance)_index:5 public class VideoType extends Object { //static constructor public static function VideoType$cinit() { //MethodID:198, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 FLV = "flv"; MP4 = "mp4"; SWF = "swf"; } //static variables/etc. public static const FLV:String = "flv"; //slotID:1 public static const MP4:String = "mp4"; //slotID:2 public static const SWF:String = "swf"; //slotID:3 //constructor public function VideoType() { //MethodID:199, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script006■ package jp.nicovideo.nicoplayer.views.comment{ //■class(instance)_index:6 public class CommentLayerID extends Object { //static constructor public static function CommentLayerID$cinit() { //MethodID:201, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 MAIN = "main"; OWNER = "owner"; OPTION = "option"; } //static variables/etc. public static const MAIN:String = "main"; //slotID:1 public static const OWNER:String = "owner"; //slotID:2 public static const OPTION:String = "option"; //slotID:3 //constructor public function CommentLayerID() { //MethodID:202, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script007■ package jp.nicovideo.nicoplayer.models.video.swf{ //■class(instance)_index:7 public interface ISWFVideoClient { //static constructor public static function ISWFVideoClient$cinit() { //MethodID:204, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function getSourceData(hug1:Function):void; //MethodID:205, dispID:0 //constructor public function ISWFVideoClient(); //MethodID:206, dispID:0 } } //■script008■ package jp.nicovideo.nicoplayer.models.video{ //■class(instance)_index:8 public interface ITimeline { //static constructor public static function ITimeline$cinit() { //MethodID:208, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get length():Number; //MethodID:209, dispID:0 function get vpos():Number; //MethodID:210, dispID:0 function get isInitialized():Boolean; //MethodID:211, dispID:0 //constructor public function ITimeline(); //MethodID:212, dispID:0 } } //■script009■ package jp.nicovideo.nicoplayer.models.video{ import flash.display.DisplayObject import jp.nicovideo.util.Functions //■class(instance)_index:9 public interface IVideo implements ITimeline { //static constructor public static function IVideo$cinit() { //MethodID:214, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function load(hug1:Function):void; //MethodID:215, dispID:0 function play():void; //MethodID:216, dispID:0 function stop():void; //MethodID:217, dispID:0 function seek(hug1:Number):void; //MethodID:218, dispID:0 function resize(hug1:Number, hug2:Number):void; //MethodID:219, dispID:0 function get loadedLength():Number; //MethodID:220, dispID:0 function get isPlaying():Boolean; //MethodID:221, dispID:0 function get isPausing():Boolean; //MethodID:222, dispID:0 function get isSeeking():Boolean; //MethodID:223, dispID:0 function get isEnd():Boolean; //MethodID:224, dispID:0 function get isBuffering():Boolean; //MethodID:225, dispID:0 function set isLoop(hug1:Boolean):void; //MethodID:226, dispID:0 function set volume(hug1:Number):void; //MethodID:227, dispID:0 function get isControllable():Boolean; //MethodID:228, dispID:0 function get videoPlayerStatus():String; //MethodID:229, dispID:0 function get layer():DisplayObject; //MethodID:230, dispID:0 function get onVideoBufferingStarted():Functions; //MethodID:231, dispID:0 function get onVideoLoadComplete():Functions; //MethodID:232, dispID:0 function get contentWidth():int; //MethodID:233, dispID:0 function get contentHeight():int; //MethodID:234, dispID:0 //constructor public function IVideo(); //MethodID:235, dispID:0 } } //■script010■ package jp.nicovideo.nicoplayer.models.video{ import flash.display.DisplayObject import jp.nicovideo.util.Functions //■class(instance)_index:10 public interface IChildVideo implements IVideo { //static constructor public static function IChildVideo$cinit() { //MethodID:237, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function close():void; //MethodID:238, dispID:0 function get onVideoEnded():Functions; //MethodID:239, dispID:0 function get onVideoSeeked():Functions; //MethodID:240, dispID:0 function get onVideoSeeking():Functions; //MethodID:241, dispID:0 function get onVideoPlayed():Functions; //MethodID:242, dispID:0 function get onVideoStopped():Functions; //MethodID:243, dispID:0 function get onVideoError():Functions; //MethodID:244, dispID:0 function get source():DisplayObject; //MethodID:245, dispID:0 //constructor public function IChildVideo(); //MethodID:246, dispID:0 } } //■script011■ package jp.nicovideo.nicoplayer.models.video.swf{ //■class(instance)_index:11 public interface IGameRankingClient implements ISWFVideoClient { //static constructor public static function IGameRankingClient$cinit() { //MethodID:248, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function getThumbnailURL(hug1:String, hug2:Function):void; //MethodID:249, dispID:0 //constructor public function IGameRankingClient(); //MethodID:250, dispID:0 } } //■script012■ package jp.nicovideo.nicoplayer.models.video{ import flash.display.DisplayObject import flash.display.Loader import flash.display.LoaderInfo import flash.display.MovieClip import flash.display.Sprite import flash.events.Event import flash.events.EventDispatcher import flash.events.IOErrorEvent import flash.events.ProgressEvent import flash.events.SecurityErrorEvent import flash.media.SoundTransform import flash.net.URLRequest import flash.system.ApplicationDomain import flash.system.LoaderContext import flash.system.Security import flash.system.SecurityDomain import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.nicoplayer.models.video.swf.ISWFVideoClient import jp.nicovideo.nicoplayer.models.video.swf.ISWFVideoContent import jp.nicovideo.nicoplayer.models.video.swf.SWFVideoType import jp.nicovideo.util.Functions import jp.nicovideo.util.ObjectUtils import jp.nicovideo.util.StringUtils import org.libspark.utils.ForcibleLoader use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:12 public class SWFVideo extends Object implements IChildVideo { //static constructor public static function SWFVideo$cinit() { //MethodID:252, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function SWFVideo(hug1:String, hug2:Sprite, hug3:Number, hug4:Boolean=false, hug5:String, hug6:NicoConfig=null, hug7:String, hug8:Boolean=false) { //MethodID:253, LocalCount= 9 , MaxScope= 1, MaxStack= 2, CodeLength= 156 this._onVideoEnded = new Functions(); this._onVideoSeeked = new Functions(); this._onVideoSeeking = new Functions(); this._onVideoPlayed = new Functions(); this._onVideoStopped = new Functions(); this._onVideoBufferingStarted = new Functions(); this._onVideoLoadComplete = new Functions(); this._onVideoError = new Functions(); super(); this._this = this; this._url = hug1; this._length = hug3; this._videoLayer = hug2; this._layerWidth = this._videoLayer.width; this._layerHeight = this._videoLayer.height; this._isAS3 = hug8; if(!hug4) return; this._waitingLoad = true; this._videoTitle = hug5; this._configure = hug6; this._videoID = hug7; } //variables/etc. private var _this:IVideo; //slotID:0 private var _videoLayer:Sprite; //slotID:0 private var _video:MovieClip; //slotID:0 private var _url:String; //slotID:0 private var _length:Number; //slotID:0 private var _bytesLoaded:uint = 0; //slotID:0 private var _bytesTotal:uint; //slotID:0 private var _isInitialized:Boolean = false; //slotID:0 private var _isLoaded:Boolean = false; //slotID:0 private var _isPlaying:Boolean = false; //slotID:0 private var _waitingLoad:Boolean = false; //slotID:0 private var _videoTitle:String; //slotID:0 private var _configure:NicoConfig; //slotID:0 private var _videoID:String; //slotID:0 private var _isLoop:Boolean; //slotID:0 private const _onVideoEnded:Functions; //slotID:0 private const _onVideoSeeked:Functions; //slotID:0 private const _onVideoSeeking:Functions; //slotID:0 private const _onVideoPlayed:Functions; //slotID:0 private const _onVideoStopped:Functions; //slotID:0 private const _onVideoBufferingStarted:Functions; //slotID:0 private const _onVideoLoadComplete:Functions; //slotID:0 private const _onVideoError:Functions; //slotID:0 private var _isAS3:Boolean = false; //slotID:0 private var _isLoading:Boolean = false; //slotID:0 private var _isPausing:Boolean = true; //slotID:0 private var _isEnd:Boolean = false; //slotID:0 private var _isSeeking:Boolean = false; //slotID:0 private var _layerWidth:int; //slotID:0 private var _layerHeight:int; //slotID:0 private var _contentWidth:int; //slotID:0 private var _contentHeight:int; //slotID:0 public function get movieClip():MovieClip { //MethodID:254, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._video; } public function load(hug1:Function):void { //MethodID:261, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 414 internal var f:Function; //slotID:1 internal var loader:Loader; //slotID:2 internal var context:LoaderContext; //slotID:3 internal var request:URLRequest; //slotID:4 internal var info:LoaderInfo; //slotID:5 internal var applied:Boolean; //slotID:6 internal var ioErrorHandler:Function; //slotID:7 internal var securityErrorHandler:Function; //slotID:8 internal var eventDispatcher:EventDispatcher; //slotID:9 info = null; applied = false; ioErrorHandler = null; securityErrorHandler = null; eventDispatcher = null; f = hug1; ioErrorHandler = function(hug1:IOErrorEvent):void{ //MethodID:255, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 17 _isLoading = false; f(false); }; securityErrorHandler = function(hug1:SecurityErrorEvent):void{ //MethodID:256, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 17 _isLoading = false; f(false); }; loader = new Loader(); context = new LoaderContext(false, ApplicationDomain.currentDomain, ((Security.sandboxType == Security.REMOTE) ? SecurityDomain.currentDomain : null)); request = new URLRequest(this._url); info = loader.contentLoaderInfo; info.addEventListener(Event.INIT, function(hug1:Event):void{ //MethodID:257, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 160 _bytesLoaded = info.bytesLoaded; _video = (hug1.target.content as MovieClip); _contentWidth = hug1.target.width; _contentHeight = hug1.target.height; if(!_video){ f(false); return; } _video.stop(); _video.soundTransform = new SoundTransform(0.0); _length = ((_video.totalFrames / 25) * 1000); resize(_layerWidth, _layerHeight); if(_waitingLoad){ initializeSWFVideo(f); return; } _isInitialized = true; f(true); }); info.addEventListener(Event.COMPLETE, function(hug1:Event):void{ //MethodID:258, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 15 _isLoaded = true; _isLoading = false; }); applied = false; info.addEventListener(ProgressEvent.PROGRESS, function(hug1:ProgressEvent):void{ //MethodID:259, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 55 _bytesTotal = hug1.bytesTotal; _bytesLoaded = hug1.bytesLoaded; if(!applied && (_bytesTotal > 0)){ applied = true; _onVideoBufferingStarted.apply(); } }); info.addEventListener(Event.COMPLETE, function(hug1:Event):void{ //MethodID:260, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 11 _onVideoLoadComplete.apply(_bytesTotal); }); info.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); info.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); this._videoLayer.addChild(loader); this._isLoading = true; try{ if(this._isAS3){ loader.load(request, context); }else{ eventDispatcher = new EventDispatcher(); eventDispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); eventDispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); new ForcibleLoader(loader, eventDispatcher).load(request); } } catch(error:Error){ ObjectUtils.callLater(f, false); } } public function resize(hug1:Number, hug2:Number):void { //MethodID:262, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 199 this._layerWidth = hug1; this._layerHeight = hug2; if(!this._video || (this._contentWidth <= 0) || (this._contentHeight <= 0)) return; var hug3:Number = 1; if((this._contentHeight / this._contentWidth) < (hug2 / hug1)){ hug3 = (this._layerWidth / this._contentWidth); var hug4:Number = hug3; this._video.scaleY = hug4; this._video.scaleX = hug4; this._video.x = 0; this._video.y = ((this._layerHeight - (this._contentHeight * hug3)) / 2); }else{ hug3 = (this._layerHeight / this._contentHeight); var hug4:Number = hug3; this._video.scaleY = hug4; this._video.scaleX = hug4; this._video.x = ((this._layerWidth - (this._contentWidth * hug3)) / 2); this._video.y = 0; } } public function get isPlaying():Boolean { //MethodID:263, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isPlaying; } public function get isPausing():Boolean { //MethodID:264, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isPausing; } public function get isSeeking():Boolean { //MethodID:265, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isSeeking; } public function get isEnd():Boolean { //MethodID:266, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isEnd; } public function get isBuffering():Boolean { //MethodID:267, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isLoading; } public function set volume(hug1:Number):void { //MethodID:268, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 149 if((hug1 < 0) || (hug1 > 1)) return; hug1 *= 100; if(hug1 == 0){ this._video.soundTransform = new SoundTransform(0); return; } if(hug1 == 100){ this._video.soundTransform = new SoundTransform(1); return; } hug1 = ((hug1 * (4 / 5)) + 20); var hug2:Number = this._getACurb(100); var hug3:Number = (this._getACurb(hug1) * (1 / hug2)); if(hug3 < 0.01){ this._video.soundTransform = new SoundTransform(0.01); return; } this._video.soundTransform = new SoundTransform(hug3); } private function _getACurb(hug1:Number):Number { //MethodID:269, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 35 return (((0.6838 * Math.pow(hug1, 3)) - (1.7262 * Math.pow(hug1, 2))) + (2.4252 * hug1)); } private function initializeSWFVideo(hug1:Function):void { //MethodID:271, LocalCount= 3 , MaxScope= 2, MaxStack= 7, CodeLength= 198 internal var f:Function; //slotID:1 internal var content:ISWFVideoContent; //slotID:2 internal var client:ISWFVideoClient; //slotID:3 client = null; f = hug1; content = ISWFVideoContent(this._video); if(!content) throw new Error("SWFVideo.initializeSWFVideo: invalid type."); if(content.videoType == SWFVideoType.INTERRUPT_GAME_RANKING){ client = new _GameRankingClient(this._videoID, this._configure.GETGAMERANKING_URL, this._configure.GETTHUMBINFO_URL); }else if(content.videoType == SWFVideoType.INTERRUPT_ENQUETE_RESULT){ client = new _SWFVideoClient(this._videoID, StringUtils.joinQuery(this._configure.GETENQUESTERESULT_URL, {enquete_id:this._videoID})); }else{ throw new Error("SWFVideo.initializeSWFVideo: invalid videoType."); } content.initialize(client, function():void{ //MethodID:270, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 17 _isInitialized = true; f(true); }); } private function _onEnterFrame(hug1:Event):void { //MethodID:272, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 68 if(!this._isEnd && (this._video.currentFrame == this._video.totalFrames)){ this._video.stop(); this._isPausing = false; this._isPlaying = false; this._isEnd = true; this._onVideoEnded.apply(this._isLoop); } } public function play():void { //MethodID:273, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 64 this._video.gotoAndPlay(this._video.currentFrame); this._isPlaying = true; this._isPausing = false; this._isEnd = false; this._video.addEventListener(Event.ENTER_FRAME, this._onEnterFrame); ObjectUtils.callLater(this._onVideoPlayed.apply); } public function stop():void { //MethodID:274, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 47 this._video.stop(); this._isPausing = true; this._video.removeEventListener(Event.ENTER_FRAME, this._onEnterFrame); ObjectUtils.callLater(this._onVideoStopped.apply); } public function close():void { //MethodID:275, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function seek(hug1:Number):void { //MethodID:277, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 65 internal var vpos:Number; //slotID:1 internal var _frame:uint; //slotID:2 _frame = 0; vpos = hug1; this._isEnd = false; this._isSeeking = true; _frame = (Math.round((vpos / 1000) * 25) + 1); ObjectUtils.callLater(function():void{ //MethodID:276, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 49 _isSeeking = false; if(_isPausing){ _video.gotoAndStop(_frame); }else{ _video.gotoAndPlay(_frame); } _onVideoSeeked.apply(vpos); }); } public function get length():Number { //MethodID:278, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._length; } public function get loadedLength():Number { //MethodID:279, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 32 return ((Number(this._bytesLoaded) / Number(this._bytesTotal)) * Number(this._length)); } public function get vpos():Number { //MethodID:280, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18 return (((this._video.currentFrame - 1) / 25) * 1000); } public function get isInitialized():Boolean { //MethodID:281, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isInitialized; } public function get isControllable():Boolean { //MethodID:282, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isInitialized; } public function set isLoop(hug1:Boolean):void { //MethodID:283, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isLoop = hug1; } public function get onVideoSeeked():Functions { //MethodID:284, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoSeeked; } public function get onVideoSeeking():Functions { //MethodID:285, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoSeeking; } public function get onVideoPlayed():Functions { //MethodID:286, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoPlayed; } public function get onVideoStopped():Functions { //MethodID:287, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoStopped; } public function get onVideoEnded():Functions { //MethodID:288, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoEnded; } public function get onVideoBufferingStarted():Functions { //MethodID:289, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoBufferingStarted; } public function get onVideoLoadComplete():Functions { //MethodID:290, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoLoadComplete; } public function get onVideoError():Functions { //MethodID:291, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoError; } public function get layer():DisplayObject { //MethodID:292, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoLayer; } public function get source():DisplayObject { //MethodID:293, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._video; } public function get videoPlayerStatus():String { //MethodID:294, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 69 if(this._isEnd) return VideoPlayerStatus.END; if(this._isPlaying){ if(this._isPausing) return VideoPlayerStatus.PAUSED; return VideoPlayerStatus.PLAYING; } if(this._isLoading) return VideoPlayerStatus.LOADING; return VideoPlayerStatus.STOPPED; } public function get contentWidth():int { //MethodID:295, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._contentWidth; } public function get contentHeight():int { //MethodID:296, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._contentHeight; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get videoLayer():Sprite { //MethodID:297, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoLayer; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get video():MovieClip { //MethodID:298, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._video; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get isLoop():Boolean { //MethodID:299, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isLoop; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get waitingLoad():Boolean { //MethodID:300, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._waitingLoad; } } } import flash.events.Event import flash.events.IOErrorEvent import flash.events.SecurityErrorEvent import flash.net.URLLoader import flash.net.URLRequest import jp.nicovideo.util.StringUtils //■class(instance)_index:13 //private class _SWFVideoClient extends Object implements ISWFVideoClient { //static constructor public static function _SWFVideoClient$cinit() { //MethodID:301, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _SWFVideoClient(hug1:String, hug2:String):void { //MethodID:302, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16 super(); this._videoID = hug1; this._apiURL = hug2; } //variables/etc. private var _videoID:String; //slotID:0 private var _apiURL:String; //slotID:0 public function getSourceData(hug1:Function):void { //MethodID:306, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 99 private var callback:Function; //slotID:1 private var loader:URLLoader; //slotID:2 loader = null; callback = hug1; loader = new URLLoader(); loader.load(new URLRequest(this._apiURL)); loader.addEventListener(Event.COMPLETE, function(hug1:Event):void{ //MethodID:303, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 58 var hug2:XML = new XML(loader.data); if(hug2.attribute("status").toString() == "ok"){ callback(true, hug2); }else{ callback(false, null); } }); loader.addEventListener(IOErrorEvent.IO_ERROR, function(hug1:IOErrorEvent):void{ //MethodID:304, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 11 callback(false, null); }); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(hug1:SecurityErrorEvent):void{ //MethodID:305, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 11 callback(false, null); }); } } //■class(instance)_index:14 //private class _GameRankingClient extends Object implements IGameRankingClient { //static constructor public static function _GameRankingClient$cinit() { //MethodID:307, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _GameRankingClient(hug1:String, hug2:String, hug3:String):void { //MethodID:308, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 34 super(); this._videoID = hug1; this._getGameRankURL = StringUtils.joinQuery(hug2, {game_id:hug1}); this._getThumbInfoURL = hug3; } //variables/etc. private var _videoID:String; //slotID:0 private var _getGameRankURL:String; //slotID:0 private var _getThumbInfoURL:String; //slotID:0 public function getSourceData(hug1:Function):void { //MethodID:312, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 99 private var callback:Function; //slotID:1 private var loader:URLLoader; //slotID:2 loader = null; callback = hug1; loader = new URLLoader(); loader.load(new URLRequest(this._getGameRankURL)); loader.addEventListener(Event.COMPLETE, function(hug1:Event):void{ //MethodID:309, LocalCount= 2 , MaxScope= 0, MaxStack= 4, CodeLength= 21 callback(true, new XML(loader.data)); }); loader.addEventListener(IOErrorEvent.IO_ERROR, function(hug1:IOErrorEvent):void{ //MethodID:310, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 11 callback(false, null); }); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(hug1:SecurityErrorEvent):void{ //MethodID:311, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 11 callback(false, null); }); } public function getThumbnailURL(hug1:String, hug2:Function):void { //MethodID:316, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 109 private var videoID:String; //slotID:1 private var callback:Function; //slotID:2 private var loader:URLLoader; //slotID:3 loader = null; videoID = hug1; callback = hug2; loader = new URLLoader(); loader.load(new URLRequest(this._getThumbInfoURL + videoID)); loader.addEventListener(Event.COMPLETE, function(hug1:Event):void{ //MethodID:313, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 49 var hug2:String = XML(loader.data).thumb.thumbnail_url; if(!hug2){ callback(false, null); }else{ callback(true, hug2); } }); loader.addEventListener(IOErrorEvent.IO_ERROR, function(hug1:IOErrorEvent):void{ //MethodID:314, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 11 callback(false, null); }); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(hug1:SecurityErrorEvent):void{ //MethodID:315, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 11 callback(false, null); }); } } //■script013■ package jp.nicovideo.util.events{ import flash.errors.IllegalOperationError //■class(instance)_index:15 public class EventBarrier extends Object { //static constructor public static function EventBarrier$cinit() { //MethodID:318, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function EventBarrier() { //MethodID:319, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. private var __counter:int = 0; //slotID:0 private var __f:Function; //slotID:0 public function bind(hug1:Function):Function { //MethodID:321, LocalCount= 5 , MaxScope= 2, MaxStack= 2, CodeLength= 55 internal var f:Function; //slotID:1 f = hug1; if(this.__counter <= (-1)) throw new IllegalOperationError("Barrier have been broken."); this.__counter++; return function(... rest):*{ //MethodID:320, LocalCount= 7 , MaxScope= 4, MaxStack= 5, CodeLength= 151 public var args:Array; //slotID:1 internal var args:Object = rest; try{ var hug3:* = f.apply(null, args); return hug3; } finally{ if(((--__counter) <= 0) && (__f is Function)) __finish_0(); } }; } public function finish(hug1:Function=null):void { //MethodID:322, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 37 if(!(hug1 is Function) || (this.__counter <= 0)){ this.__finish_0(hug1); return; } this.__f = hug1; } private function __finish_0(hug1:Function=null):void { //MethodID:323, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 52 if(this.__counter <= (-1)) return; this.__counter = -1; var hug2:Function = this.__f; hug1 = hug2; if(hug1 || hug2) hug1(); } } } //■script014■ package jp.nicovideo.util.api{ //■class(instance)_index:16 public interface IAPICacheProxy { //static constructor public static function IAPICacheProxy$cinit() { //MethodID:325, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function load(hug1:Function, hug2:Boolean):void; //MethodID:326, dispID:0 function get isCacheUsable():Boolean; //MethodID:327, dispID:0 //constructor public function IAPICacheProxy(); //MethodID:328, dispID:0 } } //■script015■ package jp.nicovideo.util.api{ import flash.events.Event import flash.events.IOErrorEvent import flash.events.TimerEvent import flash.net.URLLoader import flash.net.URLRequest import flash.utils.Timer import jp.nicovideo.util.CrossSharedObject import jp.nicovideo.util.ObjectUtils import jp.nicovideo.util.TimeUtils import jp.nicovideo.util.storage.LocalStorage use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:18 public class APICacheProxy extends Object implements IAPICacheProxy { //static constructor public static function APICacheProxy$cinit() { //MethodID:332, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function APICacheProxy(hug1:URLRequest, hug2:Number=0.0, hug3:Number=0.0, hug4:String=null, hug5:Boolean=true) { //MethodID:333, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 147 this._loader = new URLLoader(); this._onLoaded = []; super(); if((hug1 == null) || (hug1.url == null)) throw new ArgumentError("APICacheProxy.APICacheProxy: illegal parameter."); this._request = hug1; this._interval = ((isNaN(hug2) || (hug2 < 0)) ? 0 : hug2); this._cacheExpire = ((isNaN(hug3) || (hug3 < 0)) ? 0 : hug3); this._cacheKey = hug4; this._useCommonCache = hug5; this._constructor(); } //variables/etc. private var _request:URLRequest; //slotID:0 private var _loader:URLLoader; //slotID:0 private var _interval:Number; //slotID:0 private var _cacheExpire:Number = 0.0; //slotID:0 private var _cache:LocalStorage; //slotID:0 private var _cacheData:_CacheData; //slotID:0 private var _onLoaded:Array; //slotID:0 private var _loadTimer:Timer; //slotID:0 private var _isLocked:Boolean = false; //slotID:0 private var _cacheKey:String; //slotID:0 private var _useCommonCache:Boolean; //slotID:0 private function _constructor():void { //MethodID:337, LocalCount= 3 , MaxScope= 5, MaxStack= 5, CodeLength= 295 internal var path:String; //slotID:1 path = this._request.url.replace(new RegExp("[\.\/~\\%&:;\"',<>?#]", "g"), "_"); try{ this._cache = (this._useCommonCache ? CrossSharedObject.getStorage(path) : CrossSharedObject.getStorageNative(path)); this._cacheData = new _CacheData(this._cache.data); } catch(e:Error){ _cache = null; _cacheData = new _CacheData(); } if((((this._cacheData.cacheKey == null) || ((this._cacheKey != null) && (this._cacheData.cacheKey != this._cacheKey))) || isNaN(this._cacheData.lastAccessTime)) || (this._cacheData.source == undefined)){ this._cacheData.cacheKey = ""; this._cacheData.lastAccessTime = -1; this._cacheData.source = null; this._updateCacheData(); } this._loadTimer = new Timer(0, 1); this._loader.addEventListener(Event.COMPLETE, function(hug1:Event):void{ //MethodID:335, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 81 internal var event:Event; //slotID:1 event = hug1; _isLocked = true; _cacheData.cacheKey = _cacheKey; _cacheData.lastAccessTime = TimeUtils.time; _cacheData.source = _loader.data; _updateCacheData(); _reflect(true, _cacheData.source); ObjectUtils.callLater(function():void{ //MethodID:334, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 8 _isLocked = false; }); }); this._loader.addEventListener(IOErrorEvent.IO_ERROR, function(hug1:IOErrorEvent):void{ //MethodID:336, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 10 _reflect(false, null); }); } public function load(hug1:Function, hug2:Boolean):void { //MethodID:340, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 253 internal var callback:Function; //slotID:1 internal var useCache:Boolean; //slotID:2 internal var delay:Number; //slotID:3 internal var source:*; //slotID:4 source = undefined; callback = hug1; useCache = hug2; if(useCache && (this._cache != null) && (this._cache.data.source != null)){ source = this._cache.data.source; ObjectUtils.callLater(callback, (source != null), source); return; } this._onLoaded.push(callback); if(!this._hasExpired){ ObjectUtils.callLater(function():void{ //MethodID:338, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 15 _reflect(true, _cacheData.source); }); return; } if(this._isLocked || this._loadTimer.running) return; delay = (this._cacheData.lastAccessTime + this._interval - TimeUtils.time); delay = ((delay < 1) ? 1 : delay); this._loadTimer.delay = delay; this._loadTimer.repeatCount = 1; this._loadTimer.addEventListener(TimerEvent.TIMER_COMPLETE, function(hug1:TimerEvent):void{ //MethodID:339, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 18 _loadTimer.reset(); _loader.load(_request); }); this._loadTimer.start(); } public function get isCacheUsable():Boolean { //MethodID:341, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26 return ((this._cacheData != null) && (this._cacheData.source != null)); } private function get _hasExpired():Boolean { //MethodID:342, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 41 return ((this._cacheKey != this._cacheData.cacheKey) || ((this._cacheData.lastAccessTime + this._cacheExpire) < TimeUtils.time)); } private function _reflect(hug1:Boolean, hug2:*):void { //MethodID:343, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 68 var hug4:Function = null; var hug3:Array = this._onLoaded.concat(); this._onLoaded = []; for each(hug4 in hug3){ hug4.apply(null, [hug1, hug2]); } } private function _updateCacheData():void { //MethodID:344, LocalCount= 3 , MaxScope= 5, MaxStack= 3, CodeLength= 102 if(!this._cache) return; try{ this._cache.data.cacheKey = this._cacheData.cacheKey; this._cache.data.lastAccessTime = this._cacheData.lastAccessTime; this._cache.data.source = this._cacheData.source; this._cache.flush(); } catch(e:Error){ _cache = null; } } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get cache():LocalStorage { //MethodID:345, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._cache; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get hasExpired():Boolean { //MethodID:346, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hasExpired; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get loadTimer():Timer { //MethodID:347, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._loadTimer; } } } //■class(instance)_index:17 //private class _CacheData extends Object { //static constructor public static function _CacheData$cinit() { //MethodID:330, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _CacheData(hug1:Object=null) { //MethodID:331, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 36 super(); if(!hug1) return; this.source = hug1.source; this.lastAccessTime = hug1.lastAccessTime; this.cacheKey = hug1.cacheKey; } //variables/etc. public var source:*; //slotID:0 public var lastAccessTime:Number; //slotID:0 public var cacheKey:String; //slotID:0 } //■script016■ package jp.nicovideo.nicoplayer.models.video.userSponsor{ import flash.display.Sprite import jp.nicovideo.nicoplayer.models.api.ICapturableVideoContainer import jp.nicovideo.nicoplayer.models.api.IGetSponsorInfo import jp.nicovideo.nicoplayer.models.video.IVposWatcher //■class(instance)_index:19 public interface IUserSponsorVideoClient { //static constructor public static function IUserSponsorVideoClient$cinit() { //MethodID:349, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get info():IGetSponsorInfo; //MethodID:350, dispID:0 function get layer():Sprite; //MethodID:351, dispID:0 function get linkURL():String; //MethodID:352, dispID:0 function get youAlsoLink():String; //MethodID:353, dispID:0 function get capturableVideoContainer():ICapturableVideoContainer; //MethodID:354, dispID:0 function get vposWatcher():IVposWatcher; //MethodID:355, dispID:0 //constructor public function IUserSponsorVideoClient(); //MethodID:356, dispID:0 } } //■script017■ package jp.nicovideo.nicoplayer.models.video.userSponsor{ import flash.display.Sprite import jp.nicovideo.nicoplayer.models.api.ICapturableVideoContainer import jp.nicovideo.nicoplayer.models.api.IGetSponsorInfo import jp.nicovideo.nicoplayer.models.video.IVposWatcher //■class(instance)_index:20 public class UserSponsorVideoClient extends Object implements IUserSponsorVideoClient { //static constructor public static function UserSponsorVideoClient$cinit() { //MethodID:358, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function UserSponsorVideoClient(hug1:IGetSponsorInfo, hug2:Sprite, hug3:String, hug4:String, hug5:ICapturableVideoContainer, hug6:IVposWatcher) { //MethodID:359, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 39 super(); this._info = hug1; this._layer = hug2; this._linkURL = hug3; this._youAlsoLink = hug4; this._capturableVideoContainer = hug5; this._vposWatcher = hug6; } //variables/etc. private var _info:IGetSponsorInfo; //slotID:0 private var _layer:Sprite; //slotID:0 private var _linkURL:String; //slotID:0 private var _youAlsoLink:String; //slotID:0 private var _capturableVideoContainer:ICapturableVideoContainer;//slotID:0 private var _vposWatcher:IVposWatcher; //slotID:0 public function get info():IGetSponsorInfo { //MethodID:360, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._info; } public function get layer():Sprite { //MethodID:361, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._layer; } public function get linkURL():String { //MethodID:362, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._linkURL; } public function get youAlsoLink():String { //MethodID:363, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._youAlsoLink; } public function get capturableVideoContainer():ICapturableVideoContainer { //MethodID:364, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._capturableVideoContainer; } public function get vposWatcher():IVposWatcher { //MethodID:365, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._vposWatcher; } } } //■script018■ package jp.nicovideo.nicoplayer.models{ import jp.nicovideo.util.CrossSharedObject import jp.nicovideo.util.TimeUtils import jp.nicovideo.util.storage.LocalStorage use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:21 public class PlayDelay extends Object { //static constructor public static function PlayDelay$cinit() { //MethodID:367, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 71 OPENPLAYER_INTERVAL = 3000; OPENPLAYER_INTERVAL_PREMIUM = 0; OPENPLAYER_INTERVAL_THUMBWATCH = 1000; SO_RUSH_HOUR_PLAY_COUNT = "rush_hour_play_count"; soRushHourPlayCount = CrossSharedObject.getStorage(SO_RUSH_HOUR_PLAY_COUNT); RUSH_HOUR = "1800-0300"; RUSH_HOUR_PLAY_COUNTER_TTL = 10; } //static variables/etc. private static const OPENPLAYER_INTERVAL:Number = 3000.0; //slotID:1 private static const OPENPLAYER_INTERVAL_PREMIUM:Number = 0.0; //slotID:2 private static const OPENPLAYER_INTERVAL_THUMBWATCH:Number = 1000.0;//slotID:3 private static const SO_RUSH_HOUR_PLAY_COUNT:String = "rush_hour_play_count";//slotID:4 private static var soRushHourPlayCount:LocalStorage; //slotID:5 private static const RUSH_HOUR:String = "1800-0300"; //slotID:6 private static const RUSH_HOUR_PLAY_COUNTER_TTL:Number = 10.0; //slotID:7 private static function _getCount():uint { //dispID:3, MethodID:368, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 155 var hug1:Date = TimeUtils.now(); if(soRushHourPlayCount.data.count == undefined) soRushHourPlayCount.data.count = 0; if(soRushHourPlayCount.data.lastCountUp == undefined) soRushHourPlayCount.data.lastCountUp = hug1; var hug2:uint = soRushHourPlayCount.data.count; var hug3:Date = soRushHourPlayCount.data.lastCountUp; if(!_isRushHour(RUSH_HOUR) || _isRsetCount(RUSH_HOUR_PLAY_COUNTER_TTL, hug3)){ soRushHourPlayCount.data.count = 0; hug2 = 0; } soRushHourPlayCount.data.lastCountUp = hug1; soRushHourPlayCount.flush(); return hug2; } private static function _isRsetCount(hug1:Number, hug2:Date):Boolean { //dispID:4, MethodID:369, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 42 var hug3:Date = TimeUtils.now(); if((hug2.getTime() + ((hug1 * 60 * 60) * 1000)) <= hug3.getTime()) return true; return false; } private static function _isRushHour(hug1:String):Boolean { //dispID:5, MethodID:370, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 132 var hug2:Array = hug1.split("-"); var hug3:Date = TimeUtils.now(); var hug4:Number = ((hug3.getHours() * 100) + hug3.getMinutes()); var hug5:Number = Number(hug2[0]); var hug6:Number = Number(hug2[1]); var hug7:Boolean = false; if(hug5 < hug6){ if((hug5 <= hug4) && (hug4 <= hug6)) hug7 = true; }else if((hug5 <= hug4) || (hug4 <= hug6)){ hug7 = true; } return hug7; } public static function getPlayDelayTime(hug1:Boolean, hug2:Boolean):Number { //dispID:6, MethodID:371, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 80 if(hug2) return Math.max(Math.min((_getCount() * 500), 15000), OPENPLAYER_INTERVAL_THUMBWATCH); if(hug1) return OPENPLAYER_INTERVAL_PREMIUM; return Math.max(Math.min((_getCount() * 500), 15000), OPENPLAYER_INTERVAL); } public static function countUp():void { //dispID:7, MethodID:372, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 49 if(soRushHourPlayCount.data.count == undefined) return; soRushHourPlayCount.data.count++; soRushHourPlayCount.flush(); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) static function isRushHour(hug1:String):Boolean { //dispID:8, MethodID:373, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 return _isRushHour(hug1); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) static function isRsetCount(hug1:Number, hug2:Date):Boolean { //dispID:9, MethodID:374, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 12 return _isRsetCount(hug1, hug2); } //constructor public function PlayDelay() { //MethodID:375, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script019■ package jp.nicovideo.nicoplayer.models.video{ import flash.events.TimerEvent import flash.utils.Timer import jp.nicovideo.util.Functions import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.events.event_sender use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:22 public class VideoLoadWatcher extends Object { //static constructor public static function VideoLoadWatcher$cinit() { //MethodID:377, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 WATCH_DELAY = 1000; } //static variables/etc. public static const WATCH_DELAY:Number = 1000.0; //slotID:1 //constructor public function VideoLoadWatcher() { //MethodID:378, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 53 this.onPlaybackStopped = new Functions(); this.onVideoLoadCompleted = new Functions(); this._watchTimer = new Timer(WATCH_DELAY); super(); this._watchTimer.addEventListener(TimerEvent.TIMER, this._onWatchTimer); } //variables/etc. (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlaybackStopped:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoLoadCompleted:Functions;//slotID:0 private var _prevVpos:Number = -1.0; //slotID:0 private var _watchTimer:Timer; //slotID:0 private var _stoppedCount:uint; //slotID:0 private var _enabled:Boolean = true; //slotID:0 private var _onPlaybackStoppedEventSended:Boolean = false; //slotID:0 private var _hasJustSeeked:Boolean = false; //slotID:0 private var _video:IVideo; //slotID:0 private function _startWatching():void { //MethodID:380, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 103 if(this._video == null) throw new Error("VideoLoadWatcher._startWatching: _video is null."); if(!this._video.isBuffering){ onVideoLoadCompleted.apply(); return; } this._video.onVideoLoadComplete.add(function(hug1:uint, ...args):void{ //MethodID:379, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 44 stopWatching(); onVideoLoadCompleted.apply(); _video.onVideoLoadComplete.remove(args.calee); }); this._watchTimer.reset(); this._watchTimer.start(); this._stoppedCount = 0; this._prevVpos = -1; } public function stopWatching():void { //MethodID:381, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 this._watchTimer.stop(); } private function _onWatchTimer(hug1:TimerEvent):void { //MethodID:382, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 195 if(this._video.isPausing || (this._video.vpos != this._prevVpos) || this._video.isSeeking || !this._video.isBuffering){ if(!this._video.isSeeking && !this._video.isPausing && (this._video.vpos != this._prevVpos)) this._hasJustSeeked = false; this._prevVpos = this._video.vpos; this._onPlaybackStoppedEventSended = false; return; } if(this._hasJustSeeked) return; if(this._onPlaybackStoppedEventSended) return; this._onPlaybackStoppedEventSended = true; this._stoppedCount++; onPlaybackStopped.apply(this._stoppedCount); } public function set enabled(hug1:Boolean):void { //MethodID:383, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 21 this._enabled = hug1; if(!this._enabled) this.stopWatching(); } public function get enabled():Boolean { //MethodID:384, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._enabled; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoInitialized(hug1:Boolean, hug2:IVideo):EventResult { //MethodID:385, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 32 if(!this._enabled) return EventResult.THROUGH; this._video = hug2; this._startWatching(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoSeeked(hug1:Number):EventResult { //MethodID:386, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this._hasJustSeeked = true; return EventResult.THROUGH; } } } //■script020■ package jp.nicovideo.nicoplayer.storages{ //■class(instance)_index:23 public class CommentStorageError extends Object { //static constructor public static function CommentStorageError$cinit() { //MethodID:388, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommentStorageError(hug1:int, hug2:String, hug3:Boolean=false) { //MethodID:389, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 21 super(); this.__status = hug1; this.__message = hug2; this.__isInLowerLayer = hug3; } //variables/etc. private var __status:int; //slotID:0 private var __message:String; //slotID:0 private var __isInLowerLayer:Boolean; //slotID:0 public function get status():int { //MethodID:390, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__status; } public function get message():String { //MethodID:391, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__message; } public function get isInLowerLayer():Boolean { //MethodID:392, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__isInLowerLayer; } } } //■script021■ package jp.nicovideo.nicoplayer.models.mylist{ import jp.nicovideo.util.Functions //■class(instance)_index:24 public interface IDefaultMylistAppendable { //static constructor public static function IDefaultMylistAppendable$cinit() { //MethodID:394, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get onAppendedDefaultMylist():Functions; //MethodID:395, dispID:0 function appendDefaultMylist(hug1:String=null):void; //MethodID:396, dispID:0 function get hasAppendedDefaultMylist():Boolean; //MethodID:397, dispID:0 //constructor public function IDefaultMylistAppendable(); //MethodID:398, dispID:0 } } //■script022■ package jp.nicovideo.nicoplayer.models.mylist{ import flash.errors.IllegalOperationError import flash.net.URLRequestMethod import jp.nicovideo.util.CrossSharedObject import jp.nicovideo.util.Functions import jp.nicovideo.util.TimeUtils import jp.nicovideo.util.storage.LocalStorage //■class(instance)_index:30 public class DefaultMylistAppender extends Object implements IDefaultMylistAppendable { //static constructor public static function DefaultMylistAppender$cinit() { //MethodID:410, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 35 _LOG_TERM = ((3 * 24 * 60 * 60) * 1000); _ON_APPENDED_DEFAULT_MYLIST = new Functions(); } //static variables/etc. private static const _LOG_TERM:Number = 0xF731400; //slotID:1 private static const _ON_APPENDED_DEFAULT_MYLIST:Functions; //slotID:2 //constructor public function DefaultMylistAppender(hug1:Function, hug2:String, hug3:String, hug4:Boolean, hug5:String) { //MethodID:411, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 49 this._appendedLogStorage = CrossSharedObject.getStorage((_SOSetting).NAME, (_SOSetting).PATH); super(); this._loadFunc = hug1; this._apiURL = hug2; this.initialize(hug3, hug4, hug5); } //variables/etc. private var _loadFunc:Function; //slotID:0 private var _apiURL:String; //slotID:0 private var _threadID:String; //slotID:0 private var _hasAppended:Boolean; //slotID:0 private var _csrfToken:String; //slotID:0 private var _appendedLogStorage:LocalStorage; //slotID:0 public function initialize(hug1:String, hug2:Boolean, hug3:String=null):void { //MethodID:412, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 169 var hug4:String = null; var hug5:Number = NaN; this._threadID = hug1; this._hasAppended = hug2; if(hug3 != null) this._csrfToken = hug3; _ON_APPENDED_DEFAULT_MYLIST.clear(); if(!this._hasAppended){ for(hug4 in this._appendedLogStorage.data){ hug5 = Number(this._appendedLogStorage.data[hug4]); if(isNaN(hug5) || ((hug5 + _LOG_TERM) < TimeUtils.time)){ delete this._appendedLogStorage.data[hug4]; }else if(hug4 == this._threadID){ this._hasAppended = true; } } } } public function get onAppendedDefaultMylist():Functions { //MethodID:413, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 return _ON_APPENDED_DEFAULT_MYLIST; } public function appendDefaultMylist(hug1:String=null):void { //MethodID:415, LocalCount= 3 , MaxScope= 2, MaxStack= 5, CodeLength= 140 internal var description:String = null; //slotID:1 internal var parameters:Object; //slotID:2 description = hug1; if(this._hasAppended) throw new IllegalOperationError("DefaultMylistAppender.appendDefaultMylist: has appended already."); parameters = {}; parameters[(_RequestParameterKey).ITEM_TYPE] = (_ItemType).VIDEO; parameters[(_RequestParameterKey).ITEM_ID] = this._threadID; if(description != null) parameters[(_RequestParameterKey).DESCRIPTION] = description; parameters[(_RequestParameterKey).TOKEN] = this._csrfToken; this._loadFunc(function(hug1:Object):void{ //MethodID:414, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 72 var hug2:Boolean = _hasAppended = (hug1[(_ResponseKey).STATUS] == (_ResponseValue).OK); if((hug1 != null) && hug2) _appendedLogStorage.data[_threadID] = TimeUtils.time; onAppendedDefaultMylist.apply(hug2); }, this._apiURL, parameters, URLRequestMethod.POST); } public function get hasAppendedDefaultMylist():Boolean { //MethodID:416, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hasAppended; } } } //■class(instance)_index:25 //private class _SOSetting extends Object { //static constructor public static function _SOSetting$cinit() { //MethodID:400, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21 NAME = "jp.nicovideo.nicoplayer.models.mylist.DefaultMylistAppender"; PATH = "/"; } //static variables/etc. public static const NAME:String = "jp.nicovideo.nicoplayer.models.mylist.DefaultMylistAppender";//slotID:1 public static const PATH:String = "/"; //slotID:2 //constructor public function _SOSetting() { //MethodID:401, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } //■class(instance)_index:26 //private class _RequestParameterKey extends Object { //static constructor public static function _RequestParameterKey$cinit() { //MethodID:402, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 39 ITEM_TYPE = "item_type"; ITEM_ID = "item_id"; DESCRIPTION = "description"; TOKEN = "token"; } //static variables/etc. public static const ITEM_TYPE:String = "item_type"; //slotID:1 public static const ITEM_ID:String = "item_id"; //slotID:2 public static const DESCRIPTION:String = "description"; //slotID:3 public static const TOKEN:String = "token"; //slotID:4 //constructor public function _RequestParameterKey() { //MethodID:403, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } //■class(instance)_index:27 //private class _ItemType extends Object { //static constructor public static function _ItemType$cinit() { //MethodID:404, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 VIDEO = 0; } //static variables/etc. public static const VIDEO:uint = 0; //slotID:1 //constructor public function _ItemType() { //MethodID:405, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } //■class(instance)_index:28 //private class _ResponseKey extends Object { //static constructor public static function _ResponseKey$cinit() { //MethodID:406, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 STATUS = "status"; } //static variables/etc. public static const STATUS:String = "status"; //slotID:1 //constructor public function _ResponseKey() { //MethodID:407, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } //■class(instance)_index:29 //private class _ResponseValue extends Object { //static constructor public static function _ResponseValue$cinit() { //MethodID:408, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 OK = "ok"; } //static variables/etc. public static const OK:String = "ok"; //slotID:1 //constructor public function _ResponseValue() { //MethodID:409, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } //■script023■ package jp.nicovideo.nicoplayer.models.comment{ //■class(instance)_index:31 public final class CommentConstants extends Object { //static constructor public static function CommentConstants$cinit() { //MethodID:418, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 48 CL_MAIN = "commentlist:main"; CL_OWNER = "commentlist:owner"; CL_NICOS = "commentlist:nicos"; CL_LOCAL = "commentlist:local"; CL_PRIVATE = "commentlist:private"; } //static variables/etc. public static const CL_MAIN:String = "commentlist:main"; //slotID:1 public static const CL_OWNER:String = "commentlist:owner"; //slotID:2 public static const CL_NICOS:String = "commentlist:nicos"; //slotID:3 public static const CL_LOCAL:String = "commentlist:local"; //slotID:4 public static const CL_PRIVATE:String = "commentlist:private"; //slotID:5 //constructor public function CommentConstants() { //MethodID:419, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script024■ package jp.nicovideo.nicoplayer.models.api{ //■class(instance)_index:32 public interface IGetChecklist { //static constructor public static function IGetChecklist$cinit() { //MethodID:421, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get communities():Array; //MethodID:422, dispID:0 function get channels():Array; //MethodID:423, dispID:0 function get friends():Array; //MethodID:424, dispID:0 function get watchUsers():Array; //MethodID:425, dispID:0 //constructor public function IGetChecklist(); //MethodID:426, dispID:0 } } //■script025■ package jp.nicovideo.nicoplayer.models.api{ //■class(instance)_index:33 public interface IChannelInfo { //static constructor public static function IChannelInfo$cinit() { //MethodID:428, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get channel_id():Number; //MethodID:429, dispID:0 function get community_id():Number; //MethodID:430, dispID:0 //constructor public function IChannelInfo(); //MethodID:431, dispID:0 } } //■script026■ package jp.nicovideo.nicoplayer.models.api{ import com.adobe.serialization.json.JSON import jp.nicovideo.util.api.IAPICacheProxy //■class(instance)_index:34 public class GetChecklist extends Object implements IGetChecklist { //static constructor public static function GetChecklist$cinit() { //MethodID:433, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function GetChecklist(hug1:Function, hug2:IAPICacheProxy, hug3:Boolean, hug4:Boolean) { //MethodID:436, LocalCount= 6 , MaxScope= 2, MaxStack= 3, CodeLength= 122 internal var callback:Function; //slotID:1 internal var apiCahceProxy:IAPICacheProxy; //slotID:2 internal var useCache:Boolean; //slotID:3 internal var noLoad:Boolean; //slotID:4 callback = hug1; apiCahceProxy = hug2; useCache = hug3; noLoad = hug4; this._communities = []; this._channels = []; this._friends = []; this._watchUsers = []; super(); if((callback == null) || (apiCahceProxy == null)) throw new ArgumentError("GetCheckList.GetCheckList: invalid parameter."); if(noLoad){ callback(false); return; } apiCahceProxy.load(function(hug1:Boolean, hug2:*):void{ //MethodID:435, LocalCount= 6 , MaxScope= 3, MaxStack= 6, CodeLength= 354 internal var succeeded:Boolean; //slotID:1 internal var source:*; //slotID:2 internal var castItem:Function; //slotID:3 internal var data:Object; //slotID:4 internal var map:Object; //slotID:5 internal var channel_id:String; //slotID:6 castItem = null; data = null; map = null; channel_id = null; succeeded = hug1; source = hug2; castItem = function(hug1:*, hug2:int, hug3:Array):void{ //MethodID:434, LocalCount= 6 , MaxScope= 0, MaxStack= 2, CodeLength= 174 var hug4:Number = parseInt(hug1); if(isNaN(hug4)) return; var hug5:Array = hug3; switch(hug5){ case data["community_id"]: _communities.push(hug4); break; case data["friend"]: _friends.push(hug4); break; case data["watchuser"]: _watchUsers.push(hug4); break; default: break; } }; if(!succeeded){ callback(false); return; } try{ data = JSON.decode(source); if(data["community_id"] is Array) (data["community_id"] as Array).forEach(castItem); if(data["friend"] is Array) (data["friend"] as Array).forEach(castItem); if(data["watchuser"] is Array) (data["watchuser"] as Array).forEach(castItem); if(data["channel_id"] is Object){ map = (data["channel_id"] as Object); for(channel_id in map){ _channels.push(new _ChannelInfo(parseInt(channel_id), parseInt(map[channel_id]))); } } } catch(error:Error){ callback(false); return; } callback(true); }, useCache); } //variables/etc. private var _communities:Array; //slotID:0 private var _channels:Array; //slotID:0 private var _friends:Array; //slotID:0 private var _watchUsers:Array; //slotID:0 public function get communities():Array { //MethodID:437, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._communities; } public function get channels():Array { //MethodID:438, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._channels; } public function get friends():Array { //MethodID:439, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._friends; } public function get watchUsers():Array { //MethodID:440, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._watchUsers; } } } //■class(instance)_index:35 //private class _ChannelInfo extends Object implements IChannelInfo { //static constructor public static function _ChannelInfo$cinit() { //MethodID:441, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _ChannelInfo(hug1:Number, hug2:Number) { //MethodID:442, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16 super(); this._channel_id = hug1; this._community_id = hug2; } //variables/etc. private var _channel_id:Number; //slotID:0 private var _community_id:Number; //slotID:0 public function get channel_id():Number { //MethodID:443, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._channel_id; } public function get community_id():Number { //MethodID:444, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._community_id; } } //■script027■ package jp.nicovideo.nicoplayer.models.filter{ import jp.nicovideo.nicoplayer.models.comment.IComment //■class(instance)_index:36 public class NGInfo extends Object { //static constructor public static function NGInfo$cinit() { //MethodID:446, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function NGInfo(hug1:String, hug2:String, hug3:Date, hug4:IComment=null):void { //MethodID:447, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 49 super(); this.__type = hug1; this.__source = hug2; this.__comment = hug4; if(hug3){ this.__lastHit = new Date(hug3.time); }else{ this.__lastHit = null; } } //variables/etc. private var __type:String; //slotID:0 private var __source:String; //slotID:0 private var __lastHit:Date; //slotID:0 private var __comment:IComment; //slotID:0 public function get type():String { //MethodID:448, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__type; } public function get source():String { //MethodID:449, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__source; } public function get lastHit():Date { //MethodID:450, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__lastHit; } public function set lastHit(hug1:Date):void { //MethodID:451, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 16 this.__lastHit = new Date(hug1.time); } public function get comment():IComment { //MethodID:452, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__comment; } } } //■script028■ package jp.nicovideo.marquee{ import flash.display.DisplayObjectContainer //■class(instance)_index:37 public interface IMarqueeClient { //static constructor public static function IMarqueeClient$cinit() { //MethodID:454, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function jumpToURL(hug1:String):void; //MethodID:455, dispID:0 function showComment():void; //MethodID:456, dispID:0 function hideComment():void; //MethodID:457, dispID:0 function readyParade(hug1:Array):void; //MethodID:458, dispID:0 function startParade():void; //MethodID:459, dispID:0 function endParade():void; //MethodID:460, dispID:0 function get userID():String; //MethodID:461, dispID:0 function get category():String; //MethodID:462, dispID:0 function get marqueeLayer():DisplayObjectContainer; //MethodID:463, dispID:0 function get videoLayer():DisplayObjectContainer; //MethodID:464, dispID:0 function get volume():Number; //MethodID:465, dispID:0 function get isNicowariSkipEnabled():Boolean; //MethodID:466, dispID:0 function get videoID():String; //MethodID:467, dispID:0 function get videoTitle():String; //MethodID:468, dispID:0 function get videoTime():String; //MethodID:469, dispID:0 function get videoCode():String; //MethodID:470, dispID:0 function get nowTime():Number; //MethodID:471, dispID:0 function get isChannel():Boolean; //MethodID:472, dispID:0 function get segmentInfo():Object; //MethodID:473, dispID:0 function get isVideoPlaying():Boolean; //MethodID:474, dispID:0 //constructor public function IMarqueeClient(); //MethodID:475, dispID:0 } } //■script029■ package jp.nicovideo.marquee{ import jp.nicovideo.util.Functions //■class(instance)_index:38 public interface INicoMarqueeClient implements IMarqueeClient { //static constructor public static function INicoMarqueeClient$cinit() { //MethodID:477, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get categoryGroup():String; //MethodID:478, dispID:0 function get isOfficialAnime():Boolean; //MethodID:479, dispID:0 function get isNoLoadAdsLiveBanner():Boolean; //MethodID:480, dispID:0 function get onCommentVisibleEnabledUpdated():Functions; //MethodID:481, dispID:0 function get onParadeReady():Functions; //MethodID:482, dispID:0 //constructor public function INicoMarqueeClient(); //MethodID:483, dispID:0 } } //■script030■ package jp.nicovideo.util.events{ //■class(instance)_index:39 public interface EventSender { //static constructor public static function EventSender$cinit() { //MethodID:485, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get eventNames():Array; //MethodID:486, dispID:0 //constructor public function EventSender(); //MethodID:487, dispID:0 } } //■script031■ package jp.nicovideo.marquee{ import flash.display.DisplayObjectContainer import flash.display.MovieClip import flash.display.Sprite import flash.net.URLRequest import flash.net.navigateToURL import jp.nicovideo.marquee.events.MarqueeErrorEvent import jp.nicovideo.marquee.events.MarqueeEvent import jp.nicovideo.marquee.events.MarqueeFullEvent import jp.nicovideo.marquee.models.MarqueeAspectRatio import jp.nicovideo.marquee.models.info.IMarqueeInfo import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.PlayerInfo import jp.nicovideo.nicoplayer.models.PlayerVersion import jp.nicovideo.nicoplayer.models.ScreenAspectRatio import jp.nicovideo.nicoplayer.models.ScreenMode import jp.nicovideo.nicoplayer.models.SystemMessage import jp.nicovideo.nicoplayer.models.api.IInitializeInfo import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars import jp.nicovideo.nicoplayer.models.video.IVideoController import jp.nicovideo.nicoplayer.views.IVideoLayerManager import jp.nicovideo.util.Functions import jp.nicovideo.util.HTTPUtils import jp.nicovideo.util.TimeUtils import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.events.event_sender import jp.nicovideo.util.loka.__MSG__ use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:40 public class MarqueeClient extends Object implements INicoMarqueeClient, EventSender { //static constructor public static function MarqueeClient$cinit() { //MethodID:489, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 _OffFullScreenPriority = 10; } //static variables/etc. private static const _OffFullScreenPriority:uint = 10; //slotID:1 //constructor public function MarqueeClient(hug1:String, hug2:PlayerVersion, hug3:PlayerInfo, hug4:MovieClip, hug5:IVideoLayerManager, hug6:IPlayerConfig, hug7:IInitializeInfo, hug8:Function) { //MethodID:491, LocalCount= 10 , MaxScope= 2, MaxStack= 4, CodeLength= 246 internal var playerURL:String; //slotID:1 internal var playerVersion:PlayerVersion; //slotID:2 internal var playerInfo:PlayerInfo; //slotID:3 internal var marqueeLayer:MovieClip; //slotID:4 internal var videoLayerManager:IVideoLayerManager; //slotID:5 internal var playerConfig:IPlayerConfig; //slotID:6 internal var initializeInfo:IInitializeInfo; //slotID:7 internal var callback:Function; //slotID:8 internal var params:Object; //slotID:9 playerURL = hug1; playerVersion = hug2; playerInfo = hug3; marqueeLayer = hug4; videoLayerManager = hug5; playerConfig = hug6; initializeInfo = hug7; callback = hug8; this.onMarqueeClientMarqueeStarted = new Functions(); this.onMarqueeClientMarqueeEnded = new Functions(); this.onMarqueeClientNicowariStarted = new Functions(); this.onMarqueeClientNicowariEnded = new Functions(); this._onCommentVisibleEnabledUpdated = new Functions(); this._onParadeReady = new Functions(); super(); this._this = this; this._marqueeLayer = marqueeLayer; this._videoLayerManager = videoLayerManager; this._playerConfig = playerConfig; this._isNicowariSkip = this._playerConfig.isNicowariSkip; this._playerInfo = playerInfo; this._initializeInfo = initializeInfo; this._systemMessage = SystemMessage.instance; this._callback = callback; this._playerVersion = playerVersion; params = {t:playerVersion.marqueePlayer}; this._systemMessage.informln(__MSG__("マーキーの初期化開始")); HTTPUtils.loadSWF(function(hug1:*):void{ //MethodID:490, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 204 if(!hug1){ _systemMessage.informln(__MSG__("マーキーの取得に失敗")); return; } _player = IMarqueePlayer(hug1); _setVolume = _player.setVolume; _player.addEventListener(MarqueeErrorEvent.ERROR, onErrorPlayer); _player.addEventListener(MarqueeEvent.COMPLETE_PLAYER, onCompletePlayer); _player.addEventListener(MarqueeEvent.STARTED_MARQUEE, onStartedMarquee); _player.addEventListener(MarqueeEvent.ENDED_MARQUEE, onEndedMarquee); _player.addEventListener(MarqueeEvent.CLICK_PLAY_BUTTON, onClickedPlayButton); _player.addEventListener(MarqueeFullEvent.PLAY_VIDEO, onClickedNicowariPlayButton); _player.addEventListener(MarqueeFullEvent.PAUSE_VIDEO, onClickedVideoPlayButton); _player.initialize(IMarqueeClient(_this)); INicoMarqueePlayer(_player).setRecentPremiumUsers(initializeInfo.recentPremiumUsers); if(_isLoadLater) load(); }, playerURL, params); } //variables/etc. (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onMarqueeClientMarqueeStarted:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onMarqueeClientMarqueeEnded:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onMarqueeClientNicowariStarted:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onMarqueeClientNicowariEnded:Functions;//slotID:0 private var _this:IMarqueeClient; //slotID:0 private var _player:IMarqueePlayer; //slotID:0 private var _systemMessage:SystemMessage; //slotID:0 private var _setVolume:Function; //slotID:0 private var _marqueeLayer:Sprite; //slotID:0 private var _videoLayer:Sprite; //slotID:0 private var _playerConfig:IPlayerConfig; //slotID:0 private var _videoLayerManager:IVideoLayerManager; //slotID:0 private var _videoController:IVideoController; //slotID:0 private var _vars:NicoFlashVars; //slotID:0 private var _initializeInfo:IInitializeInfo; //slotID:0 private var _videoPlayed:Boolean; //slotID:0 private var _isNicowariSkip:Boolean; //slotID:0 private var _onceSetupTimeUtils:Boolean = false; //slotID:0 private var _completePlayer:Boolean = false; //slotID:0 private const _onCommentVisibleEnabledUpdated:Functions; //slotID:0 private const _onParadeReady:Functions; //slotID:0 private var _callback:Function; //slotID:0 private var _playerVersion:PlayerVersion; //slotID:0 private var _playerInfo:PlayerInfo; //slotID:0 private var _isLoadLater:Boolean = false; //slotID:0 private var _isLarqueeLoaded:Boolean = false; //slotID:0 public function load():void { //MethodID:492, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 88 if(!this._player && !this._isLoadLater){ this._isLoadLater = true; return; } if(this._isLarqueeLoaded) return; this._isLarqueeLoaded = true; if(!this._vars.watchFlashVars.isNoGetMarquee) this._player.load(this._playerVersion.larquee); if(this._callback is Function) this._callback(); } public function get eventNames():Array { //MethodID:493, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 17 return ["onMarqueeClientMarqueeStarted", "onMarqueeClientMarqueeEnded", "onMarqueeClientNicowariStarted", "onMarqueeClientNicowariEnded"]; } public function get marqueePlayer():IMarqueePlayer { //MethodID:494, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._player; } private function onStartedMarquee(hug1:MarqueeEvent):void { //MethodID:495, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 174 var hug2:IMarqueeInfo = (hug1.origin as IMarqueeInfo); if(!hug2) return; if((hug2.enabled && !this.isNicowariSkipEnabled) && ((hug2.priority >= _OffFullScreenPriority) && (this._playerConfig.screenMode != ScreenMode.NORMAL))){ this._playerConfig.screenMode = ScreenMode.NORMAL; SystemMessage.instance.inform(__MSG__("ニコ割を再生"), false); } if(hug2.enabled && hug2.pauseVideo) onMarqueeClientNicowariStarted.apply(hug2); onMarqueeClientMarqueeStarted.apply(hug2); } private function onEndedMarquee(hug1:MarqueeEvent):void { //MethodID:496, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 106 var hug2:IMarqueeInfo = (hug1.origin as IMarqueeInfo); if(!hug2) return; if(this._videoLayer){ this._videoLayerManager.deleteMarqueeVideoLayer(); this._videoLayer = null; } if(hug2.enabled && hug2.pauseVideo) onMarqueeClientNicowariEnded.apply(hug2); onMarqueeClientMarqueeEnded.apply(hug2); } private function onClickedPlayButton(hug1:MarqueeEvent):void { //MethodID:497, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 42 var hug2:IMarqueeInfo = (hug1.origin as IMarqueeInfo); if(!hug2) return; onMarqueeClientNicowariStarted.apply(hug2); } private function onClickedNicowariPlayButton(hug1:MarqueeEvent):void { //MethodID:498, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 115 var hug2:IMarqueeInfo = (hug1.origin as IMarqueeInfo); if(!hug2) return; if((hug2.enabled && !this.isNicowariSkipEnabled) && ((hug2.priority >= _OffFullScreenPriority) && (this._playerConfig.screenMode != ScreenMode.NORMAL))) this._playerConfig.screenMode = ScreenMode.NORMAL; this.hideComment(); onMarqueeClientNicowariStarted.apply(hug2); } private function onClickedVideoPlayButton(hug1:MarqueeEvent):void { //MethodID:499, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 47 var hug2:IMarqueeInfo = (hug1.origin as IMarqueeInfo); if(!hug2) return; this.showComment(); onMarqueeClientNicowariEnded.apply(hug2); } private function onCompletePlayer(hug1:MarqueeEvent):void { //MethodID:500, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 21 this._completePlayer = true; if(this._onceSetupTimeUtils) this.startPlayer(); } private function startPlayer():void { //MethodID:501, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 102 this._player.start(); var hug1:uint = ((this._playerConfig.aspectRatio == ScreenAspectRatio.NORMAL) ? MarqueeAspectRatio.NORMAL : MarqueeAspectRatio.WIDE); INicoMarqueePlayer(this._player).updateAspect(hug1); INicoMarqueePlayer(this._player).updateNicowariSkip(this._isNicowariSkip); if(this._playerConfig.isMute) this._setVolume.call(null, 0.0); } private function onErrorPlayer(hug1:MarqueeErrorEvent):void { //MethodID:502, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 129 if((hug1.errorId == MarqueeErrorEvent.INITIALIZE_DOWNLOAD_ERROR) || (hug1.errorId == MarqueeErrorEvent.INITIALIZE_XML_FAIL)){ this._player = null; this._completePlayer = false; this._systemMessage.informln(__MSG__("マーキーの初期化に失敗")); }else if((hug1.errorId == MarqueeErrorEvent.SENDED_FAIL) || (hug1.errorId == MarqueeErrorEvent.SENDED_ERROR) || (hug1.errorId == MarqueeErrorEvent.SENDED_NOAUTH)){ this._systemMessage.informln(__MSG__("ゲームまたはアンケートの情報の送信に失敗")); } } public function get userID():String { //MethodID:503, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._initializeInfo.userID; } public function get category():String { //MethodID:504, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._vars.category; } public function get categoryGroup():String { //MethodID:505, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._vars.categoryGroup; } public function get isNoLoadAdsLiveBanner():Boolean { //MethodID:506, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._playerInfo.isNoLoadAdsLiveBanner; } public function get onCommentVisibleEnabledUpdated():Functions { //MethodID:507, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onCommentVisibleEnabledUpdated; } public function get onParadeReady():Functions { //MethodID:508, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onParadeReady; } public function get marqueeLayer():DisplayObjectContainer { //MethodID:509, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._marqueeLayer; } public function get videoLayer():DisplayObjectContainer { //MethodID:510, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27 if(!this._videoLayer) this._videoLayer = this._videoLayerManager.createMarqueeVideoLayer(); return this._videoLayer; } public function get volume():Number { //MethodID:511, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 29 return (this._playerConfig.isMute ? 0 : this._playerConfig.volume); } public function jumpToURL(hug1:String):void { //MethodID:512, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 27 this._videoController.stop(); navigateToURL(new URLRequest(hug1), "_blank"); } public function get isNicowariSkipEnabled():Boolean { //MethodID:513, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 38 if(this._vars.watchFlashVars.forceNicowariOff) return true; return (this._isNicowariSkip && this._initializeInfo.isPremium); } public function showComment():void { //MethodID:514, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this.onCommentVisibleEnabledUpdated.apply(true); } public function hideComment():void { //MethodID:515, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this.onCommentVisibleEnabledUpdated.apply(false); } public function readyParade(hug1:Array):void { //MethodID:516, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function startParade():void { //MethodID:517, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function endParade():void { //MethodID:518, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function get videoID():String { //MethodID:519, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this._vars.watchFlashVars.watchVideoID; } public function get videoTitle():String { //MethodID:520, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._vars.videoTitle; } public function get videoTime():String { //MethodID:521, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this._vars.watchFlashVars.gameTime; } public function get videoCode():String { //MethodID:522, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this._vars.watchFlashVars.gameKey; } public function get nowTime():Number { //MethodID:523, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9 return TimeUtils.time; } public function get isChannel():Boolean { //MethodID:524, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._vars.isChannel; } public function get segmentInfo():Object { //MethodID:525, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 121 var hug1:Object = {}; if(this._vars.watchFlashVars.userSex != null) hug1.userSex = this._vars.watchFlashVars.userSex; if(this._vars.watchFlashVars.userAge != null) hug1.userAge = this._vars.watchFlashVars.userAge; if(this._vars.watchFlashVars.userPrefecture != null) hug1.userPrefecture = this._vars.watchFlashVars.userPrefecture; hug1.memberType = (this._initializeInfo.isPremium ? 1 : 0); return hug1; } public function get isVideoPlaying():Boolean { //MethodID:526, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._videoController.isPlaying; } public function set videoController(hug1:IVideoController):void { //MethodID:527, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._videoController = hug1; } public function set flashVars(hug1:NicoFlashVars):void { //MethodID:528, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._vars = hug1; } public function get isOfficialAnime():Boolean { //MethodID:529, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this._vars.watchFlashVars.isOfficialAnime; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsMuteUpdated(hug1:Boolean):EventResult { //MethodID:530, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 77 if(!this._player) return EventResult.THROUGH; if(!Boolean(this._setVolume)) return EventResult.THROUGH; if(hug1){ this._setVolume.call(null, 0.0); }else{ this._setVolume.call(null, this._playerConfig.volume); } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigVolumeUpdated(hug1:Number):EventResult { //MethodID:531, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 51 if(!this._player) return EventResult.THROUGH; if(!Boolean(this._setVolume)) return EventResult.THROUGH; this._setVolume.call(null, hug1); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsNicowariSkipUpdated(hug1:Boolean):EventResult { //MethodID:532, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 41 if(!this._player) return EventResult.THROUGH; this._isNicowariSkip = hug1; INicoMarqueePlayer(this._player).updateNicowariSkip(hug1); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onServerTimeUpdated():EventResult { //MethodID:533, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 34 if(!this._onceSetupTimeUtils){ this._onceSetupTimeUtils = true; if(this._completePlayer) this.startPlayer(); } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onFeedListUpdated(hug1:XML):EventResult { //MethodID:534, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 36 if(!this._player) return EventResult.THROUGH; INicoMarqueePlayer(this._player).updateFeedList(hug1); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigAspectRatioUpdate(hug1:uint):EventResult { //MethodID:535, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 68 if(!this._player) return EventResult.THROUGH; var hug2:uint = ((hug1 == ScreenAspectRatio.NORMAL) ? MarqueeAspectRatio.NORMAL : MarqueeAspectRatio.WIDE); INicoMarqueePlayer(this._player).updateAspect(hug2); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigScreenModeUpdated(hug1:uint):EventResult { //MethodID:536, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 36 if(!this._player) return EventResult.THROUGH; INicoMarqueePlayer(this._player).updateScreenMode(hug1); return EventResult.THROUGH; } } } //■script032■ package jp.nicovideo.nicoplayer.hiroba.events{ //■class(instance)_index:41 public class HirobaErrorStatus extends Object { //static constructor public static function HirobaErrorStatus$cinit() { //MethodID:538, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21 HIROBA_INFO_NOT_FOUND = "hirobaInfoNotFound"; HIROBA_CONNECTOR_NOT_FOUND = "hirobaConnectorNotFound"; } //static variables/etc. public static const HIROBA_INFO_NOT_FOUND:String = "hirobaInfoNotFound";//slotID:1 public static const HIROBA_CONNECTOR_NOT_FOUND:String = "hirobaConnectorNotFound";//slotID:2 //constructor public function HirobaErrorStatus() { //MethodID:539, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script033■ package jp.nicovideo.nicoplayer.models{ //■class(instance)_index:42 public class ScreenAspectRatio extends Object { //static constructor public static function ScreenAspectRatio$cinit() { //MethodID:541, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19 NORMAL = 0; WIDE = 1; } //static variables/etc. public static const NORMAL:uint = 0; //slotID:1 public static const WIDE:uint = 1; //slotID:2 //constructor public function ScreenAspectRatio() { //MethodID:542, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script034■ package jp.nicovideo.nicoplayer.remocon{ import flash.events.Event import jp.nicovideo.marquee.models.info.IMarqueeInfo import jp.nicovideo.nicoplayer.models.comment.CommentRouter import jp.nicovideo.nicoplayer.storages.CommentPostResultStatus import jp.nicovideo.util.events.EventResult use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:43 public class RemoconPlayerStateObserver extends Object { //static constructor public static function RemoconPlayerStateObserver$cinit() { //MethodID:544, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function RemoconPlayerStateObserver(hug1:Function, hug2:IRemoconEventNotifier, hug3:IRemoconFullScreenKeeper) { //MethodID:546, LocalCount= 5 , MaxScope= 2, MaxStack= 3, CodeLength= 87 internal var updateRemoconState:Function; //slotID:1 internal var notifier:IRemoconEventNotifier; //slotID:2 internal var fullScreenKeeper:IRemoconFullScreenKeeper; //slotID:3 internal var remoconState:RemoconState; //slotID:4 remoconState = null; updateRemoconState = hug1; notifier = hug2; fullScreenKeeper = hug3; super(); this._updateRemoconState = updateRemoconState; this._notifier = notifier; this._fullScreenKeeper = fullScreenKeeper; remoconState = RemoconState.instance; remoconState.addEventListener(Event.CONNECT, function(hug1:Event, ...args):void{ //MethodID:545, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 24 remoconState.removeEventListener(Event.CONNECT, args.callee); _updateRemoconState(); }); } //variables/etc. private var _updateRemoconState:Function; //slotID:0 private var _isHirobaMode:Boolean; //slotID:0 private var _isNicowariMode:Boolean; //slotID:0 private var _notifier:IRemoconEventNotifier; //slotID:0 private var _fullScreenKeeper:IRemoconFullScreenKeeper; //slotID:0 private function _onChangedStatus():void { //MethodID:547, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 24 if(RemoconState.instance.isConnecting) this._updateRemoconState.apply(); } public function get isHirobaMode():Boolean { //MethodID:548, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isHirobaMode; } public function get isNicowariMode():Boolean { //MethodID:549, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isNicowariMode; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsMuteUpdated(hug1:Boolean):EventResult { //MethodID:550, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 13 this._onChangedStatus(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsLoopUpdated(hug1:Boolean):EventResult { //MethodID:551, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 13 this._onChangedStatus(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigVolumeUpdated(hug1:Number):EventResult { //MethodID:552, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 13 this._onChangedStatus(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigCommentVisibleUpdated(hug1:Boolean):EventResult { //MethodID:553, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 13 this._onChangedStatus(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigScreenModeUpdated(hug1:uint):EventResult { //MethodID:554, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this._onChangedStatus(); this._fullScreenKeeper.screenModeUpdateListener(hug1); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoPlayed():EventResult { //MethodID:555, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 this._onChangedStatus(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoStopped():EventResult { //MethodID:556, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 this._onChangedStatus(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onHirobaPlayerVisibleUpdated(hug1:Boolean):EventResult { //MethodID:557, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this._isHirobaMode = hug1; return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onMarqueeClientNicowariStarted(hug1:IMarqueeInfo):EventResult { //MethodID:558, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this._isNicowariMode = true; return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onMarqueeClientNicowariEnded(hug1:IMarqueeInfo):EventResult { //MethodID:559, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this._isNicowariMode = false; return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentPostFinished(hug1:String, hug2:String, hug3:Number):EventResult { //MethodID:560, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 47 var hug4:Boolean = (hug2 == CommentPostResultStatus.SUCCESS); this._notifier.receiveCommentPostResult(hug4, (hug4 ? null : RemoconPostCommentErrorStatus.OTHER)); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoSeeked(hug1:Number):EventResult { //MethodID:561, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 17 this._notifier.receiveVideoSeekResult(hug1); return EventResult.THROUGH; } public function onCommentRouterPostError(hug1:String):void { //MethodID:562, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 42 this._notifier.receiveCommentPostResult(false, ((hug1 == CommentRouter.ERROR_POST_SAME_COMMENT) ? RemoconPostCommentErrorStatus.SAME_MESSAGE : RemoconPostCommentErrorStatus.OTHER)); } } } //■script035■ package jp.nicovideo.nicoplayer.config{ public function getDebugMode():uint { //dispID:1, MethodID:564, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9 return DebugMode.NON; } } //■script036■ package jp.nicovideo.nicoplayer.models.api{ //■class(instance)_index:44 public interface IRegisterBGM { //static constructor public static function IRegisterBGM$cinit() { //MethodID:566, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function registerBGMVideoIDs(hug1:Function, hug2:String, hug3:Array):void; //MethodID:567, dispID:0 function registerCMVideoIDs(hug1:Function, hug2:String, hug3:Array):void; //MethodID:568, dispID:0 //constructor public function IRegisterBGM(); //MethodID:569, dispID:0 } } //■script037■ package jp.nicovideo.nicoplayer.models.api{ import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.util.HTTPUtils //■class(instance)_index:45 public class RegisterBGM extends Object implements IRegisterBGM { //static constructor public static function RegisterBGM$cinit() { //MethodID:571, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function RegisterBGM(hug1:NicoConfig) { //MethodID:572, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 super(); this.__cfg = hug1; } //variables/etc. private var __cfg:NicoConfig; //slotID:0 public function registerBGMVideoIDs(hug1:Function, hug2:String, hug3:Array):void { //MethodID:573, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 14 this.__callAPI(hug1, hug2, hug3, "bgm"); } public function registerCMVideoIDs(hug1:Function, hug2:String, hug3:Array):void { //MethodID:574, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 14 this.__callAPI(hug1, hug2, hug3, "cm"); } private function __callAPI(hug1:Function, hug2:String, hug3:Array, hug4:String):void { //MethodID:576, LocalCount= 6 , MaxScope= 2, MaxStack= 5, CodeLength= 112 internal var f:Function; //slotID:1 internal var threadID:String; //slotID:2 internal var videoIDs:Array; //slotID:3 internal var type:String; //slotID:4 internal var param:Object; //slotID:5 f = hug1; threadID = hug2; videoIDs = hug3; type = hug4; param = {id:threadID, type:type}; if(videoIDs && (videoIDs.length != 0)) param["bgm_id[]"] = videoIDs; HTTPUtils.loadXML(function(hug1:XML):void{ //MethodID:575, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 56 if(hug1 === null){ f(false, null); return; } if(hug1.@status == "fail"){ f(false, hug1.error.code); return; } f(true, null); }, this.__cfg.REGISTERBGM_API_URL, param); } } } //■script038■ package jp.nicovideo.nicoplayer.models.comment{ import jp.nicovideo.util.Functions import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.events.event_sender use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:46 public class CommentPoolContainer extends Object { //static constructor public static function CommentPoolContainer$cinit() { //MethodID:578, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommentPoolContainer() { //MethodID:579, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21 this._list = {}; this.onCommentPoolContainerUpdated = new Functions(); super(); } //variables/etc. private var _list:Object; //slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onCommentPoolContainerUpdated:Functions;//slotID:0 public function get lists():Object { //MethodID:580, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._list; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdated(hug1:Array, hug2:Array, hug3:Boolean, hug4:String):EventResult { //MethodID:581, LocalCount= 5 , MaxScope= 1, MaxStack= 7, CodeLength= 88 if(!this._list.hasOwnProperty(hug4)) this._list[hug4] = []; this._list[hug4] = CommentListUtils.update(this._list[hug4], hug1, hug2, hug3); onCommentPoolContainerUpdated.apply(hug1, hug2, hug3, hug4); return EventResult.THROUGH; } } } //■script039■ package jp.nicovideo.nicoplayer.models.flashvars{ import flash.utils.unescapeMultiByte import jp.nicovideo.ext.models.ThumbWatchViaName import jp.nicovideo.nicoplayer.models.comment.CommentListPublicStatus import jp.nicovideo.nicoplayer.models.video.VideoType import jp.nicovideo.util.Assert import jp.nicovideo.util.StringUtils //■class(instance)_index:47 public class NicoFlashVarsInitializer extends Object { //static constructor public static function NicoFlashVarsInitializer$cinit() { //MethodID:583, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //static variables/etc. public static function setFlashVars(hug1:NicoFlashVars, hug2:Object):void { //dispID:3, MethodID:584, LocalCount= 5 , MaxScope= 1, MaxStack= 7, CodeLength= 837 var hug3:Array = null; var hug4:int = 0; if(StringUtils.isValidVideoID(hug2.v)){ nico_flashvars.watchID = hug2.v; }else if(!hug2.playlistId){ throw new Error("WatchFlashVars.WatchFlashVars. invalid variable:v=" + hug2.v); } if(StringUtils.isPureVideoID(hug2.videoId)) nico_flashvars.originalVideoID = hug2.videoId; if(hug2.mylist_count) hug1.mylistCount = uint(Number(hug2.mylist_count)); if((hug2.movie_type == VideoType.FLV) || (hug2.movie_type == VideoType.MP4) || (hug2.movie_type == VideoType.SWF)) nico_flashvars.videoType = hug2.movie_type; nico_flashvars.isMymemory = (hug2.mm == "1"); nico_flashvars.hasOwnerThread = (hug2.has_owner_thread == "1"); nico_flashvars.forceLowMode = (hug2.lo == "1"); if(hug2.eco) nico_flashvars.economyMode = hug2.eco; nico_flashvars.isCommunityThread = (hug2.is_community_thread == "1"); nico_flashvars.waitsSWFVideoInit = (hug2.dlcw == "1"); if(hug2.thumbTitle) nico_flashvars.videoTitle = hug2.thumbTitle; if(hug2.thumbDescription) nico_flashvars.videoDescription = hug2.thumbDescription; if(hug2.player_version_xml) nico_flashvars.playerVersionUpdated = hug2.player_version_xml; if(hug2.player_info_xml) nico_flashvars.playerInfoUpdated = hug2.player_info_xml; nico_flashvars.isChannel = (hug2.is_channel == "1"); nico_flashvars.category = hug2.category; nico_flashvars.categoryGroup = hug2.categoryGroup; nico_flashvars.isDeepenedCommentForce = (hug2.isBackComment == "1"); if(hug2.noComment) nico_flashvars.isNoComment = (hug2.noComment == "1"); if(hug2.bgms){ hug3 = hug2.bgms.toString().split(new RegExp("\s*,\s*")); Assert.assert((hug3.length % 2) == 0); nico_flashvars.importedBGMVideos = []; hug4 = 0; while(hug4 < hug3.length){ hug1.importedBGMVideos.push({id:hug3[hug4], type:hug3[hug4 + 1]}); hug4 += 2; } } nico_flashvars.noRelatedVideo = (hug2.no_related_video == "1"); nico_flashvars.forceRelationInvisible = (hug2.noRelation == "1"); if(hug2.country_code) nico_flashvars.countryCode = hug2.country_code; if(hug2.thumbWatch == "1"){ setThumbFlashVars(hug1, hug2); }else{ setWatchFlashVars(hug1, hug2); } if(hug2.community_id) nico_flashvars.communityID = hug2.community_id; if(hug2.community_global_id) nico_flashvars.communityGlobalID = hug2.community_global_id; nico_flashvars.isNoCommand = (hug2.noCommand == "1"); nico_flashvars.isNoAtComment = (hug2.noAtComment == "1"); nico_flashvars.isWide = (hug2.isWide == "1"); if(hug2.videoDetail) nico_flashvars.videoDetail = hug2.videoDetail; if(hug2.leaf_switch) hug1.leafSwitch = int(hug2.leaf_switch); } private static function setThumbFlashVars(hug1:NicoFlashVars, hug2:Object):void { //dispID:4, MethodID:585, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 509 var hug3:ThumbFlashVars = new ThumbFlashVars(); nico_flashvars.thumbFlashVars = hug3; hug3.isThumbWatch = Boolean(hug2.thumbWatch); nico_flashvars.playerTimestamp = (hug2.playerTimestamp || ""); nico_flashvars.thumbImage = hug2.thumbImage; hug3.thumbWidth = Number(hug2.thumbWidth); hug3.thumbHeight = Number(hug2.thumbHeight); nico_flashvars.openNewWindow = (hug2.fv_new_window == "1"); hug3.transparent = Number(hug2.fv_transparent); nico_flashvars.watchRef = hug2.fv_watch_ref; var hug4:String = unescapeMultiByte(String(hug2.thumbPlayKey)); nico_flashvars.thumbPlayKey = hug4; nico_flashvars.isP4Mode = (hug2.fv_p4_mode == "1"); nico_flashvars.noController = (hug2.fv_no_controller == "1"); nico_flashvars.thumbComment = (hug2.thumbComment == "1"); nico_flashvars.bySwf = (hug2.bySwf == "1"); nico_flashvars.noAdSense = (hug2.noAdSense == "1"); nico_flashvars.noLogo = (hug2.fv_no_logo == "1"); nico_flashvars.isNoLogin = (hug2.isNoLogin == "1"); if(ThumbWatchViaName.contains(hug2.via)) nico_flashvars.via = hug2.via; if(new RegExp("^[0-9]+\.1\.").test(hug4)){ nico_flashvars.isAutoPlay = (hug2.fv_autoplay == "1"); nico_flashvars.noJumpMessage = (hug2.fv_no_jump_msg == "1"); nico_flashvars.noComment = (hug2.fv_no_comment == "1"); nico_flashvars.noCommentButton = (hug2.fv_no_comment_btn == "1"); nico_flashvars.noLink = (hug2.fv_no_link == "1"); nico_flashvars.noSound = (hug2.fv_no_sound == "1"); } if(hug1.isNoComment){ nico_flashvars.noComment = true; nico_flashvars.noCommentButton = true; } } private static function setWatchFlashVars(hug1:NicoFlashVars, hug2:Object):void { //dispID:5, MethodID:586, LocalCount= 8 , MaxScope= 1, MaxStack= 5, CodeLength= 1536 var hug6:uint = 0; var hug3:WatchFlashVars = new WatchFlashVars(); nico_flashvars.watchFlashVars = hug3; nico_flashvars.isEditMode = (hug2.e == "1"); nico_flashvars.isReadOnly = (hug2.ro == "1"); nico_flashvars.isOwnerThreadEditMode = (hug2.owner_thread_edit_mode == "1"); nico_flashvars.isPostLocked = (hug2.isHtrzm == "1"); nico_flashvars.isCommentShuttered = (hug2.post_locked == "1"); nico_flashvars.isVideoOwner = (hug2.is_video_owner == "1"); nico_flashvars.hasEconomyMode = (hug2.iee == "1"); nico_flashvars.isNoBanner = (hug2.noBanner == "1"); nico_flashvars.thumbImage = hug2.thumbImage; if(hug2.us) hug3.userStatus = uint(Number(hug2.us)); nico_flashvars.noPostPlayStats = (hug2.unps == "1"); var hug7:Boolean = (hug2.noNicotic == "1"); nico_flashvars.noNicotic = hug7; var hug4:Boolean = hug7; nico_flashvars.noAtPizza = ((hug2.fv_no_pizza == "1") || hug4); nico_flashvars.noHiroba = ((hug2.noHiroba == "1") || hug4); if(hug2.wv_id) nico_flashvars.watchVideoID = hug2.wv_id; if(hug2.wv_time) nico_flashvars.gameTime = hug2.wv_time; if(hug2.wv_code) nico_flashvars.gameKey = hug2.wv_code; if(hug2.button_threshold) hug3.buttonThreshold = uint(Number(hug2.button_threshold)); nico_flashvars.commentListPublicStatus = (((hug2.threadPublic == 2) || (hug2.threadPublic == 4)) ? CommentListPublicStatus.MEMBER_ONLY : CommentListPublicStatus.ALL_ENABLE); if(hug2.fv_play_from) nico_flashvars.jumpVPosPlayFrom = hug2.fv_play_from; if(hug2.fv_play_length) nico_flashvars.jumpPlayLength = hug2.fv_play_length; if(hug2.fv_returnid) nico_flashvars.jumpReturnVideoID = hug2.fv_returnid; if(hug2.fv_returnto) nico_flashvars.jumpVPosReturnTo = hug2.fv_returnto; if(hug2.fv_returnmsg) nico_flashvars.jumpReturnMessage = hug2.fv_returnmsg; var hug5:Boolean = false; if(hug2.marqueeUrl){ nico_flashvars.marqueeUrl = hug2.marqueeUrl; hug5 = true; } nico_flashvars.isNoMarquee = ((hug2.noMarquee == "1") || hug5); nico_flashvars.isNoGetMarquee = (hug2.noGetMarquee == "1"); if(hug2.open_src) nico_flashvars.isOwnerThreadAvailable = (hug2.open_src == "1"); nico_flashvars.isMonetized = (hug2.is_monetized == "1"); if(hug2.userSex && ((hug2.userSex == "0") || (hug2.userSex == "1"))) nico_flashvars.userSex = hug2.userSex; if(hug2.userAge){ hug6 = parseInt(hug2.userAge, 10); if(hug6 && !isNaN(hug6)) nico_flashvars.userAge = hug6.toString(); } if(hug2.userPrefecture && !isNaN(hug2.userPrefecture)) hug3.userPrefecture = String(hug2.userPrefecture); nico_flashvars.forceNicowariOff = (hug2.forceNicowariOff == "1"); if(hug2.originalThreadId) nico_flashvars.originalThreadId = hug2.originalThreadId; nico_flashvars.isNoNicomesse = (hug2.noNicomesse == "1"); if(hug2.channelId) nico_flashvars.channelID = hug2.channelId; if(hug2.channelTopURL) nico_flashvars.channelTopURL = hug2.channelTopURL; if(hug2.channelVideoURL) nico_flashvars.channelVideoURL = hug2.channelVideoURL; if(hug2.channelName) nico_flashvars.channelName = hug2.channelName; if(hug2.dicArticleURL) nico_flashvars.dicArticleURL = hug2.dicArticleURL; if(hug2.blogEmbedURL) nico_flashvars.blogEmbedURL = hug2.blogEmbedURL; if(hug2.uadAdvertiseURL) nico_flashvars.uadAdvertiseURL = hug2.uadAdvertiseURL; if(hug2.communityPostURL) nico_flashvars.communityPostURL = hug2.communityPostURL; if(hug2.csrfToken) nico_flashvars.csrfToken = hug2.csrfToken; nico_flashvars.useChecklistCache = ((hug2.useChecklistCache != null) && (hug2.useChecklistCache != "0")); if(hug2.noMovie) nico_flashvars.isNoMovie = (hug2.noMovie == "1"); if(hug2.noDeflistAdd) nico_flashvars.noDeflistAdd = (hug2.noDeflistAdd == "1"); if(hug2.liveKick) nico_flashvars.liveKick = hug2.liveKick; if(hug2.liveKickId) nico_flashvars.liveKickId = hug2.liveKickId; if(hug2.hoihoiTitle) nico_flashvars.hoihoiTitle = hug2.hoihoiTitle; if(hug2.hoihoiButton) nico_flashvars.hoihoiButton = hug2.hoihoiButton; if(hug2.hoihoiURL) nico_flashvars.hoihoiURL = hug2.hoihoiURL; if(hug2.noVideoMenu) nico_flashvars.isNoVideoMenu = (hug2.noVideoMenu == "1"); if(hug2.noColor) nico_flashvars.noColor = (hug2.noColor == "1"); if(hug2.noAppli) nico_flashvars.isNoAppli = (hug2.noAppli == "1"); if(hug2.bootApp) hug3.bootApp = String(hug2.bootApp); if(hug2.videoUserId) nico_flashvars.videoUserID = hug2.videoUserId; if(hug2.isOfficialAnime) nico_flashvars.isOfficialAnime = (hug2.isOfficialAnime == "1"); if(hug2.appliInstalled) hug3.appliInstalled = Number(hug2.appliInstalled); if(hug2.isAppliPromotion) nico_flashvars.isAppliPromotion = true; if(hug2.useVideoEnder != undefined) nico_flashvars.useVideoEnder = (hug2.useVideoEnder == "1"); } //constructor public function NicoFlashVarsInitializer() { //MethodID:587, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script040■ package jp.nicovideo.nicoplayer.models.comment{ //■class(instance)_index:48 public interface ICommentList implements EventSender { //static constructor public static function ICommentList$cinit() { //MethodID:589, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function reload(hug1:Function):void; //MethodID:590, dispID:0 function update(hug1:Function):void; //MethodID:591, dispID:0 function post(hug1:IComment):void; //MethodID:592, dispID:0 function serveCommentList():void; //MethodID:593, dispID:0 function get name():String; //MethodID:594, dispID:0 function get currentList():Array; //MethodID:595, dispID:0 function clickButtonComment(hug1:IComment):void; //MethodID:596, dispID:0 function isClickable(hug1:IComment):Boolean; //MethodID:597, dispID:0 function get leavesNum():String; //MethodID:598, dispID:0 function get threadID():String; //MethodID:599, dispID:0 //constructor public function ICommentList(); //MethodID:600, dispID:0 } } //■script041■ package jp.nicovideo.nicoplayer.models.filter{ //■class(instance)_index:49 public interface IReplaceInfo { //static constructor public static function IReplaceInfo$cinit() { //MethodID:602, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get originalSource():String; //MethodID:603, dispID:0 function get replacedSource():String; //MethodID:604, dispID:0 function get isWholeReplaced():Boolean; //MethodID:605, dispID:0 function get isRegExp():Boolean; //MethodID:606, dispID:0 //constructor public function IReplaceInfo(); //MethodID:607, dispID:0 } } //■script042■ package jp.nicovideo.nicoplayer.models.filter{ import flash.net.URLVariables import jp.nicovideo.nicoplayer.models.comment.CommentBuilder import jp.nicovideo.nicoplayer.models.comment.IComment import jp.nicovideo.util.events.EventResult use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:50 public class ChannelReplacer extends Object { //static constructor public static function ChannelReplacer$cinit() { //MethodID:609, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ChannelReplacer(hug1:String) { //MethodID:610, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 94 var hug4:URLVariables = null; var hug5:_ReplaceInfo = null; this._replaceList = []; super(); var hug2:Array = hug1.split("&"); var hug3:uint = 0; while(hug3 < hug2.length){ hug4 = new URLVariables(hug2[hug3]); hug5 = new _ReplaceInfo(hug4); this._replaceList.push(hug5); hug3++; } } //variables/etc. private var _replaceList:Array; //slotID:0 public function isPostable(hug1:String):Boolean { //MethodID:611, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 115 var hug2:_ReplaceInfo = null; var hug3:* = undefined; for each(hug2 in this._replaceList){ if(hug2.isWholeReplaced && (hug2.replacedSource == null)){ hug3 = (hug2.isRegExp ? new RegExp(hug2.originalSource, "g") : hug2.originalSource); if(hug1.search(hug3) != (-1)) return false; } } return true; } private function _replace(hug1:IComment):IComment { //MethodID:612, LocalCount= 9 , MaxScope= 1, MaxStack= 3, CodeLength= 225 var hug3:_ReplaceInfo = null; var hug5:Boolean = false; var hug6:* = undefined; var hug2:String = hug1.message; for each(hug3 in this._replaceList){ hug5 = hug3.isRegExp; hug6 = (hug5 ? new RegExp(hug3.originalSource, "g") : hug3.originalSource); if(!hug3.isWholeReplaced){ hug2 = hug2.replace(hug6, hug3.replacedSource); }else{ if((hug5 && RegExp(hug6).test(hug2)) || (!hug5 && (hug2.indexOf(String(hug6)) != (-1)))) hug2 = hug3.replacedSource; if(hug2 == null) return null; } } if(hug2 == hug1.message) return hug1; var hug4:CommentBuilder = new CommentBuilder(hug1); hug4.message = hug2; return hug4.make(); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdated(hug1:Array, hug2:Array, hug3:Boolean, hug4:String):EventResult { //MethodID:613, LocalCount= 10 , MaxScope= 1, MaxStack= 5, CodeLength= 111 var hug6:IComment = null; var hug7:IComment = null; if(hug1.length == 0) return EventResult.THROUGH; var hug5:Array = []; for each(hug6 in hug1){ hug7 = this._replace(hug6); if(hug7 == null){ }else{ hug5.push(hug7); } } return EventResult.replace([hug5, hug2, hug3, hug4]); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get replaceList():Array { //MethodID:614, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._replaceList; } } } import flash.net.URLVariables //■class(instance)_index:51 //private class _ReplaceInfo extends Object implements IReplaceInfo { //static constructor public static function _ReplaceInfo$cinit() { //MethodID:615, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _ReplaceInfo(hug1:URLVariables) { //MethodID:616, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 128 var hug2:String = null; super(); for(hug2 in hug1){ if(hug1[hug2] != ""){ this._replaced = hug1[hug2]; }else{ this._replaced = null; } if(hug2.indexOf("/") == 0){ this._isRegExp = true; hug2 = hug2.substring(1); } if(hug2.indexOf("*") == 0){ this._isWholeReplaced = true; hug2 = hug2.substring(1); } this._original = hug2; } } //variables/etc. private var _original:String; //slotID:0 private var _replaced:String; //slotID:0 private var _isWholeReplaced:Boolean = false; //slotID:0 private var _isRegExp:Boolean = false; //slotID:0 public function get originalSource():String { //MethodID:617, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._original; } public function get replacedSource():String { //MethodID:618, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._replaced; } public function get isWholeReplaced():Boolean { //MethodID:619, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isWholeReplaced; } public function get isRegExp():Boolean { //MethodID:620, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isRegExp; } } //■script043■ package jp.nicovideo.nicoplayer.views{ import flash.display.Sprite //■class(instance)_index:52 public interface IVideoLayerManager { //static constructor public static function IVideoLayerManager$cinit() { //MethodID:622, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function setVideoSize(hug1:int, hug2:int):void; //MethodID:623, dispID:0 function refreshLayers():void; //MethodID:624, dispID:0 function updateWideNicoSLayer(hug1:Boolean=false):void; //MethodID:625, dispID:0 function updateVideoMask(hug1:Boolean=false):void; //MethodID:626, dispID:0 function deepenComment():void; //MethodID:627, dispID:0 function createMarqueeVideoLayer():Sprite; //MethodID:628, dispID:0 function deleteMarqueeVideoLayer():void; //MethodID:629, dispID:0 function updateNicowariVisible(hug1:Boolean):void; //MethodID:630, dispID:0 function get baseLayer():Sprite; //MethodID:631, dispID:0 function get videoLayer():Sprite; //MethodID:632, dispID:0 function get nicosLayer():Sprite; //MethodID:633, dispID:0 function get nicosMaskLayer():Sprite; //MethodID:634, dispID:0 function get nicosBGMLayer():Sprite; //MethodID:635, dispID:0 function get commentLayer():Sprite; //MethodID:636, dispID:0 function get jumpMsgLayer():Sprite; //MethodID:637, dispID:0 function get marqueeVideoLayer():Sprite; //MethodID:638, dispID:0 function get hirobaCommentLayer():Sprite; //MethodID:639, dispID:0 function get pluginLayer():Sprite; //MethodID:640, dispID:0 //constructor public function IVideoLayerManager(); //MethodID:641, dispID:0 } } //■script044■ package jp.nicovideo.nicoplayer.views{ import flash.display.CapsStyle import flash.display.DisplayObject import flash.display.JointStyle import flash.display.LineScaleMode import flash.display.MovieClip import flash.display.Sprite import flash.errors.IllegalOperationError import jp.nicovideo.nicoplayer.models.ScreenAspectRatio import jp.nicovideo.nicoplayer.models.ScreenMode import jp.nicovideo.nicoplayer.models.playlist.VideoInfo import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.events.event_receiver use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:53 public class VideoLayerManager extends Object implements IVideoLayerManager { //static constructor public static function VideoLayerManager$cinit() { //MethodID:643, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 OPTIONAL_LAYER_SPONSORVIDEOLAYER = "opt_sponsorvideo_layer"; } //static variables/etc. public static const OPTIONAL_LAYER_SPONSORVIDEOLAYER:String = "opt_sponsorvideo_layer";//slotID:1 //constructor public function VideoLayerManager(hug1:MovieClip, hug2:uint) { //MethodID:644, LocalCount= 3 , MaxScope= 1, MaxStack= 21, CodeLength= 241 this._LAYERS_ORDER_DEFAULT = [this._LAYER_KEY_VIDEOLAYER, this._LAYER_KEY_VIDEOMASK, OPTIONAL_LAYER_SPONSORVIDEOLAYER, this._OPTIONAL_LAYER_SPONSORVIDEOMASK, this._LAYER_KEY_NICOSMASKLAYER, this._LAYER_KEY_NICOSMASKLAYERMASK, this._LAYER_KEY_NICOSLAYER, this._LAYER_KEY_NICOSLAYERMASK, this._LAYER_KEY_NICOSBGMLAYER, this._LAYER_KEY_NICOSBGMLAYERMASK, this._LAYER_KEY_COMMENTLAYER, this._LAYER_KEY_COMMENTMASK, this._LAYER_KEY_PLUGIN, this._LAYER_KEY_MARQUEEVIDEOLAYER, this._LAYER_KEY_MARQUEEVIDEOMASK, this._LAYER_KEY_HIROBACOMMENTLAYER, this._LAYER_KEY_HIROBACOMMENTMASK, this._LAYER_KEY_JUMPMSG, this._LAYER_KEY_FRAMELAYER, this._LAYER_KEY_FRAMEMASK]; this._LAYERS_ORDER_DEEPENEDCOMMENT = [this._LAYER_KEY_COMMENTLAYER, this._LAYER_KEY_COMMENTMASK, this._LAYER_KEY_VIDEOLAYER, this._LAYER_KEY_VIDEOMASK, OPTIONAL_LAYER_SPONSORVIDEOLAYER, this._OPTIONAL_LAYER_SPONSORVIDEOMASK, this._LAYER_KEY_NICOSMASKLAYER, this._LAYER_KEY_NICOSMASKLAYERMASK, this._LAYER_KEY_NICOSLAYER, this._LAYER_KEY_NICOSLAYERMASK, this._LAYER_KEY_NICOSBGMLAYER, this._LAYER_KEY_NICOSBGMLAYERMASK, this._LAYER_KEY_PLUGIN, this._LAYER_KEY_HIROBACOMMENTLAYER, this._LAYER_KEY_HIROBACOMMENTMASK, this._LAYER_KEY_MARQUEEVIDEOLAYER, this._LAYER_KEY_MARQUEEVIDEOMASK, this._LAYER_KEY_JUMPMSG, this._LAYER_KEY_FRAMELAYER, this._LAYER_KEY_FRAMEMASK]; this._NICOS_LAYERS = [this._LAYER_KEY_NICOSLAYER, this._LAYER_KEY_NICOSMASKLAYER, this._LAYER_KEY_NICOSBGMLAYER]; this._NICOS_MASKS = [this._LAYER_KEY_NICOSLAYERMASK, this._LAYER_KEY_NICOSMASKLAYERMASK, this._LAYER_KEY_NICOSBGMLAYERMASK]; this._registered = {}; this._layersOrder = this._LAYERS_ORDER_DEFAULT; super(); this._baseLayer = hug1; this._aspectRatio = hug2; this._initializeLayers(); } //variables/etc. private const _OPTIONAL_LAYER_SPONSORVIDEOMASK:String = "opt_sponsorvideo_mask";//slotID:0 private const _LAYER_KEY_FRAMELAYER:String = "framelayer"; //slotID:0 private const _LAYER_KEY_FRAMEMASK:String = "framemask"; //slotID:0 private const _LAYER_KEY_VIDEOLAYER:String = "videolayer"; //slotID:0 private const _LAYER_KEY_VIDEOMASK:String = "videomask"; //slotID:0 private const _LAYER_KEY_NICOSLAYER:String = "nicos"; //slotID:0 private const _LAYER_KEY_NICOSLAYERMASK:String = "nicoslayermask";//slotID:0 private const _LAYER_KEY_NICOSMASKLAYER:String = "nicosmask"; //slotID:0 private const _LAYER_KEY_NICOSMASKLAYERMASK:String = "nicosmasklayermask";//slotID:0 private const _LAYER_KEY_NICOSBGMLAYER:String = "nicosbgm"; //slotID:0 private const _LAYER_KEY_NICOSBGMLAYERMASK:String = "nicosbgmlayermask";//slotID:0 private const _LAYER_KEY_COMMENTLAYER:String = "commentlayer"; //slotID:0 private const _LAYER_KEY_COMMENTMASK:String = "commentmask"; //slotID:0 private const _LAYER_KEY_JUMPMSG:String = "jumpmsg"; //slotID:0 private const _LAYER_KEY_MARQUEEVIDEOLAYER:String = "marqueevideolayer";//slotID:0 private const _LAYER_KEY_MARQUEEVIDEOMASK:String = "marqueevideomask";//slotID:0 private const _LAYER_KEY_HIROBACOMMENTLAYER:String = "hirobacommentLayer";//slotID:0 private const _LAYER_KEY_HIROBACOMMENTMASK:String = "hirobacommentMask";//slotID:0 private const _LAYER_KEY_PLUGIN:String = "pluginLayer"; //slotID:0 private const _LAYERS_ORDER_DEFAULT:Array; //slotID:0 private const _LAYERS_ORDER_DEEPENEDCOMMENT:Array; //slotID:0 private const _NICOS_LAYERS:Array; //slotID:0 private const _NICOS_MASKS:Array; //slotID:0 private var _registered:Object; //slotID:0 private var _layersOrder:Array; //slotID:0 private var _aspectRatio:uint = 1; //slotID:0 private var _screenMode:uint = 0; //slotID:0 private var _scale:Number = 1.0; //slotID:0 private var _videoWidth:int = 0; //slotID:0 private var _videoHeight:int = 0; //slotID:0 private var _isDeepenCommentMode:Boolean = false; //slotID:0 private var _isWideNicoSLayer:Boolean = false; //slotID:0 private var _isNoMaskMask:Boolean = false; //slotID:0 private var _isNicowariVisible:Boolean = false; //slotID:0 private var _isHirobaVisible:Boolean = false; //slotID:0 private var _baseLayer:MovieClip; //slotID:0 private var _frameLayer:Sprite; //slotID:0 private var _pluginLayer:Sprite; //slotID:0 private var _jumpMsg:Sprite; //slotID:0 private var _videoLayer:Sprite; //slotID:0 private var _videoMask:Sprite; //slotID:0 private var _marqueeVideoLayer:Sprite; //slotID:0 private var _marqueeVideoMask:Sprite; //slotID:0 private var _commentLayer:Sprite; //slotID:0 private var _commentMask:Sprite; //slotID:0 private var _hirobaCommentLayer:Sprite; //slotID:0 private var _hirobaCommentMask:Sprite; //slotID:0 private var _nicosLayer:Sprite; //slotID:0 private var _nicosLayerMask:Sprite; //slotID:0 private var _nicosMaskLayer:Sprite; //slotID:0 private var _nicosMaskLayerMask:Sprite; //slotID:0 private var _nicosBGMLayer:Sprite; //slotID:0 private var _nicosBGMLayerMask:Sprite; //slotID:0 private function _initializeLayers():void { //MethodID:645, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 1098 this._videoWidth = this._videoLayerWidth; this._videoHeight = this._videoLayerHeight; this._frameLayer = new Sprite(); this._frameLayer.graphics.lineStyle(1, 0, 1, false, LineScaleMode.NONE, CapsStyle.NONE, JointStyle.MITER); this._frameLayer.graphics.drawRect(0, 0, (VideoLayerConstants.BASE_LAYER_HD_WIDTH + 2), (VideoLayerConstants.BASE_LAYER_HD_HEIGHT + 2)); this._frameLayer.width = (this._baseLayerWidth + 2); this._frameLayer.height = (this._baseLayerHeight + 2); this._jumpMsg = this._createSimpleLayer(VideoLayerConstants.BASE_LAYER_HD_WIDTH, VideoLayerConstants.BASE_LAYER_HD_HEIGHT, 0, 0, 0, 0); this._pluginLayer = this._createSimpleLayer(VideoLayerConstants.BASE_LAYER_SD_WIDTH, VideoLayerConstants.BASE_LAYER_SD_HEIGHT, 0, 0, 0, 0); this._videoMask = this._createSimpleLayer(this._maskLayerWidth, this._maskLayerHeight, 0xFF0000); this._videoLayer = this._createSimpleLayer(this._videoLayerWidth, this._videoLayerHeight, 0, 0, 0, 0); this._videoLayer.mask = this._videoMask; this._commentMask = this._createSimpleLayer(VideoLayerConstants.COMMENT_LAYER_HD_WIDTH, VideoLayerConstants.COMMENT_LAYER_HD_HEIGHT, 0xFF0000, -((VideoLayerConstants.COMMENT_LAYER_HD_WIDTH - VideoLayerConstants.COMMENT_LAYER_SD_WIDTH) / 2)); this._commentLayer = this._createSimpleLayer(VideoLayerConstants.COMMENT_LAYER_SD_WIDTH, VideoLayerConstants.COMMENT_LAYER_SD_HEIGHT, 0, 0, 0, 0); this._commentLayer.mask = this._commentMask; this._hirobaCommentMask = this._createSimpleLayer(VideoLayerConstants.COMMENT_LAYER_HD_WIDTH, VideoLayerConstants.COMMENT_LAYER_HD_HEIGHT, 0xFF0000); this._hirobaCommentLayer = this._createSimpleLayer(VideoLayerConstants.COMMENT_LAYER_HD_WIDTH, VideoLayerConstants.COMMENT_LAYER_HD_HEIGHT, 0, 0, 0, 0); this._hirobaCommentLayer.mask = this._hirobaCommentMask; this._nicosLayerMask = this._createSimpleLayer(VideoLayerConstants.BASE_LAYER_SD_WIDTH, VideoLayerConstants.BASE_LAYER_SD_HEIGHT, 0xFF0000); this._nicosLayer = this._createSimpleLayer(VideoLayerConstants.VIDEO_LAYER_HD_WIDTH, VideoLayerConstants.VIDEO_LAYER_HD_HEIGHT, 0, 0, 0, 0); this._nicosLayer.mask = this._nicosLayerMask; this._nicosMaskLayerMask = this._createSimpleLayer(VideoLayerConstants.BASE_LAYER_SD_WIDTH, VideoLayerConstants.BASE_LAYER_SD_HEIGHT, 0xFF0000); this._nicosMaskLayer = this._createSimpleLayer(VideoLayerConstants.VIDEO_LAYER_HD_WIDTH, VideoLayerConstants.VIDEO_LAYER_HD_HEIGHT, 0, 0, 0, 0); this._nicosMaskLayer.mask = this._nicosMaskLayerMask; this._nicosBGMLayerMask = this._createSimpleLayer(VideoLayerConstants.BASE_LAYER_SD_WIDTH, VideoLayerConstants.BASE_LAYER_SD_HEIGHT, 0xFF0000); this._nicosBGMLayer = this._createSimpleLayer(VideoLayerConstants.VIDEO_LAYER_HD_WIDTH, VideoLayerConstants.VIDEO_LAYER_HD_HEIGHT, 0, 0, 0, 0); this._nicosBGMLayer.mask = this._nicosBGMLayerMask; if(this._aspectRatio == ScreenAspectRatio.WIDE){ var hug1:int = -1; this._frameLayer.y = hug1; this._frameLayer.x = hug1; }else{ this._frameLayer.x = (((VideoLayerConstants.BASE_LAYER_HD_WIDTH - VideoLayerConstants.BASE_LAYER_SD_WIDTH) / 2) - 1); this._frameLayer.y = -1; } this._videoLayer.x = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - this._videoLayerWidth) / 2); this._videoLayer.y = ((this._baseLayerHeight - this._videoLayerHeight) / 2); this._videoMask.x = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - this._maskLayerWidth) / 2); this._videoMask.y = ((this._baseLayerHeight - this._maskLayerHeight) / 2); var hug1:Number = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - VideoLayerConstants.COMMENT_LAYER_SD_WIDTH) / 2); this._commentMask.x = hug1; this._commentLayer.x = hug1; var hug1:Number = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - VideoLayerConstants.VIDEO_LAYER_SD_WIDTH) / 2); this._nicosBGMLayer.x = hug1; this._nicosMaskLayer.x = hug1; this._nicosLayer.x = hug1; var hug1:Number = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - VideoLayerConstants.BASE_LAYER_SD_WIDTH) / 2); this._nicosBGMLayerMask.x = hug1; this._nicosMaskLayerMask.x = hug1; this._nicosLayerMask.x = hug1; this._pluginLayer.x = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - VideoLayerConstants.BASE_LAYER_SD_WIDTH) / 2); this._append(this._LAYER_KEY_VIDEOLAYER, this._videoLayer); this._append(this._LAYER_KEY_VIDEOMASK, this._videoMask); this._append(this._LAYER_KEY_NICOSMASKLAYER, this._nicosMaskLayer); this._append(this._LAYER_KEY_NICOSMASKLAYERMASK, this._nicosMaskLayerMask); this._append(this._LAYER_KEY_NICOSLAYER, this._nicosLayer); this._append(this._LAYER_KEY_NICOSLAYERMASK, this._nicosLayerMask); this._append(this._LAYER_KEY_NICOSBGMLAYER, this._nicosBGMLayer); this._append(this._LAYER_KEY_NICOSBGMLAYERMASK, this._nicosBGMLayerMask); this._append(this._LAYER_KEY_COMMENTLAYER, this._commentLayer); this._append(this._LAYER_KEY_COMMENTMASK, this._commentMask); this._append(this._LAYER_KEY_FRAMELAYER, this._frameLayer); this._append(this._LAYER_KEY_JUMPMSG, this._jumpMsg); this._append(this._LAYER_KEY_HIROBACOMMENTLAYER, this._hirobaCommentLayer); this._append(this._LAYER_KEY_HIROBACOMMENTMASK, this._hirobaCommentMask); this._append(this._LAYER_KEY_PLUGIN, this._pluginLayer); this._jumpMsg.visible = false; this._updateIndex(); this.updateNicowariVisible(false); onHirobaPlayerVisibleUpdated(false); } public function refreshLayers():void { //MethodID:646, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 116 while(this._videoLayer.numChildren > 0){ this._videoLayer.removeChildAt(0); } while(this._commentLayer.numChildren > 0){ this._commentLayer.removeChildAt(0); } var hug1:Sprite = this._registered[OPTIONAL_LAYER_SPONSORVIDEOLAYER]; delete this._registered[OPTIONAL_LAYER_SPONSORVIDEOLAYER]; if((hug1 != null) && this._baseLayer.contains(hug1)) this._baseLayer.removeChild(hug1); } public function deepenComment():void { //MethodID:647, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 9 this._updateLayerDepth(true); } public function createMarqueeVideoLayer():Sprite { //MethodID:648, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 144 this._marqueeVideoMask = this._createSimpleLayer(VideoLayerConstants.VIDEO_LAYER_SD_WIDTH, VideoLayerConstants.VIDEO_LAYER_SD_HEIGHT, 0xFF0000, 0); this._marqueeVideoLayer = this._createSimpleLayer(VideoLayerConstants.VIDEO_LAYER_SD_WIDTH, VideoLayerConstants.VIDEO_LAYER_SD_HEIGHT, 0, 0, 0, 0); this._marqueeVideoLayer.mask = this._marqueeVideoMask; var hug1:Number = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - VideoLayerConstants.VIDEO_LAYER_SD_WIDTH) / 2); this._marqueeVideoMask.x = hug1; this._marqueeVideoLayer.x = hug1; this._append(this._LAYER_KEY_MARQUEEVIDEOLAYER, this._marqueeVideoLayer); this._append(this._LAYER_KEY_MARQUEEVIDEOMASK, this._marqueeVideoMask); this._marqueeVideoLayer.mouseEnabled = true; this._updateIndex(); return this._marqueeVideoLayer; } public function createOptionalLayer(hug1:String):Sprite { //MethodID:649, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 141 if(this._LAYERS_ORDER_DEFAULT.indexOf(hug1) == (-1)) throw new ArgumentError("VideoLayerManager.createOptionalLayer: invalid name."); if(this._registered[hug1]) throw new IllegalOperationError("VideoLayerManager.createOptionalLayer: \"" + hug1 + "\" layer has been already created"); var hug2:Sprite = new Sprite(); hug2.graphics.beginFill(0, 0); hug2.graphics.drawRect(0, 0, VideoLayerConstants.VIDEO_LAYER_HD_WIDTH, VideoLayerConstants.VIDEO_LAYER_HD_HEIGHT); hug2.graphics.endFill(); hug2.x = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - VideoLayerConstants.VIDEO_LAYER_SD_WIDTH) / 2); this._append(hug1, hug2); this._updateIndex(); return hug2; } public function deleteMarqueeVideoLayer():void { //MethodID:650, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 158 var hug2:String = null; var hug1:Object = {}; for(hug2 in this._registered){ if((hug2 == this._LAYER_KEY_MARQUEEVIDEOLAYER) || (hug2 == this._LAYER_KEY_MARQUEEVIDEOMASK)){ }else{ hug1[hug2] = this._registered[hug2]; } } this._registered = hug1; if(this._baseLayer.contains(this._marqueeVideoLayer)) this._baseLayer.removeChild(this._marqueeVideoLayer); if(this._baseLayer.contains(this._marqueeVideoMask)) this._baseLayer.removeChild(this._marqueeVideoMask); this._updateIndex(); this._marqueeVideoLayer = null; this._marqueeVideoMask = null; } private function _append(hug1:String, hug2:Sprite):void { //MethodID:651, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 26 hug2.mouseEnabled = false; this._baseLayer.addChild(hug2); this._registered[hug1] = hug2; } private function _createSimpleLayer(hug1:Number, hug2:Number, hug3:uint=0, hug4:Number=0.0, hug5:Number=0.0, hug6:Number=1.0):Sprite { //MethodID:652, LocalCount= 8 , MaxScope= 1, MaxStack= 5, CodeLength= 49 var hug7:Sprite = new Sprite(); hug7.graphics.beginFill(hug3, hug6); hug7.graphics.drawRect(hug4, hug5, hug1, hug2); hug7.graphics.endFill(); return hug7; } private function _updateIndex():void { //MethodID:653, LocalCount= 10 , MaxScope= 1, MaxStack= 3, CodeLength= 214 var hug2:String = null; var hug3:uint = 0; var hug4:String = null; var hug5:uint = 0; var hug6:String = null; var hug7:Sprite = null; var hug1:Array = []; for(hug2 in this._registered){ hug1.push(hug2); } hug3 = 0; while(hug1.length > 0){ hug4 = hug1[0]; hug5 = 1; while(hug5 < hug1.length){ hug6 = hug1[hug5]; hug7 = this._registered[hug6]; if(this._layersOrder.indexOf(hug4) > this._layersOrder.indexOf(hug6)) hug4 = hug6; hug5++; } this._baseLayer.setChildIndex(this._registered[hug4], hug3); hug1.splice(hug1.indexOf(hug4), 1); hug3++; } } private function _updateLayerDepth(hug1:Boolean):void { //MethodID:654, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 384 var hug2:String = null; this._isDeepenCommentMode = hug1; this._layersOrder = (hug1 ? this._LAYERS_ORDER_DEEPENEDCOMMENT : this._LAYERS_ORDER_DEFAULT); this._scale = (hug1 ? 0.8 : 1); for(hug2 in this._registered){ var hug5:String = hug2; switch(hug5){ case this._LAYER_KEY_VIDEOLAYER: this._updateLayerScaleAndPosition(this._videoLayer, this._videoLayerWidth, this._videoLayerHeight, this._scale); break; case this._LAYER_KEY_NICOSLAYER: case this._LAYER_KEY_NICOSMASKLAYER: case this._LAYER_KEY_NICOSBGMLAYER: this._updateLayerScaleAndPosition(this._registered[hug2], (this._isWideNicoSLayer ? VideoLayerConstants.VIDEO_LAYER_HD_WIDTH : VideoLayerConstants.VIDEO_LAYER_SD_WIDTH), (this._isWideNicoSLayer ? VideoLayerConstants.VIDEO_LAYER_HD_HEIGHT : VideoLayerConstants.VIDEO_LAYER_SD_HEIGHT), this._scale); break; case this._LAYER_KEY_MARQUEEVIDEOLAYER: case this._LAYER_KEY_MARQUEEVIDEOMASK: this._updateLayerScaleAndPosition(this._registered[hug2], VideoLayerConstants.VIDEO_LAYER_SD_WIDTH, VideoLayerConstants.VIDEO_LAYER_SD_HEIGHT, this._scale); break; default: break; } } this._updateNicoSMaskLayerSize(); this._updateVideoMaskLayerSize(); this._updateIndex(); } private function _updateLayerScaleAndPosition(hug1:DisplayObject, hug2:int, hug3:int, hug4:Number):void { //MethodID:655, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 83 var hug5:int = 1; hug1.scaleY = hug5; hug1.scaleX = hug5; hug1.width = hug2; hug1.height = hug3; var hug5:Number = hug4; hug1.scaleY = hug5; hug1.scaleX = hug5; hug1.x = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - (hug2 * hug4)) / 2); hug1.y = ((VideoLayerConstants.BASE_LAYER_HD_HEIGHT - (hug3 * hug4)) / 2); } private function _updateFrameSize():void { //MethodID:656, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 139 if(this._aspectRatio == ScreenAspectRatio.WIDE){ this._frameLayer.width = (VideoLayerConstants.BASE_LAYER_HD_WIDTH + 2); this._frameLayer.height = (VideoLayerConstants.BASE_LAYER_HD_HEIGHT + 2); var hug1:int = -1; this._frameLayer.y = hug1; this._frameLayer.x = hug1; }else{ this._frameLayer.width = (VideoLayerConstants.BASE_LAYER_SD_WIDTH + 2); this._frameLayer.height = (VideoLayerConstants.BASE_LAYER_SD_HEIGHT + 2); this._frameLayer.x = (((VideoLayerConstants.BASE_LAYER_HD_WIDTH - VideoLayerConstants.BASE_LAYER_SD_WIDTH) / 2) - 1); this._frameLayer.y = -1; } } public function setVideoSize(hug1:int, hug2:int):void { //MethodID:657, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 18 this._videoWidth = hug1; this._videoHeight = hug2; this._updateVideoMaskLayerSize(); } private function _updateLayerVisible():void { //MethodID:658, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 111 var hug1:Boolean = (this._isNicowariVisible || this._isHirobaVisible); this._videoLayer.visible = !hug1; this._jumpMsg.visible = !hug1; this._pluginLayer.visible = !hug1; var hug2:Boolean = !hug1; this._nicosBGMLayer.visible = hug2; this._nicosMaskLayer.visible = hug2; this._nicosLayer.visible = hug2; this._hirobaCommentLayer.visible = this._isHirobaVisible; if(this._marqueeVideoLayer) this._marqueeVideoLayer.visible = this._isNicowariVisible; } public function updateNicowariVisible(hug1:Boolean):void { //MethodID:659, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this._isNicowariVisible = hug1; this._updateLayerVisible(); } public function updateWideNicoSLayer(hug1:Boolean=false):void { //MethodID:660, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this._isWideNicoSLayer = hug1; this._updateNicoSMaskLayerSize(); } public function updateVideoMask(hug1:Boolean=false):void { //MethodID:661, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this._isNoMaskMask = hug1; this._updateVideoMaskLayerSize(); } private function _updateVideoMaskLayerSize():void { //MethodID:662, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 183 var hug1:Number = NaN; if(this._isNoMaskMask){ this._videoMask.width = VideoLayerConstants.BASE_LAYER_HD_WIDTH; this._videoMask.height = VideoLayerConstants.BASE_LAYER_HD_HEIGHT; var hug2:int = 0; this._videoMask.y = hug2; this._videoMask.x = hug2; }else{ hug1 = Math.min((this._videoLayerWidth / this._maskLayerWidth), (this._videoLayerHeight / this._maskLayerHeight)); this._videoMask.width = (this._maskLayerWidth * this._scale * hug1); this._videoMask.height = (this._maskLayerHeight * this._scale * hug1); this._videoMask.x = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - (this._maskLayerWidth * this._scale * hug1)) / 2); this._videoMask.y = ((VideoLayerConstants.BASE_LAYER_HD_HEIGHT - (this._maskLayerHeight * this._scale * hug1)) / 2); } } private function _updateNicoSMaskLayerSize():void { //MethodID:663, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 393 var hug1:int = ((this._isWideNicoSLayer ? VideoLayerConstants.BASE_LAYER_HD_WIDTH : VideoLayerConstants.BASE_LAYER_SD_WIDTH) * this._scale); var hug2:int = ((this._isWideNicoSLayer ? VideoLayerConstants.BASE_LAYER_HD_HEIGHT : VideoLayerConstants.BASE_LAYER_SD_HEIGHT) * this._scale); var hug5:int = hug1; this._nicosBGMLayerMask.width = hug5; this._nicosMaskLayerMask.width = hug5; this._nicosLayerMask.width = hug5; var hug5:int = hug2; this._nicosBGMLayerMask.height = hug5; this._nicosMaskLayerMask.height = hug5; this._nicosLayerMask.height = hug5; var hug5:Number = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - hug1) / 2); this._nicosBGMLayerMask.x = hug5; this._nicosMaskLayerMask.x = hug5; this._nicosLayerMask.x = hug5; var hug5:Number = ((VideoLayerConstants.BASE_LAYER_HD_HEIGHT - hug2) / 2); this._nicosBGMLayerMask.y = hug5; this._nicosMaskLayerMask.y = hug5; this._nicosLayerMask.y = hug5; var hug3:int = ((this._isWideNicoSLayer ? VideoLayerConstants.VIDEO_LAYER_HD_WIDTH : VideoLayerConstants.VIDEO_LAYER_SD_WIDTH) * this._scale); var hug4:int = ((this._isWideNicoSLayer ? VideoLayerConstants.VIDEO_LAYER_HD_HEIGHT : VideoLayerConstants.VIDEO_LAYER_SD_HEIGHT) * this._scale); var hug5:Number = ((VideoLayerConstants.BASE_LAYER_HD_WIDTH - hug3) / 2); this._nicosBGMLayer.x = hug5; this._nicosMaskLayer.x = hug5; this._nicosLayer.x = hug5; var hug5:Number = ((VideoLayerConstants.BASE_LAYER_HD_HEIGHT - hug4) / 2); this._nicosBGMLayer.y = hug5; this._nicosMaskLayer.y = hug5; this._nicosLayer.y = hug5; } public function get baseLayer():Sprite { //MethodID:664, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._baseLayer; } public function get pluginLayer():Sprite { //MethodID:665, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._pluginLayer; } public function get jumpMsgLayer():Sprite { //MethodID:666, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._jumpMsg; } public function get videoLayer():Sprite { //MethodID:667, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoLayer; } public function get marqueeVideoLayer():Sprite { //MethodID:668, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._marqueeVideoLayer; } public function get commentLayer():Sprite { //MethodID:669, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._commentLayer; } public function get hirobaCommentLayer():Sprite { //MethodID:670, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hirobaCommentLayer; } public function get nicosLayer():Sprite { //MethodID:671, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nicosLayer; } public function get nicosMaskLayer():Sprite { //MethodID:672, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nicosMaskLayer; } public function get nicosBGMLayer():Sprite { //MethodID:673, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nicosBGMLayer; } private function get _maskLayerWidth():int { //MethodID:674, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 25 return (this._isNoMaskMask ? this._baseLayerWidth : this._videoWidth); } private function get _maskLayerHeight():int { //MethodID:675, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 25 return (this._isNoMaskMask ? this._baseLayerHeight : this._videoHeight); } private function get _baseLayerWidth():int { //MethodID:676, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 39 var hug1:int = ((this._aspectRatio == ScreenAspectRatio.NORMAL) ? VideoLayerConstants.BASE_LAYER_SD_WIDTH : VideoLayerConstants.BASE_LAYER_HD_WIDTH); return hug1; } private function get _baseLayerHeight():int { //MethodID:677, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 39 var hug1:int = ((this._aspectRatio == ScreenAspectRatio.NORMAL) ? VideoLayerConstants.BASE_LAYER_SD_HEIGHT : VideoLayerConstants.BASE_LAYER_HD_HEIGHT); return hug1; } private function get _videoLayerWidth():int { //MethodID:678, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 39 var hug1:int = ((this._aspectRatio == ScreenAspectRatio.NORMAL) ? VideoLayerConstants.VIDEO_LAYER_SD_WIDTH : VideoLayerConstants.VIDEO_LAYER_HD_WIDTH); return hug1; } private function get _videoLayerHeight():int { //MethodID:679, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 39 var hug1:int = ((this._aspectRatio == ScreenAspectRatio.NORMAL) ? VideoLayerConstants.VIDEO_LAYER_SD_HEIGHT : VideoLayerConstants.VIDEO_LAYER_HD_HEIGHT); return hug1; } public function set isWideNicoSLayer(hug1:Boolean):void { //MethodID:680, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function set isVideoSizeMask(hug1:Boolean):void { //MethodID:681, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigDeepenedCommentUpdated(hug1:Boolean):EventResult { //MethodID:682, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14 this._updateLayerDepth(hug1); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigScreenModeUpdated(hug1:uint):EventResult { //MethodID:683, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 73 this._screenMode = hug1; if((hug1 == ScreenMode.BROWSER_FULL) || (hug1 == ScreenMode.DISPLAY_FULL)){ this._frameLayer.visible = false; }else{ this._frameLayer.visible = true; } this._updateFrameSize(); this._updateLayerDepth(this._isDeepenCommentMode); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onHirobaPlayerVisibleUpdated(hug1:Boolean):EventResult { //MethodID:684, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 18 this._isHirobaVisible = hug1; this._updateLayerVisible(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigAspectRatioUpdate(hug1:uint):EventResult { //MethodID:685, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27 this._aspectRatio = hug1; this._updateFrameSize(); this._updateLayerDepth(this._isDeepenCommentMode); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlaylistTargetUpdated(hug1:VideoInfo):EventResult { //MethodID:686, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 13 this.refreshLayers(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get videoMask():Sprite { //MethodID:687, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoMask; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get commentMask():Sprite { //MethodID:688, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._commentMask; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get marqueeVideoMask():Sprite { //MethodID:689, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._marqueeVideoMask; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get frameLayer():Sprite { //MethodID:690, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._frameLayer; } } } //■script045■ package jp.nicovideo.nicoplayer.models.comment{ import flash.errors.IllegalOperationError import jp.nicovideo.util.Functions import jp.nicovideo.util.ObjectUtils import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.events.event_sender use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:54 public class LocalCommentList extends Object implements ICommentList, EventSender { //static constructor public static function LocalCommentList$cinit() { //MethodID:692, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function LocalCommentList() { //MethodID:693, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 36 this._commentList = []; this._pastCommentList = []; this.onCommentListUpdated = new Functions(); this.onCommentPost = new Functions(); super(); } //variables/etc. private var _commentList:Array; //slotID:0 private var _pastCommentList:Array; //slotID:0 private var _isPast:Boolean = false; //slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onCommentListUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onCommentPost:Functions;//slotID:0 public function get eventNames():Array { //MethodID:694, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 return ["onCommentListUpdated", "onCommentPost"]; } public function reload(hug1:Function):void { //MethodID:695, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 9 hug1(null); } public function update(hug1:Function):void { //MethodID:696, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 9 hug1(null); } public function post(hug1:IComment):void { //MethodID:697, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 84 var hug2:CommentBuilder = new CommentBuilder(hug1); hug2.resNo = (this._commentList.length + 1); hug2.justPosted = true; var hug3:IComment = hug2.make(); this._commentList.push(hug3); onCommentListUpdated.apply([hug3], [hug1], false, this.name); } public function serveCommentList():void { //MethodID:698, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 54 onCommentListUpdated.apply((this._isPast ? this._pastCommentList : this._commentList), [], true, this.name); } public function get currentList():Array { //MethodID:699, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this._commentList.concat(); } public function get name():String { //MethodID:700, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9 return CommentConstants.CL_LOCAL; } public function clickButtonComment(hug1:IComment):void { //MethodID:701, LocalCount= 8 , MaxScope= 1, MaxStack= 6, CodeLength= 169 var hug2:IComment = null; var hug3:CommentBuilder = null; var hug4:IComment = null; if(!hug1.command.hasButton) throw new IllegalOperationError("LocalCommentList.clickButtonComment: comment is not button."); for each(hug2 in this._commentList){ if(hug2.resNo == hug1.resNo){ hug3 = new CommentBuilder(hug2); hug3.clickCount = (hug2.clickCount + 1); hug4 = hug3.make(); onCommentListUpdated([hug4], [hug1], false, this.name); return; } } throw new Error("LocalCommentList.clickButtonComment: comment is not for LocalCommentList."); } public function isClickable(hug1:IComment):Boolean { //MethodID:702, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return hug1.command.hasButton; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onTimeMachineDateUpdated(hug1:Boolean, hug2:Date=null):EventResult { //MethodID:703, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 24 this._isPast = hug1; ObjectUtils.callLater(this.serveCommentList); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsEnabledLeafMode(hug1:Boolean):EventResult { //MethodID:704, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8 return EventResult.THROUGH; } public function get leavesNum():String { //MethodID:705, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 5 return ""; } public function get threadID():String { //MethodID:706, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 5 return ""; } } } //■script046■ package jp.nicovideo.nicoplayer.tpls.shutter{ import jp.nicovideo.util.Functions //■class(instance)_index:55 public interface IControllerShutter { //static constructor public static function IControllerShutter$cinit() { //MethodID:708, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function close(hug1:int, hug2:String):void; //MethodID:709, dispID:0 function open(hug1:int):void; //MethodID:710, dispID:0 function isClosing(hug1:int):Boolean; //MethodID:711, dispID:0 function get onShutterOpened():Functions; //MethodID:712, dispID:0 function get onShutterClosed():Functions; //MethodID:713, dispID:0 //constructor public function IControllerShutter(); //MethodID:714, dispID:0 } } //■script047■ package jp.nicovideo.nicoplayer.tpls.shutter{ import jp.nicovideo.util.Functions //■class(instance)_index:57 public class ControllerShutter extends Object implements IControllerShutter { //static constructor public static function ControllerShutter$cinit() { //MethodID:718, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ControllerShutter(hug1:int, hug2:String) { //MethodID:719, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 69 this.__shutterStates = []; this._onShutterOpened = new Functions(); this._onShutterClosed = new Functions(); super(); this._END_OF_ENUM = hug1; var hug3:int = 0; while(hug3 < this._END_OF_ENUM){ this.__shutterStates[hug3] = new _ShutterState(); hug3++; } } //variables/etc. private var _END_OF_ENUM:int; //slotID:0 private var __shutterStates:Array; //slotID:0 private var __mostPreferredClosedShutter:int = -1; //slotID:0 private const _onShutterOpened:Functions; //slotID:0 private const _onShutterClosed:Functions; //slotID:0 public function get onShutterOpened():Functions { //MethodID:720, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onShutterOpened; } public function get onShutterClosed():Functions { //MethodID:721, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onShutterClosed; } public function close(hug1:int, hug2:String):void { //MethodID:722, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 51 this.__ensureShutterBeing(hug1); var hug3:_ShutterState = this.__shutterStates[hug1]; hug3.closed = true; hug3.message = hug2; if(this.__mostPreferredClosedShutter <= hug1){ this.__closeShutter(hug1); this.__mostPreferredClosedShutter = hug1; } } public function open(hug1:int):void { //MethodID:723, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 113 this.__ensureShutterBeing(hug1); this.__shutterStates[hug1].closed = false; if(this.__mostPreferredClosedShutter == hug1){ while(true){ if(this.__mostPreferredClosedShutter >= 0){ if(!this.__shutterStates[this.__mostPreferredClosedShutter].closed){ this.__mostPreferredClosedShutter--; continue; } this.__closeShutter(this.__mostPreferredClosedShutter); }else{ this._onShutterOpened.apply(); } break; this.__mostPreferredClosedShutter--; } }else{ }//note: JumpOffset(33) is wrong } public function isClosing(hug1:int):Boolean { //MethodID:724, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 20 this.__ensureShutterBeing(hug1); return this.__shutterStates[hug1].closed; } private function __ensureShutterBeing(hug1:int):void { //MethodID:725, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 36 if((hug1 < 0) || (hug1 >= this._END_OF_ENUM)) throw new ArgumentError("shutter=" + hug1); } private function __closeShutter(hug1:int):void { //MethodID:726, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 23 this._onShutterClosed.apply(hug1, this.__shutterStates[hug1].message); } } } //■class(instance)_index:56 //private class _ShutterState extends Object { //static constructor public static function _ShutterState$cinit() { //MethodID:716, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _ShutterState() { //MethodID:717, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public var closed:Boolean = false; //slotID:0 public var message:String; //slotID:0 } //■script048■ package jp.nicovideo.nicoplayer.models{ //■class(instance)_index:58 public interface IPlayerConfig { //static constructor public static function IPlayerConfig$cinit() { //MethodID:728, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get isLoop():Boolean; //MethodID:729, dispID:0 function set isLoop(hug1:Boolean):void; //MethodID:730, dispID:0 function get isMute():Boolean; //MethodID:731, dispID:0 function set isMute(hug1:Boolean):void; //MethodID:732, dispID:0 function get isNicowariSkip():Boolean; //MethodID:733, dispID:0 function set isNicowariSkip(hug1:Boolean):void; //MethodID:734, dispID:0 function get volume():Number; //MethodID:735, dispID:0 function set volume(hug1:Number):void; //MethodID:736, dispID:0 function get commentVisible():Boolean; //MethodID:737, dispID:0 function set commentVisible(hug1:Boolean):void; //MethodID:738, dispID:0 function get fullScreenMode():uint; //MethodID:739, dispID:0 function set fullScreenMode(hug1:uint):void; //MethodID:740, dispID:0 function get screenMode():uint; //MethodID:741, dispID:0 function set screenMode(hug1:uint):void; //MethodID:742, dispID:0 function get useNG():Boolean; //MethodID:743, dispID:0 function set useNG(hug1:Boolean):void; //MethodID:744, dispID:0 function get hide184():Boolean; //MethodID:745, dispID:0 function set hide184(hug1:Boolean):void; //MethodID:746, dispID:0 function get use184():Boolean; //MethodID:747, dispID:0 function set use184(hug1:Boolean):void; //MethodID:748, dispID:0 function get synchronicScrolling():Boolean; //MethodID:749, dispID:0 function set synchronicScrolling(hug1:Boolean):void; //MethodID:750, dispID:0 function get automaticLoading():Boolean; //MethodID:751, dispID:0 function set automaticLoading(hug1:Boolean):void; //MethodID:752, dispID:0 function get oceColumnVPosWidth():uint; //MethodID:753, dispID:0 function set oceColumnVPosWidth(hug1:uint):void; //MethodID:754, dispID:0 function get oceColumnCommandWidth():uint; //MethodID:755, dispID:0 function set oceColumnCommandWidth(hug1:uint):void; //MethodID:756, dispID:0 function get oceColumnMessageWidth():uint; //MethodID:757, dispID:0 function set oceColumnMessageWidth(hug1:uint):void; //MethodID:758, dispID:0 function get oceColumnCheckWidth():uint; //MethodID:759, dispID:0 function set oceColumnCheckWidth(hug1:uint):void; //MethodID:760, dispID:0 function get liveCommentInvisible():Boolean; //MethodID:761, dispID:0 function set liveCommentInvisible(hug1:Boolean):void; //MethodID:762, dispID:0 function get aspectRatio():uint; //MethodID:763, dispID:0 function set aspectRatio(hug1:uint):void; //MethodID:764, dispID:0 function get isAvailableCommandPallete():Boolean; //MethodID:765, dispID:0 function set isAvailableCommandPallete(hug1:Boolean):void; //MethodID:766, dispID:0 function get autoPlay():Boolean; //MethodID:767, dispID:0 function set autoPlay(hug1:Boolean):void; //MethodID:768, dispID:0 function get deepenedCommentForce():Boolean; //MethodID:769, dispID:0 function set deepenedCommentForce(hug1:Boolean):void; //MethodID:770, dispID:0 function get deepenedComment():Boolean; //MethodID:771, dispID:0 function set deepenedComment(hug1:Boolean):void; //MethodID:772, dispID:0 function get optionalCommentVisible():Boolean; //MethodID:773, dispID:0 function set optionalCommentVisible(hug1:Boolean):void; //MethodID:774, dispID:0 function get sponsorVisibleOnLoop():Boolean; //MethodID:775, dispID:0 function set sponsorVisibleOnLoop(hug1:Boolean):void; //MethodID:776, dispID:0 function get clockMessageVisible():Boolean; //MethodID:777, dispID:0 function set clockMessageVisible(hug1:Boolean):void; //MethodID:778, dispID:0 function get isPlayerModeConfirm():Boolean; //MethodID:779, dispID:0 function set isPlayerModeConfirm(hug1:Boolean):void; //MethodID:780, dispID:0 function get toolTipVisible():Boolean; //MethodID:781, dispID:0 function set toolTipVisible(hug1:Boolean):void; //MethodID:782, dispID:0 function get isEnabledLeafMode():Boolean; //MethodID:783, dispID:0 function set isEnabledLeafMode(hug1:Boolean):void; //MethodID:784, dispID:0 function get isPlaylistRandomPlay():Boolean; //MethodID:785, dispID:0 function set isPlaylistRandomPlay(hug1:Boolean):void; //MethodID:786, dispID:0 function getTabVisibleConfig(hug1:String):Boolean; //MethodID:787, dispID:0 function setTabVisibleConfig(hug1:String, hug2:Boolean):void; //MethodID:788, dispID:0 //constructor public function IPlayerConfig(); //MethodID:789, dispID:0 } } //■script049■ package jp.nicovideo.nicoplayer.models{ import jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren.WindowChildren.TabContentName import jp.nicovideo.util.CrossSharedObject import jp.nicovideo.util.Functions import jp.nicovideo.util.events.event_sender import jp.nicovideo.util.storage.LocalStorage use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); //■class(instance)_index:59 public class PlayerConfig extends Object implements EventSender, IPlayerConfig { //static constructor public static function PlayerConfig$cinit() { //MethodID:791, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PlayerConfig(hug1:Boolean=false) { //MethodID:794, LocalCount= 3 , MaxScope= 2, MaxStack= 24, CodeLength= 1537 internal var isThumbWatch:Boolean = false; //slotID:1 internal var invalidFlag:Boolean; //slotID:2 isThumbWatch = hug1; this.soSound = CrossSharedObject.getStorage(this.SO_SOUND); this.soCommentDG = CrossSharedObject.getStorage(this.SO_COMMENTDATAGRID); this.soUseNG = CrossSharedObject.getStorage(this.SO_USENG); this.soHide184 = CrossSharedObject.getStorage(this.SO_HIDE184); this.soOwnerCommentEditor = CrossSharedObject.getStorage(this.SO_OWNERCOMMENT_EDITOR); this.soOptionalComment = CrossSharedObject.getStorage(this.SO_OPTIONAL_COMMENT); this.soCommentInputSetting = CrossSharedObject.getStorage(this.SO_COMMENTINPUT_SETTING); this.soVideoSetting = CrossSharedObject.getStorage(this.SO_VIDEO_SETTING); this.soPlayerSetting = CrossSharedObject.getStorage(this.SO_PLAYER_SETTING); this.soTabSetting = CrossSharedObject.getStorage("jp.nicovideo.nicoplayer.models.PlayerConfig_tabSetting"); this.soEnabledLeafMode = CrossSharedObject.getStorage(this.SO_ENABLED_LEAF_MODE); this._soPlaylist = CrossSharedObject.getStorage(this._SO_PLAYLIST); this._eventNames = ["onPlayerConfigIsMuteUpdated", "onPlayerConfigIsLoopUpdated", "onPlayerConfigIsNicowariSkipUpdated", "onPlayerConfigUse184Updated", "onPlayerConfigVolumeUpdated", "onPlayerConfigCommentVisibleUpdated", "onPlayerConfigScreenModeUpdated", "onPlayerConfigFullScreenModeUpdated", "onPlayerConfigUseNGUpdated", "onPlayerConfigHide184Updated", "onPlayerConfigSynchronicScrollingUpdated", "onPlayerConfigAutomaticLoadingUpdated", "onPlayerConfigCommandPalleteAvailableUpdated", "onPlayerConfigAutoPlayUpdated", "onPlayerConfigSponsorVisibleOnLoopUpdated", "onPlayerConfigClockMessageVisibleUpdated", "onPlayerConfigDeepenedCommentUpdated", "onPlayerConfigPlayerModeUpdated", "onPlayerConfigToolTipVisibleUpdated", "onPlayerConfigTabContentVisibleUpdated", "onPlayerConfigliveCommentInvisibleUpdate", "onPlayerConfigIsEnabledLeafMode", "onPlayerConfigIsPlaylistRandomPlayUpdated"]; this.onPlayerConfigIsMuteUpdated = new Functions(); this.onPlayerConfigIsLoopUpdated = new Functions(); this.onPlayerConfigIsNicowariSkipUpdated = new Functions(); this.onPlayerConfigUse184Updated = new Functions(); this.onPlayerConfigVolumeUpdated = new Functions(); this.onPlayerConfigCommentVisibleUpdated = new Functions(); this.onPlayerConfigScreenModeUpdated = new Functions(); this.onPlayerConfigFullScreenModeUpdated = new Functions(); this.onPlayerConfigUseNGUpdated = new Functions(); this.onPlayerConfigHide184Updated = new Functions(); this.onPlayerConfigSynchronicScrollingUpdated = new Functions(); this.onPlayerConfigAutomaticLoadingUpdated = new Functions(); this.onPlayerConfigSponsorVisibleOnLoopUpdated = new Functions(); this.onPlayerConfigTabContentVisibleUpdated = new Functions(); this.onPlayerConfigliveCommentInvisibleUpdate = new Functions(); this.onPlayerConfigAspectRatioUpdate = new Functions(); this.onPlayerConfigIsEnabledLeafMode = new Functions(); this.onPlayerConfigCommandPalleteAvailableUpdated = new Functions(); this.onPlayerConfigAutoPlayUpdated = new Functions(); this.onPlayerConfigDeepenedCommentUpdated = new Functions(); this.onPlayerConfigOptionalCommentVisibleUpdated = new Functions(); this.onPlayerConfigClockMessageVisibleUpdated = new Functions(); this.onPlayerConfigPlayerModeUpdated = new Functions(); this.onPlayerConfigToolTipVisibleUpdated = new Functions(); this.onPlayerConfigIsPlaylistRandomPlayUpdated = new Functions(); super(); this._isThumbWatch = isThumbWatch; this._commentVisible = true; this._screenMode = ScreenMode.NORMAL; if((this.soSound.data.mute == undefined) || (this.soSound.data.volume != undefined)){ if(this.soSound.data.mute == undefined) this.soSound.data.mute = false; if(this.soSound.data.volume == undefined) this.soSound.data.volume = 50; this.soSound.flush(); } if((this.soCommentDG.data.isLoglistAutoDL2 == undefined) || (this.soCommentDG.data.liveCommentInvisible == undefined)){ if(this.soCommentDG.data.isLoglistAutoDL2 == undefined) this.soCommentDG.data.isLoglistAutoDL2 = false; if(this.soCommentDG.data.liveCommentInvisible == undefined) this.soCommentDG.data.liveCommentInvisible = false; this.soCommentDG.flush(); } if(this.soUseNG.data.flag == undefined){ this.soUseNG.data.flag = true; this.soUseNG.flush(); } if(this.soHide184.data.flag == undefined){ this.soHide184.data.flag = false; this.soHide184.flush(); } if((this.soVideoSetting.data.isLoop == undefined) || (this.soVideoSetting.data.fullScreenMode == undefined) || (this.soVideoSetting.data.autoPlay == undefined) || (this.soVideoSetting.data.isNicowariSkip == undefined) || (this.soVideoSetting.data.sponsorVisibleOnLoop == undefined)){ if(this.soVideoSetting.data.isLoop == undefined) this.soVideoSetting.data.isLoop = false; if(this.soVideoSetting.data.fullScreenMode == undefined) this.soVideoSetting.data.fullScreenMode = ScreenMode.BROWSER_FULL; if(this.soVideoSetting.data.autoPlay == undefined) this.soVideoSetting.data.autoPlay = false; if(this.soVideoSetting.data.isNicowariSkip == undefined) this.soVideoSetting.data.isNicowariSkip = false; if(this.soVideoSetting.data.sponsorVisibleOnLoop == undefined) this.soVideoSetting.data.sponsorVisibleOnLoop = true; this.soVideoSetting.flush(); } if((this.soCommentInputSetting.data.use184 == undefined) || (this.soCommentInputSetting.data.commandPalleteAvailable == undefined)){ if(this.soCommentInputSetting.data.use184 == undefined) this.soCommentInputSetting.data.use184 = true; if(this.soCommentInputSetting.data.commandPalleteAvailable == undefined) this.soCommentInputSetting.data.commandPalleteAvailable = true; this.soCommentInputSetting.flush(); } if(this.soOptionalComment.data.isVisible == undefined){ this.soOptionalComment.data.isVisible = true; this.soOptionalComment.flush(); } this.soOwnerCommentEditor.data.columnVPosWidth = 52; this.soOwnerCommentEditor.data.columnCommandWidth = 64; this.soOwnerCommentEditor.data.columnMessageWidth = 199; this.soOwnerCommentEditor.data.columnCheckWidth = 21; if((this.soPlayerSetting.data.clockMessageVisible == undefined) || (this.soPlayerSetting.data.playerMode == undefined) || (this.soPlayerSetting.data.isModeConfirm == undefined) || (this.soPlayerSetting.data.toolTipVisible == undefined)){ if(this.soPlayerSetting.data.clockMessageVisible == undefined) this.soPlayerSetting.data.clockMessageVisible = true; if(this.soPlayerSetting.data.isModeConfirm == undefined) this.soPlayerSetting.data.isModeConfirm = true; if(this.soPlayerSetting.data.toolTipVisible == undefined) this.soPlayerSetting.data.toolTipVisible = true; this.soPlayerSetting.flush(); } if(this.soEnabledLeafMode.data.isEnabledLeafMode == undefined){ this.soEnabledLeafMode.data.isEnabledLeafMode = true; this.soEnabledLeafMode.flush(); } invalidFlag = false; TabContentName.TAB_NAMES.every(function(hug1:String, hug2:int, hug3:Array):Boolean{ //MethodID:792, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 28 if(soTabSetting.data[hug1] == undefined){ invalidFlag = true; return false; } return true; }, null); if(invalidFlag){ TabContentName.TAB_NAMES.forEach(function(hug1:String, hug2:int, hug3:Array):void{ //MethodID:793, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 12 soTabSetting.data[hug1] = true; }, null); this.soTabSetting.flush(); } if(this._soPlaylist.data.isRandomPlay == undefined){ this._soPlaylist.data.isRandomPlay = false; this._soPlaylist.flush(); } if(this._isThumbWatch) this._isLoopOnThumbwatch = false; } //variables/etc. private const SO_SOUND:String = "sound"; //slotID:0 private const SO_COMMENTDATAGRID:String = "logList"; //slotID:0 private const SO_USENG:String = "ngCheck"; //slotID:0 private const SO_HIDE184:String = "ng184"; //slotID:0 private const SO_COMMENTINPUT_SETTING:String = "commentInputSetting";//slotID:0 private const SO_VIDEO_SETTING:String = "videoSetting"; //slotID:0 private const SO_OWNERCOMMENT_EDITOR:String = "ownerCommentEditor";//slotID:0 private const SO_PLAYER_SETTING:String = "playerSetting"; //slotID:0 private const SO_OPTIONAL_COMMENT:String = "optionalComment"; //slotID:0 private const SO_ENABLED_LEAF_MODE:String = "enabledLeafMode"; //slotID:0 private const _SO_PLAYLIST:String = "playlist"; //slotID:0 private var soSound:LocalStorage; //slotID:0 private var soCommentDG:LocalStorage; //slotID:0 private var soUseNG:LocalStorage; //slotID:0 private var soHide184:LocalStorage; //slotID:0 private var soOwnerCommentEditor:LocalStorage; //slotID:0 private var soOptionalComment:LocalStorage; //slotID:0 private var soCommentInputSetting:LocalStorage; //slotID:0 private var soVideoSetting:LocalStorage; //slotID:0 private var soPlayerSetting:LocalStorage; //slotID:0 private var soTabSetting:LocalStorage; //slotID:0 private var soEnabledLeafMode:LocalStorage; //slotID:0 private var _soPlaylist:LocalStorage; //slotID:0 private var _commentVisible:Boolean; //slotID:0 private var _screenMode:uint; //slotID:0 private var _aspectRatio:uint = 1; //slotID:0 private var _deepenedCommentForce:Boolean = false; //slotID:0 private var _deepenedComment:Boolean = false; //slotID:0 private var _optionalCommentVisible:Boolean; //slotID:0 private var _isLoopOnThumbwatch:Boolean; //slotID:0 private const _eventNames:Array; //slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigIsMuteUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigIsLoopUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigIsNicowariSkipUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigUse184Updated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigVolumeUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigCommentVisibleUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigScreenModeUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigFullScreenModeUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigUseNGUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigHide184Updated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigSynchronicScrollingUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigAutomaticLoadingUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigSponsorVisibleOnLoopUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigTabContentVisibleUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigliveCommentInvisibleUpdate:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigAspectRatioUpdate:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigIsEnabledLeafMode:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigCommandPalleteAvailableUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigAutoPlayUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigDeepenedCommentUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigOptionalCommentVisibleUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigClockMessageVisibleUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigPlayerModeUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigToolTipVisibleUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlayerConfigIsPlaylistRandomPlayUpdated:Functions;//slotID:0 private var _isThumbWatch:Boolean; //slotID:0 public function get eventNames():Array { //MethodID:795, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._eventNames; } public function get isMute():Boolean { //MethodID:796, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soSound.data.mute; } public function set isMute(hug1:Boolean):void { //MethodID:797, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soSound.data.mute = hug1; this.soSound.flush(); onPlayerConfigIsMuteUpdated.apply(hug1); } public function get isLoop():Boolean { //MethodID:798, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 26 if(this._isThumbWatch) return this._isLoopOnThumbwatch; return this.soVideoSetting.data.isLoop; } public function set isLoop(hug1:Boolean):void { //MethodID:799, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 62 if(this._isThumbWatch){ this._isLoopOnThumbwatch = hug1; }else{ this.soVideoSetting.data.isLoop = hug1; this.soVideoSetting.flush(); } onPlayerConfigIsLoopUpdated.apply(hug1); } public function get isNicowariSkip():Boolean { //MethodID:800, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soVideoSetting.data.isNicowariSkip; } public function set isNicowariSkip(hug1:Boolean):void { //MethodID:801, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soVideoSetting.data.isNicowariSkip = hug1; this.soVideoSetting.flush(); onPlayerConfigIsNicowariSkipUpdated.apply(hug1); } public function get use184():Boolean { //MethodID:802, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soCommentInputSetting.data.use184; } public function set use184(hug1:Boolean):void { //MethodID:803, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soCommentInputSetting.data.use184 = hug1; this.soCommentInputSetting.flush(); onPlayerConfigUse184Updated.apply(hug1); } public function get volume():Number { //MethodID:804, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16 return (this.soSound.data.volume / 100); } public function set volume(hug1:Number):void { //MethodID:805, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 79 if((hug1 < 0.0) || (hug1 > 1)) return; this.soSound.data.volume = (hug1 * 100); this.soSound.flush(); onPlayerConfigVolumeUpdated.apply(this.soSound.data.volume / 100); } public function get commentVisible():Boolean { //MethodID:806, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._commentVisible; } public function set commentVisible(hug1:Boolean):void { //MethodID:807, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 34 this._commentVisible = hug1; onPlayerConfigCommentVisibleUpdated.apply(this._commentVisible); } public function get fullScreenMode():uint { //MethodID:808, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soVideoSetting.data.fullScreenMode; } public function set fullScreenMode(hug1:uint):void { //MethodID:809, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soVideoSetting.data.fullScreenMode = hug1; this.soVideoSetting.flush(); onPlayerConfigFullScreenModeUpdated.apply(hug1); } public function get screenMode():uint { //MethodID:810, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._screenMode; } public function set screenMode(hug1:uint):void { //MethodID:811, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 41 if(this._screenMode == hug1) return; this._screenMode = hug1; onPlayerConfigScreenModeUpdated.apply(hug1); } public function get useNG():Boolean { //MethodID:812, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soUseNG.data.flag; } public function set useNG(hug1:Boolean):void { //MethodID:813, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soUseNG.data.flag = hug1; this.soUseNG.flush(); onPlayerConfigUseNGUpdated.apply(hug1); } public function get hide184():Boolean { //MethodID:814, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soHide184.data.flag; } public function set hide184(hug1:Boolean):void { //MethodID:815, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soHide184.data.flag = hug1; this.soHide184.flush(); onPlayerConfigHide184Updated.apply(hug1); } public function get synchronicScrolling():Boolean { //MethodID:816, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soCommentDG.data.isPlayScroll; } public function set synchronicScrolling(hug1:Boolean):void { //MethodID:817, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soCommentDG.data.isPlayScroll = hug1; this.soCommentDG.flush(); onPlayerConfigSynchronicScrollingUpdated.apply(hug1); } public function get automaticLoading():Boolean { //MethodID:818, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soCommentDG.data.isLoglistAutoDL2; } public function set automaticLoading(hug1:Boolean):void { //MethodID:819, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soCommentDG.data.isLoglistAutoDL2 = hug1; this.soCommentDG.flush(); onPlayerConfigAutomaticLoadingUpdated.apply(hug1); } public function get isAvailableCommandPallete():Boolean { //MethodID:820, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soCommentInputSetting.data.commandPalleteAvailable; } public function set isAvailableCommandPallete(hug1:Boolean):void { //MethodID:821, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soCommentInputSetting.data.commandPalleteAvailable = hug1; this.soCommentInputSetting.flush(); onPlayerConfigCommandPalleteAvailableUpdated.apply(hug1); } public function get autoPlay():Boolean { //MethodID:822, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soVideoSetting.data.autoPlay; } public function set autoPlay(hug1:Boolean):void { //MethodID:823, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soVideoSetting.data.autoPlay = hug1; this.soVideoSetting.flush(); onPlayerConfigAutoPlayUpdated.apply(hug1); } public function get oceColumnVPosWidth():uint { //MethodID:824, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soOwnerCommentEditor.data.columnVPosWidth; } public function set oceColumnVPosWidth(hug1:uint):void { //MethodID:825, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this.soOwnerCommentEditor.data.columnVPosWidth = hug1; this.soOwnerCommentEditor.flush(); } public function get oceColumnCommandWidth():uint { //MethodID:826, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soOwnerCommentEditor.data.columnCommandWidth; } public function set oceColumnCommandWidth(hug1:uint):void { //MethodID:827, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this.soOwnerCommentEditor.data.columnCommandWidth = hug1; this.soOwnerCommentEditor.flush(); } public function get oceColumnMessageWidth():uint { //MethodID:828, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soOwnerCommentEditor.data.columnMessageWidth; } public function set oceColumnMessageWidth(hug1:uint):void { //MethodID:829, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this.soOwnerCommentEditor.data.columnMessageWidth = hug1; this.soOwnerCommentEditor.flush(); } public function get oceColumnCheckWidth():uint { //MethodID:830, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soOwnerCommentEditor.data.columnCheckWidth; } public function set oceColumnCheckWidth(hug1:uint):void { //MethodID:831, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this.soOwnerCommentEditor.data.columnCheckWidth = hug1; this.soOwnerCommentEditor.flush(); } public function get deepenedCommentForce():Boolean { //MethodID:832, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._deepenedCommentForce; } public function set deepenedCommentForce(hug1:Boolean):void { //MethodID:833, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 21 this._deepenedCommentForce = hug1; if(this._deepenedCommentForce) this._deepenedComment = true; } public function get deepenedComment():Boolean { //MethodID:834, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._deepenedComment; } public function set deepenedComment(hug1:Boolean):void { //MethodID:835, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 43 if(this._deepenedCommentForce) return; this._deepenedComment = hug1; onPlayerConfigDeepenedCommentUpdated.apply(this._deepenedComment); } public function get optionalCommentVisible():Boolean { //MethodID:836, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soOptionalComment.data.isVisible; } public function set optionalCommentVisible(hug1:Boolean):void { //MethodID:837, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soOptionalComment.data.isVisible = hug1; onPlayerConfigOptionalCommentVisibleUpdated.apply(hug1); this.soOptionalComment.flush(); } public function get sponsorVisibleOnLoop():Boolean { //MethodID:838, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soVideoSetting.data.sponsorVisibleOnLoop; } public function set sponsorVisibleOnLoop(hug1:Boolean):void { //MethodID:839, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soVideoSetting.data.sponsorVisibleOnLoop = hug1; onPlayerConfigSponsorVisibleOnLoopUpdated.apply(hug1); this.soVideoSetting.flush(); } public function get clockMessageVisible():Boolean { //MethodID:840, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soPlayerSetting.data.clockMessageVisible; } public function set clockMessageVisible(hug1:Boolean):void { //MethodID:841, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soPlayerSetting.data.clockMessageVisible = hug1; onPlayerConfigClockMessageVisibleUpdated.apply(hug1); this.soPlayerSetting.flush(); } public function get playerMode():String { //MethodID:842, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soPlayerSetting.data.playerMode; } public function get isPlayerModeConfirm():Boolean { //MethodID:843, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soPlayerSetting.data.isModeConfirm; } public function set isPlayerModeConfirm(hug1:Boolean):void { //MethodID:844, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this.soPlayerSetting.data.isModeConfirm = hug1; this.soPlayerSetting.flush(); } public function get toolTipVisible():Boolean { //MethodID:845, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } public function set toolTipVisible(hug1:Boolean):void { //MethodID:846, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soPlayerSetting.data.toolTipVisible = hug1; this.soPlayerSetting.flush(); onPlayerConfigToolTipVisibleUpdated.apply(hug1); } public function get isEnabledLeafMode():Boolean { //MethodID:847, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soEnabledLeafMode.data.isEnabledLeafMode; } public function set isEnabledLeafMode(hug1:Boolean):void { //MethodID:848, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soEnabledLeafMode.data.isEnabledLeafMode = hug1; this.soEnabledLeafMode.flush(); onPlayerConfigIsEnabledLeafMode.apply(hug1); } public function getTabVisibleConfig(hug1:String):Boolean { //MethodID:849, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14 return this.soTabSetting.data[hug1]; } public function setTabVisibleConfig(hug1:String, hug2:Boolean):void { //MethodID:850, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 47 this.soTabSetting.data[hug1] = hug2; this.soTabSetting.flush(); onPlayerConfigTabContentVisibleUpdated.apply(hug1, hug2); } public function get liveCommentInvisible():Boolean { //MethodID:851, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this.soCommentDG.data.liveCommentInvisible; } public function set liveCommentInvisible(hug1:Boolean):void { //MethodID:852, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this.soCommentDG.data.liveCommentInvisible = hug1; onPlayerConfigliveCommentInvisibleUpdate.apply(hug1); this.soCommentDG.flush(); } public function get aspectRatio():uint { //MethodID:853, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._aspectRatio; } public function set aspectRatio(hug1:uint):void { //MethodID:854, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 31 this._aspectRatio = hug1; onPlayerConfigAspectRatioUpdate.apply(hug1); } public function get isPlaylistRandomPlay():Boolean { //MethodID:855, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this._soPlaylist.data.isRandomPlay; } public function set isPlaylistRandomPlay(hug1:Boolean):void { //MethodID:856, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this._soPlaylist.data.isRandomPlay = hug1; this._soPlaylist.flush(); onPlayerConfigIsPlaylistRandomPlayUpdated.apply(hug1); } } } //■script050■ package jp.nicovideo.hiroba.events{ import flash.events.Event import jp.nicovideo.hiroba.models.IHirobaComment use namespace (http://www.nicovideo.jp/as3_ns/hiroba/events/hiroba_setter); //■class(instance)_index:60 public class HirobaEvent extends Event { //static constructor public static function HirobaEvent$cinit() { //MethodID:858, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 RECEIVED_DATA = "received_data"; RECEIVED_COMMENT = "received_comment"; CLICKED_LINK = "clicked_link"; } //static variables/etc. public static const RECEIVED_DATA:String = "received_data"; //slotID:1 public static const RECEIVED_COMMENT:String = "received_comment";//slotID:2 public static const CLICKED_LINK:String = "clicked_link"; //slotID:3 //constructor public function HirobaEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false) { //MethodID:859, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9 super(hug1, hug2, hug3); } //variables/etc. private var _comment:IHirobaComment; //slotID:0 private var _data:Object; //slotID:0 public function get comment():IHirobaComment { //MethodID:860, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._comment; } (http://www.nicovideo.jp/as3_ns/hiroba/events/hiroba_setter) function set comment(hug1:IHirobaComment):void { //MethodID:861, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._comment = hug1; } public function get data():Object { //MethodID:862, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._data; } (http://www.nicovideo.jp/as3_ns/hiroba/events/hiroba_setter) function set data(hug1:Object):void { //MethodID:863, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._data = hug1; } } } //■script051■ package jp.nicovideo.nicoplayer.models.api{ //■class(instance)_index:61 public interface IKeygen { //static constructor public static function IKeygen$cinit() { //MethodID:865, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function getPostKey(hug1:Function, hug2:String, hug3:int, hug4:Boolean):void;//MethodID:866, dispID:0 function getClickKey(hug1:Function, hug2:String, hug3:int, hug4:int):void; //MethodID:867, dispID:0 function getDeleteKey(hug1:Function, hug2:String, hug3:Array):String; //MethodID:868, dispID:0 function getWaybackKey(hug1:Function, hug2:String):void; //MethodID:869, dispID:0 function getUpdateKey(hug1:Function, hug2:String, hug3:String, hug4:Boolean):void;//MethodID:870, dispID:0 function getThreadKey(hug1:Function, hug2:String):void; //MethodID:871, dispID:0 function getHirobaPostKey(hug1:Function, hug2:String, hug3:int):void; //MethodID:872, dispID:0 //constructor public function IKeygen(); //MethodID:873, dispID:0 } } //■script052■ package jp.nicovideo.nicoplayer.models.playlist{ import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.nicoplayer.models.SystemMessage import jp.nicovideo.nicoplayer.models.flashvars.PlaylistFlashVars import jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren.ITabManager import jp.nicovideo.util.loka.__MSG__ //■class(instance)_index:62 public class PlaylistErrorManager extends Object { //static constructor public static function PlaylistErrorManager$cinit() { //MethodID:875, LocalCount= 1 , MaxScope= 1, MaxStack= 11, CodeLength= 175 BUSY = "busy"; MAINTENANCE = "maintenance"; URGENT = "urgent"; LIMITED_OPEN = "limited_open"; NEED_LOGIN = "need_login"; ACCESS_LOCK = "access_lock"; INVALID_TOKEN = "invalid_token"; TOKEN_TIMEOUT = "token_timeout"; VIDEO_LOAD_STOP = "video_load_stop"; NO_LIST = "no_list"; THREAD_IS_NOT_IN_PLAYLIST = "thread_is_not_in_playlist"; VIDEO_ERROR = "video_error"; NO_VIDEO = "no_video"; NICOPLAYER_ALERT_ERRORS = [BUSY, MAINTENANCE, URGENT, LIMITED_OPEN, NEED_LOGIN, ACCESS_LOCK, INVALID_TOKEN, VIDEO_LOAD_STOP, TOKEN_TIMEOUT, NO_LIST]; TABWINDOW_ALERT_ERRORS = [THREAD_IS_NOT_IN_PLAYLIST, VIDEO_ERROR, NO_VIDEO]; } //static variables/etc. public static const BUSY:String = "busy"; //slotID:1 public static const MAINTENANCE:String = "maintenance"; //slotID:2 public static const URGENT:String = "urgent"; //slotID:3 public static const LIMITED_OPEN:String = "limited_open"; //slotID:4 public static const NEED_LOGIN:String = "need_login"; //slotID:5 public static const ACCESS_LOCK:String = "access_lock"; //slotID:6 public static const INVALID_TOKEN:String = "invalid_token"; //slotID:7 public static const TOKEN_TIMEOUT:String = "token_timeout"; //slotID:8 public static const VIDEO_LOAD_STOP:String = "video_load_stop"; //slotID:9 public static const NO_LIST:String = "no_list"; //slotID:10 public static const THREAD_IS_NOT_IN_PLAYLIST:String = "thread_is_not_in_playlist";//slotID:11 public static const VIDEO_ERROR:String = "video_error"; //slotID:12 public static const NO_VIDEO:String = "no_video"; //slotID:13 public static const NICOPLAYER_ALERT_ERRORS:Array; //slotID:14 public static const TABWINDOW_ALERT_ERRORS:Array; //slotID:15 //constructor public function PlaylistErrorManager(hug1:PlaylistFlashVars, hug2:NicoConfig, hug3:String) { //MethodID:876, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 21 super(); this._playlistFlashVars = hug1; this._nicoConfig = hug2; this._playlistPageURL = hug3; } //variables/etc. private var _playlistFlashVars:PlaylistFlashVars; //slotID:0 private var _nicoConfig:NicoConfig; //slotID:0 private var _windowManager:ITabManager; //slotID:0 private var _playlistPageURL:String; //slotID:0 public function show(hug1:VideoInfo, hug2:String):void { //MethodID:877, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 882 var hug5:String = null; var hug3:String = this._playlistPageURL; var hug4:String = (this._nicoConfig.BASE_URL + ((hug1 != null) ? ("watch/" + hug1.watchID) : "")); var hug6:String = hug2; switch(hug6){ case BUSY: hug5 = ("

" + __MSG__("ただ今、サーバーが大変混み合っております。") + "

" + "

" + __MSG__("しばらく時間をおいて再度お試しください。") + "

"); break; case MAINTENANCE: hug5 = ("

" + __MSG__("ただ今連続再生はメンテナンス中のため、ご利用になれません。") + "

"); break; case URGENT: hug5 = ("

" + __MSG__("ただ今ニコニコ動画はメンテナンス中のため、ご利用になれません。") + "

"); break; case LIMITED_OPEN: hug5 = ("

" + __MSG__("この時間帯は連続再生をご利用になれません。") + "

"); break; case NEED_LOGIN: hug5 = (("

" + __MSG__("動画情報の取得に失敗しました。") + "

" + "

" + __MSG__("ログイン状態が解除されているか、動画が非公開状態にある可能性があります。") + "
") + __MSG__("リロードして再度ログイン", hug3) + "

"); break; case ACCESS_LOCK: hug5 = ("

" + __MSG__("短時間での連続アクセスがあったため、連続再生のご利用を一時停止しております。") + "

" + "

" + __MSG__("しばらく時間をおいて再度お試しください。") + "

"); break; case THREAD_IS_NOT_IN_PLAYLIST: case VIDEO_ERROR: hug5 = (("

" + __MSG__("「[[title]]」", hug1.title) + "

" + "

" + __MSG__("連続再生には対応していない動画です。") + "

" + "

") + __MSG__("詳しくは動画視聴ページをご確認ください。", hug4) + "

"); break; case NO_VIDEO: hug5 = (("

" + __MSG__("「[[title]]」", hug1.title) + "

" + "

" + __MSG__("存在しないか、または削除された動画です。") + "

" + "

") + __MSG__("詳しくは動画視聴ページをご確認ください。", hug4) + "

"); break; case INVALID_TOKEN: case TOKEN_TIMEOUT: hug5 = ("

" + __MSG__("正常にアクセスできませんでした。ページを更新してください。") + "

"); break; case VIDEO_LOAD_STOP: hug5 = (("

" + __MSG__("動画の読み込みができません。") + "

" + "

" + __MSG__("別のタブかウィンドウで、動画をいくつか読み込み中です。") + "
" + __MSG__("読み込みが完了してから再度アクセスしてください。") + "

") + __MSG__("リロードする", hug3) + "" + "

"); break; case NO_LIST: hug5 = ("

" + __MSG__("このマイリストには再生できる動画が含まれていません。") + "

"); break; default: hug5 = null; break; } if(hug5){ if(NICOPLAYER_ALERT_ERRORS.indexOf(hug2) != (-1)){ SystemMessage.instance.alert(hug5); }else if((TABWINDOW_ALERT_ERRORS.indexOf(hug2) != (-1)) && this._windowManager){ this._windowManager.showMessage(hug5, true); } } } public function set windowManager(hug1:ITabManager):void { //MethodID:878, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._windowManager = hug1; } } } //■script053■ package jp.nicovideo.util.events{ //■class(instance)_index:63 public final class EventResult extends Object { //static constructor public static function EventResult$cinit() { //MethodID:880, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21 THROUGH = this; BREAK = this; } //static variables/etc. public static const THROUGH:EventResult; //slotID:1 public static const BREAK:EventResult; //slotID:2 public static function replace(hug1:Array):EventResult { //dispID:3, MethodID:881, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 return new EventResult().replace(hug1); } public static function rename(hug1:String):EventResult { //dispID:4, MethodID:882, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 return new EventResult().rename(hug1); } //constructor public function EventResult() { //MethodID:883, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public var _replaced:Array; //slotID:0 public var _renamed:String; //slotID:0 public function replace(hug1:Array):EventResult { //MethodID:884, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9 this._replaced = hug1; return this; } public function rename(hug1:String):EventResult { //MethodID:885, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9 this._renamed = hug1; return this; } } } //■script054■ package jp.nicovideo.nicoplayer.config{ //■class(instance)_index:64 public class DebugMode extends Object { //static constructor public static function DebugMode$cinit() { //MethodID:887, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 75 NON = 0; LOCAL = 1; DEV = 2; EXTDEV = 3; TEST = 4; LOCAL_EACHENV = 5; GADEV = 6; NICOAPP_DEV = 7; WEB = 8; } //static variables/etc. public static const NON:uint = 0; //slotID:1 public static const LOCAL:uint = 1; //slotID:2 public static const DEV:uint = 2; //slotID:3 public static const EXTDEV:uint = 3; //slotID:4 public static const TEST:uint = 4; //slotID:5 public static const LOCAL_EACHENV:uint = 5; //slotID:6 public static const GADEV:uint = 6; //slotID:7 public static const NICOAPP_DEV:uint = 7; //slotID:8 public static const WEB:uint = 8; //slotID:9 //constructor public function DebugMode() { //MethodID:888, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script055■ package jp.nicovideo.nicoplayer.models.api{ import __AS3__.vec.Vector //■class(instance)_index:65 public interface IGetSponsorInfo { //static constructor public static function IGetSponsorInfo$cinit() { //MethodID:890, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get sponsorInfoList():Vector.; //MethodID:891, dispID:0 function get bgType():String; //MethodID:892, dispID:0 function get bgColor():int; //MethodID:893, dispID:0 function get bgVpos():Number; //MethodID:894, dispID:0 //constructor public function IGetSponsorInfo(); //MethodID:895, dispID:0 } } //■script056■ package jp.nicovideo.nicoplayer.models.api{ //■class(instance)_index:66 public interface ISponsorInfo { //static constructor public static function ISponsorInfo$cinit() { //MethodID:897, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get rank():uint; //MethodID:898, dispID:0 function get nickname():String; //MethodID:899, dispID:0 function get message():String; //MethodID:900, dispID:0 //constructor public function ISponsorInfo(); //MethodID:901, dispID:0 } } //■script057■ package jp.nicovideo.nicoplayer.models.api{ import __AS3__.vec.Vector import jp.nicovideo.nicoplayer.views.SponsorVideoBGType import jp.nicovideo.util.HTTPUtils import jp.nicovideo.util.events.EventResult use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:67 public class GetSponsorInfo extends Object implements IGetSponsorInfo { //static constructor public static function GetSponsorInfo$cinit() { //MethodID:903, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function GetSponsorInfo(hug1:String, hug2:Function) { //MethodID:904, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 26 this._bgType = SponsorVideoBGType.DEFAULT; super(); this._apiURL = hug1; this._onLoaded = hug2; } //variables/etc. private var _infoList:Vector.; //slotID:0 private var _apiURL:String; //slotID:0 private var _onLoaded:Function; //slotID:0 private var _bgType:String; //slotID:0 private var _bgColor:int = -1; //slotID:0 private var _bgVpos:Number = -1.0; //slotID:0 private function _load():void { //MethodID:906, LocalCount= 2 , MaxScope= 2, MaxStack= 4, CodeLength= 38 internal var defFlag:Boolean; //slotID:1 defFlag = false; defFlag = XML.ignoreWhitespace; HTTPUtils.loadXML(function(hug1:XML):void{ //MethodID:905, LocalCount= 8 , MaxScope= 0, MaxStack= 3, CodeLength= 206 var hug4:XML = null; var hug5:_SponsorInfo = null; XML.ignoreWhitespace = true; if(!hug1){ _onLoaded(false); return; } var hug2:uint = 1; var hug3:Number = 0; _infoList = new Vector.(); for each(hug4 in hug1.Result){ hug5 = new _SponsorInfo(hug2, hug4); if(hug2 == 1){ hug3 = hug5.points; _determineBGType(hug4); }else if((hug2 == 2) && (hug3 > (hug5.points * 2))){ break; } _infoList.push(hug5); hug2++; if(_infoList.length == 4) break; } XML.ignoreWhitespace = defFlag; _onLoaded(true); }, this._apiURL, {}); } private function _determineBGType(hug1:XML):void { //MethodID:907, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 223 var hug2:Number = NaN; var hug3:Number = NaN; this._bgType = SponsorVideoBGType.DEFAULT; if((hug1.bgkeyframe != undefined) && (hug1.bgkeyframe != "")){ hug2 = Number(hug1.bgkeyframe); if(!isNaN(hug2) && (hug2 >= 0) && isFinite(hug2)){ this._bgType = SponsorVideoBGType.CAPTURE; this._bgVpos = hug2; return; } } if((hug1.bgcolor != undefined) && (hug1.bgcolor != "") && (hug1.bgcolor >= 0)){ hug3 = Number(hug1.bgcolor); if(!isNaN(hug3) && (hug3 >= 0) && (hug3 <= 0xFFFFFF) && isFinite(hug3)){ this._bgType = SponsorVideoBGType.COLOR; this._bgColor = hug3; } } } public function get sponsorInfoList():Vector. { //MethodID:908, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._infoList; } public function get bgType():String { //MethodID:909, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._bgType; } public function get bgColor():int { //MethodID:910, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._bgColor; } public function get bgVpos():Number { //MethodID:911, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._bgVpos; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoStarted():EventResult { //MethodID:912, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 this._load(); return EventResult.THROUGH; } } } //■class(instance)_index:68 //private class _SponsorInfo extends Object implements ISponsorInfo { //static constructor public static function _SponsorInfo$cinit() { //MethodID:913, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _SponsorInfo(hug1:uint, hug2:XML) { //MethodID:914, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 50 super(); this._rank = hug1; this._nickname = this._decodeHTMLEntities(hug2.contact); this._message = this._decodeHTMLEntities(hug2.campaignname); this._points = Number(hug2.revenue); } //variables/etc. private var _rank:uint; //slotID:0 private var _nickname:String; //slotID:0 private var _message:String; //slotID:0 private var _points:Number; //slotID:0 public function get rank():uint { //MethodID:915, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._rank; } public function get nickname():String { //MethodID:916, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nickname; } public function get message():String { //MethodID:917, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._message; } public function get points():Number { //MethodID:918, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._points; } private function _decodeHTMLEntities(hug1:String):String { //MethodID:919, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 89 hug1 = hug1.split("&").join("&"); hug1 = hug1.split(""").join("\""); hug1 = hug1.split("'").join("'"); hug1 = hug1.split("<").join("<"); hug1 = hug1.split(">").join(">"); return hug1; } } //■script058■ package jp.nicovideo.nicoplayer.models.flashvars{ //■class(instance)_index:69 public class PlaylistFlashVars extends Object { //static constructor public static function PlaylistFlashVars$cinit() { //MethodID:921, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PlaylistFlashVars(hug1:Object) { //MethodID:922, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 196 super(); if(hug1.playlistId){ nico_flashvars.playlistID = hug1.playlistId; }else{ throw new Error("WatchFlashVars.WatchFlashVars. invalid variable:v=" + hug1.v); } if(hug1.playlistFrom) hug1.playlistFrom = String(playlistFrom); if(hug1.playlistSort) hug1.playlistSort = int(playlistSort); if(hug1.playlistToken) hug1.playlistToken = String(playlistToken); if(hug1.useVideoEnder) hug1.useVideoEnder = Boolean(useVideoEnder); } //variables/etc. private var _playlistID:String; //slotID:0 private var _playlistFrom:String; //slotID:0 private var _playlistSort:Number = Number.NaN; //slotID:0 private var _playlistToken:String; //slotID:0 private var _useVideoEnder:Boolean = false; //slotID:0 public function get playlistID():String { //MethodID:923, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playlistID; } internal function set playlistID(hug1:String):void { //MethodID:924, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._playlistID = hug1; } public function get playlistFrom():String { //MethodID:925, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playlistFrom; } internal function set playlistFrom(hug1:String):void { //MethodID:926, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._playlistFrom = hug1; } public function get playlistSort():Number { //MethodID:927, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playlistSort; } internal function set playlistSort(hug1:Number):void { //MethodID:928, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._playlistSort = hug1; } public function get playlistToken():String { //MethodID:929, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playlistToken; } internal function set playlistToken(hug1:String):void { //MethodID:930, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._playlistToken = hug1; } public function get useVideoEnder():Boolean { //MethodID:931, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._useVideoEnder; } internal function set useVideoEnder(hug1:Boolean):void { //MethodID:932, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._useVideoEnder = hug1; } } } //■script059■ package jp.nicovideo.util{ //■class(instance)_index:70 public class StringUtils extends Object { //static constructor public static function StringUtils$cinit() { //MethodID:934, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //static variables/etc. public static function gsub(hug1:Function, hug2:RegExp, hug3:String):String { //dispID:3, MethodID:936, LocalCount= 5 , MaxScope= 2, MaxStack= 4, CodeLength= 82 internal var f:Function; //slotID:1 internal var pattern:RegExp; //slotID:2 internal var s:String; //slotID:3 internal var s_:String; //slotID:4 internal var i:int; //slotID:5 s_ = null; i = 0; f = hug1; pattern = hug2; s = hug3; s_ = ""; i = 0; __scan_0(function(hug1:Object, hug2:int):void{ //MethodID:935, LocalCount= 3 , MaxScope= 0, MaxStack= 5, CodeLength= 50 s_ += s.substring(i, hug1.index); s_ += f(hug1); i = hug2; }, pattern, s); return (s_ + s.substring(i)); } public static function scan(hug1:Function, hug2:RegExp, hug3:String):void { //dispID:4, MethodID:938, LocalCount= 5 , MaxScope= 2, MaxStack= 4, CodeLength= 41 internal var f:Function; //slotID:1 internal var pattern:RegExp; //slotID:2 internal var s:String; //slotID:3 f = hug1; pattern = hug2; s = hug3; __scan_0(function(hug1:Object, hug2:int):void{ //MethodID:937, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 10 f(hug1); }, pattern, s); } private static function __scan_0(hug1:Function, hug2:RegExp, hug3:String):void { //dispID:5, MethodID:939, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 72 var hug4:Object = null; if(!hug2.global) throw new ArgumentError("gオプションを付けて欲しいがな。"); hug2.lastIndex = 0; while(true){ hug4 = hug2.exec(hug3); if(!hug4) break; hug1(hug4, hug2.lastIndex); } } public static function queryString(hug1:Object, hug2:Array=null):String { //dispID:6, MethodID:940, LocalCount= 11 , MaxScope= 1, MaxStack= 4, CodeLength= 215 var hug4:String = null; var hug5:* = undefined; var hug6:String = null; var hug3:Array = []; for(hug4 in hug1){ if(hug4 == ""){ trace("WARNING: Empty key name."); }else{ hug5 = hug1[hug4]; for each(hug6 in [hug5]){ hug3.push((encodeURIComponent(hug4) + "=") + encodeURIComponent(hug6)); } } } if((hug5 as Array) || hug2){ for each(hug6 in hug2){ hug3.push(encodeURIComponent(hug6)); } } return hug3.join("&"); } public static function joinQuery(hug1:String, hug2:Object):String { //dispID:7, MethodID:941, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 30 var hug3:String = queryString(hug2); if(hug3 != "") hug1 += ("?" + hug3); return hug1; } public static function compare(hug1:String, hug2:String):Number { //dispID:8, MethodID:942, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 34 return ((hug1 == hug2) ? 0 : ((hug1 < hug2) ? (-1) : 0)); } public static function checkCode(hug1:String, hug2:uint, hug3:uint):Boolean { //dispID:9, MethodID:943, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 62 var hug5:uint = 0; var hug4:uint = hug1.length; while(hug4--){ hug5 = hug1.charCodeAt(hug4); if((hug5 < hug2) || (hug5 > hug3)) return false; } return true; } public static function multiple(hug1:String, hug2:uint):String { //dispID:10, MethodID:944, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 49 var hug3:String = ""; while(hug2 != 0){ if((hug2 % 2) == 0){ hug2 /= 2; hug1 += hug1; } hug3 += hug1; hug2--; } return hug3; } public static function trim(hug1:String):String { //dispID:11, MethodID:945, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 18 return hug1.replace(new RegExp("^[\s ]*(.*?)[\s\t]*$"), "$1"); } public static function isValidVideoID(hug1:String):Boolean { //dispID:12, MethodID:946, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 15 return new RegExp("^([a-z]{2})?(?!0)\d+$").test(hug1); } public static function isPureVideoID(hug1:String):Boolean { //dispID:13, MethodID:947, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 15 return new RegExp("^[a-z]{2}(?!0)\d+$").test(hug1); } public static function replace(hug1:String, hug2:String, hug3:String):String { //dispID:14, MethodID:948, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 14 return hug3.split(hug1).join(hug2); } public static function hex(hug1:uint, hug2:uint=4):String { //dispID:15, MethodID:949, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 71 if(!hug1 || (hug2 > 4)) return "0"; var hug3:String = ""; var hug4:uint = ((1 << hug2) - 1); do{ hug3 = ("0123456789abcdef".charAt(hug1 & hug4) + hug3); var hug5:uint = (hug1 >> hug2); hug1 = hug5; }while(hug5); return hug3; } public static function float(hug1:Number, hug2:int):String { //dispID:16, MethodID:950, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 78 var hug3:int = int(hug1); var hug4:String = (hug3 + "."); while(0 < (hug2--)){ hug1 -= hug3; var hug5:Number = (hug1 * 10); hug1 = hug5; hug3 = int(hug5); hug4 += String(int(hug5)); } return hug4; } public static function sprintf(hug1:String, ...rest):String { //dispID:17, MethodID:954, LocalCount= 4 , MaxScope= 2, MaxStack= 5, CodeLength= 47 internal var format:String; //slotID:1 public var args:Array; //slotID:2 internal var i:int; //slotID:3 format = hug1; internal var args:Object = rest; i = 0; return gsub(function(hug1:Object):String{ //MethodID:953, LocalCount= 3 , MaxScope= 1, MaxStack= 6, CodeLength= 583 internal var result:Object; //slotID:1 internal var specifier:*; //slotID:2 internal var flags:*; //slotID:3 internal var is_numeric:*; //slotID:4 internal var head:*; //slotID:5 internal var tail:*; //slotID:6 internal var need:*; //slotID:7 internal var get_arg:Function; //slotID:8 internal var mod:*; //slotID:9 internal var tmp:*; //slotID:10 internal var left_side:*; //slotID:11 specifier = undefined; flags = undefined; head = undefined; mod = undefined; tmp = undefined; left_side = undefined; result = hug1; get_arg = function(hug1:int):*{ //MethodID:952, LocalCount= 5 , MaxScope= 0, MaxStack= 3, CodeLength= 93 var hug2:* = (result[hug1] ? Number(result[hug1] - 1) : (i++)); if(hug2 >= args.length) throw new ArgumentError(hug2 + " >= " + args.length); return args[hug2]; }; specifier = result[9]; if(specifier == "%") return "%"; flags = result[2]; is_numeric = true; head = ""; tail = function():String{ //MethodID:951, LocalCount= 5 , MaxScope= 0, MaxStack= 5, CodeLength= 706 var hug1:* = undefined; var hug3:* = undefined; hug1 = get_arg(1); switch(specifier){ case "s": case "c": is_numeric = false; hug1 = String(hug1); return ((specifier != "c") ? hug1 : hug1.charAt(0)); default: break; } hug1 = Number(hug1); if(Number(hug1) < 0){ hug1 *= (-1); head += "-"; }else if(new RegExp("\+").test(flags)){ head += "+"; } switch(specifier){ case "d": return String(int(hug1)); case "X": return hex(int(hug1)).toUpperCase(); case "x": return hex(int(hug1)); case "O": return hex(int(hug1), 3).toUpperCase(); case "o": return hex(int(hug1), 3); default: break; } if(isNaN(hug1) || (hug1 == Infinity)){ is_numeric = false; return String(hug1); } var hug2:* = (result[6] ? Number(get_arg(8)) : 6); switch(specifier){ case "e": case "g": hug3 = int(Math.log(hug1) / Math.log(10)); return (float((hug1 / Math.pow(10, hug3)), hug2) + "e" + hug3); } case "f": return float(hug1, hug2); default: break; } throw new Error("BUG: Unknown specifier=" + specifier); }.call(null); if(is_numeric && new RegExp("#").test(flags) && (tail != "0")) head += "0x".slice(0, (("OoXx".indexOf(specifier) / 2) + 1)); if((specifier == "d") && new RegExp(",").test(flags)){ mod = (tail.length % 3); tmp = tail.slice(0, mod); if(0 < mod) tmp += ","; tail = (tmp + tail.slice(mod).replace(new RegExp("(\d{3})(?=.)", "g"), "$1,")); is_numeric = false; } need = ((result[7] || ((specifier != "g") || ((hug3 >= (-4)) && (hug3 <= hug2)))) ? (result[3] ? (Number(get_arg(5)) - head.length + tail.length) : 0); left_side = new RegExp("\-").test(flags); if(left_side || new RegExp(" ").test(flags)){ if(left_side){ tail += multiple(" ", need); }else{ head += multiple(" ", need); } }else if(is_numeric){ head += multiple("0", need); } } return (head + tail); }, new RegExp("%(?:(\d+)\$)?([-+# 0,]*)((\d+)|\*(?:(\d+)\$)?)?(\.(\d+)|\*(\d+)\$)?([dOoXxfegcs%])", "sgx"), format); } public static function parseURL(hug1:String):Object { //dispID:18, MethodID:956, LocalCount= 3 , MaxScope= 2, MaxStack= 15, CodeLength= 239 internal var url:String; //slotID:1 internal var status:Array; //slotID:2 internal var parser:RegExp; //slotID:3 internal var m:Object; //slotID:4 internal var parseURL:Object; //slotID:5 internal var i:uint; //slotID:6 internal var quaryKeyName:String; //slotID:7 parseURL = null; quaryKeyName = null; url = hug1; status = ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"]; parser = new RegExp("^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)"); m = parser.exec(url); parseURL = {}; i = 14; i -= 1; while(i){ parseURL[status[i]] = (m[i] || ""); } quaryKeyName = "queryObject"; parseURL[quaryKeyName] = {}; parseURL[status[12]].replace(new RegExp("(?:^|&)([^&=]*)=?([^&]*)", "g"), function(... args):void{ //MethodID:955, LocalCount= 2 , MaxScope= 0, MaxStack= 4, CodeLength= 35 if(args[1]) parseURL[quaryKeyName][args[1]] = args[2]; }); return parseURL; } //constructor public function StringUtils() { //MethodID:957, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script060■ package jp.nicovideo.nicoplayer.views.comment{ //■class(instance)_index:71 public interface ICommentLayer { //static constructor public static function ICommentLayer$cinit() { //MethodID:959, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function set visibleEnabled(hug1:Boolean):void; //MethodID:960, dispID:0 //constructor public function ICommentLayer(); //MethodID:961, dispID:0 } } //■script061■ package jp.nicovideo.nicoplayer.views.comment{ import flash.display.DisplayObjectContainer import flash.display.Sprite import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.util.events.EventResult use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:72 public class CommentLayer extends Object implements ICommentLayer { //static constructor public static function CommentLayer$cinit() { //MethodID:963, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommentLayer(hug1:Sprite, hug2:IPlayerConfig, hug3:Boolean) { //MethodID:964, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 38 this.__layers = {}; super(); this.__baseLayer = hug1; this.__isPremium = hug3; this._playerConfig = hug2; this.__baseLayer.visible = hug2.commentVisible; } //variables/etc. private var __baseLayer:Sprite; //slotID:0 private var __isPremium:Boolean; //slotID:0 private var __optionalCommentLayer:Sprite; //slotID:0 private var __isAnotherPlayerMode:Boolean = false; //slotID:0 private var __layers:Object; //slotID:0 private var _playerConfig:IPlayerConfig; //slotID:0 private var _visibleEnabled:Boolean = true; //slotID:0 public function addLayer(hug1:String, hug2:int=-1):DisplayObjectContainer { //MethodID:965, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 78 if(this.__layers[hug1]) throw new ArgumentError(); this.__layers[hug1] = new Sprite(); var hug3:Sprite = new Sprite(); if(hug2 >= 0){ this.__baseLayer.addChildAt(hug3, hug2); }else{ this.__baseLayer.addChild(hug3); } return hug3; } public function getLayer(hug1:String):DisplayObjectContainer { //MethodID:966, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 return this.__layers[hug1]; } public function setOptionalLayer(hug1:String):void { //MethodID:967, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 58 if(!this.__layers[hug1]) throw new ArgumentError(); this.__optionalCommentLayer = this.__layers[hug1]; this.__optionalCommentLayer.alpha = 0.5; this.__optionalCommentLayer.visible = this._playerConfig.optionalCommentVisible; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoStarted():EventResult { //MethodID:968, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8 return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigCommentVisibleUpdated(hug1:Boolean):EventResult { //MethodID:969, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 36 if(!this.__isAnotherPlayerMode && this._visibleEnabled) this.__baseLayer.visible = hug1; return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigOptionalCommentVisibleUpdated(hug1:Boolean):EventResult { //MethodID:970, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 24 if(this.__optionalCommentLayer) this.__optionalCommentLayer.visible = hug1; return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onHirobaPlayerVisibleUpdated(hug1:Boolean):EventResult { //MethodID:971, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 18 this.__isAnotherPlayerMode = hug1; this._updateVisible(); return EventResult.THROUGH; } public function set visibleEnabled(hug1:Boolean):void { //MethodID:972, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this._visibleEnabled = hug1; this._updateVisible(); } private function _updateVisible():void { //MethodID:973, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 40 this.__baseLayer.visible = (this._visibleEnabled && !this.__isAnotherPlayerMode && this._playerConfig.commentVisible); } } } //■script062■ package jp.nicovideo.nicoplayer.videoender{ //■class(instance)_index:73 public interface IVideoenderTesterConfig { //static constructor public static function IVideoenderTesterConfig$cinit() { //MethodID:975, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get isTestable():Boolean; //MethodID:976, dispID:0 function get isTester():Boolean; //MethodID:977, dispID:0 function set isTester(hug1:Boolean):void; //MethodID:978, dispID:0 //constructor public function IVideoenderTesterConfig(); //MethodID:979, dispID:0 } } //■script063■ package jp.nicovideo.nicoplayer.views.framerate{ //■class(instance)_index:74 public interface IFrameRateBooster { //static constructor public static function IFrameRateBooster$cinit() { //MethodID:981, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function initialize(hug1:String, hug2:Array):void; //MethodID:982, dispID:0 //constructor public function IFrameRateBooster(); //MethodID:983, dispID:0 } } //■script064■ package jp.nicovideo.nicoplayer.views.framerate{ import flash.display.Stage import jp.nicovideo.nicoplayer.models.ScreenMode import jp.nicovideo.nicoplayer.models.video.VideoType import jp.nicovideo.util.events.EventResult use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:76 public class FrameRateBooster extends Object implements IFrameRateBooster { //static constructor public static function FrameRateBooster$cinit() { //MethodID:987, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function FrameRateBooster(hug1:Stage) { //MethodID:988, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 17 this._readyStateList = {}; super(); this._stage = hug1; } //variables/etc. private var _stage:Stage; //slotID:0 private var _currentScreenMode:uint; //slotID:0 private var _readyStateList:Object; //slotID:0 private function _setFPS(hug1:uint):void { //MethodID:989, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this._stage.frameRate = hug1; } public function initialize(hug1:String, hug2:Array):void { //MethodID:992, LocalCount= 4 , MaxScope= 2, MaxStack= 5, CodeLength= 76 internal var videoType:String; //slotID:1 internal var bgmVideos:Array; //slotID:2 internal var hasSwfVideo:Function; //slotID:3 videoType = hug1; bgmVideos = hug2; hasSwfVideo = function(hug1:Array):Boolean{ //MethodID:991, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 32 internal var bgms:Array; //slotID:1 bgms = hug1; if(bgms){ return (!bgms.every(function(hug1:Object, hug2:int, hug3:Array):Boolean{ //MethodID:990, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 13 return (hug1.type != VideoType.SWF); })); } return false; }; this._readyStateList[(_FrameRateBoostReadyState).INITIALIZED_STATE] = ((videoType != VideoType.SWF) && !hasSwfVideo(bgmVideos)); this._setCurrentStateFPS(); } private function _setCurrentStateFPS():void { //MethodID:993, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 112 var hug2:Boolean = false; var hug1:Boolean = false; if((this._currentScreenMode == ScreenMode.DISPLAY_FULL) || (this._currentScreenMode == ScreenMode.BROWSER_FULL)){ hug1 = true; for each(hug2 in this._readyStateList){ if(!hug2){ hug1 = false; break; } } } this._setFPS(hug1 ? FrameRateMode.HIGH : FrameRateMode.NORMAL); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigScreenModeUpdated(hug1:uint):EventResult { //MethodID:994, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 18 this._currentScreenMode = hug1; this._setCurrentStateFPS(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoMenuControllerOpened():EventResult { //MethodID:995, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 27 this._readyStateList[(_FrameRateBoostReadyState).VIDEO_MENU_CONTROLLER_STATE] = false; this._setCurrentStateFPS(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoMenuControllerClosed():EventResult { //MethodID:996, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 27 this._readyStateList[(_FrameRateBoostReadyState).VIDEO_MENU_CONTROLLER_STATE] = true; this._setCurrentStateFPS(); return EventResult.THROUGH; } } } //■class(instance)_index:75 //private class _FrameRateBoostReadyState extends Object { //static constructor public static function _FrameRateBoostReadyState$cinit() { //MethodID:985, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21 INITIALIZED_STATE = "FrameRateBooster.initialized_state"; VIDEO_MENU_CONTROLLER_STATE = "VideoMenuControllerState"; } //static variables/etc. public static const INITIALIZED_STATE:String = "FrameRateBooster.initialized_state";//slotID:1 public static const VIDEO_MENU_CONTROLLER_STATE:String = "VideoMenuControllerState";//slotID:2 //constructor public function _FrameRateBoostReadyState() { //MethodID:986, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } //■script065■ package jp.nicovideo.nicoplayer.tpls{ import flash.display.MovieClip import jp.nicovideo.nicoplayer.models.video.IVposWatcher //■class(instance)_index:77 public interface INicoViewController { //static constructor public static function INicoViewController$cinit() { //MethodID:998, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function startInit(hug1:INicoViewControllerClient):void; //MethodID:999, dispID:0 function get videoBase():MovieClip; //MethodID:1000, dispID:0 function get marqueeBase():MovieClip; //MethodID:1001, dispID:0 function onCommentListInitialized(hug1:Boolean):void; //MethodID:1002, dispID:0 function onVideoInitialized(hug1:Boolean):void; //MethodID:1003, dispID:0 function onHirobaInitialized():void; //MethodID:1004, dispID:0 function initVideoEventPipe(hug1:IVposWatcher):void; //MethodID:1005, dispID:0 function initCommentEventPipe():void; //MethodID:1006, dispID:0 function initializeVideoSettings(hug1:Function):void; //MethodID:1007, dispID:0 //constructor public function INicoViewController(); //MethodID:1008, dispID:0 } } //■script066■ package jp.nicovideo.nicoplayer.app{ import jp.nicovideo.nicoplayer.app.view.IApplibarContainer import jp.nicovideo.nicoplayer.plugin.IPluginClient import jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren.ITabManager //■class(instance)_index:78 public interface IApplibarLoader { //static constructor public static function IApplibarLoader$cinit() { //MethodID:1010, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function closeBalloon():void; //MethodID:1011, dispID:0 function setContainer(hug1:IApplibarContainer, hug2:ITabManager):void; //MethodID:1012, dispID:0 function setPluginClient(hug1:IPluginClient):void; //MethodID:1013, dispID:0 //constructor public function IApplibarLoader(); //MethodID:1014, dispID:0 } } //■script067■ package jp.nicovideo.nicoplayer.app{ import flash.display.DisplayObject import flash.events.Event import jp.nicovideo.app.applibar.IApplibar import jp.nicovideo.app.applibar.externals.events.ApplibarEvent import jp.nicovideo.nicoplayer.app.api.APIObjectProviderSwitcher import jp.nicovideo.nicoplayer.app.view.IApplibarContainer import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.ScreenAspectRatio import jp.nicovideo.nicoplayer.plugin.IPluginClient import jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren.ITabManager import jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren.WindowViewConstants import jp.nicovideo.util.Functions import jp.nicovideo.util.HTTPUtils import jp.nicovideo.util.events.event_sender use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); //■class(instance)_index:80 public class ApplibarLoader extends Object implements EventSender, IApplibarLoader { //static constructor public static function ApplibarLoader$cinit() { //MethodID:1018, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ApplibarLoader(hug1:String, hug2:Object, hug3:String, hug4:String, hug5:IPlayerConfig, hug6:Number, hug7:Boolean) { //MethodID:1019, LocalCount= 8 , MaxScope= 1, MaxStack= 4, CodeLength= 84 this.onLoaded = new Functions(); this.onPageOpen = new Functions(); this.onBalloonVisibleChanged = new Functions(); this._eventNames = ["onBalloonVisibleChanged"]; super(); HTTPUtils.loadSWF(this._onLoaded, hug1, hug2); this._userID = hug3; this._bootApp = hug4; this._playerConfig = hug5; this._appliInstalled = hug6; this._isWelcomeBalloonOpenDefault = hug7; } //variables/etc. public const onLoaded:Functions; //slotID:0 public const onPageOpen:Functions; //slotID:0 private const _BALLOON_LIMIT_WIDTH:Number = 260.0; //slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onBalloonVisibleChanged:Functions;//slotID:0 private var _applibar:IApplibar; //slotID:0 private var _client:ApplibarClient; //slotID:0 private var _container:IApplibarContainer; //slotID:0 private var _providerSwitcher:APIObjectProviderSwitcher; //slotID:0 private var _userID:String; //slotID:0 private var _playerConfig:IPlayerConfig; //slotID:0 private var _aspectForceChanged:Boolean = false; //slotID:0 private var _lastAspect:uint; //slotID:0 private var _bootApp:String; //slotID:0 private var _windowManager:ITabManager; //slotID:0 private var _appliInstalled:Number; //slotID:0 private var _isWelcomeBalloonOpenDefault:Boolean; //slotID:0 private var _eventNames:Array; //slotID:0 public function get eventNames():Array { //MethodID:1020, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._eventNames; } private function _onLoaded(hug1:*):void { //MethodID:1021, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 30 this._applibar = IApplibar(hug1); this.onLoaded.apply(this._applibar != null); } private function _checkPreparing():Boolean { //MethodID:1022, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19 return (this._container && this._providerSwitcher); } public function setContainer(hug1:IApplibarContainer, hug2:ITabManager):void { //MethodID:1023, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 36 this._windowManager = hug2; this._container = hug1; this._container.container.addChild(this._applibar as DisplayObject); this._onSetSource(); } public function setPluginClient(hug1:IPluginClient):void { //MethodID:1024, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 20 this._providerSwitcher = new APIObjectProviderSwitcher(hug1); this._onSetSource(); } private function _onSetSource():void { //MethodID:1026, LocalCount= 2 , MaxScope= 2, MaxStack= 7, CodeLength= 91 if(!this._container || !this._providerSwitcher) return; this._client = new ApplibarClient(this._container, this._providerSwitcher, this._userID, this._appliInstalled, this._isWelcomeBalloonOpenDefault); this._applibar.start(this._client, this._bootApp); this._applibar.addEventListener(Event.INIT, function(hug1:Event):void{ //MethodID:1025, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 99 _container.onInitApplibar(_applibar); _onBarOpenUpdated(); _applibar.addEventListener(Event.OPEN, _onBarOpenUpdated); _applibar.addEventListener(Event.CLOSE, _onBarOpenUpdated); _applibar.balloonController.addEventListener(Event.OPEN, _onBalloonVisibleChanged); _applibar.balloonController.addEventListener(Event.CLOSE, _onBalloonVisibleChanged); _applibar.addEventListener(ApplibarEvent.PAGE_OPEN, _onPageOpen); }); } private function _onBarOpenUpdated(hug1:Event=null):void { //MethodID:1027, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 82 this._container.onBarBaseSizeUpdate(); var hug2:Number = 4; this._windowManager.updateWindowHeight(WindowViewConstants.CONTENT_HEIGHT_FULL - this._applibar.baseHeight - hug2); if(this._applibar.balloonController.isShowing) onBalloonVisibleChanged.apply(this._applibar.isOpen); } private function _onBalloonVisibleChanged(hug1:Event):void { //MethodID:1028, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 154 var hug2:Boolean = false; if(!this._applibar.isOpen) return; if(hug1.type == Event.OPEN){ hug2 = true; }else if(hug1.type == Event.CLOSE){ hug2 = false; }else{ return; } if(this._applibar.balloonController.containerWidth > this._BALLOON_LIMIT_WIDTH){ this._lastAspect = this._playerConfig.aspectRatio; this._aspectForceChanged = true; this._playerConfig.aspectRatio = ScreenAspectRatio.NORMAL; }else{ if(this._aspectForceChanged) this._playerConfig.aspectRatio = this._lastAspect; this._aspectForceChanged = false; } onBalloonVisibleChanged.apply(hug2); } private function _onPageOpen(hug1:ApplibarEvent):void { //MethodID:1029, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 11 this.onPageOpen.apply(); } public function closeBalloon():void { //MethodID:1030, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 14 this._applibar.balloonController.close(); } } } //■class(instance)_index:79 //private class _Guard extends Object { //static constructor public static function _Guard$cinit() { //MethodID:1016, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _Guard() { //MethodID:1017, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } //■script068■ package jp.nicovideo.nicoplayer.storages{ import flash.errors.IllegalOperationError import jp.nicovideo.nicoplayer.storages.transmitter.HTTPTransmitter import jp.nicovideo.nicoplayer.storages.transmitter.ITransmitter import jp.nicovideo.nicoplayer.storages.transmitter.XMLSocketTransmitter import jp.nicovideo.nicoplayer.storages.transmitter.useMsgXML import jp.nicovideo.util.Functions //■class(instance)_index:81 public class MessageServerClient extends Object { //static constructor public static function MessageServerClient$cinit() { //MethodID:1032, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 437 NIWAVIDE_PACKET_VERSION = "20061206"; NIWAVIDE_PACKET_LEAF_VERSION = "20090904"; THREAD_FOUND = 0; THREAD_NOT_FOUND = 1; THREAD_INVALID = 2; THREAD_VERSION = 3; THREAD_INVALID_WAYBACKKEY = 4; THREAD_TOO_OLD_WAYBACKKEY = 5; THREAD_INVALID_ADMINKEY = 6; THREAD_TOO_OLD_ADMINKEY = 7; THREAD_INVALID_THREADKEY = 8; THREAD_TOO_OLD_THREADKEY = 9; THREAD_NOT_IMPLEMENTED = 10; THREAD_LEAF_NOT_ACTIVATED = 11; THREAD_LEAF_LOADING = 12; POST_SUCCESS = 0; POST_FAILURE = 1; POST_INVALID_THREAD = 2; POST_INVALID_TICKET = 3; POST_INVALID_POSTKEY = 4; POST_LOCKED = 5; POST_READONLY = 6; POST_NOT_IMPLEMENTED = 7; LOCK_SUCCESS = 0; LOCK_FAILURE = 1; LOCK_ALREADY = 2; LOCK_INVALID_LOCKKEY = 3; DELETE_SUCCESS = 0; DELETE_FAILURE = 1; DELETE_INVALID_DELETEKEY = 2; DELETE_LOCKED = 3; DELETE_REVISED = 4; COPY_SUCCESS = 0; COPY_FAILURE = 1; COPY_INVALID_PARAM = 2; COPY_INVALID_COPYKEY = 3; COPY_LOCKED = 4; COPY_LEAF_NOT_ACTIVATED = 5; BAN_SUCCESS = 0; BAN_INVALID_BANKEY = 1; UNBAN_SUCCESS = 0; UNBAN_INVALID_BANKEY = 1; UPDATE_SUCCESS = 0; UPDATE_FAILURE = 1; UPDATE_LOCKED = 2; UPDATE_INVALID_TICKET = 3; UPDATE_INVALID_UPDATEKEY = 4; UPDATE_INVALID_THREAD = 5; UPDATE_COUNT_MISSMATCH = 6; CLICK_SUCCESS = 0; CLICK_FAILURE = 1; CLICK_INVALID_CLICKKEY = 2; FORK_MAIN = 0; FORK_OWNER = 1; } //static variables/etc. public static const NIWAVIDE_PACKET_VERSION:String = 20061206; //slotID:1 public static const NIWAVIDE_PACKET_LEAF_VERSION:String = 20090904;//slotID:2 public static const THREAD_FOUND:uint = 0; //slotID:3 public static const THREAD_NOT_FOUND:uint = 1; //slotID:4 public static const THREAD_INVALID:uint = 2; //slotID:5 public static const THREAD_VERSION:uint = 3; //slotID:6 public static const THREAD_INVALID_WAYBACKKEY:uint = 4; //slotID:7 public static const THREAD_TOO_OLD_WAYBACKKEY:uint = 5; //slotID:8 public static const THREAD_INVALID_ADMINKEY:uint = 6; //slotID:9 public static const THREAD_TOO_OLD_ADMINKEY:uint = 7; //slotID:10 public static const THREAD_INVALID_THREADKEY:uint = 8; //slotID:11 public static const THREAD_TOO_OLD_THREADKEY:uint = 9; //slotID:12 public static const THREAD_NOT_IMPLEMENTED:uint = 10; //slotID:13 public static const THREAD_LEAF_NOT_ACTIVATED:uint = 11; //slotID:14 public static const THREAD_LEAF_LOADING:uint = 12; //slotID:15 public static const POST_SUCCESS:uint = 0; //slotID:16 public static const POST_FAILURE:uint = 1; //slotID:17 public static const POST_INVALID_THREAD:uint = 2; //slotID:18 public static const POST_INVALID_TICKET:uint = 3; //slotID:19 public static const POST_INVALID_POSTKEY:uint = 4; //slotID:20 public static const POST_LOCKED:uint = 5; //slotID:21 public static const POST_READONLY:uint = 6; //slotID:22 public static const POST_NOT_IMPLEMENTED:uint = 7; //slotID:23 public static const LOCK_SUCCESS:uint = 0; //slotID:24 public static const LOCK_FAILURE:uint = 1; //slotID:25 public static const LOCK_ALREADY:uint = 2; //slotID:26 public static const LOCK_INVALID_LOCKKEY:uint = 3; //slotID:27 public static const DELETE_SUCCESS:uint = 0; //slotID:28 public static const DELETE_FAILURE:uint = 1; //slotID:29 public static const DELETE_INVALID_DELETEKEY:uint = 2; //slotID:30 public static const DELETE_LOCKED:uint = 3; //slotID:31 public static const DELETE_REVISED:uint = 4; //slotID:32 public static const COPY_SUCCESS:uint = 0; //slotID:33 public static const COPY_FAILURE:uint = 1; //slotID:34 public static const COPY_INVALID_PARAM:uint = 2; //slotID:35 public static const COPY_INVALID_COPYKEY:uint = 3; //slotID:36 public static const COPY_LOCKED:uint = 4; //slotID:37 public static const COPY_LEAF_NOT_ACTIVATED:uint = 5; //slotID:38 public static const BAN_SUCCESS:uint = 0; //slotID:39 public static const BAN_INVALID_BANKEY:uint = 1; //slotID:40 public static const UNBAN_SUCCESS:uint = 0; //slotID:41 public static const UNBAN_INVALID_BANKEY:uint = 1; //slotID:42 public static const UPDATE_SUCCESS:uint = 0; //slotID:43 public static const UPDATE_FAILURE:uint = 1; //slotID:44 public static const UPDATE_LOCKED:uint = 2; //slotID:45 public static const UPDATE_INVALID_TICKET:uint = 3; //slotID:46 public static const UPDATE_INVALID_UPDATEKEY:uint = 4; //slotID:47 public static const UPDATE_INVALID_THREAD:uint = 5; //slotID:48 public static const UPDATE_COUNT_MISSMATCH:uint = 6; //slotID:49 public static const CLICK_SUCCESS:uint = 0; //slotID:50 public static const CLICK_FAILURE:uint = 1; //slotID:51 public static const CLICK_INVALID_CLICKKEY:uint = 2; //slotID:52 public static const FORK_MAIN:uint = 0; //slotID:53 public static const FORK_OWNER:uint = 1; //slotID:54 //constructor public function MessageServerClient(hug1:String, hug2:uint=0, hug3:Boolean=false) { //MethodID:1056, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 193 this.__connected = new Functions(); this.__connectionLost = new Functions(); this.__requestBegan = new Functions(); this.onCMsgGetThreadResult = new Functions(); this.onCMsgViewCounter = new Functions(); this.onCMsgLeaveThread = new Functions(); this.onCMsgPostChatResult = new Functions(); this.onCMsgChat = new Functions(); this.onCMsgPing = new Functions(); this.onCMsgError = new Functions(); this.onCMsgDeleteCommentsResult = new Functions(); this.onCMsgUpdateThreadResult = new Functions(); this.onCMsgClickResult = new Functions(); this.onCMsgNumberOfClick = new Functions(); this.onCMsgUnloadThreadResult = new Functions(); this.onCMsgLeaf = new Functions(); this.onCMsgClose = new Functions(); super(); XML.ignoreWhitespace = false; XML.prettyIndent = 0; XML.prettyPrinting = false; this.__host = hug1; this.__port = hug2; this.__isPingEnabled = hug3; } //variables/etc. public const __connected:Functions; //slotID:0 public const __connectionLost:Functions; //slotID:0 public const __requestBegan:Functions; //slotID:0 public const onCMsgGetThreadResult:Functions; //slotID:0 public const onCMsgViewCounter:Functions; //slotID:0 public const onCMsgLeaveThread:Functions; //slotID:0 public const onCMsgPostChatResult:Functions; //slotID:0 public const onCMsgChat:Functions; //slotID:0 public const onCMsgPing:Functions; //slotID:0 public const onCMsgError:Functions; //slotID:0 public const onCMsgDeleteCommentsResult:Functions; //slotID:0 public const onCMsgUpdateThreadResult:Functions; //slotID:0 public const onCMsgClickResult:Functions; //slotID:0 public const onCMsgNumberOfClick:Functions; //slotID:0 public const onCMsgUnloadThreadResult:Functions; //slotID:0 public const onCMsgLeaf:Functions; //slotID:0 public const onCMsgClose:Functions; //slotID:0 private var __host:String = null; //slotID:0 private var __port:uint = 0; //slotID:0 private var __transmitter:ITransmitter = null; //slotID:0 private var __XMLBuffer:XML = null; //slotID:0 private var __isPingEnabled:Boolean; //slotID:0 public function get connected():Functions { //MethodID:1033, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__connected; } public function get connectionLost():Functions { //MethodID:1034, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__connectionLost; } public function get requestBegan():Functions { //MethodID:1035, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__requestBegan; } public function sendCMsgGetThread(hug1:int=0, hug2:String=null, hug3:int=0, hug4:String=null, hug5:int=0, hug6:String=null, hug7:int=0, hug8:int=0, hug9:String=null, hug10:int=0, hug11:String=null, hug12:int=0):void { //MethodID:1037, LocalCount= 14 , MaxScope= 2, MaxStack= 2, CodeLength= 87 internal var threadid:int = 0; //slotID:1 internal var version:String = null; //slotID:2 internal var resfrom:int = 0; //slotID:3 internal var waybackkey:String = null; //slotID:4 internal var when:int = 0; //slotID:5 internal var user:String = null; //slotID:6 internal var nocompress:int = 0; //slotID:7 internal var fork:int = 0; //slotID:8 internal var adminkey:String = null; //slotID:9 internal var clickrevision:int = 0; //slotID:10 internal var threadkey:String = null; //slotID:11 internal var force184:int = 0; //slotID:12 threadid = hug1; version = hug2; resfrom = hug3; waybackkey = hug4; when = hug5; user = hug6; nocompress = hug7; fork = hug8; adminkey = hug9; clickrevision = hug10; threadkey = hug11; force184 = hug12; useMsgXML(function():void{ //MethodID:1036, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 207 var hug1:XML = new XML(""); if(threadid != 0) hug1.@thread = threadid; if(version != null) hug1.@version = version; if(resfrom != 0) hug1.@res_from = resfrom; if(waybackkey != null) hug1.@waybackkey = waybackkey; if(when != 0) hug1.@when = when; if(user != null) hug1.@user_id = user; if(nocompress != 0) hug1.@no_compress = nocompress; if(fork != FORK_MAIN) hug1.@fork = fork; if(adminkey != null) hug1.@adminkey = adminkey; if(clickrevision != 0) hug1.@click_revision = clickrevision; if(threadkey != null) hug1.@threadkey = threadkey; if(force184 != 0) hug1.@force_184 = force184; __sendXML(hug1); }); } public function sendCMsgGetThreadLeaves(hug1:String, hug2:int, hug3:String=null, hug4:int=0, hug5:String=null, hug6:int=0, hug7:String=null, hug8:int=0, hug9:int=0):void { //MethodID:1039, LocalCount= 11 , MaxScope= 2, MaxStack= 2, CodeLength= 69 internal var leavesfrom:String; //slotID:1 internal var threadid:int; //slotID:2 internal var waybackkey:String = null; //slotID:3 internal var when:int = 0; //slotID:4 internal var user:String = null; //slotID:5 internal var nocompress:int = 0; //slotID:6 internal var threadkey:String = null; //slotID:7 internal var force184:int = 0; //slotID:8 internal var resbefore:int = 0; //slotID:9 leavesfrom = hug1; threadid = hug2; waybackkey = hug3; when = hug4; user = hug5; nocompress = hug6; threadkey = hug7; force184 = hug8; resbefore = hug9; useMsgXML(function():void{ //MethodID:1038, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 144 var hug1:XML = new XML("" + leavesfrom + ""); hug1.@thread = threadid; if(waybackkey != null) hug1.@waybackkey = waybackkey; if(when != 0) hug1.@when = when; if(user != null) hug1.@user_id = user; if(nocompress != 0) hug1.@no_compress = nocompress; if(threadkey != null) hug1.@threadkey = threadkey; if(force184 != 0) hug1.@force_184 = force184; if(resbefore != 0) hug1.@res_before = resbefore; __sendXML(hug1); }); } public function sendCMsgLeaveThread(hug1:int=0, hug2:int=0):void { //MethodID:1041, LocalCount= 4 , MaxScope= 2, MaxStack= 2, CodeLength= 27 internal var threadid:int = 0; //slotID:1 internal var reason:int = 0; //slotID:2 threadid = hug1; reason = hug2; useMsgXML(function():void{ //MethodID:1040, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 51 var hug1:XML = new XML(""); if(threadid != 0) hug1.@thread = threadid; if(reason != 0) hug1.@reason = reason; __sendXML(hug1); }); } public function sendCMsgPostChat(hug1:String, hug2:int, hug3:int, hug4:String=null, hug5:String=null, hug6:String=null, hug7:int=0, hug8:String=null, hug9:String=null, hug10:int=0, hug11:int=0, hug12:int=0, hug13:int=0):void { //MethodID:1043, LocalCount= 15 , MaxScope= 2, MaxStack= 2, CodeLength= 93 internal var message:String; //slotID:1 internal var threadid:int; //slotID:2 internal var videoposition:int; //slotID:3 internal var mail:String = null; //slotID:4 internal var name:String = null; //slotID:5 internal var ticket:String = null; //slotID:6 internal var sage:int = 0; //slotID:7 internal var user:String = null; //slotID:8 internal var postkey:String = null; //slotID:9 internal var premium:int = 0; //slotID:10 internal var yugi:int = 0; //slotID:11 internal var staff:int = 0; //slotID:12 internal var sex:int = 0; //slotID:13 message = hug1; threadid = hug2; videoposition = hug3; mail = hug4; name = hug5; ticket = hug6; sage = hug7; user = hug8; postkey = hug9; premium = hug10; yugi = hug11; staff = hug12; sex = hug13; useMsgXML(function():void{ //MethodID:1042, LocalCount= 2 , MaxScope= 0, MaxStack= 5, CodeLength= 269 message = message.replace(new RegExp("&", "g"), "&").replace(new RegExp("<", "g"), "<").replace(new RegExp(">", "g"), ">"); var hug1:XML = new XML("" + message + ""); if(threadid != 0) hug1.@thread = threadid; hug1.@vpos = videoposition; if(mail != null) hug1.@mail = mail; if(name != null) hug1.@name = name; if(ticket != null) hug1.@ticket = ticket; if(sage != 0) hug1.@sage = sage; if(user != null) hug1.@user_id = user; if(postkey != null) hug1.@postkey = postkey; if(premium != 0) hug1.@premium = premium; if(yugi != 0) hug1.@yugi = yugi; if(staff != 0) hug1.@staff = staff; if(sex != 0) hug1.@sex = sex; __sendXML(hug1); }); } public function sendCMsgDebug(hug1:String):void { //MethodID:1045, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 22 internal var message:String; //slotID:1 message = hug1; useMsgXML(function():void{ //MethodID:1044, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 28 var hug1:XML = new XML("" + message + ""); __sendXML(hug1); }); } public function sendCMsgDeleteComments(hug1:int, hug2:String, hug3:String, hug4:String, hug5:int=0, hug6:int=0, hug7:int=0):void { //MethodID:1047, LocalCount= 9 , MaxScope= 2, MaxStack= 2, CodeLength= 57 internal var threadid:int; //slotID:1 internal var userid:String; //slotID:2 internal var deletekey:String; //slotID:3 internal var list:String; //slotID:4 internal var undelete:int = 0; //slotID:5 internal var revision:int = 0; //slotID:6 internal var admin:int = 0; //slotID:7 threadid = hug1; userid = hug2; deletekey = hug3; list = hug4; undelete = hug5; revision = hug6; admin = hug7; useMsgXML(function():void{ //MethodID:1046, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 97 var hug1:XML = new XML("" + list + ""); hug1.@thread = threadid; hug1.@user_id = userid; hug1.@deletekey = deletekey; if(undelete != 0) hug1.@undelete = undelete; if(revision != 0) hug1.@revision = revision; if(admin != 0) hug1.@admin = admin; __sendXML(hug1); }); } public function sendCMsgAddThreadItem(hug1:String, hug2:int, hug3:String=null, hug4:String=null):void { //MethodID:1049, LocalCount= 6 , MaxScope= 2, MaxStack= 2, CodeLength= 39 internal var message:String; //slotID:1 internal var videoposition:int; //slotID:2 internal var mail:String = null; //slotID:3 internal var name:String = null; //slotID:4 message = hug1; videoposition = hug2; mail = hug3; name = hug4; useMsgXML(function():void{ //MethodID:1048, LocalCount= 2 , MaxScope= 0, MaxStack= 5, CodeLength= 128 message = message.replace(new RegExp("&", "g"), "&").replace(new RegExp("<", "g"), "<").replace(new RegExp(">", "g"), ">"); var hug1:XML = new XML("" + message + ""); hug1.@vpos = videoposition; if(mail != null) hug1.@mail = mail; if(name != null) hug1.@name = name; __sendXML(hug1); }); } public function sendCMsgUpdateThread(hug1:int, hug2:String, hug3:int, hug4:String, hug5:String, hug6:int=0):void { //MethodID:1051, LocalCount= 8 , MaxScope= 2, MaxStack= 2, CodeLength= 51 internal var threadid:int; //slotID:1 internal var user:String; //slotID:2 internal var count:int; //slotID:3 internal var ticket:String; //slotID:4 internal var updatekey:String; //slotID:5 internal var premium:int = 0; //slotID:6 threadid = hug1; user = hug2; count = hug3; ticket = hug4; updatekey = hug5; premium = hug6; useMsgXML(function():void{ //MethodID:1050, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 79 var hug1:XML = new XML(""); hug1.@thread = threadid; hug1.@user_id = user; if(count != 0) hug1.@count = count; hug1.@ticket = ticket; hug1.@updatekey = updatekey; if(premium != 0) hug1.@premium = premium; __sendXML(hug1); }); } public function sendCMsgClick(hug1:int, hug2:int, hug3:String, hug4:String):void { //MethodID:1053, LocalCount= 6 , MaxScope= 2, MaxStack= 2, CodeLength= 39 internal var threadid:int; //slotID:1 internal var number:int; //slotID:2 internal var user:String; //slotID:3 internal var clickkey:String; //slotID:4 threadid = hug1; number = hug2; user = hug3; clickkey = hug4; useMsgXML(function():void{ //MethodID:1052, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 47 var hug1:XML = new XML(""); hug1.@thread = threadid; hug1.@no = number; hug1.@user_id = user; hug1.@clickkey = clickkey; __sendXML(hug1); }); } public function sendCMsgUnloadThread(hug1:int, hug2:String, hug3:String, hug4:String):void { //MethodID:1055, LocalCount= 6 , MaxScope= 2, MaxStack= 2, CodeLength= 39 internal var threadid:int; //slotID:1 internal var ticket:String; //slotID:2 internal var user:String; //slotID:3 internal var unloadkey:String; //slotID:4 threadid = hug1; ticket = hug2; user = hug3; unloadkey = hug4; useMsgXML(function():void{ //MethodID:1054, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 47 var hug1:XML = new XML(""); hug1.@thread = threadid; hug1.@ticket = ticket; hug1.@user_id = user; hug1.@unloadkey = unloadkey; __sendXML(hug1); }); } public function get connectionType():String { //MethodID:1057, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 25 return (this.__transmitter ? this.__transmitter.type : null); } public function get isConnecting():Boolean { //MethodID:1058, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 return (this.__transmitter && this.__transmitter.isConnecting); } public function connect(hug1:Function):void { //MethodID:1062, LocalCount= 3 , MaxScope= 2, MaxStack= 5, CodeLength= 141 internal var f:Function; //slotID:1 f = hug1; if(this.__transmitter != null) throw new IllegalOperationError("MessageServerClient.connect: Already connected."); this.__transmitter = ((this.__port == 0) ? new HTTPTransmitter(this.__host) : new XMLSocketTransmitter(this.__host, this.__port, this.__isPingEnabled)); this.__transmitter.connected.add(function():void{ //MethodID:1059, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 8 __connected.apply(); }); this.__transmitter.xmlReceived.add(function(hug1:XML):void{ //MethodID:1060, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 9 __XMLReceived(hug1); }); this.__transmitter.errorOccured.add(function(hug1:String):void{ //MethodID:1061, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 16 __transmitter = null; __connectionLost.apply(hug1); }); this.__transmitter.connect(f); } public function disconnect():void { //MethodID:1063, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 36 if(this.__transmitter == null) throw new IllegalOperationError("MessageServerClient.disconnect: Already disconnected."); this.__transmitter.disconnect(); this.__transmitter = null; } public function chunk(hug1:Function):void { //MethodID:1064, LocalCount= 5 , MaxScope= 7, MaxStack= 4, CodeLength= 156 internal var f:Function; //slotID:1 internal var b:Boolean; //slotID:2 f = hug1; b = false; if(this.__XMLBuffer == null){ this.__XMLBuffer = new XML(""); b = true; } try{ f(this); } finally{ if(b){ if(this.__XMLBuffer.children().length() != 0) this.__sendXML_0(this.__XMLBuffer); this.__XMLBuffer = null; } } } private function __sendXML(hug1:XML):void { //MethodID:1065, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 36 if(this.__XMLBuffer != null){ this.__XMLBuffer.appendChild(hug1); return; } this.__requestBegan.apply(); this.__sendXML_0(hug1); } private function __sendXML_0(hug1:XML):void { //MethodID:1066, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this.__transmitter.send(hug1); } public function __XMLReceived(hug1:XML):void { //MethodID:1067, LocalCount= 9 , MaxScope= 1, MaxStack= 3, CodeLength= 195 var hug4:XML = null; var hug5:int = 0; var hug6:* = undefined; var hug2:XML = new XML(""); if(hug1.name().localName != "packet"){ hug2.@thread = hug1.@thread; this.__XMLReceived_0(hug1); return; } var hug3:Array = []; for each(hug4 in hug1.children()){ if(hug4.name().localName == "thread") hug3.push([hug4.@thread, hug4.@fork]); this.__XMLReceived_0(hug4); } hug5 = 0; while(hug5 < hug3.length){ hug6 = hug3[hug5]; hug2.@thread = hug6[0]; hug2.@fork = hug6[1]; this.__XMLReceived_0(hug2); hug5++; } } private function __XMLReceived_0(hug1:XML):void { //MethodID:1068, LocalCount= 3 , MaxScope= 1, MaxStack= 18, CodeLength= 988 switch(hug1.name().localName){ case "thread": this.onCMsgGetThreadResult.apply(int(hug1.@resultcode), int(hug1.@thread), int(hug1.@last_res), String(hug1.@ticket), String(hug1.text()[0]), int(hug1.@locked), int(hug1.@revision), int(hug1.@res_offset), int(hug1.@fork), int(hug1.@server_time), int(hug1.@button_ignored), int(hug1.@click_revision), int(hug1.@num_clicks)); break; case "view_counter": this.onCMsgViewCounter.apply(int(hug1.@video), String(hug1.@id), int(hug1.@mylist)); break; case "leave_thread": this.onCMsgLeaveThread.apply(int(hug1.@thread), int(hug1.@reason)); break; case "chat_result": this.onCMsgPostChatResult.apply(int(hug1.@thread), int(hug1.@status), int(hug1.@no), int(hug1.@leaf)); break; case "chat": this.onCMsgChat.apply(String(hug1.text()[0]), int(hug1.@thread), int(hug1.@no), int(hug1.@vpos), int(hug1.@date), String(hug1.@mail), String(hug1.@name), int(hug1.@yourpost), String(hug1.@user_id), String(hug1.@raw_user_id), int(hug1.@deleted), int(hug1.@premium), int(hug1.@anonymity), int(hug1.@fork), String(hug1.@remote), int(hug1.@leaf)); break; case "message_error": this.onCMsgError.apply(String(hug1.@reason)); break; case "delete_comments": this.onCMsgDeleteCommentsResult.apply(int(hug1.@thread), int(hug1.@status), int(hug1.@revision), int(hug1.@undelete)); break; case "update_thread": this.onCMsgUpdateThreadResult.apply(int(hug1.@status), String(hug1.@ticket)); break; case "click": this.onCMsgClickResult.apply(int(hug1.@status)); break; case "num_click": this.onCMsgNumberOfClick.apply(int(hug1.@thread), int(hug1.@no), int(hug1.@count)); break; case "unload_thread": this.onCMsgUnloadThreadResult.apply(int(hug1.@thread), int(hug1.@status)); break; case "leaf": this.onCMsgLeaf.apply(int(hug1.@leaf), int(hug1.@thread), int(hug1.@count)); break; case "close": this.onCMsgClose.apply(int(hug1.@thread), int(hug1.@fork)); break; case "ping": break; default: throw new Error("MessageServerClient.__XMLReceived_0: unknwon packet. name=" + hug1.name()); break; } } } } //■script069■ package jp.nicovideo.hiroba.events{ import flash.events.ErrorEvent //■class(instance)_index:82 public class HirobaErrorEvent extends ErrorEvent { //static constructor public static function HirobaErrorEvent$cinit() { //MethodID:1070, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21 DISCONNECTED = "disconnected"; CONNECTION_FAIL = "connectionFail"; } //static variables/etc. public static const DISCONNECTED:String = "disconnected"; //slotID:1 public static const CONNECTION_FAIL:String = "connectionFail"; //slotID:2 //constructor public function HirobaErrorEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false, hug4:String, hug5:String) { //MethodID:1071, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 17 super(hug1, hug2, hug3, hug4); this._referer = hug5; } //variables/etc. private var _referer:String = ""; //slotID:0 public function get referer():String { //MethodID:1072, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._referer; } } } //■script070■ package jp.nicovideo.nicoscript.macro.parsers{ //■class(instance)_index:83 public interface IMacroParserResult { //static constructor public static function IMacroParserResult$cinit() { //MethodID:1074, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get macroName():String; //MethodID:1075, dispID:0 function get label():String; //MethodID:1076, dispID:0 function get argLength():int; //MethodID:1077, dispID:0 function arg(hug1:int, hug2:String=null):String; //MethodID:1078, dispID:0 function argArray(hug1:int, hug2:Array=null):Array; //MethodID:1079, dispID:0 //constructor public function IMacroParserResult(); //MethodID:1080, dispID:0 } } //■script071■ package jp.nicovideo.nicoplayer.models.playlist{ import jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren.ITabManager //■class(instance)_index:84 public interface IPlaylistController { //static constructor public static function IPlaylistController$cinit() { //MethodID:1082, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function play(hug1:String=null, hug2:Function=null, hug3:Boolean=false, hug4:Boolean=false):Boolean;//MethodID:1083, dispID:0 function goNext(hug1:Function=null, hug2:Boolean=false, hug3:String=null):void;//MethodID:1084, dispID:0 function goPrev(hug1:Function=null, hug2:String=null):void; //MethodID:1085, dispID:0 function countReset():void; //MethodID:1086, dispID:0 function countUp():void; //MethodID:1087, dispID:0 function checkSkip(hug1:String):Boolean; //MethodID:1088, dispID:0 function stopVideo():void; //MethodID:1089, dispID:0 function get threadID():String; //MethodID:1090, dispID:0 function get playlist():IPlaylist; //MethodID:1091, dispID:0 function set windowManager(hug1:ITabManager):void; //MethodID:1092, dispID:0 function set isAutoPlayAfterLoadSeq(hug1:Function):void; //MethodID:1093, dispID:0 //constructor public function IPlaylistController(); //MethodID:1094, dispID:0 } } //■script072■ package jp.nicovideo.nicoplayer.models.playlist{ import flash.events.TimerEvent import flash.utils.Timer import jp.nicovideo.marquee.MarqueeClient import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.nicoplayer.models.flashvars.PlaylistFlashVars import jp.nicovideo.nicoplayer.models.video.IVideoController import jp.nicovideo.nicoplayer.models.video.VideoConstants import jp.nicovideo.nicoplayer.tpls.INicoViewController import jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren.ITabManager import jp.nicovideo.nicoplayer.tpls.shutter.CommentShutterConstants import jp.nicovideo.nicoplayer.tpls.shutter.ControllerShutter import jp.nicovideo.util.Functions import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.events.EventSequence import jp.nicovideo.util.events.event_sender use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:86 public class PlaylistController extends Object implements IPlaylistController { //static constructor public static function PlaylistController$cinit() { //MethodID:1104, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PlaylistController(hug1:Array, hug2:Function, hug3:IPlaylist, hug4:PlaylistFlashVars, hug5:NicoConfig, hug6:int, hug7:Function, hug8:Boolean, hug9:String) { //MethodID:1106, LocalCount= 10 , MaxScope= 1, MaxStack= 5, CodeLength= 178 this.onPlaylistTargetUpdated = new Functions(); this.onPlaylistInterrupted = new Functions(); this.onVideoChanged = new Functions(); this.onPlaylistVideoError = new Functions(); this.onPlaylistEnded = new Functions(); this._sequenceArray = []; this._callback = new Functions(); this._isAutoPlayAfterLoadSeq = function():Boolean{ //MethodID:1105, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 2 return true; }; this._sequenceStartTimer = new Timer(this._DEDAULT_SEQUENCE_DELAY, 1); super(); this._sequenceArray = hug1; this._initializePlaylist = hug2; this._playlist = hug3; this._playlistFlashVars = hug4; this._nicoConfig = hug5; this._reset = hug7; this._from = hug4.playlistFrom; this._limit = hug6; if(hug8) this._randomList = new _RandomList(this._playlist); this._errorManager = new PlaylistErrorManager(this._playlistFlashVars, this._nicoConfig, hug9); } //variables/etc. private const _DEDAULT_SEQUENCE_DELAY:Number = 1000.0; //slotID:0 private const _ERROR_SEQUENCE_DELAY:Number = 3000.0; //slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlaylistTargetUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlaylistInterrupted:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoChanged:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlaylistVideoError:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlaylistEnded:Functions;//slotID:0 private var _count:int = 0; //slotID:0 private var _countLock:Boolean = false; //slotID:0 private var _limit:int = 0; //slotID:0 private var _threadID:String = ""; //slotID:0 private var _from:String = ""; //slotID:0 private var _sequenceArray:Array; //slotID:0 private var _initializePlaylist:Function; //slotID:0 private var _playlistFlashVars:PlaylistFlashVars; //slotID:0 private var _nicoConfig:NicoConfig; //slotID:0 private var _reset:Function; //slotID:0 private var _callback:Functions; //slotID:0 private var _errorCount:uint = 0; //slotID:0 private var _randomList:_RandomList; //slotID:0 private var _isAutoPlayAfterLoadSeq:Function; //slotID:0 private var _isVideoUpdating:Boolean = false; //slotID:0 private var _isTantalize:Boolean = false; //slotID:0 private var _isInvalidToken:Boolean = false; //slotID:0 private var _isLockedVideoEndedGoNext:Boolean = false; //slotID:0 private var _isFinishedFirstSequence:Boolean = false; //slotID:0 private var _isStopVideoNext:Boolean = false; //slotID:0 private var _sequenceStartTimer:Timer; //slotID:0 private var _playlist:IPlaylist; //slotID:0 private var _marqueeClient:MarqueeClient; //slotID:0 private var _videoController:IVideoController; //slotID:0 private var _nicoViewController:INicoViewController; //slotID:0 private var _commentShutter:ControllerShutter; //slotID:0 private var _errorManager:PlaylistErrorManager; //slotID:0 public function goNext(hug1:Function=null, hug2:Boolean=false, hug3:String=null):void { //MethodID:1107, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 266 var hug4:VideoInfo = null; var hug5:String = null; if(this._isVideoUpdating) return; if(this._randomList){ hug4 = (this._randomList.hasNext ? this.playlist.getVideoInfo(this._randomList.next()) : null); }else{ hug5 = (hug3 ? hug3 : this._threadID); hug4 = this.playlist.getNextVideoInfo(hug5); } if(!hug4){ if(this._videoController) this._videoController.stop(VideoConstants.OPERATION_OTHER); onPlaylistEnded.apply(); if(!this._isFinishedFirstSequence) this._errorManager.show(null, PlaylistErrorManager.NO_LIST); return; } if(this.checkSkip(hug4.threadID)){ this._errorManager.show(hug4, hug4.errorMessage); onPlaylistVideoError.apply(hug4, hug4.errorMessage); this.goNext(hug1, hug2, hug4.threadID); }else{ this.play(hug4.threadID, hug1, hug2); } } public function goPrev(hug1:Function=null, hug2:String=null):void { //MethodID:1108, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 208 var hug3:VideoInfo = null; var hug4:String = null; if(this._isVideoUpdating) return; if(this._randomList){ hug3 = (this._randomList.hasPrev ? this.playlist.getVideoInfo(this._randomList.prev()) : null); }else{ hug4 = (hug2 ? hug2 : this._threadID); hug3 = this.playlist.getPrevVideoInfo(hug4); } if(!hug3){ if(this._videoController) this._videoController.stop(VideoConstants.OPERATION_OTHER); return; } if(this.checkSkip(hug3.threadID)){ this._errorManager.show(hug3, hug3.errorMessage); onPlaylistVideoError.apply(hug3, hug3.errorMessage); this.goPrev(hug1, hug3.threadID); }else{ this.play(hug3.threadID, hug1); } } public function countReset():void { //MethodID:1109, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 if(!this._countLock) this._count = 0; } public function onError(hug1:String):void { //MethodID:1110, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 81 this._isVideoUpdating = false; var hug2:VideoInfo = this.playlist.getVideoInfo(this._threadID); this._sequenceStartTimer.delay = this._ERROR_SEQUENCE_DELAY; this.playlist.setErrorInfo(this._threadID, hug1); this._errorManager.show(hug2, hug1); onPlaylistVideoError.apply(hug2, hug1); } public function play(hug1:String=null, hug2:Function=null, hug3:Boolean=false, hug4:Boolean=false):Boolean { //MethodID:1111, LocalCount= 7 , MaxScope= 1, MaxStack= 3, CodeLength= 542 var hug6:VideoInfo = null; if(this._playlist.list.length <= 0){ this._errorManager.show(null, PlaylistErrorManager.NO_LIST); return false; } if(hug1 == null){ if(this._randomList){ if(!this._randomList.hasNext || (this._randomList.current() == this._threadID)) this._randomList.shuffle(); hug1 = this._randomList.current(); }else if(this._from){ hug1 = this._from; }else{ hug6 = this._playlist.list[0]; hug1 = hug6.threadID; } }else if(this._randomList){ if(hug4){ this._randomList.shuffle(hug1); hug1 = this._randomList.current(); } } if(this._threadID && this._videoController && !this._isInvalidToken && (this._threadID == hug1)){ this._isLockedVideoEndedGoNext = false; this._videoController.seek(0); return true; } if(this._isVideoUpdating && !this._isInvalidToken){ this._isLockedVideoEndedGoNext = false; return false; } if(this._sequenceStartTimer.running){ this._sequenceStartTimer.stop(); this._sequenceStartTimer.removeEventListener(TimerEvent.TIMER, this.play_0); } this._threadID = hug1; this._isTantalize = hug3; var hug5:VideoInfo = this.playlist.getVideoInfo(this._threadID); onPlaylistTargetUpdated.apply(hug5); if(this.checkSkip(this._threadID)){ this.goNext(hug2, hug3); if(hug5){ this._errorManager.show(hug5, hug5.errorMessage); onPlaylistVideoError.apply(hug5, hug5.errorMessage); } this._isLockedVideoEndedGoNext = false; return false; }else{ if(hug2 != null) this._callback.add(hug2); if(this._videoController) this._videoController.stop(VideoConstants.OPERATION_OTHER); if(!this._isFinishedFirstSequence && this._commentShutter) this._commentShutter.close(CommentShutterConstants.SHUTTER_COMMENT_LOADING, ""); this._sequenceStartTimer.addEventListener(TimerEvent.TIMER, this.play_0); this._sequenceStartTimer.start(); return true; } } private function play_0(hug1:TimerEvent):void { //MethodID:1115, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 220 internal var evt:TimerEvent; //slotID:1 internal var _sequence:EventSequence; //slotID:2 _sequence = null; evt = hug1; this.countUp(); this._isVideoUpdating = true; if(this._videoController) this._videoController.stop(); if(this._marqueeClient && this._marqueeClient.marqueePlayer) this._marqueeClient.marqueePlayer.initialize(this._marqueeClient); this._reset.apply(); if(this._isInterrupt){ this._countLock = true; onPlaylistInterrupted.apply(); } _sequence = new EventSequence(this); if(this._isInvalidToken){ _sequence.add(this._initializePlaylist); this._isInvalidToken = false; } this._sequenceArray.forEach(function(hug1:Function, hug2:int, hug3:Array):void{ //MethodID:1112, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 9 _sequence.add(hug1); }); _sequence.add(function():void{ //MethodID:1113, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 208 _callback.apply(); _callback.clear(); errorCount = 0; _isLockedVideoEndedGoNext = false; _isStopVideoNext = false; _isVideoUpdating = false; onVideoChanged.apply(_playlist.getVideoInfo(_threadID)); _sequenceStartTimer.stop(); _sequenceStartTimer.reset(); _sequenceStartTimer.delay = _DEDAULT_SEQUENCE_DELAY; var hug1:Boolean = ((!_isInterrupt && !_isTantalize && !_isStopVideoNext && _videoController) && _isAutoPlayAfterLoadSeq()); if(_videoController){ if(!_isFinishedFirstSequence){ _videoController.startToPlay(hug1); }else if(hug1){ _videoController.play(VideoConstants.OPERATION_OTHER); } } _isFinishedFirstSequence = true; _countLock = false; }); if(!this._isFinishedFirstSequence){ _sequence.next(); }else{ this._nicoViewController.initializeVideoSettings(function():void{ //MethodID:1114, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 8 _sequence.next(); }); } } public function countUp():void { //MethodID:1116, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 20 this._count++; } public function checkSkip(hug1:String):Boolean { //MethodID:1117, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 44 var hug2:VideoInfo = this.playlist.getVideoInfo(hug1); if(!hug2) return true; var hug3:Boolean = ((hug2.deleted != 0) || hug2.errorMessage); return hug3; } public function stopVideo():void { //MethodID:1118, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 33 this._isStopVideoNext = this._isVideoUpdating; if(this._videoController) this._videoController.stop(VideoConstants.OPERATION_OTHER); } public function get threadID():String { //MethodID:1119, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._threadID; } public function get playlist():IPlaylist { //MethodID:1120, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playlist; } public function set videoController(hug1:IVideoController):void { //MethodID:1121, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._videoController = hug1; } public function set marqueeClient(hug1:MarqueeClient):void { //MethodID:1122, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 11 this._marqueeClient = (hug1 as MarqueeClient); } public function set nicoViewController(hug1:INicoViewController):void { //MethodID:1123, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._nicoViewController = hug1; } private function get _isInterrupt():Boolean { //MethodID:1124, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 return (this._count > this._limit); } public function set commentShutter(hug1:ControllerShutter):void { //MethodID:1125, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._commentShutter = hug1; } public function set windowManager(hug1:ITabManager):void { //MethodID:1126, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this._errorManager.windowManager = hug1; } public function get isInvalidToken():Boolean { //MethodID:1127, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isInvalidToken; } public function set isInvalidToken(hug1:Boolean):void { //MethodID:1128, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isInvalidToken = hug1; } public function get isVideoUpdating():Boolean { //MethodID:1129, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isVideoUpdating; } public function set isVideoUpdating(hug1:Boolean):void { //MethodID:1130, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isVideoUpdating = hug1; } public function get errorCount():uint { //MethodID:1131, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._errorCount; } public function set errorCount(hug1:uint):void { //MethodID:1132, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._errorCount = hug1; } public function set isAutoPlayAfterLoadSeq(hug1:Function):void { //MethodID:1133, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isAutoPlayAfterLoadSeq = hug1; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoEnded(hug1:Boolean):EventResult { //MethodID:1134, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 125 if(this._isLockedVideoEndedGoNext) return EventResult.THROUGH; this._isLockedVideoEndedGoNext = true; if(this._randomList && this._randomList.hasNext){ this.goNext(); }else if(this.playlist.getNextVideoInfo(this._threadID)){ this.goNext(); }else{ this._isLockedVideoEndedGoNext = false; this._videoController.stop(VideoConstants.OPERATION_OTHER); onPlaylistEnded.apply(); } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsPlaylistRandomPlayUpdated(hug1:Boolean):EventResult { //MethodID:1135, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 49 if(hug1){ this._randomList = new _RandomList(this._playlist); this._randomList.shuffle(this._threadID); }else{ this._randomList = null; } return EventResult.THROUGH; } } } import jp.nicovideo.nicoplayer.models.playlist.IPlaylist import jp.nicovideo.nicoplayer.models.playlist.VideoInfo //■class(instance)_index:85 //private class _RandomList extends Object { //static constructor public static function _RandomList$cinit() { //MethodID:1096, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 _IS_INITIAL_INDEX_0_MODE = false; } //static variables/etc. private static const _IS_INITIAL_INDEX_0_MODE:Boolean = false; //slotID:1 //constructor public function _RandomList(hug1:IPlaylist):void { //MethodID:1097, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 70 super(); this._playlist = hug1; if(this._playlist.list.length <= 0){ this._list = []; return; } this.shuffle(_IS_INITIAL_INDEX_0_MODE ? VideoInfo(hug1.list[0]).threadID : null); } //variables/etc. private var _list:Array; //slotID:0 private var _curIdx:int; //slotID:0 private var _playlist:IPlaylist; //slotID:0 public function shuffle(hug1:String=null):void { //MethodID:1098, LocalCount= 9 , MaxScope= 1, MaxStack= 3, CodeLength= 299 var hug3:VideoInfo = null; var hug4:int = 0; var hug5:int = 0; var hug6:int = 0; if(hug1 == null){ hug4 = ((this._playlist.list.length == this._curIdx) ? (this._curIdx - 1) : this._curIdx); do{ hug5 = (Math.random() * this._playlist.list.length); hug1 = VideoInfo(this._playlist.list[hug5]).threadID; }while((this._list && (this._playlist.list.length > 1)) && (hug1 == this._list[hug4])); } this._list = []; var hug2:Array = []; for each(hug3 in this._playlist.list){ if(hug3.threadID != hug1){ hug2.push(hug3.threadID); }else{ this._list.push(hug3.threadID); } } while(hug2.length > 0){ hug6 = (Math.random() * hug2.length); this._list.push(hug2[hug6]); hug2.splice(hug6, 1); } this._curIdx = 0; } public function current():String { //MethodID:1099, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14 return this._list[this._curIdx]; } public function next():String { //MethodID:1100, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 28 return this[++this._curIdx]; } public function prev():String { //MethodID:1101, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 28 return this[--this._curIdx]; } public function get hasNext():Boolean { //MethodID:1102, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15 return (this._curIdx < this._list.length); } public function get hasPrev():Boolean { //MethodID:1103, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 return (this._curIdx > 0); } } //■script073■ package jp.nicovideo.nicoplayer.models.comment{ //■class(instance)_index:87 public interface IOwnerCommentList implements ICommentList { //static constructor public static function IOwnerCommentList$cinit() { //MethodID:1137, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function replace(hug1:uint, hug2:IComment):void; //MethodID:1138, dispID:0 function edit(hug1:Array, hug2:Array=null, hug3:Boolean=false):void; //MethodID:1139, dispID:0 function sync(hug1:Function):void; //MethodID:1140, dispID:0 //constructor public function IOwnerCommentList(); //MethodID:1141, dispID:0 } } //■script074■ package jp.nicovideo.nicoplayer.models.comment{ import flash.errors.IllegalOperationError import jp.nicovideo.nicoplayer.models.SystemMessage import jp.nicovideo.nicoplayer.models.api.IRegisterBGM import jp.nicovideo.nicoplayer.storages.CommentStorageError import jp.nicovideo.nicoplayer.storages.ICommentStorage import jp.nicovideo.nicoplayer.storages.ICommentStorageHandle import jp.nicovideo.nicoscript.NicoSClient import jp.nicovideo.util.Functions import jp.nicovideo.util.events.EventBarrier import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.events.event_sender import jp.nicovideo.util.loka.__MSG__ use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:88 public class OwnerCommentList extends Object implements IOwnerCommentList { //static constructor public static function OwnerCommentList$cinit() { //MethodID:1143, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function OwnerCommentList(hug1:String, hug2:ICommentStorage, hug3:NicoSClient, hug4:IRegisterBGM) { //MethodID:1144, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 52 this.__comments = []; this.onCommentListUpdated = new Functions(); super(); this.__threadID = hug1; this.__commentStorage = hug2; this.__nicosClient = hug3; this.__registerBGM = hug4; this.__handle = hug2.attach(hug1); } //variables/etc. private var __threadID:String; //slotID:0 private var __comments:Array; //slotID:0 private var __saved:Boolean = false; //slotID:0 private var __when:Date = null; //slotID:0 private var __commentStorage:ICommentStorage; //slotID:0 private var __handle:ICommentStorageHandle; //slotID:0 private var __nicosClient:NicoSClient; //slotID:0 private var __registerBGM:IRegisterBGM; //slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onCommentListUpdated:Functions;//slotID:0 public function get eventNames():Array { //MethodID:1145, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8 return ["onCommentListUpdated"]; } public function initialize(hug1:Function):void { //MethodID:1147, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 26 internal var f:Function; //slotID:1 f = hug1; this.__handle.getOwnerThread(function(hug1:CommentStorageError, hug2:Array):void{ //MethodID:1146, LocalCount= 3 , MaxScope= 0, MaxStack= 5, CodeLength= 56 if(hug1){ f(hug1); return; } __comments = hug2.concat(); __saved = true; __reflect(null, __comments, null, true); f(null); }, 1000); } public function reload(hug1:Function):void { //MethodID:1148, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 9 hug1(null); } public function update(hug1:Function):void { //MethodID:1149, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 9 hug1(null); } public function post(hug1:IComment):void { //MethodID:1150, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 55 var hug2:CommentBuilder = new CommentBuilder(hug1); hug2.resNo = (this.__comments.length + 1); hug1 = hug2.make(); this.__comments.push(hug1); this.__reflect(null, [hug1]); } public function replace(hug1:uint, hug2:IComment):void { //MethodID:1151, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 59 if((this.__comments.length < hug1) || (hug1 == 0)) return; var hug3:IComment = this.__comments[hug1]; this.__comments[hug1] = hug2; this.__reflect(null, [hug2], [hug3]); } public function edit(hug1:Array, hug2:Array=null, hug3:Boolean=false):void { //MethodID:1154, LocalCount= 7 , MaxScope= 2, MaxStack= 5, CodeLength= 652 internal var additionals:Array; //slotID:1 internal var removes:Array = null; //slotID:2 internal var clear:Boolean = false; //slotID:3 internal var a:Array; //slotID:4 internal var excluded:Array; //slotID:5 internal var prev:uint; //slotID:6 internal var no:uint; //slotID:7 internal var i:int; //slotID:8 internal var comment:IComment; //slotID:9 internal var builder:CommentBuilder; //slotID:10 a = null; excluded = null; prev = 0; no = 0; i = 0; comment = null; builder = null; additionals = hug1; removes = hug2; clear = hug3; if(clear){ this.__comments.splice(0, this.__comments.length); }else if(removes && (removes.length != 0)){ a = removes.sort(function(hug1:uint, hug2:uint):Number{ //MethodID:1152, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 4 return (hug1 - hug2); }); if((a[0] == 0) || (a[a.length - 1] > this.__comments.length)) return; excluded = []; prev = 0; for each(no in a){ if(no == prev){ }else{ excluded.push(this.__comments.splice((no - excluded.length - 1), 1)[0]); prev = no; } } } if(additionals && (additionals.length != 0)){ additionals = additionals.sort(function(hug1:IComment, hug2:IComment):Number{ //MethodID:1153, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 10 return (hug1.resNo - hug2.resNo); }); i = 0; while(i < additionals.length){ comment = additionals[i]; if(comment.resNo == 0){ builder = new CommentBuilder(comment); builder.resNo = (this.__comments.length + 1); additionals[i] = builder.make(); comment = builder.make(); this.__comments.push(comment); }else if(this.__comments.length < comment.resNo){ if((comment.resNo - 1) != this.__comments.length){ builder = new CommentBuilder(comment); builder.resNo = (this.__comments.length + 1); additionals[i] = builder.make(); comment = builder.make(); } this.__comments.push(comment); }else{ this.__comments[comment.resNo - 1] = comment; } i++; } } this.__reflect(null, additionals, excluded, clear); } public function get currentList():Array { //MethodID:1155, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.__comments.concat(); } public function serveCommentList():void { //MethodID:1156, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 36 onCommentListUpdated.apply(this.__comments, [], true, this.name); } public function get name():String { //MethodID:1157, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9 return CommentConstants.CL_OWNER; } public function clickButtonComment(hug1:IComment):void { //MethodID:1158, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 throw new IllegalOperationError("サポートしてないッ〜ス(発音不可)"); } public function isClickable(hug1:IComment):Boolean { //MethodID:1159, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function sync(hug1:Function):void { //MethodID:1164, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 51 internal var f:Function; //slotID:1 internal var do_register_BGM:Function; //slotID:2 f = hug1; do_register_BGM = function():void{ //MethodID:1162, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 138 internal var barrier:EventBarrier; //slotID:1 internal var succeeded_all:Boolean; //slotID:2 internal var BGMVideoIDs:Array; //slotID:3 internal var CMVideoIDs:Array; //slotID:4 internal var on_result:Function; //slotID:5 succeeded_all = false; on_result = null; on_result = function(hug1:Boolean, hug2:String):void{ //MethodID:1160, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 19 succeeded_all = (succeeded_all && hug1); }; barrier = new EventBarrier(); succeeded_all = true; BGMVideoIDs = __nicosClient.player.BGMVideoIDs; __registerBGM.registerBGMVideoIDs(barrier.bind(on_result), __threadID, BGMVideoIDs); CMVideoIDs = __nicosClient.player.CMVideoIDs; __registerBGM.registerCMVideoIDs(barrier.bind(on_result), __threadID, CMVideoIDs); barrier.finish(function():void{ //MethodID:1161, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 12 f(succeeded_all); }); }; this.__saved = true; this.__handle.updateOwnerThread(function(hug1:CommentStorageError):void{ //MethodID:1163, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 24 if(hug1){ f(false); return; } do_register_BGM(); }, this.__comments, this.__nicosClient.player.isNicosThreadRequired); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onTimeMachineDateUpdated(hug1:Boolean, hug2:Date=null):EventResult { //MethodID:1166, LocalCount= 5 , MaxScope= 2, MaxStack= 5, CodeLength= 146 internal var goPast:Boolean; //slotID:1 internal var when:Date = null; //slotID:2 goPast = hug1; when = hug2; if(goPast){ if(this.__when && (this.__when.getTime() == when.getTime())) return EventResult.THROUGH; when = new Date(when.time); this.__when = new Date(when.time); this.__handle.waybackOwnerThread(function(hug1:CommentStorageError, hug2:Array):void{ //MethodID:1165, LocalCount= 4 , MaxScope= 0, MaxStack= 5, CodeLength= 66 var hug3:String = null; if(__when !== when) return; if(hug1){ hug3 = (__MSG__("過去ログの取得に失敗:" + hug1.status) + "
"); SystemMessage.instance.informStatusBar(hug3, hug3); return; } __reflect(when, hug2, null, true); }, int(when.getTime() / 1000)); }else{ this.__when = null; this.__reflect(null, this.__comments, null, true); } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsEnabledLeafMode(hug1:Boolean):EventResult { //MethodID:1167, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8 return EventResult.THROUGH; } private function __reflect(hug1:Date, hug2:Array, hug3:Array=null, hug4:Boolean=false):void { //MethodID:1168, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 50 if(this.__when == hug1) onCommentListUpdated.apply(hug2, [], hug4, this.name); } public function get leavesNum():String { //MethodID:1169, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 5 return ""; } public function get threadID():String { //MethodID:1170, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 5 return ""; } } } //■script075■ package jp.nicovideo.util.events{ public const event_sender:* = "http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender";//slotID:0 } //■script076■ package jp.nicovideo.nicoplayer.models.video{ import flash.display.DisplayObject import flash.display.Sprite import flash.events.TimerEvent import flash.media.Video import flash.utils.Timer import jp.nicovideo.util.Functions import jp.nicovideo.util.stream.StreamSource import jp.nicovideo.util.stream.events.StreamErrorEvent import jp.nicovideo.util.stream.events.StreamEvent use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:90 public class FLVVideo extends Object implements IChildVideo { //static constructor public static function FLVVideo$cinit() { //MethodID:1175, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function FLVVideo(hug1:String, hug2:Sprite, hug3:Number=-1.0, hug4:Number=0.0, hug5:Number=0.0, hug6:String="http", hug7:String, hug8:String=null) { //MethodID:1176, LocalCount= 9 , MaxScope= 1, MaxStack= 3, CodeLength= 239 this.seekInfo = new SeekInfo(); this._onVideoEnded = new Functions(); this._onVideoSeeked = new Functions(); this._onVideoSeekError = new Functions(); this._onVideoSeeking = new Functions(); this._onVideoPlayed = new Functions(); this._onVideoStopped = new Functions(); this._onVideoBufferingStarted = new Functions(); this.onVideoLengthFixed = new Functions(); this._onVideoLoadComplete = new Functions(); this._onInitMetaInfo = new Functions(); this._onVideoError = new Functions(); this._vposWatcher = new Timer(250); super(); this._width = (!hug4 ? hug2.width : hug4); this._height = (!hug5 ? hug2.height : hug5); this._url = hug1; this._fileName = hug7; this._videoLayer = hug2; this._length = hug3; this._protocol = hug6; this._fmsToken = hug8; this._stream = new StreamSource(this._videoLayer); this._stream.length = hug3; this._video = this._stream.video; } //variables/etc. private var _stream:StreamSource; //slotID:0 private var _url:String; //slotID:0 private var _protocol:String; //slotID:0 private var _connectURL:String; //slotID:0 private var _fileName:String; //slotID:0 private var _fmsToken:String; //slotID:0 private var _length:Number = 0.0; //slotID:0 private var _isLoaded:Boolean = false; //slotID:0 private var _video:Video; //slotID:0 private var _initialized:Boolean = false; //slotID:0 private var seekInfo:SeekInfo; //slotID:0 private var _videoLayer:Sprite; //slotID:0 private var _isLoop:Boolean; //slotID:0 private const _onVideoEnded:Functions; //slotID:0 private const _onVideoSeeked:Functions; //slotID:0 private const _onVideoSeekError:Functions; //slotID:0 private const _onVideoSeeking:Functions; //slotID:0 private const _onVideoPlayed:Functions; //slotID:0 private const _onVideoStopped:Functions; //slotID:0 private const _onVideoBufferingStarted:Functions; //slotID:0 public const onVideoLengthFixed:Functions; //slotID:0 private const _onVideoLoadComplete:Functions; //slotID:0 private const _onInitMetaInfo:Functions; //slotID:0 private const _onVideoError:Functions; //slotID:0 private var _isLoading:Boolean = false; //slotID:0 private var _isPlaying:Boolean = false; //slotID:0 private var _isPausing:Boolean = false; //slotID:0 private var _isEnd:Boolean = false; //slotID:0 private var _isBuffering:Boolean = false; //slotID:0 private var _onVideoLoadHandler:Function; //slotID:0 private var _vposWatcher:Timer; //slotID:0 private var _hasLengthSet:Boolean; //slotID:0 private var _width:Number; //slotID:0 private var _height:Number; //slotID:0 public function load(hug1:Function):void { //MethodID:1190, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 252 internal var f:Function; //slotID:1 internal var _errCode:String; //slotID:2 internal var loadCallback:Function; //slotID:3 _errCode = null; f = hug1; loadCallback = function(hug1:Boolean):void{ //MethodID:1177, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 32 if(!hug1){ _stream.close(); _onVideoError.apply(_errCode); } f(hug1); }; this._stream.addEventListener(StreamEvent.CONNECTED, function(hug1:StreamEvent):void{ //MethodID:1178, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 10 loadCallback(true); }); this._stream.addEventListener(StreamEvent.NET_STATUS, function(hug1:StreamEvent):void{ //MethodID:1179, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 98 switch(hug1.info.code){ case "NetConnection.Connect.IdleTimeOut": _stream.close(); _onVideoError.apply(VideoConstants.ERROR_TIMEOUT); return; case "NetConnection.Connect.Closed": return; default: break; } }); this._stream.addEventListener(StreamErrorEvent.ERROR, function(hug1:StreamErrorEvent):void{ //MethodID:1181, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 547 internal var event:StreamErrorEvent; //slotID:1 internal var protocol:String; //slotID:2 internal var regExp:RegExp; //slotID:3 internal var connectURL:String; //slotID:4 internal var timer:Timer; //slotID:5 protocol = null; regExp = null; connectURL = null; timer = null; event = hug1; _errCode = ((event.info.code + ":") + event.info.description); switch(event.info.code){ case "NetStream.Seek.InvalidTime": seekInfo.isSeeking = false; seek((seekInfo.targetVpos < 100) ? 0 : (seekInfo.targetVpos - 100)); return; case "NetStream.Play.StreamNotFound": loadCallback(false); return; case "NetConnection.Connect.Rejected": switch(event.info.application.message){ case "max connected": _errCode = VideoConstants.ERROR_CONNECTION_LIMIT; loadCallback(false); return; case "connection failed by protocol check": case "connection failed by referrer check": case "connection failed by hash check": case "connection failed by hash generated time": _errCode = VideoConstants.ERROR_AUTHENTICATION; loadCallback(false); return; default: break; } break; default: break; } if(isRTMP(_protocol)){ if((_protocol != "rtmpt") && (_protocol != "rtmpte")){ protocol = "rtmpt"; if(_protocol == "rtmpe") protocol = "rtmpte"; regExp = new RegExp("^(rtmpe|rtmp)"); connectURL = _connectURL.replace(regExp, protocol); _protocol = protocol; timer = new Timer(1000, 1); timer.addEventListener(TimerEvent.TIMER, function():void{ //MethodID:1180, LocalCount= 1 , MaxScope= 0, MaxStack= 4, CodeLength= 45 if(isRTMP(_protocol)){ _stream.connect(_url, _fileName, _fmsToken); }else{ _stream.connect(_url); } }); timer.start(); return; } } }); this._stream.addEventListener(StreamEvent.PLAYED, function(hug1:StreamEvent):void{ //MethodID:1182, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 22 _isPlaying = true; _isPausing = false; _onVideoPlayed.apply(); }); this._stream.addEventListener(StreamEvent.PAUSED, function(hug1:StreamEvent):void{ //MethodID:1183, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 15 _isPausing = true; _onVideoStopped.apply(); }); this._stream.addEventListener(StreamEvent.SEEKED, function(hug1:StreamEvent):void{ //MethodID:1184, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 19 seekInfo.isSeeking = false; _onVideoSeeked.apply(this.vpos); }); this._stream.addEventListener(StreamEvent.ENDED, function(hug1:StreamEvent):void{ //MethodID:1185, LocalCount= 3 , MaxScope= 0, MaxStack= 4, CodeLength= 63 _isPlaying = _isPausing = false; _isEnd = !_isLoop; if(vpos >= (length - 2000)){ _isEnd = !_isLoop; _onVideoEnded.apply(_isLoop); } }); this._stream.addEventListener(StreamEvent.SET_LENGTH, function(hug1:StreamEvent):void{ //MethodID:1186, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 19 _hasLengthSet = true; onVideoLengthFixed.apply(this.length); }); this._stream.addEventListener(StreamEvent.START_LOAD, function(hug1:StreamEvent):void{ //MethodID:1187, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 15 _isBuffering = true; _onVideoBufferingStarted.apply(); }); this._stream.addEventListener(StreamEvent.COMPLETE_LOAD, function(hug1:StreamEvent):void{ //MethodID:1188, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 48 _isLoaded = true; _isLoading = false; _isBuffering = false; _stream.resize(_width, _height); _onVideoLoadComplete.apply(_stream.bytesTotal); }); this._stream.addEventListener(StreamEvent.INIT_META_INFO, function(hug1:StreamEvent):void{ //MethodID:1189, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 8 _onInitMetaInfo.apply(); }); if(this.isRTMP(this._protocol)){ this._stream.connect(this._url, this._fileName, this._fmsToken); }else{ this._stream.connect(this._url); } } public function resize(hug1:Number, hug2:Number):void { //MethodID:1191, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 23 this._width = hug1; this._height = hug2; this._stream.resize(hug1, hug2); } public function set volume(hug1:Number):void { //MethodID:1192, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 52 if(!this._stream.isConnected) throw new Error("FLVVideo.startToPlay: video has null initialized."); if((hug1 < 0) || (hug1 > 1)) return; this._stream.volume = hug1; } public function get isPlaying():Boolean { //MethodID:1193, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isPlaying; } public function get isPausing():Boolean { //MethodID:1194, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isPausing; } public function get isSeeking():Boolean { //MethodID:1195, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.seekInfo.isSeeking; } public function get isEnd():Boolean { //MethodID:1196, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isEnd; } public function get isBuffering():Boolean { //MethodID:1197, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isBuffering; } public function set isLoop(hug1:Boolean):void { //MethodID:1198, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isLoop = hug1; } public function play():void { //MethodID:1199, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 this._stream.play(); } public function stop():void { //MethodID:1200, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 this._stream.pause(); } public function close():void { //MethodID:1201, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 this._stream.close(); } public function seek(hug1:Number):void { //MethodID:1202, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 83 var hug2:Number = NaN; this._isEnd = false; if(!this._isLoaded){ hug2 = ((this.length / this._stream.bytesTotal) * this._stream.bytesLoaded); if(hug2 < hug1) hug1 = hug2; } this.seekInfo.isSeeking = true; this.seekInfo.targetVpos = hug1; this._onVideoSeeking.apply(hug1); this._stream.seek(hug1); } public function get length():Number { //MethodID:1203, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._stream.length; } public function get loadedLength():Number { //MethodID:1204, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._stream.loadedLength; } public function get vpos():Number { //MethodID:1205, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 31 var hug1:Number = this.getVpos(); if(this.seekInfo.isSeeking) hug1 = this.seekInfo.targetVpos; return hug1; } private function getVpos():Number { //MethodID:1206, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._stream.vpos; } public function get isInitialized():Boolean { //MethodID:1207, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._stream.isConnected; } public function get hasLengthSet():Boolean { //MethodID:1208, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hasLengthSet; } public function get isControllable():Boolean { //MethodID:1209, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._stream.isConnected; } public function get onVideoSeeked():Functions { //MethodID:1210, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoSeeked; } public function get onVideoSeeking():Functions { //MethodID:1211, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoSeeking; } public function get onVideoEnded():Functions { //MethodID:1212, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoEnded; } public function get onVideoPlayed():Functions { //MethodID:1213, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoPlayed; } public function get onVideoStopped():Functions { //MethodID:1214, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoStopped; } public function get onVideoBufferingStarted():Functions { //MethodID:1215, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoBufferingStarted; } public function get onVideoError():Functions { //MethodID:1216, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoError; } public function get onVideoLoadComplete():Functions { //MethodID:1217, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoLoadComplete; } public function get onInitMetaInfo():Functions { //MethodID:1218, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onInitMetaInfo; } public function get videoPlayerStatus():String { //MethodID:1219, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 87 if(this._isEnd) return VideoPlayerStatus.END; if(this.seekInfo.isSeeking) return VideoPlayerStatus.SEEKING; if(this._isPausing) return VideoPlayerStatus.PAUSED; if(this._isPlaying) return VideoPlayerStatus.PLAYING; if(this._isLoading) return VideoPlayerStatus.LOADING; return VideoPlayerStatus.STOPPED; } public function get layer():DisplayObject { //MethodID:1220, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoLayer; } public function get source():DisplayObject { //MethodID:1221, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._video; } public function get contentWidth():int { //MethodID:1222, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27 return ((this._video == null) ? 0 : this._video.width); } public function get contentHeight():int { //MethodID:1223, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27 return ((this._video == null) ? 0 : this._video.height); } public function isRTMP(hug1:String):Boolean { //MethodID:1224, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 48 if((hug1 == "rtmp") || (hug1 == "rtmpe") || (hug1 == "rtmpt") || (hug1 == "rtmpte")) return true; return false; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get videoLayer():Sprite { //MethodID:1225, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoLayer; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get volume():Number { //MethodID:1226, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._stream.volume; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get video():Video { //MethodID:1227, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._video; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get isLoop():Boolean { //MethodID:1228, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isLoop; } } } //■class(instance)_index:89 //private class SeekInfo extends Object { //static constructor public static function SeekInfo$cinit() { //MethodID:1173, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function SeekInfo() { //MethodID:1174, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public var isSeeking:Boolean = false; //slotID:0 public var targetVpos:Number; //slotID:0 } //■script077■ package jp.nicovideo.nicoplayer.models{ //■class(instance)_index:91 public interface IPlayerInfo { //static constructor public static function IPlayerInfo$cinit() { //MethodID:1230, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get ecoExLinkData():Object; //MethodID:1231, dispID:0 function get noBannerWatchIDList():Array; //MethodID:1232, dispID:0 function get leafFilter():Array; //MethodID:1233, dispID:0 function get playlistLimit():int; //MethodID:1234, dispID:0 function get getThreadError():XMLList; //MethodID:1235, dispID:0 function get isNoLeadOnSlider():Boolean; //MethodID:1236, dispID:0 function getDefaultComment(hug1:String):String; //MethodID:1237, dispID:0 //constructor public function IPlayerInfo(); //MethodID:1238, dispID:0 } } //■script078■ package jp.nicovideo.nicoplayer.models{ import __AS3__.vec.Vector import flash.utils.unescapeMultiByte import jp.nicovideo.util.ObjectUtils import jp.nicovideo.util.StringUtils import jp.nicovideo.util.TimeUtils import jp.nicovideo.util.api.IAPICacheProxy import jp.nicovideo.util.loka.__MSG__ //■class(instance)_index:93 public class PlayerInfo extends Object implements IPlayerInfo { //static constructor public static function PlayerInfo$cinit() { //MethodID:1244, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PlayerInfo(hug1:Function, hug2:IAPICacheProxy) { //MethodID:1248, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 74 internal var callback:Function; //slotID:1 internal var apiCacheProxy:IAPICacheProxy; //slotID:2 internal var defaultIgnoreWhiteSpace:Boolean; //slotID:3 internal var onLoadError:Function; //slotID:4 defaultIgnoreWhiteSpace = false; callback = hug1; apiCacheProxy = hug2; this._noBannerTargets = []; this._leafFilter = []; super(); onLoadError = function():void{ //MethodID:1246, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 35 SystemMessage.instance.inform(__MSG__("プレイヤー情報の取得に失敗しました。")); ObjectUtils.callLater(function():void{ //MethodID:1245, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 10 callback(false); }); }; defaultIgnoreWhiteSpace = XML.ignoreWhitespace; XML.ignoreWhitespace = true; apiCacheProxy.load(function(hug1:Boolean, hug2:*):void{ //MethodID:1247, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 108 if(!hug1){ onLoadError(); XML.ignoreWhitespace = defaultIgnoreWhiteSpace; return; } _playerInfoXML = XML(hug2); _initNoBannerTargets(); _initLeafFilter(); _initPlayStatsCount(); _initGetThreadError(); _initializePlaylistLimit(); _initializeIsNoLoadAdsLiveBanner(); _initializeLeadOnSliderFlag(); _initializeDefaultComment(); XML.ignoreWhitespace = defaultIgnoreWhiteSpace; callback(true); }, false); } //variables/etc. private var _playerInfoXML:XML; //slotID:0 private var _noBannerTargets:Array; //slotID:0 private var _leafFilter:Array; //slotID:0 private var _playStatsCount:int; //slotID:0 private var _getThreadError:XMLList = null; //slotID:0 private var _playlistLimit:int = 0; //slotID:0 private var _defaultCommentTargets:Vector.<_DefaultCommentTarget>;//slotID:0 private var _isNoLoadAdsLiveBanner:Boolean = false; //slotID:0 private var _isNoLeadOnSlider:Boolean = false; //slotID:0 public function get ecoExLinkData():Object { //MethodID:1250, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 318 internal var obj:Object; //slotID:1 internal var xmlCheck:Function; //slotID:2 internal var start:Date; //slotID:3 internal var end:Date; //slotID:4 internal var color:uint; //slotID:5 start = null; end = null; color = 0; xmlCheck = function(hug1:XML):Boolean{ //MethodID:1249, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 110 if(!hug1) return false; if(hug1.eco_ex_link == undefined) return false; if((hug1.eco_ex_link[0].start == undefined) || (hug1.eco_ex_link[0].end == undefined) || (hug1.eco_ex_link[0].text == undefined) || (hug1.eco_ex_link[0].link == undefined)) return false; return true; }; if(!this._playerInfoXML) return null; obj = {}; if(xmlCheck(this._playerInfoXML)){ start = this._getDateFromString(String(this._playerInfoXML.eco_ex_link[0].start)); end = this._getDateFromString(String(this._playerInfoXML.eco_ex_link[0].end)); color = (this._playerInfoXML.eco_ex_link[0].text.color ? uint(this._playerInfoXML.eco_ex_link[0].text.color) : 0xFFFFFF); if((start == null) || (end == null)) return null; obj.start = start; obj.end = end; obj.text = String(this._playerInfoXML.eco_ex_link[0].text); obj.color = color; obj.link = unescapeMultiByte(String(this._playerInfoXML.eco_ex_link[0].link)); return obj; }else{ return null; } } private function _getDateFromString(hug1:String):Date { //MethodID:1251, LocalCount= 5 , MaxScope= 1, MaxStack= 7, CodeLength= 70 var hug2:RegExp = new RegExp("^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})$"); var hug3:Array = hug2.exec(hug1); if(!hug3) return null; var hug4:Date = new Date(hug3[1], (hug3[2] - 1), hug3[3], hug3[4], hug3[5]); return hug4; } private function _initNoBannerTargets():void { //MethodID:1252, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 119 var hug1:XML = null; var hug2:String = null; if(!this._playerInfoXML) return; if(this._playerInfoXML.no_banner_targets == undefined) return; if(this._playerInfoXML.no_banner_targets.watch_id == undefined) return; for each(hug1 in this._playerInfoXML.no_banner_targets.watch_id){ hug2 = hug1.toString(); if(StringUtils.isValidVideoID(hug2)) this._noBannerTargets.push(hug2); } } private function _initLeafFilter():void { //MethodID:1253, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 107 var hug1:XML = null; var hug2:String = null; if(!this._playerInfoXML) return; if(this._playerInfoXML.leaf_filter == undefined) return; if(this._playerInfoXML.leaf_filter.disable == undefined) return; for each(hug1 in this._playerInfoXML.leaf_filter.disable){ hug2 = hug1.toString(); this._leafFilter.push(hug2); } } private function _initPlayStatsCount():void { //MethodID:1254, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 38 if(!this._playerInfoXML) return; if(this._playerInfoXML.playstats_count == undefined) return; this._playStatsCount = this._playerInfoXML.playstats_count; } private function _initGetThreadError():void { //MethodID:1255, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 38 if(!this._playerInfoXML) return; if(this._playerInfoXML.get_thread_error == undefined) return; this._getThreadError = this._playerInfoXML.get_thread_error; } private function _initializePlaylistLimit():void { //MethodID:1256, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 43 if(!this._playerInfoXML) return; if(this._playerInfoXML.playlist_limit == undefined) return; this._playlistLimit = int(this._playerInfoXML.playlist_limit); } private function _initializeIsNoLoadAdsLiveBanner():void { //MethodID:1257, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 41 if(!this._playerInfoXML) return; if(this._playerInfoXML.no_load_adslivebanner == undefined) return; this._isNoLoadAdsLiveBanner = (this._playerInfoXML.no_load_adslivebanner == 1); } private function _initializeLeadOnSliderFlag():void { //MethodID:1258, LocalCount= 11 , MaxScope= 1, MaxStack= 4, CodeLength= 491 var hug1:Array = null; var hug2:int = 0; var hug3:String = null; var hug4:int = 0; var hug5:Number = NaN; var hug6:Array = null; var hug7:Array = null; var hug8:Array = null; var hug9:Date = null; var hug10:Date = null; if(!this._playerInfoXML || (this._playerInfoXML.no_lead_on_slider == undefined) || (this._playerInfoXML.no_lead_on_slider != 1)){ this._isNoLeadOnSlider = false; return; } if((this._playerInfoXML.no_lead_on_slider.d == undefined) && (this._playerInfoXML.no_lead_on_slider.t == undefined)){ this._isNoLeadOnSlider = true; return; } if(this._playerInfoXML.no_lead_on_slider.d != undefined){ hug1 = String(this._playerInfoXML.no_lead_on_slider.d).split(","); hug2 = hug1.length; hug3 = TimeUtils.now().day.toString(); hug4 = 0; while(hug4 < hug2){ if(String(hug1[hug4]) == hug3){ this._isNoLeadOnSlider = true; return; } hug4++; } } if(this._playerInfoXML.no_lead_on_slider.t != undefined){ hug5 = TimeUtils.time; hug6 = String(this._playerInfoXML.no_lead_on_slider.t).split("-"); hug7 = hug6[0].split(":"); hug8 = hug6[1].split(":"); hug9 = new Date(hug5); hug10 = new Date(hug5); hug9.hours = Number(hug7[0]); hug9.minutes = Number(hug7[1]); hug10.hours = Number(hug8[0]); hug10.minutes = Number(hug8[1]); if(hug9 < hug10){ this._isNoLeadOnSlider = ((hug5 >= hug9.time) && (hug5 <= hug10.time)); }else if(hug9 > hug10){ this._isNoLeadOnSlider = ((hug5 >= hug9.time) || (hug5 <= hug10.time)); } } } private function _initializeDefaultComment():void { //MethodID:1259, LocalCount= 9 , MaxScope= 1, MaxStack= 4, CodeLength= 281 var hug1:XML = null; var hug2:String = null; var hug3:Vector. = null; var hug4:XML = null; this._defaultCommentTargets = new Vector.<_DefaultCommentTarget>(); if(!this._playerInfoXML) return; if(this._playerInfoXML.default_comment_targets == undefined) return; if(this._playerInfoXML.default_comment_targets.target == undefined) return; for each(hug1 in this._playerInfoXML.default_comment_targets.target){ if((hug1.comment == undefined) || (hug1.watch_id == undefined)){ }else{ hug2 = hug1.comment.toString(); hug3 = new Vector.(); for each(hug4 in hug1.watch_id){ if(StringUtils.isValidVideoID(hug4.toString())) hug3.push(hug4.toString()); } if((hug2 != null) && (hug2 != "") && (hug3.length > 0)) this._defaultCommentTargets.push(new _DefaultCommentTarget(hug2, hug3)); } } } public function getDefaultComment(hug1:String):String { //MethodID:1260, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 67 var hug2:_DefaultCommentTarget = null; for each(hug2 in this._defaultCommentTargets){ if(hug2.watchIDList.indexOf(hug1) < 0){ }else{ return hug2.comment; } } return null; } public function get noBannerWatchIDList():Array { //MethodID:1261, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._noBannerTargets; } public function get playStatsCount():int { //MethodID:1262, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playStatsCount; } public function get getThreadError():XMLList { //MethodID:1263, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._getThreadError; } public function get leafFilter():Array { //MethodID:1264, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._leafFilter; } public function get playlistLimit():int { //MethodID:1265, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playlistLimit; } public function get isNoLoadAdsLiveBanner():Boolean { //MethodID:1266, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isNoLoadAdsLiveBanner; } public function get isNoLeadOnSlider():Boolean { //MethodID:1267, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isNoLeadOnSlider; } } } import __AS3__.vec.Vector //■class(instance)_index:92 //private class _DefaultCommentTarget extends Object { //static constructor public static function _DefaultCommentTarget$cinit() { //MethodID:1240, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _DefaultCommentTarget(hug1:String, hug2:Vector.) { //MethodID:1241, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16 super(); this._defaultComment = hug1; this._watchIDList = hug2; } //variables/etc. private var _defaultComment:String; //slotID:0 private var _watchIDList:Vector.; //slotID:0 public function get comment():String { //MethodID:1242, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._defaultComment; } public function get watchIDList():Vector. { //MethodID:1243, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._watchIDList; } } //■script079■ package jp.nicovideo.nicoplayer.models{ import jp.nicovideo.nicoplayer.models.api.IJumper import jp.nicovideo.nicoplayer.models.api.Jumper import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars import jp.nicovideo.nicoplayer.models.video.IVideo //■class(instance)_index:94 public class StartVposConfig extends Object { //static constructor public static function StartVposConfig$cinit() { //MethodID:1269, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 18 PERMISSIBLE_JUMPING_DELAY = ((2 * 60) * 1000); } //static variables/etc. private static const PERMISSIBLE_JUMPING_DELAY:Number = 0x1D4C0;//slotID:1 //constructor public function StartVposConfig(hug1:IJumper, hug2:NicoFlashVars) { //MethodID:1270, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 21 super(); this._jumper = hug1; this._flashVars = hug2; this._initialize(); } //variables/etc. private var _fromMsec:Number; //slotID:0 private var _type:String; //slotID:0 private var _isHalfway:Boolean = false; //slotID:0 private var _isAutoPlay:Boolean = false; //slotID:0 private var _flashVars:NicoFlashVars; //slotID:0 private var _jumper:IJumper; //slotID:0 private var _video:IVideo; //slotID:0 private function _initialize():void { //MethodID:1272, LocalCount= 2 , MaxScope= 2, MaxStack= 4, CodeLength= 409 internal var vposKey:String; //slotID:1 internal var dateKey:String; //slotID:2 internal var __flushJumperObj:Function; //slotID:3 internal var clicked:Number; //slotID:4 internal var now:Number; //slotID:5 vposKey = null; dateKey = null; clicked = NaN; now = NaN; __flushJumperObj = function():void{ //MethodID:1271, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 80 if(_jumper && _jumper.tossedObject){ if(_jumper.tossedObject[vposKey]) _jumper.tossedObject[vposKey] = null; if(_jumper.tossedObject[dateKey]) _jumper.tossedObject[dateKey] = null; } }; this._cleanFlags(); vposKey = Jumper.KEY_OF_PLAY_FROM_VPOS_SEC; dateKey = Jumper.KEY_OF_PLAY_FROM_CLICKED_DATE; this._fromMsec = -1; if(this._jumper.tossedObject){ if(this._jumper.tossedObject[vposKey]){ if(this._jumper.tossedObject[dateKey]){ clicked = this._jumper.tossedObject[dateKey]; now = new Date().getTime(); if((clicked < now) && (now < (clicked + PERMISSIBLE_JUMPING_DELAY))){ this._fromMsec = (this._jumper.tossedObject[vposKey] * 1000); this._type = StartVposType.EXT; this._isAutoPlay = Boolean(this._jumper.tossedObject[Jumper.KEY_OF_PLAY_FROM_IS_AUTO_PLAY]); }else{ __flushJumperObj(); } }else{ __flushJumperObj(); } }else if(this._jumper.tossedObject.jumpFrom && this._flashVars.watchFlashVars){ this._fromMsec = (this._flashVars.watchFlashVars.jumpVPosPlayFrom * 1000); this._isAutoPlay = true; this._type = StartVposType.ATJUMP; } }else if(this._flashVars.watchFlashVars && (this._flashVars.watchFlashVars.jumpVPosPlayFrom > 0)){ this._fromMsec = (this._flashVars.watchFlashVars.jumpVPosPlayFrom * 1000); this._isAutoPlay = false; this._type = StartVposType.URL; } this._isHalfway = (0 < this._fromMsec); } private function _cleanFlags():void { //MethodID:1273, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24 this._isHalfway = false; this._isAutoPlay = false; this._type = null; this._fromMsec = -1; } public function judgebyVideoLength(hug1:IVideo):void { //MethodID:1274, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 54 if(!hug1) return; this._video = hug1; this._isHalfway = (this._isHalfway && (this._fromMsec < this._video.length)); if(!this._isHalfway) this._cleanFlags(); } public function get fromMsec():Number { //MethodID:1275, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._fromMsec; } public function get halfwayStartEnabled():Boolean { //MethodID:1276, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isHalfway; } public function get isAutoPlay():Boolean { //MethodID:1277, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isAutoPlay; } public function get type():String { //MethodID:1278, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._type; } } } //■script080■ package jp.nicovideo.nicoplayer.models.api{ //■class(instance)_index:95 public interface IGetFLV { //static constructor public static function IGetFLV$cinit() { //MethodID:1280, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get threadID():String; //MethodID:1281, dispID:0 function get videoLength():Number; //MethodID:1282, dispID:0 function get videoURL():String; //MethodID:1283, dispID:0 function get videoProtocol():String; //MethodID:1284, dispID:0 function get videoFileName():String; //MethodID:1285, dispID:0 function get smilevideoLink():String; //MethodID:1286, dispID:0 function get messageServerURL():String; //MethodID:1287, dispID:0 function get accessTimestamp():uint; //MethodID:1288, dispID:0 function get closed():Boolean; //MethodID:1289, dispID:0 function get optionalThreadID():String; //MethodID:1290, dispID:0 function get commentExpire():Boolean; //MethodID:1291, dispID:0 function get nicoSThreadID():String; //MethodID:1292, dispID:0 function get isAS3():Boolean; //MethodID:1293, dispID:0 function get channelFilter():String; //MethodID:1294, dispID:0 function get ownerFilter():String; //MethodID:1295, dispID:0 function get fmsToken():String; //MethodID:1296, dispID:0 function get deleted():uint; //MethodID:1297, dispID:0 //constructor public function IGetFLV(); //MethodID:1298, dispID:0 } } //■script081■ package jp.nicovideo.nicoplayer.models.api{ import com.adobe.serialization.json.JSON import flash.net.URLVariables import jp.nicovideo.util.HTTPUtils import jp.nicovideo.util.StringUtils import jp.nicovideo.util.TimeUtils //■class(instance)_index:96 public class GetFLV extends Object implements IGetFLV { //static constructor public static function GetFLV$cinit() { //MethodID:1300, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function GetFLV(hug1:String, hug2:Object=null, hug3:Function=null) { //MethodID:1301, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 34 super(); this._apiURL = hug1; if(hug2 && (hug3 != null)) this.getInfo(hug2, hug3); } //variables/etc. private var _apiURL:String; //slotID:0 private var _messageServerURL:String; //slotID:0 private var _threadID:String; //slotID:0 private var _optionalThreadID:String; //slotID:0 private var _nicoSThreadID:String; //slotID:0 private var _smilevideoLink:String; //slotID:0 private var _videoURL:String = ""; //slotID:0 private var _videoProtocol:String = ""; //slotID:0 private var _videoFileName:String = ""; //slotID:0 private var _videoLength:Number; //slotID:0 private var _accessTimestamp:uint = 0; //slotID:0 private var _deleted:uint; //slotID:0 private var _fmsToken:String; //slotID:0 private var _ownerFilter:String = ""; //slotID:0 private var _channelFilter:String; //slotID:0 private var _initializeInfo:InitializeInfo; //slotID:0 private var _closed:Boolean = false; //slotID:0 private var _commentExpire:Boolean = true; //slotID:0 private var _isAS3:Boolean = false; //slotID:0 private var _hirobaHost:String; //slotID:0 private var _hirobaPort:uint; //slotID:0 private var _hirobaThreadID:String; //slotID:0 private var _hirobaThreadKey:String; //slotID:0 public function getInfo(hug1:Object, hug2:Function):void { //MethodID:1303, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 35 internal var apiParam:Object; //slotID:1 internal var callbackFunc:Function; //slotID:2 apiParam = hug1; callbackFunc = hug2; HTTPUtils.sendPostData(function(hug1:URLVariables):void{ //MethodID:1302, LocalCount= 4 , MaxScope= 0, MaxStack= 10, CodeLength= 649 var hug3:Object = null; if(!hug1 || hug1.error){ callbackFunc(false); return; } _threadID = hug1.thread_id; _videoLength = (hug1.l * 1000); _videoURL = hug1.url; _hirobaHost = (hug1.hms ? hug1.hms : null); _hirobaPort = hug1.hmsp; _hirobaThreadID = (hug1.hmst ? hug1.hmst : null); _hirobaThreadKey = hug1.hmstk; var hug2:Object = StringUtils.parseURL(_videoURL); _videoProtocol = hug2.protocol; if((_videoProtocol == "rtmp") || (_videoProtocol == "rtmpe") || (_videoProtocol == "rtmpt") || (_videoProtocol == "rtmpte")){ _videoURL = (_videoProtocol + "://" + hug2.host + hug2.directory + hug2.file); hug3 = hug2.queryObject; if(hug3.m != null){ _videoFileName = hug3.m; }else if(hug3.v != null){ _videoFileName = hug3.v; }else if(hug3.s != null){ _videoFileName = hug3.s; }else{ callbackFunc(false); return; } } _fmsToken = hug1.fmst; _smilevideoLink = hug1.link; _messageServerURL = hug1.ms; _accessTimestamp = hug1.time; TimeUtils.time = (_accessTimestamp * 1000); if(hug1.closed) _closed = Boolean(parseInt(hug1.closed, 10)); if(hug1.ng_up) _ownerFilter = hug1.ng_up; if(hug1.ce) _commentExpire = ((hug1.ce == 0) ? false : true); if(hug1.nicos_id) _nicoSThreadID = hug1.nicos_id; if(hug1.optional_thread_id) _optionalThreadID = hug1.optional_thread_id; if(hug1.as3) _isAS3 = (hug1.as3 == "1"); if(hug1.ng_ch) _channelFilter = hug1.ng_ch; if(hug1.deleted) _deleted = parseInt(hug1.deleted); _initializeInfo = InitializeInfo.init(hug1.user_id, hug1.nickname, (hug1.is_premium == "1"), parseInt(hug1.ng_rv, 10), (hug1.ng_maintenance == "1"), hug1.feedrev, ((hug1.rpu != null) ? JSON.decode(hug1.rpu) : null)); callbackFunc(true); }, this._apiURL, apiParam); } public function get threadID():String { //MethodID:1304, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._threadID; } public function get videoLength():Number { //MethodID:1305, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoLength; } public function get videoURL():String { //MethodID:1306, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoURL; } public function get fmsToken():String { //MethodID:1307, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._fmsToken; } public function get smilevideoLink():String { //MethodID:1308, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._smilevideoLink; } public function get messageServerURL():String { //MethodID:1309, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._messageServerURL; } public function get accessTimestamp():uint { //MethodID:1310, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._accessTimestamp; } public function get closed():Boolean { //MethodID:1311, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._closed; } public function get ownerFilter():String { //MethodID:1312, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._ownerFilter; } public function get commentExpire():Boolean { //MethodID:1313, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._commentExpire; } public function get nicoSThreadID():String { //MethodID:1314, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nicoSThreadID; } public function get optionalThreadID():String { //MethodID:1315, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._optionalThreadID; } public function get isAS3():Boolean { //MethodID:1316, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isAS3; } public function get videoProtocol():String { //MethodID:1317, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoProtocol; } public function get videoFileName():String { //MethodID:1318, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoFileName; } public function get channelFilter():String { //MethodID:1319, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._channelFilter; } public function get deleted():uint { //MethodID:1320, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._deleted; } public function get hirobaHost():String { //MethodID:1321, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hirobaHost; } public function get hirobaPort():uint { //MethodID:1322, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hirobaPort; } public function get hirobaThreadID():String { //MethodID:1323, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hirobaThreadID; } public function get hirobaThreadKey():String { //MethodID:1324, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hirobaThreadKey; } } } //■script082■ package jp.nicovideo.nicoplayer.models.api{ //■class(instance)_index:97 public interface IJumper { //static constructor public static function IJumper$cinit() { //MethodID:1326, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get tossedObject():Object; //MethodID:1327, dispID:0 function jump(hug1:String, hug2:Object, hug3:Boolean=false, hug4:Object=null):void;//MethodID:1328, dispID:0 //constructor public function IJumper(); //MethodID:1329, dispID:0 } } //■script083■ package jp.nicovideo.nicoplayer.models.api{ import flash.net.URLRequest import flash.net.navigateToURL import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.util.CrossSharedObject import jp.nicovideo.util.StringUtils import jp.nicovideo.util.external.JSConnector import jp.nicovideo.util.storage.LocalStorage //■class(instance)_index:98 public class Jumper extends Object implements IJumper { //static constructor public static function Jumper$cinit() { //MethodID:1331, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 70 KEY_OF_PLAY_FROM_VPOS_SEC = "play_from_vpos_sec"; KEY_OF_PLAY_FROM_CLICKED_DATE = "play_from_clicked_date"; KEY_OF_PLAY_FROM_IS_AUTO_PLAY = "play_from_and_auto_play"; __SO_NAME = "jp.nicovideo.nicoplayer.api.Jumper"; __TOSS_EXPIRES = (1000 * 60 * 3); __sharedObj = CrossSharedObject.getStorage(__SO_NAME); } //static variables/etc. public static const KEY_OF_PLAY_FROM_VPOS_SEC:String = "play_from_vpos_sec";//slotID:1 public static const KEY_OF_PLAY_FROM_CLICKED_DATE:String = "play_from_clicked_date";//slotID:2 public static const KEY_OF_PLAY_FROM_IS_AUTO_PLAY:String = "play_from_and_auto_play";//slotID:3 private static const __SO_NAME:String = "jp.nicovideo.nicoplayer.api.Jumper";//slotID:4 private static const __TOSS_EXPIRES:int = 0x2BF20; //slotID:5 private static var __sharedObj:LocalStorage; //slotID:6 //constructor public function Jumper(hug1:NicoConfig, hug2:String) { //MethodID:1332, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 34 this.__JUMP_WINDOW_ID = ("UNK_" + this.__getCurrentTimeMillis()); super(); this.__cfg = hug1; this.__videoID = hug2; this.__initialize(); } //variables/etc. private var __cfg:NicoConfig; //slotID:0 private var __tossedObject:Object; //slotID:0 private var __videoID:String; //slotID:0 private var __JUMP_WINDOW_ID:String; //slotID:0 private function __initialize():void { //MethodID:1333, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 118 var hug1:Object = null; if(!__sharedObj) throw new Error("Jumper: SharedObject.getLocal failed."); if("tossedObjects" in __sharedObj.data){ this.__sweepExpiredTossedObjects(); hug1 = __sharedObj.data.tossedObjects[this.__videoID]; if(hug1){ this.__tossedObject = hug1.obj; delete __sharedObj.data.tossedObjects[this.__videoID]; __sharedObj.flush(); if(hug1.focus) JSConnector.call("window.focus"); } } } public function get tossedObject():Object { //MethodID:1334, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__tossedObject; } public function jump(hug1:String, hug2:Object, hug3:Boolean=false, hug4:Object=null):void { //MethodID:1335, LocalCount= 6 , MaxScope= 1, MaxStack= 8, CodeLength= 163 __sharedObj.data.tossedObjects = (__sharedObj.data.tossedObjects || {}); __sharedObj.data.tossedObjects[hug1] = {obj:hug4, time:this.__getCurrentTimeMillis(), focus:hug3}; __sharedObj.flush(); hug2.p = (new RegExp("^\d{10}$").test(hug1) ? ("watch/" + hug1) : hug1); var hug5:String = StringUtils.joinQuery(this.__cfg.REDIRECTOR_URL, hug2); if(hug3){ navigateToURL(new URLRequest(hug5), "_blank"); }else{ navigateToURL(new URLRequest(hug5), "_self"); } } private function __getCurrentTimeMillis():Number { //MethodID:1336, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 12 return new Date().getTime(); } private function __sweepExpiredTossedObjects():void { //MethodID:1337, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 89 var hug2:String = null; var hug1:Number = this.__getCurrentTimeMillis(); for(hug2 in __sharedObj.data.tossedObjects){ if(__TOSS_EXPIRES < (hug1 - __sharedObj.data.tossedObjects[hug2].time)) delete __sharedObj.data.tossedObjects[hug2]; } } } } //■script084■ package jp.nicovideo.nicoplayer.models{ //■class(instance)_index:99 public interface IPlayerVersion { //static constructor public static function IPlayerVersion$cinit() { //MethodID:1339, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get nicoplayer():String; //MethodID:1340, dispID:0 function get nicoscriptPlayer():String; //MethodID:1341, dispID:0 function get nicoplayerTemplate():String; //MethodID:1342, dispID:0 function get nicoplayerViewController():String; //MethodID:1343, dispID:0 function get hirobaMovie():String; //MethodID:1344, dispID:0 function get userSponsorMovie():String; //MethodID:1345, dispID:0 function get thumbplayerView():String; //MethodID:1346, dispID:0 function get thumbplayerController():String; //MethodID:1347, dispID:0 function get marqueePlayer():String; //MethodID:1348, dispID:0 function get updatedLogs():Array; //MethodID:1349, dispID:0 function get hirobaconnector():String; //MethodID:1350, dispID:0 function get videoMenu():String; //MethodID:1351, dispID:0 function get videoEnder():String; //MethodID:1352, dispID:0 function get jsconnector():String; //MethodID:1353, dispID:0 function get remoconAlert():String; //MethodID:1354, dispID:0 //constructor public function IPlayerVersion(); //MethodID:1355, dispID:0 } } //■script085■ package jp.nicovideo.nicoplayer.models{ import jp.nicovideo.util.ObjectUtils import jp.nicovideo.util.StringUtils import jp.nicovideo.util.api.IAPICacheProxy import jp.nicovideo.util.loka.__MSG__ //■class(instance)_index:100 public class PlayerVersion extends Object implements IPlayerVersion { //static constructor public static function PlayerVersion$cinit() { //MethodID:1357, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 SO_PLAYERVERSION = "jp.nicovideo.nicoplayer.models.playerVersion"; } //static variables/etc. public static const SO_PLAYERVERSION:String = "jp.nicovideo.nicoplayer.models.playerVersion";//slotID:1 //constructor public function PlayerVersion(hug1:Function, hug2:IAPICacheProxy) { //MethodID:1362, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 77 internal var callback:Function; //slotID:1 internal var apiCacheProxy:IAPICacheProxy; //slotID:2 internal var defaultIgnoreWhiteSpace:Boolean; //slotID:3 internal var onLoadError:Function; //slotID:4 internal var setLogDateFormat:Function; //slotID:5 defaultIgnoreWhiteSpace = false; callback = hug1; apiCacheProxy = hug2; this._updatedLogs = []; super(); onLoadError = function():void{ //MethodID:1359, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 35 SystemMessage.instance.inform(__MSG__("プレイヤー情報の取得に失敗しました。")); ObjectUtils.callLater(function():void{ //MethodID:1358, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 10 callback(false); }); }; setLogDateFormat = function(hug1:String):String{ //MethodID:1360, LocalCount= 2 , MaxScope= 0, MaxStack= 8, CodeLength= 47 return StringUtils.sprintf("%02d/%02d %02d:%02d", hug1.substr(4, 2), hug1.substr(6, 2), hug1.substr(8, 2), hug1.substr(10, 2)); }; defaultIgnoreWhiteSpace = XML.ignoreWhitespace; XML.ignoreWhitespace = true; apiCacheProxy.load(function(hug1:Boolean, hug2:*):void{ //MethodID:1361, LocalCount= 7 , MaxScope= 0, MaxStack= 3, CodeLength= 365 var hug4:XML = null; if(!hug1){ onLoadError(); XML.ignoreWhitespace = defaultIgnoreWhiteSpace; return; } var hug3:XML = XML(hug2); _nicoplayer = hug3.swf.nicoplayer; _nicoscriptPlayer = hug3.swf.nicoscript_player; _nicoplayerTemplate = hug3.swf.nicoplayer_template; _nicoplayerViewController = hug3.swf.nicoplayer_view_controller; _hirobaMovie = hug3.swf.hiroba_movie; _userSponsorMovie = hug3.swf.user_sponsor_movie; _marqueePlayer = hug3.swf.marquee_player; _thumbplayerView = hug3.swf.thumbplayer_view; _thumbplayerController = hug3.swf.thumbplayer_controller; _hirobaconnector = hug3.swf.hirobaconnector; _larquee = hug3.swf.larquee; _videoMenu = hug3.swf.video_menu; _videoEnder = hug3.swf.video_ender; _pluginloader = hug3.swf.pluginloader; _crossSharedObject = hug3.swf.cross_sharedobject; _applibar = hug3.swf.applibar; _jsconnector = hug3.swf.jsconnector; _remoconAlert = hug3.swf.remocon_alert; _updatedLogs = []; for each(hug4 in hug3.updated_logs.log){ _updatedLogs.push((setLogDateFormat(hug4.@date) + " ") + hug4.valueOf()); } XML.ignoreWhitespace = defaultIgnoreWhiteSpace; callback(true); }, false); } //variables/etc. private var _nicoplayer:String; //slotID:0 private var _nicoscriptPlayer:String; //slotID:0 private var _nicoplayerTemplate:String; //slotID:0 private var _nicoplayerViewController:String; //slotID:0 private var _hirobaMovie:String; //slotID:0 private var _userSponsorMovie:String; //slotID:0 private var _thumbplayerView:String; //slotID:0 private var _thumbplayerController:String; //slotID:0 private var _marqueePlayer:String; //slotID:0 private var _hirobaconnector:String; //slotID:0 private var _larquee:String; //slotID:0 private var _videoMenu:String; //slotID:0 private var _videoEnder:String; //slotID:0 private var _pluginloader:String; //slotID:0 private var _crossSharedObject:String; //slotID:0 private var _applibar:String; //slotID:0 private var _jsconnector:String; //slotID:0 private var _remoconAlert:String; //slotID:0 private var _updatedLogs:Array; //slotID:0 public function get nicoplayer():String { //MethodID:1363, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nicoplayer; } public function get nicoplayerViewController():String { //MethodID:1364, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nicoplayerViewController; } public function get nicoscriptPlayer():String { //MethodID:1365, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nicoscriptPlayer; } public function get nicoplayerTemplate():String { //MethodID:1366, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nicoplayerTemplate; } public function get hirobaMovie():String { //MethodID:1367, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hirobaMovie; } public function get userSponsorMovie():String { //MethodID:1368, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._userSponsorMovie; } public function get thumbplayerView():String { //MethodID:1369, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._thumbplayerView; } public function get thumbplayerController():String { //MethodID:1370, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._thumbplayerController; } public function get marqueePlayer():String { //MethodID:1371, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._marqueePlayer; } public function get updatedLogs():Array { //MethodID:1372, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._updatedLogs; } public function get hirobaconnector():String { //MethodID:1373, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hirobaconnector; } public function get larquee():String { //MethodID:1374, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._larquee; } public function get videoMenu():String { //MethodID:1375, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoMenu; } public function get videoEnder():String { //MethodID:1376, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoEnder; } public function get crossSharedObject():String { //MethodID:1377, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._crossSharedObject; } public function get pluginloader():String { //MethodID:1378, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._pluginloader; } public function get applibar():String { //MethodID:1379, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._applibar; } public function get jsconnector():String { //MethodID:1380, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._jsconnector; } public function get remoconAlert():String { //MethodID:1381, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._remoconAlert; } } } //■script086■ package jp.nicovideo.hiroba.events{ //■class(instance)_index:101 public class HirobaEventReferer extends Object { //static constructor public static function HirobaEventReferer$cinit() { //MethodID:1383, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 39 NICO_PLAYER = "nicoPlayer"; HIROBA_AGENT = "hirobaAgent"; LOCAL_CONNECTION = "localConnection"; MESSAGE_SERVER = "messageServer"; } //static variables/etc. public static const NICO_PLAYER:String = "nicoPlayer"; //slotID:1 public static const HIROBA_AGENT:String = "hirobaAgent"; //slotID:2 public static const LOCAL_CONNECTION:String = "localConnection";//slotID:3 public static const MESSAGE_SERVER:String = "messageServer"; //slotID:4 //constructor public function HirobaEventReferer() { //MethodID:1384, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script087■ package jp.nicovideo.nicoplayer.hiroba{ import flash.display.Sprite import jp.nicovideo.nicoplayer.models.comment.IComment import jp.nicovideo.util.Functions //■class(instance)_index:102 public interface IHirobaPlayer { //static constructor public static function IHirobaPlayer$cinit() { //MethodID:1386, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get onClickedLink():Functions; //MethodID:1387, dispID:0 function inializeView(hug1:Sprite):void; //MethodID:1388, dispID:0 function get visible():Boolean; //MethodID:1389, dispID:0 function post(hug1:IComment):void; //MethodID:1390, dispID:0 function postSystemMessage(hug1:IComment):void; //MethodID:1391, dispID:0 function updateVisible(hug1:Boolean):void; //MethodID:1392, dispID:0 function get optionalCommentVisible():Boolean; //MethodID:1393, dispID:0 function set optionalCommentVisible(hug1:Boolean):void; //MethodID:1394, dispID:0 //constructor public function IHirobaPlayer(); //MethodID:1395, dispID:0 } } //■script088■ package jp.nicovideo.nicoplayer.hiroba{ import flash.display.Sprite import flash.errors.IllegalOperationError import jp.nicovideo.hiroba.IHirobaConnector import jp.nicovideo.hiroba.events.HirobaErrorEvent import jp.nicovideo.hiroba.events.HirobaEvent import jp.nicovideo.hiroba.models.IHirobaComment import jp.nicovideo.marquee.models.info.IMarqueeInfo import jp.nicovideo.nicoplayer.hiroba.models.HirobaComment import jp.nicovideo.nicoplayer.hiroba.view.HirobaCommentListName import jp.nicovideo.nicoplayer.hiroba.view.HirobaCommentPlayer import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.SystemMessage import jp.nicovideo.nicoplayer.models.comment.Command import jp.nicovideo.nicoplayer.models.comment.CommentBuilder import jp.nicovideo.nicoplayer.models.comment.IComment import jp.nicovideo.util.Assert import jp.nicovideo.util.CrossSharedObject import jp.nicovideo.util.Functions import jp.nicovideo.util.TimeUtils import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.events.event_receiver import jp.nicovideo.util.events.event_sender import jp.nicovideo.util.loka.__MSG__ import jp.nicovideo.util.storage.LocalStorage use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:103 public class HirobaPlayer extends Object implements EventSender, IHirobaPlayer { //static constructor public static function HirobaPlayer$cinit() { //MethodID:1397, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function HirobaPlayer(hug1:IPlayerConfig, hug2:Boolean) { //MethodID:1398, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 111 this.onHirobaPlayerInitialized = new Functions(); this.onHirobaPlayerVisibleUpdated = new Functions(); this.onHirobaPlayerOptionalCommentVisibleUpdated = new Functions(); this.onHirobaPlayerError = new Functions(); this._onClickedLink = new Functions(); this._so = CrossSharedObject.getStorage("jp.nicovideo.nicoplayer.hiroba.HirobaPlayer"); super(); this._playerConfig = hug1; this._isPremium = hug2; if(this._so.data.optionalCommentVisible == undefined){ this._so.data.optionalCommentVisible = true; this._so.flush(); } } //variables/etc. (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onHirobaPlayerInitialized:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onHirobaPlayerVisibleUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onHirobaPlayerOptionalCommentVisibleUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onHirobaPlayerError:Functions;//slotID:0 private const _onClickedLink:Functions; //slotID:0 private var _so:LocalStorage; //slotID:0 private var _playerConfig:IPlayerConfig; //slotID:0 private var _activeNicowari:IMarqueeInfo; //slotID:0 private var _isInitialized:Boolean = false; //slotID:0 private var _visible:Boolean = false; //slotID:0 private var _isPremium:Boolean = false; //slotID:0 private var _isNicowariFull:Boolean = false; //slotID:0 private var _isVisibleByNicowari:Boolean = false; //slotID:0 private var _connector:IHirobaConnector; //slotID:0 private var _commentPlayer:HirobaCommentPlayer; //slotID:0 private function getListName(hug1:IComment):String { //MethodID:1399, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 9 return HirobaCommentListName.HIROBA; } public function inializeView(hug1:Sprite):void { //MethodID:1400, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 51 this._commentPlayer = new HirobaCommentPlayer(hug1, this._playerConfig, this._isPremium); this._commentPlayer.commentLayer.onPlayerConfigOptionalCommentVisibleUpdated(this.optionalCommentVisible); } public function post(hug1:IComment):void { //MethodID:1402, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 67 internal var comment:IComment; //slotID:1 comment = hug1; if(!this._isInitialized) throw new IllegalOperationError("HirobaPlayer.post: HirobaPlayer is not initialized."); Assert.assert(this._connector, "HirobaPlayer.post: hirobaAgent has been set yet."); this._connector.post(function(hug1:Boolean):void{ //MethodID:1401, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 45 var hug2:String = (hug1 ? __MSG__("広場へのコメントに成功") : __MSG__("広場へのコメントに失敗")); SystemMessage.instance.informln(hug2); }, new HirobaComment(comment)); } public function postSystemMessage(hug1:IComment):void { //MethodID:1404, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 67 internal var comment:IComment; //slotID:1 comment = hug1; if(!this._isInitialized) throw new IllegalOperationError("HirobaPlayer.postSystemMessage: HirobaPlayer is not initialized."); Assert.assert(this._connector, "HirobaPlayer.post: hirobaAgent has been set yet."); this._connector.post(function(hug1:Boolean):void{ //MethodID:1403, LocalCount= 2 , MaxScope= 0, MaxStack= 0, CodeLength= 1 }, new HirobaComment(comment)); } public function updateVisible(hug1:Boolean):void { //MethodID:1405, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 107 if(!this._isInitialized) throw new IllegalOperationError("HirobaPlayer.updateVisible: HirobaPlayer is not initialized."); if(this._visible == hug1) return; this._visible = hug1; this.updateVolume(); this._commentPlayer.commentLayer.visibleEnabled = hug1; onHirobaPlayerVisibleUpdated.apply(hug1); this._commentPlayer.commentLayer.onPlayerConfigCommentVisibleUpdated(this._playerConfig.commentVisible); } private function updateVolume(hug1:Number=-1.0):void { //MethodID:1406, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 75 if(!this._isInitialized) return; if(!this._visible || this._isNicowariFull){ hug1 = 0; }else if(hug1 < 0){ hug1 = (this._playerConfig.isMute ? 0 : this._playerConfig.volume); } } public function get eventNames():Array { //MethodID:1407, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 21 var hug1:Array = ["onHirobaPlayerInitialized", "onHirobaPlayerVisibleUpdated", "onHirobaPlayerOptionalCommentVisibleUpdated", "onHirobaPlayerError"]; return hug1; } public function get visible():Boolean { //MethodID:1408, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._visible; } public function get optionalCommentVisible():Boolean { //MethodID:1409, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this._so.data.optinalCommentVisible; } public function set optionalCommentVisible(hug1:Boolean):void { //MethodID:1410, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 47 this._so.data.optinalCommentVisible = hug1; this._so.flush(); this._commentPlayer.commentLayer.onPlayerConfigOptionalCommentVisibleUpdated(hug1); } public function get onClickedLink():Functions { //MethodID:1411, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onClickedLink; } public function set connector(hug1:IHirobaConnector):void { //MethodID:1415, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 146 internal var connector:IHirobaConnector; //slotID:1 internal var onErrorOccurred:Function; //slotID:2 onErrorOccurred = null; connector = hug1; onErrorOccurred = function():void{ //MethodID:1412, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 38 if(_visible) updateVisible(false); onHirobaPlayerError.apply(); }; this._connector = connector; this._connector.addEventListener(HirobaEvent.RECEIVED_COMMENT, function(hug1:HirobaEvent):void{ //MethodID:1413, LocalCount= 8 , MaxScope= 0, MaxStack= 4, CodeLength= 243 var hug7:String = null; if(!hug1.comment) return; var hug2:IHirobaComment = hug1.comment; var hug3:CommentBuilder = new CommentBuilder(); hug3.message = hug2.message; hug3.command = new Command(hug2.mail, hug2.isPremium); hug3.isPremium = hug2.isPremium; hug3.date = hug2.date; hug3.justPosted = hug2.yourpost; var hug4:IComment = hug3.make(); hug3 = new CommentBuilder(hug4); hug3.vpos = TimeUtils.now().time; var hug5:IComment = hug3.make(); var hug6:String = getListName(hug5); if(_commentPlayer && _visible) _commentPlayer.addComment(hug5, hug6); if(!_visible && _playerConfig.clockMessageVisible && (hug6 == HirobaCommentListName.HIROBA)){ hug7 = hug4.message.substr(0, 10); if(hug4.message.length > 10) hug7 += "..."; } }); this._connector.addEventListener(HirobaEvent.RECEIVED_DATA, function(hug1:HirobaEvent):void{ //MethodID:1414, LocalCount= 3 , MaxScope= 0, MaxStack= 1, CodeLength= 8 var hug2:Object = hug1.data; }); this._connector.addEventListener(HirobaErrorEvent.CONNECTION_FAIL, onErrorOccurred); this._connector.addEventListener(HirobaErrorEvent.DISCONNECTED, onErrorOccurred); this._isInitialized = true; if(this._activeNicowari != null) onMarqueeClientNicowariStarted(this._activeNicowari); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsMuteUpdated(hug1:Boolean):EventResult { //MethodID:1416, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 33 this.updateVolume(hug1 ? 0 : this._playerConfig.volume); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigVolumeUpdated(hug1:Number):EventResult { //MethodID:1417, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 33 this.updateVolume(this._playerConfig.isMute ? 0 : hug1); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigCommentVisibleUpdated(hug1:Boolean):EventResult { //MethodID:1418, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 27 return this._commentPlayer.commentLayer.onPlayerConfigCommentVisibleUpdated(hug1); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onMarqueeClientNicowariStarted(hug1:IMarqueeInfo):EventResult { //MethodID:1419, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 78 this._activeNicowari = hug1; if(this._isInitialized){ if(hug1.jumpToHirobaEnabled){ if(!this._visible) this.updateVisible(true); this._isNicowariFull = true; this.updateVolume(0); }else if(this._visible){ this._isVisibleByNicowari = true; this.updateVisible(false); } } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onMarqueeClientNicowariEnded(hug1:IMarqueeInfo):EventResult { //MethodID:1420, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 65 this._activeNicowari = null; if(this._isInitialized){ if(hug1.jumpToHirobaEnabled && this._visible){ this.updateVisible(false); }else if(this._isVisibleByNicowari){ this.updateVisible(true); } } return EventResult.THROUGH; } } } //■script089■ package jp.nicovideo.nicoplayer.models{ //■class(instance)_index:104 public interface IVideoTag { //static constructor public static function IVideoTag$cinit() { //MethodID:1422, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get tag():String; //MethodID:1423, dispID:0 function get hasLocked():Boolean; //MethodID:1424, dispID:0 function get isCategory():Boolean; //MethodID:1425, dispID:0 //constructor public function IVideoTag(); //MethodID:1426, dispID:0 } } //■script090■ package jp.nicovideo.nicoplayer.models{ //■class(instance)_index:105 public interface IVideoDetail { //static constructor public static function IVideoDetail$cinit() { //MethodID:1428, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get title():String; //MethodID:1429, dispID:0 function get description():String; //MethodID:1430, dispID:0 function get postedAt():Date; //MethodID:1431, dispID:0 function get tags():Array; //MethodID:1432, dispID:0 function get viewCount():Number; //MethodID:1433, dispID:0 //constructor public function IVideoDetail(); //MethodID:1434, dispID:0 } } //■script091■ package jp.nicovideo.nicoplayer.models{ import jp.nicovideo.util.external.JSConnector //■class(instance)_index:106 public class VideoDetail extends Object implements IVideoDetail { //static constructor public static function VideoDetail$cinit() { //MethodID:1436, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 EXTERNAL_VIDEO_NAME = "Video"; } //static variables/etc. public static const EXTERNAL_VIDEO_NAME:String = "Video"; //slotID:1 //constructor public function VideoDetail(hug1:String=null, hug2:Object=null) { //MethodID:1437, LocalCount= 10 , MaxScope= 1, MaxStack= 10, CodeLength= 308 var hug3:* = undefined; var hug6:String = null; var hug7:Array = null; this._tags = []; super(); if(hug2){ hug3 = hug2; }else{ hug3 = JSConnector.call("function() {return " + EXTERNAL_VIDEO_NAME + ";}"); } if(hug3 == null) return; this._title = hug3.title; this._description = hug3.description; this._viewCount = parseInt(hug3.viewCount); var hug4:Array = hug3.tags; var hug5:Array = hug3.lockedTags; for each(hug6 in hug4){ this._tags.push(new _VideoTag(hug6, (hug5.indexOf(hug6) >= 0), (hug1 == hug6))); } hug7 = new RegExp("^(\d{4})\/(\d{2})\/(\d{2})\s(\d{2}):(\d{2}):(\d{2})$").exec(hug3.postedAt); if(hug7 && (hug7.length >= 7)) this._postedAt = new Date(parseInt(hug7[1]), (parseInt(hug7[2]) - 1), parseInt(hug7[3]), parseInt(hug7[4]), parseInt(hug7[5]), parseInt(hug7[6])); } //variables/etc. private var _title:String; //slotID:0 private var _description:String; //slotID:0 private var _postedAt:Date; //slotID:0 private var _tags:Array; //slotID:0 private var _viewCount:Number; //slotID:0 public function get title():String { //MethodID:1438, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._title; } public function get description():String { //MethodID:1439, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._description; } public function get postedAt():Date { //MethodID:1440, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._postedAt; } public function get tags():Array { //MethodID:1441, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._tags; } public function get viewCount():Number { //MethodID:1442, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._viewCount; } } } //■class(instance)_index:107 //private class _VideoTag extends Object implements IVideoTag { //static constructor public static function _VideoTag$cinit() { //MethodID:1443, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _VideoTag(hug1:String, hug2:Boolean=false, hug3:Boolean=false) { //MethodID:1444, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 21 super(); this._tag = hug1; this._hasLocked = hug2; this._isCategory = hug3; } //variables/etc. private var _tag:String; //slotID:0 private var _hasLocked:Boolean; //slotID:0 private var _isCategory:Boolean; //slotID:0 public function get tag():String { //MethodID:1445, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._tag; } public function get hasLocked():Boolean { //MethodID:1446, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hasLocked; } public function get isCategory():Boolean { //MethodID:1447, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isCategory; } } //■script092■ package jp.nicovideo.nicoscript{ import flash.display.DisplayObjectContainer import flash.display.Sprite import jp.nicovideo.nicoplayer.models.comment.ICommand import jp.nicovideo.nicoplayer.models.video.IChildVideo import jp.nicovideo.nicoplayer.views.comment.ICommentLayerView //■class(instance)_index:108 public interface INicoSClient { //static constructor public static function INicoSClient$cinit() { //MethodID:1449, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get graphicsLayer():DisplayObjectContainer; //MethodID:1450, dispID:0 function get graphicsMaskLayer():DisplayObjectContainer; //MethodID:1451, dispID:0 function get commentLayer():DisplayObjectContainer; //MethodID:1452, dispID:0 function get ownerCommentLayer():DisplayObjectContainer; //MethodID:1453, dispID:0 function get BGMLayer():DisplayObjectContainer; //MethodID:1454, dispID:0 function get postDisabled():Boolean; //MethodID:1455, dispID:0 function set postDisabled(hug1:Boolean):void; //MethodID:1456, dispID:0 function get seekDisabled():Boolean; //MethodID:1457, dispID:0 function set seekDisabled(hug1:Boolean):void; //MethodID:1458, dispID:0 function get commentLayerView():ICommentLayerView; //MethodID:1459, dispID:0 function seek(hug1:int, hug2:Function=null):void; //MethodID:1460, dispID:0 function createEmptySprite():Sprite; //MethodID:1461, dispID:0 function showJumpMessage(hug1:Function, hug2:String, hug3:Boolean=false):void;//MethodID:1462, dispID:0 function jumpVideo(hug1:String, hug2:String, hug3:String, hug4:int, hug5:int, hug6:String, hug7:Boolean, hug8:Object):void;//MethodID:1463, dispID:0 function pause(hug1:Function, hug2:Function, hug3:int):void; //MethodID:1464, dispID:0 function showButtons(hug1:Array):void; //MethodID:1465, dispID:0 function getBGMVideo(hug1:String):IChildVideo; //MethodID:1466, dispID:0 function setCommentReverseEnabled(hug1:String, hug2:Boolean):void; //MethodID:1467, dispID:0 function parseCommand(hug1:String):ICommand; //MethodID:1468, dispID:0 function postButtonComment(hug1:String, hug2:String, hug3:Boolean):void; //MethodID:1469, dispID:0 function playCM(hug1:String, hug2:String, hug3:Boolean, hug4:Number):void; //MethodID:1470, dispID:0 function updateWideNicoSLayer(hug1:Boolean=false):void; //MethodID:1471, dispID:0 function updateVideoMask(hug1:Boolean=false):void; //MethodID:1472, dispID:0 //constructor public function INicoSClient(); //MethodID:1473, dispID:0 } } //■script093■ package jp.nicovideo.nicoscript{ import flash.display.DisplayObjectContainer import flash.display.MovieClip import flash.display.Sprite import flash.events.MouseEvent import flash.events.TimerEvent import flash.utils.Timer import flash.utils.clearTimeout import flash.utils.setTimeout import jp.nicovideo.marquee.INicoMarqueePlayer import jp.nicovideo.marquee.MarqueeInterruptType import jp.nicovideo.marquee.models.MarqueePriorityConstants import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.ScreenAspectRatio import jp.nicovideo.nicoplayer.models.SystemMessage import jp.nicovideo.nicoplayer.models.api.IJumper import jp.nicovideo.nicoplayer.models.comment.Command import jp.nicovideo.nicoplayer.models.comment.CommentBuilder import jp.nicovideo.nicoplayer.models.comment.ICommand import jp.nicovideo.nicoplayer.models.comment.ICommentList import jp.nicovideo.nicoplayer.models.comment.ICommentRouter import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars import jp.nicovideo.nicoplayer.models.video.IChildVideo import jp.nicovideo.nicoplayer.models.video.IVideoController import jp.nicovideo.nicoplayer.tpls.shutter.AudioShutterConstants import jp.nicovideo.nicoplayer.tpls.shutter.CommentShutterConstants import jp.nicovideo.nicoplayer.tpls.shutter.IControllerShutter import jp.nicovideo.nicoplayer.views.VideoLayerManager import jp.nicovideo.nicoplayer.views.comment.CommentLayer import jp.nicovideo.nicoplayer.views.comment.CommentLayerID import jp.nicovideo.nicoplayer.views.comment.CommentLayerView import jp.nicovideo.nicoplayer.views.comment.ICommentLayerView import jp.nicovideo.util.ObjectUtils import jp.nicovideo.util.TimeUtils import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.loka.__MSG__ use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:109 public class NicoSClient extends Object implements INicoSClient { //static constructor public static function NicoSClient$cinit() { //MethodID:1475, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 27 _PLAY_FROM_DELAY_FOR_IGNORING_NICOS_JUMP = (5 * 1000); _USER_NICOWARI_PRIORITY = MarqueePriorityConstants.USER_NICOWARI; } //static variables/etc. private static const _PLAY_FROM_DELAY_FOR_IGNORING_NICOS_JUMP:Number = 5000.0;//slotID:1 private static const _USER_NICOWARI_PRIORITY:Number = 3.0; //slotID:2 //constructor public function NicoSClient(hug1:INicoSPlayer, hug2:IVideoController, hug3:VideoLayerManager, hug4:IJumper, hug5:NicoFlashVars, hug6:IControllerShutter, hug7:CommentLayerView, hug8:ICommentList, hug9:IPlayerConfig, hug10:Boolean) { //MethodID:1476, LocalCount= 12 , MaxScope= 1, MaxStack= 3, CodeLength= 179 this._bgmVideos = {}; this._cmVideos = {}; this._jumpHistory = {}; this._timer = new Timer(40); this._delayedActionsToVideo = {}; super(); this._scriptPlayer = hug1; this._videoController = hug2; this._layerMgr = hug3; this._jumper = hug4; this._flashvars = hug5; this._commentShutter = hug6; this._clv = hug7; this._nicosCommentList = hug8; this._playerConfig = hug9; this._isPlaylist = hug10; var hug11:Object = (this._jumper.tossedObject as Object); if(hug11 && hug11.jumpHistory) this._jumpHistory = hug11.jumpHistory; this._timer.addEventListener(TimerEvent.TIMER, this._nicosPlayerSeekHandler); this._layerMgr.nicosLayer.parent.addEventListener(MouseEvent.CLICK, this._nicosLayerClickHandler); } //variables/etc. private var _scriptPlayer:INicoSPlayer; //slotID:0 private var _bgmVideos:Object; //slotID:0 private var _cmVideos:Object; //slotID:0 private var _layerMgr:VideoLayerManager; //slotID:0 private var _jumper:IJumper; //slotID:0 private var _jumpHistory:Object; //slotID:0 private var _commentShutter:IControllerShutter; //slotID:0 private var _audioShutter:IControllerShutter; //slotID:0 private var _flashvars:NicoFlashVars; //slotID:0 private var _clv:CommentLayerView; //slotID:0 private var _commentLayer:CommentLayer; //slotID:0 private var _timer:Timer; //slotID:0 private var _delayedActionsToVideo:Object; //slotID:0 private var _nicosCommentList:ICommentList; //slotID:0 private var _commentRouter:ICommentRouter; //slotID:0 private var _marqueePlayer:INicoMarqueePlayer; //slotID:0 private var _videoController:IVideoController; //slotID:0 private var _playerConfig:IPlayerConfig; //slotID:0 private var _isPlaylist:Boolean = false; //slotID:0 private function _nicosPlayerSeekHandler(hug1:TimerEvent):void { //MethodID:1477, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this._seekNicoSPlayer(this._currentVpos); } private function _nicosLayerClickHandler(hug1:MouseEvent):void { //MethodID:1478, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 16 this._callDelayedAction(null, "@ポーズ", this._delayedActionsToVideo); } public function setup():void { //MethodID:1479, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 45 this._scriptPlayer.setup(this); this._scriptPlayer.volume = (this._playerConfig.isMute ? 0 : this._playerConfig.volume); } public function clear():void { //MethodID:1480, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 151 this._bgmVideos = null; this._cmVideos = null; this._commentShutter.open(CommentShutterConstants.SHUTTER_NICOS_ATPAUSE); this._commentShutter.open(CommentShutterConstants.SHUTTER_NICOS_COMMENT_DISABLED); this._audioShutter.open(AudioShutterConstants.SHUTTER_SEEK); if(this._timer.hasEventListener(TimerEvent.TIMER)){ this._timer.stop(); this._timer.reset(); this._timer.removeEventListener(TimerEvent.TIMER, this._nicosPlayerSeekHandler); } if(this._layerMgr.nicosLayer.parent.hasEventListener(MouseEvent.CLICK)) this._layerMgr.nicosLayer.parent.removeEventListener(MouseEvent.CLICK, this._nicosLayerClickHandler); } public function setBGMVideos(hug1:Object, hug2:Object):void { //MethodID:1481, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this._bgmVideos = hug1; this._cmVideos = hug2; } public function seek(hug1:int, hug2:Function=null):void { //MethodID:1482, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 20 if(!this._isPlaylist) this._videoController.seek(hug1); } public function createEmptySprite():Sprite { //MethodID:1483, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8 return new Sprite(); } public function showJumpMessage(hug1:Function, hug2:String, hug3:Boolean=false):void { //MethodID:1485, LocalCount= 5 , MaxScope= 2, MaxStack= 3, CodeLength= 84 internal var f:Function; //slotID:1 internal var msg:String; //slotID:2 internal var play:Boolean = false; //slotID:3 internal var isStopped:Boolean; //slotID:4 internal var func:Function; //slotID:5 isStopped = false; f = hug1; msg = hug2; play = hug3; isStopped = false; if(this._videoController.isPlaying){ isStopped = true; this._videoController.stop(); } func = function():void{ //MethodID:1484, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 34 f(); if(isStopped && play) _videoController.play(); }; SystemMessage.instance.informJumpMessage(func, msg); } public function jumpVideo(hug1:String, hug2:String, hug3:String, hug4:int, hug5:int, hug6:String, hug7:Boolean, hug8:Object):void { //MethodID:1487, LocalCount= 10 , MaxScope= 2, MaxStack= 3, CodeLength= 225 internal var msg:String; //slotID:1 internal var jumpHash:String; //slotID:2 internal var videoID:String; //slotID:3 internal var from:int; //slotID:4 internal var length:int; //slotID:5 internal var returnMsg:String; //slotID:6 internal var newWindow:Boolean; //slotID:7 internal var obj:Object; //slotID:8 internal var do_jump:Function; //slotID:9 do_jump = null; msg = hug1; jumpHash = hug2; videoID = hug3; from = hug4; length = hug5; returnMsg = hug6; newWindow = hug7; obj = hug8; do_jump = function():void{ //MethodID:1486, LocalCount= 2 , MaxScope= 0, MaxStack= 12, CodeLength= 140 var hug1:Object = {}; if(from > 0) hug1.from = from; if(length > 0){ hug1.returnid = _flashvars.watchID; hug1.length = length; hug1.returnto = (_currentVpos / 1000); if(returnMsg != "") hug1.returnmsg = returnMsg; _jumpHistory[videoID] = true; }else{ _jumpHistory = {}; } _jumper.jump(videoID, hug1, newWindow, {jumpObj:obj, jumpFrom:_flashvars.watchID, jumpHistory:_jumpHistory, jumpHash:jumpHash}); }; if(this._flashvars.thumbFlashVars || this._isPlaylist || (videoID == this._flashvars.watchID) || this._jumpHistory.hasOwnProperty(videoID)) return; if(this._flashvars.watchFlashVars && this._flashvars.watchFlashVars.isOwnerThreadEditMode){ SystemMessage.instance.alert(videoID + " へのジャンプが発生しました。"); return; } this._videoController.stop(); if(msg != ""){ this.showJumpMessage(do_jump, msg); }else{ do_jump(); } } public function pause(hug1:Function, hug2:Function, hug3:int):void { //MethodID:1490, LocalCount= 5 , MaxScope= 2, MaxStack= 4, CodeLength= 193 internal var startHandler:Function; //slotID:1 internal var finishHandler:Function; //slotID:2 internal var wait:int; //slotID:3 internal var timerID:uint; //slotID:4 timerID = 0; startHandler = hug1; finishHandler = hug2; wait = hug3; if(this._isPlaylist) return; startHandler(); this._videoController.stop(); this._commentShutter.close(CommentShutterConstants.SHUTTER_NICOS_ATPAUSE, __MSG__("投稿者にポーズされたため、コメントできません")); if(this._commentLayer.getLayer(CommentLayerID.MAIN)) this._commentLayer.getLayer(CommentLayerID.MAIN).visible = false; if(this._commentLayer.getLayer(CommentLayerID.OPTION)) this._commentLayer.getLayer(CommentLayerID.OPTION).visible = false; this._delayedActionsToVideo["@ポーズ"] = function(hug1:*):Boolean{ //MethodID:1488, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 123 if(hug1 == "stop") return false; clearTimeout(timerID); if(!hug1) _videoController.play(); _commentShutter.open(CommentShutterConstants.SHUTTER_NICOS_ATPAUSE); if(_commentLayer.getLayer(CommentLayerID.MAIN)) _commentLayer.getLayer(CommentLayerID.MAIN).visible = true; if(_commentLayer.getLayer(CommentLayerID.OPTION)) _commentLayer.getLayer(CommentLayerID.OPTION).visible = true; finishHandler(); return true; }; if(wait > 0){ timerID = setTimeout(function():void{ //MethodID:1489, LocalCount= 1 , MaxScope= 0, MaxStack= 4, CodeLength= 15 _callDelayedAction(null, "@ポーズ", _delayedActionsToVideo); }, wait); } } public function showButtons(hug1:Array):void { //MethodID:1491, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function getBGMVideo(hug1:String):IChildVideo { //MethodID:1492, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 return (this._bgmVideos[hug1] || null); } public function getCMVideo(hug1:String):MovieClip { //MethodID:1493, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 return (this._cmVideos[hug1] || null); } public function setCommentReverseEnabled(hug1:String, hug2:Boolean):void { //MethodID:1494, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 13 this._clv.setReverseMode(hug1, hug2); } public function parseCommand(hug1:String):ICommand { //MethodID:1495, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 return new Command(hug1); } public function postButtonComment(hug1:String, hug2:String, hug3:Boolean):void { //MethodID:1496, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 89 var hug4:CommentBuilder = new CommentBuilder(); hug4.message = hug1; hug4.command = new Command("from_button " + hug2 + (hug3 ? "" : " invisible")); hug4.vpos = this._currentVpos; hug4.date = TimeUtils.now(); this._commentRouter.post(hug4.make()); } public function playCM(hug1:String, hug2:String, hug3:Boolean, hug4:Number):void { //MethodID:1500, LocalCount= 6 , MaxScope= 2, MaxStack= 7, CodeLength= 302 internal var videoID:String; //slotID:1 internal var link:String; //slotID:2 internal var pause:Boolean; //slotID:3 internal var volume:Number; //slotID:4 internal var cm:MovieClip; //slotID:5 internal var clickHandler:Function; //slotID:6 internal var finishHandler:Function; //slotID:7 clickHandler = null; finishHandler = null; videoID = hug1; link = hug2; pause = hug3; volume = hug4; clickHandler = function():void{ //MethodID:1497, LocalCount= 1 , MaxScope= 0, MaxStack= 4, CodeLength= 31 if(link == "") return; _videoController.stop(); _jumper.jump(link, {}, true); }; finishHandler = function():void{ //MethodID:1498, LocalCount= 1 , MaxScope= 0, MaxStack= 4, CodeLength= 22 if(pause) _callDelayedAction(null, "@CM", _delayedActionsToVideo); }; if(this._flashvars.thumbFlashVars) return; if(this._flashvars.watchFlashVars && this._flashvars.watchFlashVars.isOwnerThreadEditMode){ SystemMessage.instance.alert("ユーザーニコ割 " + videoID + " の再生が発生しました。"); return; } cm = this.getCMVideo(videoID); if(!cm) return; if(!this._marqueePlayer){ SystemMessage.instance.informln(__MSG__("マーキーの準備が完了していません")); return; } if(this._playerConfig.aspectRatio == ScreenAspectRatio.NORMAL){ SystemMessage.instance.informClockMessage(__MSG__("ユーザーニコ割:[[videoID]]", videoID)); }else{ SystemMessage.instance.informClockMessage(videoID); } this._marqueePlayer.interruptContent(MarqueeInterruptType.CM, cm, (volume / 100), clickHandler, finishHandler, _USER_NICOWARI_PRIORITY); if(pause){ this._videoController.stop(); this._delayedActionsToVideo["@CM"] = function(hug1:*):Boolean{ //MethodID:1499, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 31 if(hug1 == "stop") return false; pause = false; if(!hug1) _videoController.play(); return true; }; } } public function updateWideNicoSLayer(hug1:Boolean=false):void { //MethodID:1501, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this._layerMgr.updateWideNicoSLayer(hug1); } public function updateVideoMask(hug1:Boolean=false):void { //MethodID:1502, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this._layerMgr.updateVideoMask(hug1); } private function _seekNicoSPlayer(hug1:Number):void { //MethodID:1503, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this._scriptPlayer.seek(hug1); } private function _clearDelayedActions(hug1:*, hug2:Object):void { //MethodID:1504, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 45 var hug3:String = null; for(hug3 in hug2){ this._callDelayedAction(hug1, hug3, hug2); } } private function _callDelayedAction(hug1:*, hug2:String, hug3:Object):void { //MethodID:1506, LocalCount= 5 , MaxScope= 2, MaxStack= 2, CodeLength= 33 internal var ctrl:*; //slotID:1 internal var id:String; //slotID:2 internal var delayedActions:Object; //slotID:3 ctrl = hug1; id = hug2; delayedActions = hug3; ObjectUtils.callLater(function():void{ //MethodID:1505, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 45 var hug1:Function = delayedActions[id]; if((hug1 is Function) && hug1(ctrl)) delete delayedActions[id]; }); } public function get player():INicoSPlayer { //MethodID:1507, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._scriptPlayer; } public function get jumper():IJumper { //MethodID:1508, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._jumper; } public function get commentLayer():DisplayObjectContainer { //MethodID:1509, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._layerMgr.commentLayer; } public function get ownerCommentLayer():DisplayObjectContainer { //MethodID:1510, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 return this._commentLayer.getLayer(CommentLayerID.OWNER); } public function get graphicsLayer():DisplayObjectContainer { //MethodID:1511, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._layerMgr.nicosLayer; } public function get graphicsMaskLayer():DisplayObjectContainer { //MethodID:1512, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._layerMgr.nicosMaskLayer; } public function get BGMLayer():DisplayObjectContainer { //MethodID:1513, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._layerMgr.nicosBGMLayer; } private function get _currentVpos():Number { //MethodID:1514, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 return this._videoController.videoWrapper.vpos; } public function get commentLayerView():ICommentLayerView { //MethodID:1515, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._clv; } public function set commentLayerView_(hug1:CommentLayerView):void { //MethodID:1516, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._clv = hug1; } public function get postDisabled():Boolean { //MethodID:1517, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 return this._commentShutter.isClosing(CommentShutterConstants.SHUTTER_NICOS_COMMENT_DISABLED); } public function set postDisabled(hug1:Boolean):void { //MethodID:1518, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 74 if(hug1){ this._commentShutter.close(CommentShutterConstants.SHUTTER_NICOS_COMMENT_DISABLED, __MSG__("投稿者によってコメントが禁止されています。")); }else{ this._commentShutter.open(CommentShutterConstants.SHUTTER_NICOS_COMMENT_DISABLED); } this._commentLayer.visibleEnabled = (this._scriptPlayer.isCommentInvisible && !hug1); } public function get seekDisabled():Boolean { //MethodID:1519, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 return this._audioShutter.isClosing(AudioShutterConstants.SHUTTER_SEEK); } public function set seekDisabled(hug1:Boolean):void { //MethodID:1520, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 50 if(hug1){ this._audioShutter.close(AudioShutterConstants.SHUTTER_SEEK, __MSG__("投稿者によってシークが禁止されています。")); }else{ this._audioShutter.open(AudioShutterConstants.SHUTTER_SEEK); } } public function set commentShutter(hug1:IControllerShutter):void { //MethodID:1521, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._commentShutter = hug1; } public function set audioShutter(hug1:IControllerShutter):void { //MethodID:1522, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._audioShutter = hug1; } public function set commentLayer_(hug1:CommentLayer):void { //MethodID:1523, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._commentLayer = hug1; } public function set marqueePlayer(hug1:INicoMarqueePlayer):void { //MethodID:1524, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._marqueePlayer = hug1; } public function set commentRouter(hug1:ICommentRouter):void { //MethodID:1525, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._commentRouter = hug1; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoPlayed():EventResult { //MethodID:1526, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 36 this._clearDelayedActions("play", this._delayedActionsToVideo); this._timer.start(); this._scriptPlayer.play(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoStopped():EventResult { //MethodID:1527, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 36 this._clearDelayedActions("stop", this._delayedActionsToVideo); this._timer.stop(); this._scriptPlayer.pause(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoSeeked(hug1:Number):EventResult { //MethodID:1528, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 26 this._clearDelayedActions("seek", this._delayedActionsToVideo); this._seekNicoSPlayer(hug1); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoEnded(hug1:Boolean):EventResult { //MethodID:1529, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 60 this._clearDelayedActions("seek", this._delayedActionsToVideo); this._seekNicoSPlayer(0x7FFFFFFF); if(!hug1){ this._clearDelayedActions("end", this._delayedActionsToVideo); this._timer.stop(); this._scriptPlayer.pause(); } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsMuteUpdated(hug1:Boolean):EventResult { //MethodID:1530, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 54 if(!this._scriptPlayer) return EventResult.THROUGH; if(hug1){ this._scriptPlayer.volume = 0; }else{ this._scriptPlayer.volume = this._playerConfig.volume; } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigVolumeUpdated(hug1:Number):EventResult { //MethodID:1531, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 30 if(!this._scriptPlayer) return EventResult.THROUGH; this._scriptPlayer.volume = hug1; return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdated(hug1:Array, hug2:Array, hug3:Boolean, hug4:String):EventResult { //MethodID:1532, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 101 var hug5:Array = this._scriptPlayer.commit(hug4, hug1, hug2, hug3); if(this._videoController.videoWrapper.isInitialized && this._flashvars.watchFlashVars && this._flashvars.watchFlashVars.isOwnerThreadEditMode) this._scriptPlayer.seek(this._videoController.videoWrapper.vpos); return EventResult.replace([hug1, hug2, hug5, hug3, hug4]); } } } //■script094■ package jp.nicovideo.nicoplayer.models.api{ import jp.nicovideo.util.Functions //■class(instance)_index:110 public interface IVideoContainer { //static constructor public static function IVideoContainer$cinit() { //MethodID:1534, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get vpos():Number; //MethodID:1535, dispID:0 function get currentChildVideoName():String; //MethodID:1536, dispID:0 function childVideoNameOf(hug1:Number):String; //MethodID:1537, dispID:0 function get onChildVideoChanged():Functions; //MethodID:1538, dispID:0 //constructor public function IVideoContainer(); //MethodID:1539, dispID:0 } } //■script095■ package jp.nicovideo.nicoplayer.models.api{ //■class(instance)_index:111 public interface ICapturableVideoContainer implements IVideoContainer { //static constructor public static function ICapturableVideoContainer$cinit() { //MethodID:1541, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function getCapture(hug1:Function, hug2:Number=Number.NaN):void; //MethodID:1542, dispID:0 function get mainVideoLength():Number; //MethodID:1543, dispID:0 //constructor public function ICapturableVideoContainer(); //MethodID:1544, dispID:0 } } //■script096■ package jp.nicovideo.nicoplayer.models.video{ import flash.display.BitmapData import flash.display.DisplayObject import flash.display.Sprite import flash.events.Event import flash.geom.Matrix import flash.utils.setTimeout import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.nicoplayer.models.api.IGetFLV import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars import jp.nicovideo.util.Functions import jp.nicovideo.util.ObjectUtils import jp.nicovideo.util.test import jp.nicovideo.util.events.EventBarrier import jp.nicovideo.util.events.event_sender use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:114 public class VideoWrapper extends Object implements IVideo, IVideoContainer, ICapturableVideoContainer, EventSender { //static constructor public static function VideoWrapper$cinit() { //MethodID:1556, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 _GET_CAPTURE_DELAY_FRAMES = 10; } //static variables/etc. private static const _GET_CAPTURE_DELAY_FRAMES:int = 10; //slotID:1 //constructor public function VideoWrapper(hug1:Sprite, hug2:IGetFLV, hug3:NicoConfig, hug4:NicoFlashVars, hug5:Number=0.0, hug6:Number=0.0) { //MethodID:1557, LocalCount= 7 , MaxScope= 1, MaxStack= 10, CodeLength= 429 this.onChangedVideoStatus = new Functions(); this._onVideoLoadError = new Functions(); this._onChildVideoChanged = new Functions(); this.onVideoStarted = new Functions(); this.onVideoPlayed = new Functions(); this.onVideoStopped = new Functions(); this.onVideoEnded = new Functions(); this.onVideoSeeked = new Functions(); this.onVideoSeeking = new Functions(); this.onVideoLengthFixed = new Functions(); this.onVideoError = new Functions(); this.onInitMetaInfo = new Functions(); this.__CHILDREN_ORDER = [ChildVideoName.MAIN_VIDEO, ChildVideoName.USER_SPONSOR]; this._childVideos = []; super(); this._getFLV = hug2; this._videoURL = hug2.videoURL; this._isDeleted = ((hug2.deleted != 8) && (hug2.deleted != 0)); this._flashVars = hug4; if(hug4.watchFlashVars && hug4.watchFlashVars.isNoMovie){ this._mainVideo = new DummyVideo(hug2.videoLength); }else if((hug4.videoType == VideoType.SWF) && !this._isDeleted){ if(hug4.waitsSWFVideoInit){ this._mainVideo = new SWFVideo(hug2.videoURL, hug1, hug2.videoLength, true, hug4.videoTitle, hug3, hug4.originalVideoID, hug2.isAS3); }else{ this._mainVideo = new SWFVideo(hug2.videoURL, hug1, hug2.videoLength, false, "", null, "", hug2.isAS3); } }else{ this._mainVideo = new FLVVideo(hug2.videoURL, hug1, hug2.videoLength, hug5, hug6, hug2.videoProtocol, hug2.videoFileName, hug2.fmsToken); } this._mainVideo.layer.visible = false; this._initializeVideoEventHandler(this._mainVideo); this._childVideos.push(new _ChildVideoContainer(ChildVideoName.MAIN_VIDEO, this._mainVideo)); this._seekLocker = new _SeekLocker(this.seek); } //variables/etc. public const onChangedVideoStatus:Functions; //slotID:0 private const _onVideoLoadError:Functions; //slotID:0 private const _onChildVideoChanged:Functions; //slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoStarted:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoPlayed:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoStopped:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoEnded:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoSeeked:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoSeeking:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoLengthFixed:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoError:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onInitMetaInfo:Functions;//slotID:0 private const __CHILDREN_ORDER:Array; //slotID:0 private var _childVideos:Array; //slotID:0 private var _currentChildIndex:uint = 0; //slotID:0 private var _currentVolume:Number = 0.0; //slotID:0 private var _videoURL:String = ""; //slotID:0 private var _mainVideo:IChildVideo; //slotID:0 private var _errorVideo:IChildVideo; //slotID:0 private var _getFLV:IGetFLV; //slotID:0 private var _flashVars:NicoFlashVars; //slotID:0 private var _seekLocker:_SeekLocker; //slotID:0 private var _captureVPos:Number = Number.NaN; //slotID:0 private var _lastCapturedVPos:Number = Number.NaN; //slotID:0 private var _capturedBitmapData:BitmapData; //slotID:0 private var _hasPlayed:Boolean = false; //slotID:0 private var _isDeleted:Boolean = false; //slotID:0 private var _hasSponsorVideo:Boolean = false; //slotID:0 private var _isShowSponsorVideoOnLoop:Boolean = false; //slotID:0 private var _isLoop:Boolean = false; //slotID:0 private var _hasLoaded:Boolean = false; //slotID:0 private var _isLoadRetryable:Boolean = false; //slotID:0 private var _hasTimeOutError:Boolean = false; //slotID:0 private var _isNoSeekEvent:Boolean = false; //slotID:0 public function play():void { //MethodID:1558, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 57 if(!this._hasPlayed){ this._hasPlayed = true; onVideoStarted.apply(); } this.__currentChild.layer.visible = true; this.__currentChild.play(); } public function stop():void { //MethodID:1559, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 this.__currentChild.stop(); } public function close():void { //MethodID:1560, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 51 var hug1:_ChildVideoContainer = null; this.killEvents(); for each(hug1 in this._childVideos){ hug1.video.close(); } } public function seek(hug1:Number):void { //MethodID:1561, LocalCount= 7 , MaxScope= 1, MaxStack= 3, CodeLength= 168 var hug5:IChildVideo = null; var hug6:IChildVideo = null; if(this._seekLocker.isLock){ this._seekLocker.stockSeek(hug1); return; } var hug2:int = this._childVideoIndexOf(hug1); if(hug2 < 0) return; if(this._currentChildIndex != hug2){ hug5 = this._childVideos[this._currentChildIndex].video; this._setCurrentChildIndex(hug2); hug5.stop(); } var hug3:Number = 0; var hug4:uint = 0; while(hug4 < hug2){ hug6 = this._childVideos[hug4].video; hug3 += hug6.length; hug4++; } this.__currentChild.seek(hug1 - hug3); this._setEveryVideoSilent(); this.__currentChild.volume = this._currentVolume; } public function load(hug1:Function):void { //MethodID:1572, LocalCount= 5 , MaxScope= 2, MaxStack= 3, CodeLength= 204 internal var f:Function; //slotID:1 internal var wholeSucceeded:Boolean; //slotID:2 internal var barrier:EventBarrier; //slotID:3 internal var retryCounter:uint; //slotID:4 internal var container:_ChildVideoContainer; //slotID:5 internal var mainBarrier:Function; //slotID:6 internal var onMainVideoLoaded:Function; //slotID:7 internal var initializeSuplimentionVideo:Function; //slotID:8 wholeSucceeded = false; container = null; mainBarrier = null; onMainVideoLoaded = null; f = hug1; onMainVideoLoaded = function(hug1:Boolean):void{ //MethodID:1567, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 302 internal var succeeded:Boolean; //slotID:1 internal var dummyVideo:DummyVideo; //slotID:2 internal var mainIndex:int; //slotID:3 internal var dummyContainer:_ChildVideoContainer; //slotID:4 internal var flvVideo:FLVVideo; //slotID:5 flvVideo = null; succeeded = hug1; if(succeeded){ if(!_isDeleted){ mainBarrier.apply(null, null); return; } flvVideo = (_mainVideo as FLVVideo); if(flvVideo.hasLengthSet){ initializeSuplimentionVideo(flvVideo, mainBarrier); }else{ flvVideo.onVideoLengthFixed.add(function(hug1:Number):void{ //MethodID:1563, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 43 if((_getFLV.videoLength - hug1) > 1000){ initializeSuplimentionVideo(flvVideo, mainBarrier); }else{ mainBarrier.apply(null, null); } }); } return; } if(_isLoadRetryable && ((retryCounter++) < VideoConstants.RETRY_LOADING_COUNT)){ setTimeout(function():void{ //MethodID:1564, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 11 mainVideo.load(onMainVideoLoaded); }, VideoConstants.RETRY_LOADING_INTERVAL); return; } wholeSucceeded = false; dummyVideo = new DummyVideo(_getFLV.videoLength); mainIndex = -1; _childVideos.every(function(hug1:_ChildVideoContainer, hug2:int, hug3:Array):Boolean{ //MethodID:1565, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 25 if(hug1.name == ChildVideoName.MAIN_VIDEO){ mainIndex = hug2; return false; } return true; }); if(mainIndex < 0) throw new Error("VideoWrapper.load:onMainVideoLoaded:"); dummyContainer = new _ChildVideoContainer(ChildVideoName.MAIN_VIDEO, dummyVideo); _childVideos.splice(mainIndex, 1, dummyContainer); _initializeVideoEventHandler(dummyVideo); _errorVideo = _mainVideo; _mainVideo = dummyVideo; _mainVideo.load(function(hug1:Boolean):void{ //MethodID:1566, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 10 mainBarrier.apply(null, null); }); }; initializeSuplimentionVideo = function(hug1:FLVVideo, hug2:Function):void{ //MethodID:1569, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 123 internal var mainVideo:FLVVideo; //slotID:1 internal var callback:Function; //slotID:2 internal var rest:Number; //slotID:3 internal var supplemention:DummyVideo; //slotID:4 internal var container:_ChildVideoContainer; //slotID:5 mainVideo = hug1; callback = hug2; rest = (_getFLV.videoLength - length); if(rest <= 0){ callback.apply(null, null); return; } supplemention = new DummyVideo(rest); container = new _ChildVideoContainer(ChildVideoName.DELETED_SUPPLEMENTION, supplemention); _initializeVideoEventHandler(supplemention); _childVideos.push(container); supplemention.load(function(hug1:Boolean):void{ //MethodID:1568, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 10 callback.apply(null, null); }); }; wholeSucceeded = true; barrier = new EventBarrier(); retryCounter = 0; this._hasLoaded = true; for each(container in this._childVideos){ if(container.video == this.mainVideo) break; container.video.load(barrier.bind(function(hug1:Boolean):void{ //MethodID:1570, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 13 if(!hug1) wholeSucceeded = false; })); } this.mainVideo.load(onMainVideoLoaded); mainBarrier = barrier.bind(function():void{ //MethodID:1562, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 }); barrier.finish(function():void{ //MethodID:1571, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 35 if(!wholeSucceeded) onVideoLoadError.apply(); volume = _currentVolume; f(wholeSucceeded); }); } public function appendVideo(hug1:String, hug2:IChildVideo):void { //MethodID:1573, LocalCount= 8 , MaxScope= 1, MaxStack= 5, CodeLength= 219 var hug7:_ChildVideoContainer = null; var hug3:int = this.__CHILDREN_ORDER.indexOf(hug1); if(hug3 == (-1)) throw new ArgumentError("VideoWrapper.appendVideo: invalid videoName."); if(hug1 == ChildVideoName.USER_SPONSOR) this._hasSponsorVideo = true; hug2.volume = this._currentVolume; this._initializeVideoEventHandler(hug2); var hug4:_ChildVideoContainer = new _ChildVideoContainer(hug1, hug2); var hug5:Boolean = false; var hug6:uint = 0; while(hug6 < this._childVideos.length){ hug7 = this._childVideos[hug6]; if(hug3 < this.__CHILDREN_ORDER.indexOf(hug7.name)){ this._childVideos.splice(hug6, 1, hug4, hug7); hug5 = true; break; } hug6++; } if(!hug5) this._childVideos.push(hug4); this._setCurrentChildIndex(this._currentChildIndex); onVideoLengthFixed.apply(this.length, this._hasSponsorVideo); } public function killEvents():void { //MethodID:1574, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 233 this.onChangedVideoStatus.clear(); onVideoStarted.clear(); onVideoPlayed.clear(); onVideoStopped.clear(); onVideoEnded.clear(); onVideoSeeked.clear(); onVideoSeeking.clear(); onVideoLengthFixed.clear(); onVideoError.clear(); onInitMetaInfo.clear(); this.onVideoBufferingStarted.clear(); this.onVideoLoadComplete.clear(); this.onVideoLoadError.clear(); } private function _initializeVideoEventHandler(hug1:IChildVideo):void { //MethodID:1584, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 286 internal var video:IChildVideo; //slotID:1 internal var _onChildVideoEnded:Function; //slotID:2 video = hug1; _onChildVideoEnded = function(hug1:IChildVideo):void{ //MethodID:1575, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 136 if(!__nextContainer){ onVideoEnded.apply(_isLoop); return; } var hug2:IChildVideo = _childVideos[_currentChildIndex].video; var hug3:IChildVideo = _childVideos[_currentChildIndex + 1].video; hug3.seek(0); _setCurrentChildIndex(_currentChildIndex + 1); hug2.layer.visible = false; hug3.layer.visible = true; hug2.stop(); hug3.play(); hug2.seek(0); _setEveryVideoSilent(); __currentChild.volume = _currentVolume; }; video.onVideoEnded.clear(); video.onVideoSeeked.clear(); video.onVideoSeeking.clear(); video.onVideoPlayed.clear(); video.onVideoStopped.clear(); video.onVideoError.clear(); if(video is DummyVideo) DummyVideo(video).initEvent(); if(video is FLVVideo){ FLVVideo(video).onVideoLengthFixed.clear(); FLVVideo(video).onInitMetaInfo.clear(); } video.onVideoEnded.add(function(hug1:Boolean):void{ //MethodID:1576, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 25 _onChildVideoEnded(video); onChangedVideoStatus.apply(video.videoPlayerStatus); }); video.onVideoSeeked.add(function(hug1:Number):void{ //MethodID:1577, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 44 if(_isNoSeekEvent) return; if(__currentChild == video) onVideoSeeked.apply(vpos); }); video.onVideoSeeking.add(function(hug1:Number):void{ //MethodID:1578, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 57 if(_isNoSeekEvent) return; if(__currentChild == video){ onVideoSeeking.apply(vpos); onChangedVideoStatus.apply(video.videoPlayerStatus); } }); video.onVideoPlayed.add(function():void{ //MethodID:1579, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 46 if(__currentChild == video){ onVideoPlayed.apply(); onChangedVideoStatus.apply(video.videoPlayerStatus); } }); video.onVideoStopped.add(function():void{ //MethodID:1580, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 46 if(__currentChild == video){ onVideoStopped.apply(); onChangedVideoStatus.apply(video.videoPlayerStatus); } }); video.onVideoError.add(function(hug1:String):void{ //MethodID:1581, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 24 onVideoError.apply(hug1); }); if(video is FLVVideo){ (video as FLVVideo).onInitMetaInfo.add(function():void{ //MethodID:1582, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 23 onInitMetaInfo.apply(); }); (video as FLVVideo).onVideoLengthFixed.add(function(hug1:Number):void{ //MethodID:1583, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 29 onVideoLengthFixed.apply(length, _hasSponsorVideo); }); } } private function _setCurrentChildIndex(hug1:int):void { //MethodID:1586, LocalCount= 5 , MaxScope= 2, MaxStack= 3, CodeLength= 98 internal var index:int; //slotID:1 internal var container:_ChildVideoContainer; //slotID:2 container = null; index = hug1; for each(container in this._childVideos){ container.video.layer.visible = false; } this._currentChildIndex = index; this.__currentChild.layer.visible = true; ObjectUtils.callLater(function():void{ //MethodID:1585, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 11 _onChildVideoChanged.apply(currentChildVideoName); }); } private function _setEveryVideoSilent():void { //MethodID:1588, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 18 this._childVideos.forEach(function(hug1:_ChildVideoContainer, hug2:int, hug3:Array):void{ //MethodID:1587, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 21 if(hug1.video.isInitialized) hug1.video.volume = 0; }); } public function resize(hug1:Number, hug2:Number):void { //MethodID:1589, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 13 this.__currentChild.resize(hug1, hug2); } public function getCapture(hug1:Function, hug2:Number=Number.NaN):void { //MethodID:1592, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 308 internal var callback:Function; //slotID:1 internal var vpos:Number = Number.NaN; //slotID:2 internal var takeABitmapData:Function; //slotID:3 internal var childIdx:int; //slotID:4 internal var targetVideo_:IChildVideo; //slotID:5 internal var bmpData:BitmapData; //slotID:6 internal var targetChildVideoIndex:int; //slotID:7 internal var targetVideo:IChildVideo; //slotID:8 internal var count:int; //slotID:9 childIdx = 0; targetVideo_ = null; bmpData = null; targetChildVideoIndex = 0; targetVideo = null; count = 0; callback = hug1; vpos = hug2; takeABitmapData = function(hug1:IChildVideo):BitmapData{ //MethodID:1590, LocalCount= 6 , MaxScope= 0, MaxStack= 7, CodeLength= 249 if((hug1.layer == null) || (hug1.source == null) || (hug1.contentWidth <= 0) || (hug1.contentHeight <= 0)) return null; var hug2:BitmapData = new BitmapData(hug1.contentWidth, hug1.contentHeight, false, 0); var hug3:Number = hug1.source.scaleX; var hug4:Number = hug1.source.scaleY; if((hug1.source.width == hug1.layer.width) && (hug1.source.height == hug1.layer.height)){ hug3 = 1; hug4 = 1; } var hug5:Number = hug1.vpos; hug2.draw(hug1.source, new Matrix(hug3, 0, 0, hug4)); if(!_capturedBitmapData){ _lastCapturedVPos = hug5; _capturedBitmapData = hug2; }else if(Math.abs(_captureVPos - _lastCapturedVPos) > Math.abs(_captureVPos - hug5)){ _lastCapturedVPos = hug5; _capturedBitmapData = hug2; } _seekLocker.endLock(); return _capturedBitmapData; }; if(!isNaN(vpos)){ childIdx = this._childVideoIndexOf(vpos); if(childIdx < 0) throw new ArgumentError("VideoWrapper.getCapture: vpos(2nd argument) does not exist in this video container."); if(childIdx == this._currentChildIndex) throw new ArgumentError("VideoWrapper.getCapture: You cannot get capture whose vpos is current playing child. Use methods of 'currentChildVideoName' and 'childVideoNameOf'."); } this._seekLocker.startLock(); if(isNaN(vpos)){ targetVideo_ = _ChildVideoContainer(this._childVideos[this._currentChildIndex]).video; bmpData = takeABitmapData(targetVideo_); callback.apply(null, [bmpData]); return; } this._captureVPos = vpos; targetChildVideoIndex = this._childVideoIndexOf(vpos); this._isNoSeekEvent = true; targetVideo = _ChildVideoContainer(this._childVideos[targetChildVideoIndex]).video; targetVideo.seek(vpos); count = 0; targetVideo.layer.addEventListener(Event.ENTER_FRAME, function(hug1:Event, ...args):void{ //MethodID:1591, LocalCount= 6 , MaxScope= 0, MaxStack= 3, CodeLength= 83 if((count++) <= _GET_CAPTURE_DELAY_FRAMES) return; targetVideo.layer.removeEventListener(Event.ENTER_FRAME, args.callee); var hug3:BitmapData = takeABitmapData(targetVideo); callback.apply(null, [hug3]); _isNoSeekEvent = false; }); } private function _childVideoIndexOf(hug1:Number):int { //MethodID:1593, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 77 var hug4:IChildVideo = null; var hug2:Number = 0; var hug3:uint = 0; while(hug3 < this._childVideos.length){ hug4 = this._childVideos[hug3].video; if(hug1 <= (hug2 + hug4.length)) return hug3; hug2 += hug4.length; hug3++; } return -1; } public function childVideoNameOf(hug1:Number):String { //MethodID:1594, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 28 var hug2:int = this._childVideoIndexOf(hug1); if(hug2 < 0) return null; return this.__CHILDREN_ORDER[hug2]; } public function get eventNames():Array { //MethodID:1595, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 33 var hug1:Array = ["onVideoStarted", "onVideoPlayed", "onVideoStopped", "onVideoSeeked", "onVideoSeeking", "onVideoEnded", "onVideoError", "onInitMetaInfo"]; return hug1; } public function get url():String { //MethodID:1596, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoURL; } public function get length():Number { //MethodID:1598, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 34 internal var length:Number; //slotID:1 length = NaN; length = 0; this._childVideos.forEach(function(hug1:_ChildVideoContainer, hug2:int, hug3:Array):void{ //MethodID:1597, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 18 length += hug1.video.length; }); return length; } public function get mainVideo():IVideo { //MethodID:1599, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._mainVideo; } public function get mainVideoLength():Number { //MethodID:1600, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._mainVideo.length; } public function get errorVideo():IVideo { //MethodID:1601, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._errorVideo; } public function get hasLoaded():Boolean { //MethodID:1602, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hasLoaded; } public function get hasPlayed():Boolean { //MethodID:1603, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hasPlayed; } public function set sponsorVisibleOnLoop(hug1:Boolean):void { //MethodID:1604, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isShowSponsorVideoOnLoop = hug1; } public function set isRetryable(hug1:Boolean):void { //MethodID:1605, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isLoadRetryable = hug1; } public function get isPlaying():Boolean { //MethodID:1606, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.__currentChild.isPlaying; } public function get isPausing():Boolean { //MethodID:1607, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.__currentChild.isPausing; } public function get isSeeking():Boolean { //MethodID:1608, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.__currentChild.isSeeking; } public function get isEnd():Boolean { //MethodID:1609, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.__currentChild.isEnd; } public function get isBuffering():Boolean { //MethodID:1610, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.__currentChild.isBuffering; } public function get mainTotalLength():Number { //MethodID:1612, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 50 internal var length:Number; //slotID:1 length = NaN; if(!this._isDeleted) return this._mainVideo.length; length = 0; this._childVideos.forEach(function(hug1:_ChildVideoContainer, hug2:int, hug3:Array):void{ //MethodID:1611, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 33 if(hug1.name == ChildVideoName.USER_SPONSOR) return; length += hug1.video.length; }); return length; } public function get loadedLength():Number { //MethodID:1614, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 34 internal var loaded:Number; //slotID:1 loaded = NaN; loaded = 0; this._childVideos.forEach(function(hug1:_ChildVideoContainer, hug2:int, hug3:Array):void{ //MethodID:1613, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 18 loaded += hug1.video.loadedLength; }); return loaded; } public function get vpos():Number { //MethodID:1615, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 70 if(!this.isInitialized) return 0; var hug1:Number = 0; var hug2:uint = 0; while(hug2 < this._currentChildIndex){ hug1 += (this._childVideos[hug2].video as IChildVideo).length; hug2++; } return (hug1 + this.__currentChild.vpos); } public function get isInitialized():Boolean { //MethodID:1617, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 32 internal var ret:Boolean; //slotID:1 ret = false; ret = true; this._childVideos.every(function(hug1:_ChildVideoContainer, hug2:int, hug3:Array):Boolean{ //MethodID:1616, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 17 ret = hug1.video.isInitialized; return ret; }); return ret; } public function get isControllable():Boolean { //MethodID:1618, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.__currentChild.isControllable; } public function set isLoop(hug1:Boolean):void { //MethodID:1620, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 42 internal var flag:Boolean; //slotID:1 flag = hug1; this._childVideos.forEach(function(hug1:_ChildVideoContainer, hug2:int, hug3:Array):void{ //MethodID:1619, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 9 hug1.video.isLoop = false; }); this.__lastChild.isLoop = flag; this._isLoop = flag; } public function set volume(hug1:Number):void { //MethodID:1622, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 40 internal var vol:Number; //slotID:1 vol = hug1; this._currentVolume = vol; if(!this.isInitialized) return; this._childVideos.forEach(function(hug1:_ChildVideoContainer, hug2:int, hug3:Array):void{ //MethodID:1621, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 22 if(hug1.video.isInitialized) hug1.video.volume = _currentVolume; }); } public function get videoPlayerStatus():String { //MethodID:1623, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.__currentChild.videoPlayerStatus; } public function get layer():DisplayObject { //MethodID:1624, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.__currentChild.layer; } public function get nakedDisplayObject():DisplayObject { //MethodID:1625, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.__currentChild.source; } public function get onVideoBufferingStarted():Functions { //MethodID:1626, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._mainVideo.onVideoBufferingStarted; } public function get onVideoLoadComplete():Functions { //MethodID:1627, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._mainVideo.onVideoLoadComplete; } public function get onVideoLoadError():Functions { //MethodID:1628, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onVideoLoadError; } private function get __currentChild():IChildVideo { //MethodID:1629, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 40 var hug1:IChildVideo = null; if(this._childVideos[this._currentChildIndex]) hug1 = this._childVideos[this._currentChildIndex].video; return hug1; } private function get __nextContainer():_ChildVideoContainer { //MethodID:1630, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 77 var hug1:int = (this._currentChildIndex + 1); if(this._childVideos.length <= hug1) return null; var hug2:_ChildVideoContainer = this._childVideos[hug1]; if(this._isLoop && !this._isShowSponsorVideoOnLoop && (hug2.name == ChildVideoName.USER_SPONSOR)) return null; return hug2; } private function get __lastChild():IChildVideo { //MethodID:1631, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21 return this._childVideos[this._childVideos.length - 1].video; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get volume():Number { //MethodID:1632, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16 return this.__currentChild.volume; } public function get contentWidth():int { //MethodID:1633, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._mainVideo.contentWidth; } public function get contentHeight():int { //MethodID:1634, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._mainVideo.contentHeight; } public function get onChildVideoChanged():Functions { //MethodID:1635, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onChildVideoChanged; } public function get currentChildVideoName():String { //MethodID:1636, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14 return this.__CHILDREN_ORDER[this._currentChildIndex]; } } } import flash.errors.IllegalOperationError import jp.nicovideo.nicoplayer.models.video.IChildVideo //■class(instance)_index:112 //private class _ChildVideoContainer extends Object { //static constructor public static function _ChildVideoContainer$cinit() { //MethodID:1546, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _ChildVideoContainer(hug1:String, hug2:IChildVideo) { //MethodID:1547, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16 super(); this._name = hug1; this._video = hug2; } //variables/etc. private var _name:String; //slotID:0 private var _video:IChildVideo; //slotID:0 public function get video():IChildVideo { //MethodID:1548, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._video; } public function get name():String { //MethodID:1549, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._name; } } //■class(instance)_index:113 //private class _SeekLocker extends Object { //static constructor public static function _SeekLocker$cinit() { //MethodID:1550, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 _MAX_COUNT_OF_STORE = 400; } //static variables/etc. private static const _MAX_COUNT_OF_STORE:int = 400; //slotID:1 //constructor public function _SeekLocker(hug1:Function) { //MethodID:1551, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 28 super(); if(hug1 == null) throw new ArgumentError("_SeekLocker._SeekLock: You have to set a valid function"); this._seekFunction = hug1; } //variables/etc. private var _isLock:Boolean = false; //slotID:0 private var _lastVpos:Number = -1.0; //slotID:0 private var _count:int = 0; //slotID:0 private var _seekFunction:Function; //slotID:0 public function startLock():void { //MethodID:1552, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isLock = true; } public function stockSeek(hug1:Number):void { //MethodID:1553, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 55 this._count++; if(this._count > _MAX_COUNT_OF_STORE) throw new ArgumentError("_SeekLock.stockSeek: You can not stock seek vpos more than " + _MAX_COUNT_OF_STORE + " times."); this._lastVpos = hug1; } public function endLock():void { //MethodID:1554, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 64 if(!this._isLock) throw new IllegalOperationError("_SeekLock.endLock: You have not called startLock() yet."); if(this._count > 0) this._seekFunction.apply(null, [this._lastVpos]); this._count = 0; this._lastVpos = -1; this._isLock = false; } public function get isLock():Boolean { //MethodID:1555, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isLock; } } //■script097■ package jp.nicovideo.nicoplayer.tpls{ import flash.display.MovieClip import jp.nicovideo.ext.config.IThumbConfig import jp.nicovideo.marquee.INicoMarqueeClient import jp.nicovideo.nicoplayer.app.IApplibarLoader import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.nicoplayer.external.IExternalClient import jp.nicovideo.nicoplayer.hiroba.IHirobaPlayer import jp.nicovideo.nicoplayer.models.IMyList import jp.nicovideo.nicoplayer.models.IObsevableContainer import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.IPlayerInfo import jp.nicovideo.nicoplayer.models.IPlayerVersion import jp.nicovideo.nicoplayer.models.IRelatedVideoList import jp.nicovideo.nicoplayer.models.StartVposConfig import jp.nicovideo.nicoplayer.models.api.IGetFLV import jp.nicovideo.nicoplayer.models.api.IGetSponsorInfo import jp.nicovideo.nicoplayer.models.api.IJumper import jp.nicovideo.nicoplayer.models.api.InitializeInfo import jp.nicovideo.nicoplayer.models.comment.ICommentRouter import jp.nicovideo.nicoplayer.models.comment.ITimeMachine import jp.nicovideo.nicoplayer.models.filter.IDeleteFilter import jp.nicovideo.nicoplayer.models.filter.INGComment import jp.nicovideo.nicoplayer.models.filter.IReplacer import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars import jp.nicovideo.nicoplayer.models.flashvars.PlaylistFlashVars import jp.nicovideo.nicoplayer.models.log.ILogManager import jp.nicovideo.nicoplayer.models.mylist.IDefaultMylistAppendable import jp.nicovideo.nicoplayer.models.playlist.IPlaylistController import jp.nicovideo.nicoplayer.models.video.IVideo import jp.nicovideo.nicoplayer.models.video.IVideoController import jp.nicovideo.nicoplayer.models.video.VideoLoadWatcher import jp.nicovideo.nicoplayer.remocon.IRemoconClient import jp.nicovideo.nicoplayer.tpls.shutter.IControllerShutter import jp.nicovideo.nicoplayer.videoender.IVideoenderTesterConfig import jp.nicovideo.nicoplayer.views.IJumpMessageLayer import jp.nicovideo.nicoplayer.views.IVideoLayerManager import jp.nicovideo.nicoplayer.views.comment.ICommentLayer import jp.nicovideo.nicoplayer.views.framerate.IFrameRateBooster import jp.nicovideo.nicoscript.INicoSClient import jp.nicovideo.util.events.EventSender //■class(instance)_index:115 public interface INicoViewControllerClient { //static constructor public static function INicoViewControllerClient$cinit() { //MethodID:1638, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function addSetUpHandler(hug1:Array, hug2:Function):void; //MethodID:1639, dispID:0 function get nicoConfig():NicoConfig; //MethodID:1640, dispID:0 function get playerVersion():IPlayerVersion; //MethodID:1641, dispID:0 function get playerInfo():IPlayerInfo; //MethodID:1642, dispID:0 function get playerConfig():IPlayerConfig; //MethodID:1643, dispID:0 function get flashVars():NicoFlashVars; //MethodID:1644, dispID:0 function get viewRoot():MovieClip; //MethodID:1645, dispID:0 function get getFLVData():IGetFLV; //MethodID:1646, dispID:0 function get video():IVideo; //MethodID:1647, dispID:0 function get commentListContainer():Object; //MethodID:1648, dispID:0 function get ngFilter():INGComment; //MethodID:1649, dispID:0 function get relatedList():IRelatedVideoList; //MethodID:1650, dispID:0 function get deleteFilter():IDeleteFilter; //MethodID:1651, dispID:0 function get commentShutter():IControllerShutter; //MethodID:1652, dispID:0 function get audioShutter():IControllerShutter; //MethodID:1653, dispID:0 function get commentRouter():ICommentRouter; //MethodID:1654, dispID:0 function get videoController():IVideoController; //MethodID:1655, dispID:0 function get jumpMessageLayer():IJumpMessageLayer; //MethodID:1656, dispID:0 function get commentLayer():ICommentLayer; //MethodID:1657, dispID:0 function get commentLayerView():*; //MethodID:1658, dispID:0 function get commentViewTransformer():*; //MethodID:1659, dispID:0 function get videoLayerManager():IVideoLayerManager; //MethodID:1660, dispID:0 function get timeMachine():ITimeMachine; //MethodID:1661, dispID:0 function get nicoSClient():INicoSClient; //MethodID:1662, dispID:0 function get marqueeClient():INicoMarqueeClient; //MethodID:1663, dispID:0 function get commentStorageEvents():EventSender; //MethodID:1664, dispID:0 function get replacer():IReplacer; //MethodID:1665, dispID:0 function get externalClient():IExternalClient; //MethodID:1666, dispID:0 function get thumbConfig():IThumbConfig; //MethodID:1667, dispID:0 function get hirobaPlayer():IHirobaPlayer; //MethodID:1668, dispID:0 function get jumper():IJumper; //MethodID:1669, dispID:0 function get channelReplacer():*; //MethodID:1670, dispID:0 function get getSponsorInfo():IGetSponsorInfo; //MethodID:1671, dispID:0 function get myList():IMyList; //MethodID:1672, dispID:0 function get defaultMylistAppender():IDefaultMylistAppendable; //MethodID:1673, dispID:0 function get pluginClient():IObsevableContainer; //MethodID:1674, dispID:0 function get applibarLoader():IApplibarLoader; //MethodID:1675, dispID:0 function get lockedComment():*; //MethodID:1676, dispID:0 function get initializeInfo():InitializeInfo; //MethodID:1677, dispID:0 function get playlistController():IPlaylistController; //MethodID:1678, dispID:0 function get playlistFlashVars():PlaylistFlashVars; //MethodID:1679, dispID:0 function get logManager():ILogManager; //MethodID:1680, dispID:0 function get startVposConfig():StartVposConfig; //MethodID:1681, dispID:0 function get filteredCommentPoolContainers():Array; //MethodID:1682, dispID:0 function get videoLoadWatcher():VideoLoadWatcher; //MethodID:1683, dispID:0 function get remoconClient():IRemoconClient; //MethodID:1684, dispID:0 function get playerPageMyselfURL():String; //MethodID:1685, dispID:0 function get videoenderTesterConfig():IVideoenderTesterConfig; //MethodID:1686, dispID:0 function get frameRateBooster():IFrameRateBooster; //MethodID:1687, dispID:0 //constructor public function INicoViewControllerClient(); //MethodID:1688, dispID:0 } } //■script098■ package jp.nicovideo.nicoplayer.tpls{ import flash.display.MovieClip import flash.errors.IllegalOperationError import jp.nicovideo.ext.config.IThumbConfig import jp.nicovideo.marquee.INicoMarqueeClient import jp.nicovideo.nicoplayer.app.IApplibarLoader import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.nicoplayer.external.IExternalClient import jp.nicovideo.nicoplayer.hiroba.IHirobaPlayer import jp.nicovideo.nicoplayer.models.IMyList import jp.nicovideo.nicoplayer.models.IObsevableContainer import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.IPlayerInfo import jp.nicovideo.nicoplayer.models.IPlayerVersion import jp.nicovideo.nicoplayer.models.IRelatedVideoList import jp.nicovideo.nicoplayer.models.StartVposConfig import jp.nicovideo.nicoplayer.models.api.IGetFLV import jp.nicovideo.nicoplayer.models.api.IGetSponsorInfo import jp.nicovideo.nicoplayer.models.api.IJumper import jp.nicovideo.nicoplayer.models.api.InitializeInfo import jp.nicovideo.nicoplayer.models.comment.ICommentRouter import jp.nicovideo.nicoplayer.models.comment.ITimeMachine import jp.nicovideo.nicoplayer.models.filter.IDeleteFilter import jp.nicovideo.nicoplayer.models.filter.INGComment import jp.nicovideo.nicoplayer.models.filter.IReplacer import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars import jp.nicovideo.nicoplayer.models.flashvars.PlaylistFlashVars import jp.nicovideo.nicoplayer.models.log.ILogManager import jp.nicovideo.nicoplayer.models.mylist.IDefaultMylistAppendable import jp.nicovideo.nicoplayer.models.playlist.IPlaylistController import jp.nicovideo.nicoplayer.models.video.IVideo import jp.nicovideo.nicoplayer.models.video.IVideoController import jp.nicovideo.nicoplayer.models.video.VideoLoadWatcher import jp.nicovideo.nicoplayer.remocon.IRemoconClient import jp.nicovideo.nicoplayer.tpls.shutter.IControllerShutter import jp.nicovideo.nicoplayer.videoender.IVideoenderTesterConfig import jp.nicovideo.nicoplayer.views.IJumpMessageLayer import jp.nicovideo.nicoplayer.views.IVideoLayerManager import jp.nicovideo.nicoplayer.views.comment.ICommentLayer import jp.nicovideo.nicoplayer.views.framerate.IFrameRateBooster import jp.nicovideo.nicoscript.INicoSClient import jp.nicovideo.util.events.EventSender use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:117 public class NicoViewControllerClient extends Object implements INicoViewControllerClient { //static constructor public static function NicoViewControllerClient$cinit() { //MethodID:1695, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. private var _viewRoot:MovieClip; //slotID:0 private var _nicoConfig:NicoConfig; //slotID:0 private var _playerVersion:IPlayerVersion; //slotID:0 private var _playerInfo:IPlayerInfo; //slotID:0 private var _playerConfig:IPlayerConfig; //slotID:0 private var _flashVars:NicoFlashVars; //slotID:0 private var _getFLVData:IGetFLV; //slotID:0 private var _video:IVideo; //slotID:0 private var _commentListContainer:Object; //slotID:0 private var _ngFilter:INGComment; //slotID:0 private var _relatedList:IRelatedVideoList; //slotID:0 private var _deleteFilter:IDeleteFilter; //slotID:0 private var _videoController:IVideoController; //slotID:0 private var _videoLayerManager:IVideoLayerManager; //slotID:0 private var _commentShutter:IControllerShutter; //slotID:0 private var _audioShutter:IControllerShutter; //slotID:0 private var _commentRouter:ICommentRouter; //slotID:0 private var _timeMachine:ITimeMachine; //slotID:0 private var _jumpMessageLayer:IJumpMessageLayer; //slotID:0 private var _nicoSClient:INicoSClient; //slotID:0 private var _marqueeClient:INicoMarqueeClient; //slotID:0 private var _commentStorageEvents:EventSender; //slotID:0 private var _setUpCheckers:Array; //slotID:0 private var _replacer:IReplacer; //slotID:0 private var _commentLayer:ICommentLayer; //slotID:0 private var _commentLayerView:*; //slotID:0 private var _commentViewTransformer:*; //slotID:0 private var _externalClient:IExternalClient; //slotID:0 private var _thumbConfig:IThumbConfig; //slotID:0 private var _hirobaPlayer:IHirobaPlayer; //slotID:0 private var _jumper:IJumper; //slotID:0 private var _channelReplacer:*; //slotID:0 private var _getSponsorInfo:IGetSponsorInfo; //slotID:0 private var _myList:IMyList; //slotID:0 private var _pluginClient:IObsevableContainer; //slotID:0 private var _lockedComment:*; //slotID:0 private var _applibarLoader:IApplibarLoader; //slotID:0 private var _initializeInfo:InitializeInfo; //slotID:0 private var _playlistController:IPlaylistController; //slotID:0 private var _startVposConfig:StartVposConfig; //slotID:0 private var _playlistFlashVars:PlaylistFlashVars; //slotID:0 private var _logManager:ILogManager; //slotID:0 private var _filteredCommentPoolContainers:Array; //slotID:0 private var _videoLoadWatcher:VideoLoadWatcher; //slotID:0 private var _remoconClient:IRemoconClient; //slotID:0 private var _playerPageMyselfURL:String; //slotID:0 private var _defaultMylistAppender:IDefaultMylistAppendable; //slotID:0 private var _videoenderTesterConfig:IVideoenderTesterConfig; //slotID:0 private var _frameRateBooster:IFrameRateBooster; //slotID:0 private var _hasSetList:Array; //slotID:0 public function get viewRoot():MovieClip { //MethodID:1696, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._viewRoot; } public function set viewRoot(hug1:MovieClip):void { //MethodID:1697, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("viewRoot", hug1); } public function get nicoConfig():NicoConfig { //MethodID:1698, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nicoConfig; } public function set nicoConfig(hug1:NicoConfig):void { //MethodID:1699, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("nicoConfig", hug1); } public function get playerVersion():IPlayerVersion { //MethodID:1700, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playerVersion; } public function set playerVersion(hug1:IPlayerVersion):void { //MethodID:1701, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("playerVersion", hug1); } public function get playerInfo():IPlayerInfo { //MethodID:1702, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playerInfo; } public function set playerInfo(hug1:IPlayerInfo):void { //MethodID:1703, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("playerInfo", hug1); } public function get playerConfig():IPlayerConfig { //MethodID:1704, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playerConfig; } public function set playerConfig(hug1:IPlayerConfig):void { //MethodID:1705, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("playerConfig", hug1); } public function get flashVars():NicoFlashVars { //MethodID:1706, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._flashVars; } public function set flashVars(hug1:NicoFlashVars):void { //MethodID:1707, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("flashVars", hug1); } public function get getFLVData():IGetFLV { //MethodID:1708, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._getFLVData; } public function set getFLVData(hug1:IGetFLV):void { //MethodID:1709, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("getFLVData", hug1); } public function get video():IVideo { //MethodID:1710, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._video; } public function set video(hug1:IVideo):void { //MethodID:1711, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("video", hug1); } public function get commentListContainer():Object { //MethodID:1712, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._commentListContainer; } public function set commentListContainer(hug1:Object):void { //MethodID:1713, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("commentListContainer", hug1); } public function get jumpMessageLayer():IJumpMessageLayer { //MethodID:1714, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._jumpMessageLayer; } public function set jumpMessageLayer(hug1:IJumpMessageLayer):void { //MethodID:1715, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("jumpMessageLayer", hug1); } public function get ngFilter():INGComment { //MethodID:1716, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._ngFilter; } public function set ngFilter(hug1:INGComment):void { //MethodID:1717, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("ngFilter", hug1); } public function get relatedList():IRelatedVideoList { //MethodID:1718, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._relatedList; } public function set relatedList(hug1:IRelatedVideoList):void { //MethodID:1719, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("relatedList", hug1); } public function get deleteFilter():IDeleteFilter { //MethodID:1720, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._deleteFilter; } public function set deleteFilter(hug1:IDeleteFilter):void { //MethodID:1721, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("deleteFilter", hug1); } public function get timeMachine():ITimeMachine { //MethodID:1722, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._timeMachine; } public function set timeMachine(hug1:ITimeMachine):void { //MethodID:1723, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("timeMachine", hug1); } public function get commentShutter():IControllerShutter { //MethodID:1724, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._commentShutter; } public function set commentShutter(hug1:IControllerShutter):void { //MethodID:1725, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("commentShutter", hug1); } public function get audioShutter():IControllerShutter { //MethodID:1726, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._audioShutter; } public function set audioShutter(hug1:IControllerShutter):void { //MethodID:1727, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("audioShutter", hug1); } public function get commentRouter():ICommentRouter { //MethodID:1728, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._commentRouter; } public function set commentRouter(hug1:ICommentRouter):void { //MethodID:1729, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("commentRouter", hug1); } public function get videoController():IVideoController { //MethodID:1730, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoController; } public function set videoController(hug1:IVideoController):void { //MethodID:1731, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("videoController", hug1); } public function get videoLayerManager():IVideoLayerManager { //MethodID:1732, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoLayerManager; } public function set videoLayerManager(hug1:IVideoLayerManager):void { //MethodID:1733, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("videoLayerManager", hug1); } public function get commentLayer():ICommentLayer { //MethodID:1734, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._commentLayer; } public function set commentLayer(hug1:ICommentLayer):void { //MethodID:1735, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("commentLayer", hug1); } public function get commentLayerView():* { //MethodID:1736, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._commentLayerView; } public function set commentLayerView(hug1:*):void { //MethodID:1737, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("commentLayerView", hug1); } public function get commentViewTransformer():* { //MethodID:1738, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._commentViewTransformer; } public function set commentViewTransformer(hug1:*):void { //MethodID:1739, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("commentViewTransformer", hug1); } public function get nicoSClient():INicoSClient { //MethodID:1740, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nicoSClient; } public function set nicoSClient(hug1:INicoSClient):void { //MethodID:1741, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("nicoSClient", hug1); } public function get marqueeClient():INicoMarqueeClient { //MethodID:1742, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._marqueeClient; } public function set marqueeClient(hug1:INicoMarqueeClient):void { //MethodID:1743, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("marqueeClient", hug1); } public function get commentStorageEvents():EventSender { //MethodID:1744, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._commentStorageEvents; } public function set commentStorageEvents(hug1:EventSender):void { //MethodID:1745, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("commentStorageEvents", hug1); } public function get replacer():IReplacer { //MethodID:1746, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._replacer; } public function set replacer(hug1:IReplacer):void { //MethodID:1747, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("replacer", hug1); } public function get externalClient():IExternalClient { //MethodID:1748, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._externalClient; } public function set externalClient(hug1:IExternalClient):void { //MethodID:1749, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("externalClient", hug1); } public function get thumbConfig():IThumbConfig { //MethodID:1750, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._thumbConfig; } public function set thumbConfig(hug1:IThumbConfig):void { //MethodID:1751, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("thumbConfig", hug1); } public function get hirobaPlayer():IHirobaPlayer { //MethodID:1752, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hirobaPlayer; } public function set hirobaPlayer(hug1:IHirobaPlayer):void { //MethodID:1753, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("hirobaPlayer", hug1); } public function get jumper():IJumper { //MethodID:1754, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._jumper; } public function set jumper(hug1:IJumper):void { //MethodID:1755, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("jumper", hug1); } public function get channelReplacer():* { //MethodID:1756, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._channelReplacer; } public function set channelReplacer(hug1:*):void { //MethodID:1757, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("channelReplacer", hug1); } public function get getSponsorInfo():IGetSponsorInfo { //MethodID:1758, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._getSponsorInfo; } public function set getSponsorInfo(hug1:IGetSponsorInfo):void { //MethodID:1759, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("getSponsorInfo", hug1); } public function get myList():IMyList { //MethodID:1760, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._myList; } public function set myList(hug1:IMyList):void { //MethodID:1761, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("myList", hug1); } public function get defaultMylistAppender():IDefaultMylistAppendable { //MethodID:1762, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._defaultMylistAppender; } public function set defaultMylistAppender(hug1:IDefaultMylistAppendable):void { //MethodID:1763, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("defaultMylistAppender", hug1); } public function get pluginClient():IObsevableContainer { //MethodID:1764, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._pluginClient; } public function set pluginClient(hug1:IObsevableContainer):void { //MethodID:1765, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("pluginClient", hug1); } public function get lockedComment():* { //MethodID:1766, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._lockedComment; } public function set lockedComment(hug1:*):void { //MethodID:1767, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("lockedComment", hug1); } public function get initializeInfo():InitializeInfo { //MethodID:1768, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._initializeInfo; } public function set initializeInfo(hug1:InitializeInfo):void { //MethodID:1769, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("initializeInfo", hug1); } public function get applibarLoader():IApplibarLoader { //MethodID:1770, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._applibarLoader; } public function set applibarLoader(hug1:IApplibarLoader):void { //MethodID:1771, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("applibarLoader", hug1); } public function get playlistController():IPlaylistController { //MethodID:1772, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playlistController; } public function set playlistController(hug1:IPlaylistController):void { //MethodID:1773, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("playlistController", hug1); } public function get playlistFlashVars():PlaylistFlashVars { //MethodID:1774, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playlistFlashVars; } public function set playlistFlashVars(hug1:PlaylistFlashVars):void { //MethodID:1775, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("playlistFlashVars", hug1); } public function addSetUpHandler(hug1:Array, hug2:Function):void { //MethodID:1776, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 116 var hug5:String = null; var hug3:_SetUpChecker = new _SetUpChecker(hug1, hug2); var hug4:Boolean = false; for each(hug5 in hug1){ if(this["_" + hug5]) hug4 = hug3.check(hug5); if(hug4) break; } if(hug4){ hug3.handler.apply(); }else{ this._setUpCheckers.push(hug3); } } public function get startVposConfig():StartVposConfig { //MethodID:1777, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._startVposConfig; } public function set startVposConfig(hug1:StartVposConfig):void { //MethodID:1778, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("startVposConfig", hug1); } public function get logManager():ILogManager { //MethodID:1779, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._logManager; } public function set logManager(hug1:ILogManager):void { //MethodID:1780, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("logManager", hug1); } public function get filteredCommentPoolContainers():Array { //MethodID:1781, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._filteredCommentPoolContainers; } public function set filteredCommentPoolContainers(hug1:Array):void { //MethodID:1782, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("filteredCommentPoolContainers", hug1); } public function get videoLoadWatcher():VideoLoadWatcher { //MethodID:1783, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoLoadWatcher; } public function set videoLoadWatcher(hug1:VideoLoadWatcher):void { //MethodID:1784, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("videoLoadWatcher", hug1); } public function get remoconClient():IRemoconClient { //MethodID:1785, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._remoconClient; } public function set remoconClient(hug1:*):void { //MethodID:1786, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("remoconClient", hug1); } public function get playerPageMyselfURL():String { //MethodID:1787, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playerPageMyselfURL; } public function set playerPageMyselfURL(hug1:String):void { //MethodID:1788, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("playerPageMyselfURL", hug1); } public function get videoenderTesterConfig():IVideoenderTesterConfig { //MethodID:1789, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoenderTesterConfig; } public function set videoenderTesterConfig(hug1:IVideoenderTesterConfig):void { //MethodID:1790, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("videoenderTesterConfig", hug1); } public function get frameRateBooster():IFrameRateBooster { //MethodID:1791, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._frameRateBooster; } public function set frameRateBooster(hug1:IFrameRateBooster):void { //MethodID:1792, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this._setProperty("frameRateBooster", hug1); } private function _setProperty(hug1:String, hug2:*):void { //MethodID:1793, LocalCount= 10 , MaxScope= 1, MaxStack= 3, CodeLength= 241 var hug5:_SetUpChecker = null; var hug6:uint = 0; var hug7:_SetUpChecker = null; if(hug2 == null){ this._removeProperty(hug1); return; } var hug3:String = ("_" + hug1); if(this._hasSetList.indexOf(hug1) != (-1)) throw new IllegalOperationError("NicoViewControllerClient._setProperty: _" + hug1 + " has set already."); this[hug3] = hug2; this._hasSetList.push(hug1); var hug4:Array = []; for each(hug5 in this._setUpCheckers){ if(hug5.check(hug1)) hug4.push(this._setUpCheckers.indexOf(hug5)); } hug4.sort(Array.NUMERIC | Array.DESCENDING); for each(hug6 in hug4){ hug7 = this._setUpCheckers[hug6]; this._setUpCheckers.splice(hug6, 1); hug7.handler.apply(); } } private function _removeProperty(hug1:String):void { //MethodID:1794, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 48 var hug3:String = null; var hug2:int = this._hasSetList.indexOf(hug1); if(hug2 >= 0){ this._hasSetList.splice(hug2, 1); hug3 = ("_" + hug1); this[hug3] = null; } } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get setUpCounters():Array { //MethodID:1795, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._setUpCheckers; } //constructor public function NicoViewControllerClient() { //MethodID:1796, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18 this._setUpCheckers = []; this._hasSetList = []; super(); } } } import flash.errors.IllegalOperationError //■class(instance)_index:116 //private class _SetUpChecker extends Object { //static constructor public static function _SetUpChecker$cinit() { //MethodID:1690, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _SetUpChecker(hug1:Array, hug2:Function) { //MethodID:1691, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 26 super(); this._names = hug1.concat(); this._flags = []; this._handler = hug2; } //variables/etc. private var _names:Array; //slotID:0 private var _handler:Function; //slotID:0 private var _flags:Array; //slotID:0 private var _finised:Boolean = false; //slotID:0 public function check(hug1:String):Boolean { //MethodID:1692, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 96 if(this._finised) throw new IllegalOperationError("_SetUpCounter.check: check has finised."); var hug2:int = this._names.indexOf(hug1); if(hug2 == (-1)) return false; this._flags[hug2] = true; var hug3:uint = 0; while(hug3 < this.names.length){ if(!this._flags[hug3]) return false; hug3++; } this._finised = true; return true; } public function get handler():Function { //MethodID:1693, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._handler; } public function get names():Array { //MethodID:1694, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._names; } } //■script099■ package jp.nicovideo.hiroba{ import jp.nicovideo.hiroba.models.IHirobaComment //■class(instance)_index:118 public interface IHirobaConnector implements IEventDispatcher { //static constructor public static function IHirobaConnector$cinit() { //MethodID:1798, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function initialize(hug1:IHirobaConnectorClient):void; //MethodID:1799, dispID:0 function connect(hug1:Function):void; //MethodID:1800, dispID:0 function post(hug1:Function, hug2:IHirobaComment):void; //MethodID:1801, dispID:0 //constructor public function IHirobaConnector(); //MethodID:1802, dispID:0 } } //■script100■ package jp.nicovideo.nicoplayer.models{ import flash.events.Event import flash.events.TimerEvent import flash.utils.Timer import jp.nicovideo.nicoplayer.models.video.VideoWrapper import jp.nicovideo.util.LC import jp.nicovideo.util.TimeUtils //■class(instance)_index:119 public class VideoLoadGuardian extends Object { //static constructor public static function VideoLoadGuardian$cinit() { //MethodID:1804, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 LC_LOAD_MAX = 2; } //static variables/etc. private static const LC_LOAD_MAX:uint = 2; //slotID:1 //constructor public function VideoLoadGuardian(hug1:VideoWrapper, hug2:Boolean) { //MethodID:1805, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 46 this._lc = new LC("jp.nicovideo.nicoplayer.models.LoadController"); super(); this._video = hug1; this._isPremium = hug2; this._loadLCList = {}; if(!hug2) this._init(); } //variables/etc. private var _lc:LC; //slotID:0 private var _video:VideoWrapper; //slotID:0 private var _isPremium:Boolean; //slotID:0 private var _lcName:String; //slotID:0 private var _loadLCList:Object; //slotID:0 private var _resultFunc:Function; //slotID:0 private var isLoadStart:Boolean = false; //slotID:0 private var _destroyFunc:Function; //slotID:0 private function _init():void { //MethodID:1815, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 51 this._lcName = ("Mr." + TimeUtils.now().getTime()); this._lc.join(function():void{ //MethodID:1813, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 112 internal var timer:Timer; //slotID:1 internal var onTimer:Function; //slotID:2 internal var timerStart:Function; //slotID:3 internal var loadEnd:Function; //slotID:4 internal var sendLoadLCName:Function; //slotID:5 timer = null; onTimer = null; if(_lc.isMaster){ onTimer = function():void{ //MethodID:1806, LocalCount= 5 , MaxScope= 0, MaxStack= 3, CodeLength= 101 var hug2:String = null; var hug1:Boolean = false; for(hug2 in _loadLCList){ hug1 = true; if((TimeUtils.now().getTime() - _loadLCList[hug2]) > 3000) loadEnd(hug2); } if(!hug1){ timer.removeEventListener(TimerEvent.TIMER, onTimer); timer = null; } }; timerStart = function():void{ //MethodID:1807, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 37 timer = new Timer(1000); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); }; loadEnd = function(hug1:String):void{ //MethodID:1808, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 9 delete _loadLCList[hug1]; }; sendLoadLCName = function():void{ //MethodID:1809, LocalCount= 1 , MaxScope= 0, MaxStack= 4, CodeLength= 15 _lc.send(null, "loadName", _loadLCList); }; timerStart(); _lc.receive(function(hug1:Object):void{ //MethodID:1810, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 9 sendLoadLCName(); }, "confirm"); _lc.receive(function(hug1:Object):void{ //MethodID:1811, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 51 var hug2:String = String(hug1); if(timer == null) timerStart(); _loadLCList[hug2] = TimeUtils.now().getTime(); sendLoadLCName(); }, "loading"); _lc.receive(function(hug1:Object):void{ //MethodID:1812, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 15 loadEnd(String(hug1)); }, "complete"); } }); this._lc.receive(function(hug1:Object):void{ //MethodID:1814, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 22 _loadLCList = hug1; if(!isLoadStart) _loadStart(); }, "loadName"); } public function loadStart(hug1:Function):void { //MethodID:1816, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 59 if(this._isPremium){ hug1(true); return; } this._resultFunc = hug1; if(this._lc.isMaster){ this._loadStart(); }else{ this._lc.send(null, "confirm", this._lcName); } } public function destroy():void { //MethodID:1817, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 if(this._destroyFunc != null) this._destroyFunc(); } private function _loadStart():void { //MethodID:1820, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 227 internal var timer:Timer; //slotID:1 internal var onTimer:Function; //slotID:2 internal var loadEnd:Function; //slotID:3 internal var count:uint; //slotID:4 internal var key:String; //slotID:5 timer = null; onTimer = null; loadEnd = null; count = 0; key = null; onTimer = function(hug1:Event):void{ //MethodID:1818, LocalCount= 2 , MaxScope= 0, MaxStack= 4, CodeLength= 63 if(_lc.isMaster){ _loadLCList[_lcName] = TimeUtils.now().getTime(); _lc.send(null, "loadName", _loadLCList); }else{ _lc.send(null, "loading", _lcName); } }; loadEnd = function():void{ //MethodID:1819, LocalCount= 1 , MaxScope= 0, MaxStack= 4, CodeLength= 87 if(_lc.isMaster){ delete _loadLCList[_lcName]; }else{ _lc.send(null, "complete", _lcName); } _lc.close(); timer.removeEventListener(TimerEvent.TIMER, onTimer); _video.onVideoLoadComplete.remove(loadEnd); _video.onVideoLoadError.remove(loadEnd); }; this.isLoadStart = true; if(!this._lc.isMaster){ count = 0; for(key in this._loadLCList){ count += 1; } if(count >= LC_LOAD_MAX){ this._resultFunc(false); return; } } timer = new Timer(1000); timer.addEventListener(TimerEvent.TIMER, onTimer); this._destroyFunc = loadEnd; this._video.onVideoLoadComplete.add(loadEnd); this._video.onVideoLoadError.add(loadEnd); timer.start(); this._resultFunc(true); } } } //■script101■ package jp.nicovideo.nicoplayer.models.api{ import __AS3__.vec.Vector //■class(instance)_index:120 public interface IGetRelation { //static constructor public static function IGetRelation$cinit() { //MethodID:1822, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function load(hug1:Function, hug2:Vector., hug3:Vector.=null, hug4:uint=1, hug5:String=null, hug6:String=null, hug7:uint=1):void;//MethodID:1823, dispID:0 //constructor public function IGetRelation(); //MethodID:1824, dispID:0 } } //■script102■ package jp.nicovideo.nicoplayer.models.api{ import __AS3__.vec.Vector import flash.net.URLRequestMethod import jp.nicovideo.nicoplayer.models.RelatedConstants import jp.nicovideo.nicoplayer.models.api.relation.GetRelationResultFactory import jp.nicovideo.nicoplayer.models.api.relation.GetRelationTarget import jp.nicovideo.nicoplayer.models.api.relation.IGetRelationResult import jp.nicovideo.nicoplayer.models.api.relation.ILiveDJInfo import jp.nicovideo.util.ObjectUtils use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:123 public class GetRelation extends Object implements IGetRelation { //static constructor public static function GetRelation$cinit() { //MethodID:1836, LocalCount= 1 , MaxScope= 1, MaxStack= 10, CodeLength= 129 LOAD_TARGETS = Vector.([GetRelationTarget.RELATED_VIDEO, GetRelationTarget.OWNER_VIDEO, GetRelationTarget.LIVE_DJ]); LOAD_SORT_VALUES = Vector.([RelatedConstants.SORT_ENTRYDATE, RelatedConstants.SORT_RELATEDPOINT, RelatedConstants.SORT_VIEWCOUNTER, RelatedConstants.SORT_ENTRYDATE, RelatedConstants.SORT_RESDATE, RelatedConstants.SORT_RESNUM, RelatedConstants.SORT_MYLISTCOUNTER]); LOAD_ORDER_VALUES = Vector.([RelatedConstants.ORDER_UP, RelatedConstants.ORDER_DOWN]); } //static variables/etc. public static const LOAD_TARGETS:Vector.; //slotID:1 public static const LOAD_SORT_VALUES:Vector.; //slotID:2 public static const LOAD_ORDER_VALUES:Vector.; //slotID:3 //constructor public function GetRelation(hug1:Function, hug2:String, hug3:String=null, hug4:String=null) { //MethodID:1837, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 51 super(); if((hug1 == null) || (hug2 == null)) throw new ArgumentError("GetRelation.GetRelation: invalid parameters."); this._loadFunc = hug1; this._apiURL = hug2; this.initialize(hug3, hug4); } //variables/etc. private var _loadFunc:Function; //slotID:0 private var _watchID:String; //slotID:0 private var _apiURL:String; //slotID:0 private var _category:String; //slotID:0 private var _loadedInfoContainer:_LoadedInfoContainer; //slotID:0 public function initialize(hug1:String, hug2:String):void { //MethodID:1838, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 24 this._watchID = hug1; this._category = hug2; this._loadedInfoContainer = new _LoadedInfoContainer(); } public function load(hug1:Function, hug2:Vector., hug3:Vector.=null, hug4:uint=0, hug5:String=null, hug6:String=null, hug7:uint=1):void { //MethodID:1842, LocalCount= 9 , MaxScope= 2, MaxStack= 10, CodeLength= 552 internal var onLoaded:Function; //slotID:1 internal var targets:Vector.; //slotID:2 internal var extTargets:Vector. = null; //slotID:3 internal var extTargetCount:uint = 0; //slotID:4 internal var sort:String = null; //slotID:5 internal var order:String = null; //slotID:6 internal var page:uint = 1; //slotID:7 internal var options:Object; //slotID:8 internal var extTargetsLength:uint; //slotID:9 internal var loadedResultMap:Object; //slotID:10 internal var targets2Load:Vector.; //slotID:11 internal var extTargets2Load:Vector.; //slotID:12 internal var extTargetCount2Load:uint; //slotID:13 internal var i:uint; //slotID:14 internal var filterTargets2UseCache:Function; //slotID:15 internal var createResult:Function; //slotID:16 options = null; loadedResultMap = null; targets2Load = null; extTargets2Load = null; extTargetCount2Load = 0; onLoaded = hug1; targets = hug2; extTargets = hug3; extTargetCount = hug4; sort = hug5; order = hug6; page = hug7; filterTargets2UseCache = function(hug1:Vector., hug2:Object, hug3:Object):Vector.{ //MethodID:1839, LocalCount= 9 , MaxScope= 0, MaxStack= 3, CodeLength= 97 var hug5:String = null; var hug6:IGetRelationResult = null; var hug4:Vector. = new Vector.(); for each(hug5 in hug1){ hug6 = _loadedInfoContainer.getResult(hug5, hug3); if(hug6 == null){ hug4.push(hug5); }else{ hug2[hug5] = hug6; } } return hug4; }; createResult = function(hug1:Object, hug2:IGetRelationResult=null):IGetRelationResult{ //MethodID:1840, LocalCount= 12 , MaxScope= 0, MaxStack= 5, CodeLength= 312 var hug3:Vector. = null; var hug4:Vector. = null; var hug5:String = null; var hug6:ILiveDJInfo = null; var hug7:String = null; var hug8:IGetRelationResult = null; for(hug7 in hug1){ hug8 = hug1[hug7]; var hug11:String = hug7; switch(hug11){ case GetRelationTarget.RELATED_VIDEO: hug3 = hug8.recommendedVideoList; break; case GetRelationTarget.OWNER_VIDEO: hug4 = hug8.ownerOtherVideoList; hug5 = hug8.ownerOtherVideoURL; break; case GetRelationTarget.LIVE_DJ: hug6 = hug8.liveDJInfo; break; default: break; } } if(hug2 != null){ if(hug2.recommendedVideoList != null) hug3 = hug2.recommendedVideoList; if(hug2.ownerOtherVideoList != null) hug4 = hug2.ownerOtherVideoList; if(hug2.ownerOtherVideoURL != null) hug5 = hug2.ownerOtherVideoURL; if(hug2.liveDJInfo != null) hug6 = hug2.liveDJInfo; } return GetRelationResultFactory.createByValues(hug3, hug4, hug5, hug6); }; if(((targets == null) || (targets.length == 0)) && ((extTargets == null) || (extTargets.length == 0))) throw new ArgumentError("GetRelation.load: no targets to load."); if(((extTargets == null) && (extTargetCount > 0)) || ((extTargets != null) && (extTargets.length < extTargetCount))) throw new ArgumentError("GetRelation.load: invalid extTargets or extTargetCount."); options = {sort:sort, order:order, page:page}; extTargetsLength = ((extTargets == null) ? 0 : extTargets.length); loadedResultMap = {}; targets2Load = filterTargets2UseCache(targets, loadedResultMap, options); extTargets2Load = filterTargets2UseCache(extTargets, loadedResultMap, options); extTargetCount2Load = extTargetCount; i = 0; while(i < extTargetCount){ if(this._loadedInfoContainer.getResult(extTargets[i], options) != null) extTargetCount2Load -= 1; i += 1; } if(extTargetCount2Load <= 0){ extTargetCount2Load = 0; extTargets2Load = null; } if((targets2Load.length == 0) && (extTargetCount2Load == 0)){ ObjectUtils.callLater(onLoaded, true, createResult(loadedResultMap)); return; } this._loadFunc(function(hug1:XML):void{ //MethodID:1841, LocalCount= 4 , MaxScope= 3, MaxStack= 6, CodeLength= 138 internal var response:XML; //slotID:1 internal var succeeded:Boolean; //slotID:2 internal var result:IGetRelationResult; //slotID:3 internal var result0:IGetRelationResult; //slotID:4 result = null; result0 = null; response = hug1; succeeded = true; try{ result0 = GetRelationResultFactory.createByResponse(response, targets2Load, extTargets2Load, extTargetCount2Load); _loadedInfoContainer.update(result0, options); } catch(error:Error){ succeeded = false; } if(succeeded) result = createResult(loadedResultMap, result0); onLoaded.apply(null, [succeeded, result]); }, this._apiURL, this._createRequestParameters(targets2Load, extTargets2Load, extTargetCount, sort, order, page), URLRequestMethod.GET); } private function _createRequestParameters(hug1:Vector., hug2:Vector.=null, hug3:uint=1, hug4:String=null, hug5:String=null, hug6:uint=1):Object { //MethodID:1843, LocalCount= 8 , MaxScope= 1, MaxStack= 4, CodeLength= 312 if(((hug1 == null) || (hug1.length == 0)) && ((hug2 == null) || (hug2.length == 0))) throw new ArgumentError("GetRelation._createParametes: invalid targets or extTargets."); if(hug6 == 0) throw new ArgumentError("GetRelation._createParameters: invalid page."); var hug7:Object = {}; hug7["video"] = this._watchID; if((hug1 != null) && (hug1.length > 0)) hug7["target"] = hug1.join(","); if((hug2 != null) && (hug2.length > 0)){ if((hug2.length < hug3) || (hug3 == 0)) throw new ArgumentError("GetRelation._createParameters. invalid extTargetCount."); hug7["ext_target"] = hug2.join(","); hug7["ext_target_count"] = hug3; } if(hug4 != null){ if(LOAD_SORT_VALUES.indexOf(hug4) == (-1)) throw new ArgumentError("GetRelation._createParameters. invalid sort."); hug7["sort"] = hug4; } if(hug5 != null){ if(LOAD_ORDER_VALUES.indexOf(hug5) == (-1)) throw new ArgumentError("GetRelation._createParameters. invalid order."); hug7["order"] = hug5; } if(hug6 > 1) hug7["page"] = hug6; return hug7; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function createRequestParameters(hug1:Vector., hug2:Vector.=null, hug3:uint=1, hug4:String=null, hug5:String=null, hug6:uint=1, ...args):Object { //MethodID:1844, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 14 return this._createRequestParameters.apply(this, args); } } } import jp.nicovideo.nicoplayer.models.api.relation.GetRelationTarget import jp.nicovideo.nicoplayer.models.api.relation.IGetRelationResult //■class(instance)_index:121 //private class _LoadedInfoContainer extends Object { //static constructor public static function _LoadedInfoContainer$cinit() { //MethodID:1826, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. private var _infoMap:Object; //slotID:0 public function update(hug1:IGetRelationResult, hug2:Object):void { //MethodID:1827, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 127 var hug3:String = null; if(hug1.recommendedVideoList != null){ hug3 = GetRelationTarget.RELATED_VIDEO; this._infoMap[this._createKey(hug3, hug2)] = new _LoadedInfo(hug3, hug1, hug2); } if(hug1.ownerOtherVideoList != null){ hug3 = GetRelationTarget.OWNER_VIDEO; this._infoMap[this._createKey(hug3, hug2)] = new _LoadedInfo(hug3, hug1); } if(hug1.liveDJInfo != null){ hug3 = GetRelationTarget.LIVE_DJ; this._infoMap[this._createKey(hug3, hug2)] = new _LoadedInfo(hug3, hug1); } } public function getResult(hug1:String, hug2:Object):IGetRelationResult { //MethodID:1828, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 48 var hug3:_LoadedInfo = this._infoMap[this._createKey(hug1, hug2)]; if((hug3 != null) && (hug3.data != null)) return hug3.data; return null; } private function _createKey(hug1:String, hug2:Object=null):String { //MethodID:1829, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 92 var hug4:String = null; if((hug2 == null) || (hug1 != GetRelationTarget.RELATED_VIDEO)) return hug1; var hug3:String = ("target:" + hug1); for(hug4 in hug2){ hug3 += ("," + hug4 + ":" + hug2[hug4]); } return hug3; } //constructor public function _LoadedInfoContainer() { //MethodID:1830, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this._infoMap = {}; super(); } } //■class(instance)_index:122 //private class _LoadedInfo extends Object { //static constructor public static function _LoadedInfo$cinit() { //MethodID:1831, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _LoadedInfo(hug1:String, hug2:IGetRelationResult, hug3:*=null) { //MethodID:1832, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 72 super(); if((GetRelation).LOAD_TARGETS.indexOf(hug1) == (-1)) throw new ArgumentError("_LoadedInfo._LoadedInfo: invalid parameters. requestTarget: \"" + hug1 + "\""); if(hug2 == null) throw new ArgumentError("_LoadedInfo._LoadedInfo: invalid parameters: data."); this._requestTarget = hug1; this._requestOptions = hug3; this._data = hug2; } //variables/etc. private var _requestTarget:String; //slotID:0 private var _requestOptions:*; //slotID:0 private var _data:IGetRelationResult; //slotID:0 public function get requestTarget():String { //MethodID:1833, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._requestTarget; } public function get requestOptions():* { //MethodID:1834, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._requestOptions; } public function get data():IGetRelationResult { //MethodID:1835, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._data; } } //■script103■ package jp.nicovideo.nicoplayer.models.comment{ import jp.nicovideo.nicoplayer.storages.ICommentStorage import jp.nicovideo.util.Functions import jp.nicovideo.util.events.event_sender use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); //■class(instance)_index:124 public class CommentStorageEvents extends Object implements EventSender { //static constructor public static function CommentStorageEvents$cinit() { //MethodID:1846, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommentStorageEvents(hug1:ICommentStorage) { //MethodID:1849, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 70 internal var commentStorage:ICommentStorage; //slotID:1 commentStorage = hug1; this.onWatchCountUpdated = new Functions(); this.onMylistCountUpdated = new Functions(); this.onServerTimeUpdated = new Functions(); super(); this.__commentStorage = commentStorage; commentStorage.onServerTimeUpdated = function(hug1:int):void{ //MethodID:1847, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 24 onServerTimeUpdated.apply(hug1); }; commentStorage.onViewCounterUpdated = function(hug1:int, hug2:int):void{ //MethodID:1848, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 47 onWatchCountUpdated.apply(hug1); onMylistCountUpdated.apply(hug2); }; } //variables/etc. private var __commentStorage:ICommentStorage; //slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) var onWatchCountUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) var onMylistCountUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) var onServerTimeUpdated:Functions;//slotID:0 public function get eventNames():Array { //MethodID:1850, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 14 return ["onWatchCountUpdated", "onMylistCountUpdated", "onServerTimeUpdated"]; } } } //■script104■ package jp.nicovideo.util{ import flash.display.Loader import flash.display.LoaderInfo import flash.events.Event import flash.events.IOErrorEvent import flash.events.SecurityErrorEvent import flash.net.URLLoader import flash.net.URLRequest import flash.net.URLRequestMethod import flash.net.URLVariables import flash.system.ApplicationDomain import flash.system.LoaderContext import flash.system.Security import flash.system.SecurityDomain //■class(instance)_index:125 public final class HTTPUtils extends Object { //static constructor public static function HTTPUtils$cinit() { //MethodID:1852, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //static variables/etc. public static function sendQuery(hug1:Function, hug2:String, hug3:Object):void { //dispID:3, MethodID:1854, LocalCount= 5 , MaxScope= 2, MaxStack= 5, CodeLength= 45 internal var f:Function; //slotID:1 internal var url:String; //slotID:2 internal var param:Object; //slotID:3 f = hug1; url = hug2; param = hug3; _loadData(function(hug1:String):URLVariables{ //MethodID:1853, LocalCount= 4 , MaxScope= 3, MaxStack= 3, CodeLength= 39 internal var data:String; //slotID:1 data = hug1; try{ return new URLVariables(data); } catch(e:Error){ } return null; }, f, url, param); } public static function sendPostData(hug1:Function, hug2:String, hug3:Object):void { //dispID:4, MethodID:1856, LocalCount= 5 , MaxScope= 2, MaxStack= 6, CodeLength= 51 internal var f:Function; //slotID:1 internal var url:String; //slotID:2 internal var param:Object; //slotID:3 f = hug1; url = hug2; param = hug3; _loadData(function(hug1:String):URLVariables{ //MethodID:1855, LocalCount= 4 , MaxScope= 3, MaxStack= 3, CodeLength= 39 internal var data:String; //slotID:1 data = hug1; try{ return new URLVariables(data); } catch(e:Error){ } return null; }, f, url, param, URLRequestMethod.POST); } public static function loadXML(hug1:Function, hug2:String, hug3:Object, hug4:String=null):void { //dispID:5, MethodID:1858, LocalCount= 6 , MaxScope= 2, MaxStack= 6, CodeLength= 55 internal var f:Function; //slotID:1 internal var url:String; //slotID:2 internal var param:Object; //slotID:3 internal var method:String = null; //slotID:4 f = hug1; url = hug2; param = hug3; method = hug4; _loadData(function(hug1:String):XML{ //MethodID:1857, LocalCount= 4 , MaxScope= 3, MaxStack= 3, CodeLength= 39 internal var data:String; //slotID:1 data = hug1; try{ return new XML(data); } catch(e:Error){ } return null; }, f, url, param, method); } public static function loadJSON(hug1:Function, hug2:String, hug3:Object, hug4:String=null):void { //dispID:6, MethodID:1860, LocalCount= 6 , MaxScope= 2, MaxStack= 6, CodeLength= 55 internal var f:Function; //slotID:1 internal var url:String; //slotID:2 internal var param:Object; //slotID:3 internal var method:String = null; //slotID:4 f = hug1; url = hug2; param = hug3; method = hug4; _loadData(function(hug1:String):Object{ //MethodID:1859, LocalCount= 4 , MaxScope= 3, MaxStack= 3, CodeLength= 41 internal var data:String; //slotID:1 data = hug1; try{ return JSON.decode(data); } catch(e:Error){ } return null; }, f, url, param, method); } private static function _loadData(hug1:Function, hug2:Function, hug3:String, hug4:Object, hug5:String=null):void { //dispID:7, MethodID:1863, LocalCount= 7 , MaxScope= 2, MaxStack= 5, CodeLength= 276 internal var convert:Function; //slotID:1 internal var f:Function; //slotID:2 internal var url:String; //slotID:3 internal var param:Object; //slotID:4 internal var method:String = null; //slotID:5 internal var loader:URLLoader; //slotID:6 internal var request:URLRequest; //slotID:7 internal var error_handler:Function; //slotID:8 error_handler = null; convert = hug1; f = hug2; url = hug3; param = hug4; method = hug5; error_handler = function(hug1:Event):void{ //MethodID:1861, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 10 f(null); }; if(method == null) method = URLRequestMethod.GET; loader = new URLLoader(); request = new URLRequest(); if(method == URLRequestMethod.GET){ request = new URLRequest(StringUtils.joinQuery(url, param)); request.method = URLRequestMethod.GET; } if(method == URLRequestMethod.POST){ request = new URLRequest(url); request.method = URLRequestMethod.POST; request.data = new URLVariables(StringUtils.queryString(param)); } loader.load(request); loader.addEventListener(Event.COMPLETE, function(hug1:Event):void{ //MethodID:1862, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 23 f(convert(hug1.target.data)); }); loader.addEventListener(IOErrorEvent.IO_ERROR, error_handler); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, error_handler); } public static function loadSWF(hug1:Function, hug2:String, hug3:Object):void { //dispID:8, MethodID:1866, LocalCount= 6 , MaxScope= 5, MaxStack= 7, CodeLength= 226 internal var f:Function; //slotID:1 internal var url:String; //slotID:2 internal var params:Object; //slotID:3 internal var loader:Loader; //slotID:4 internal var loaderInfo:LoaderInfo; //slotID:5 internal var error_handler:Function; //slotID:6 error_handler = null; f = hug1; url = hug2; params = hug3; error_handler = function(hug1:Event):void{ //MethodID:1864, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 10 f(null); }; loader = new Loader(); loaderInfo = loader.contentLoaderInfo; loaderInfo.addEventListener(Event.INIT, function(hug1:Event):void{ //MethodID:1865, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 16 f(hug1.target.content); }); loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, error_handler); loaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, error_handler); try{ loader.load(new URLRequest(StringUtils.joinQuery(url, params)), new LoaderContext(false, ApplicationDomain.currentDomain, ((Security.sandboxType == Security.REMOTE) ? SecurityDomain.currentDomain : null))); } catch(error:Error){ ObjectUtils.callLater(f, null); } } //constructor public function HTTPUtils() { //MethodID:1867, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script105■ package{ //■class(instance)_index:126 //private class _CommentTokenParam extends Object { //static constructor public static function _CommentTokenParam$cinit() { //MethodID:1882, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 SALT = "nimocon"; } //static variables/etc. public static const SALT:String = "nimocon"; //slotID:1 //constructor public function _CommentTokenParam() { //MethodID:1883, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } import jp.nicovideo.remocon.AlertState //■class(instance)_index:127 //private class _SeekPlusLevel extends Object { //static constructor public static function _SeekPlusLevel$cinit() { //MethodID:1884, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 LEVEL1 = "LV1"; LEVEL2 = "LV2"; LEVEL3 = "LV3"; } //static variables/etc. public static const LEVEL1:String = "LV1"; //slotID:1 public static const LEVEL2:String = "LV2"; //slotID:2 public static const LEVEL3:String = "LV3"; //slotID:3 public static function getState(hug1:Number, hug2:String):String { //dispID:3, MethodID:1885, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 208 if(isNaN(hug1)) throw new ArgumentError("_SeekPlusLevel.convertState: invalid param offset: " + hug1); var hug3:String = hug2; switch(hug3){ case LEVEL1: return ((hug1 > 0) ? AlertState.FAST_FOWARD_LV1 : AlertState.REWIND_LV1); case LEVEL2: return ((hug1 > 0) ? AlertState.FAST_FOWARD_LV2 : AlertState.REWIND_LV2); case LEVEL3: return ((hug1 > 0) ? AlertState.FAST_FOWARD_LV3 : AlertState.REWIND_LV3); default: throw new ArgumentError("_SeekPlusLevel.convertState: invalid param level: " + hug2); break; } } //constructor public function _SeekPlusLevel() { //MethodID:1886, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } public function defineRemoconMethods(hug1:IRemoconReceiver):void { //dispID:2, MethodID:1881, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 208 internal var receiver:IRemoconReceiver; //slotID:1 internal var createArgErrorText:Function; //slotID:2 receiver = hug1; createArgErrorText = function(hug1:String, hug2:String, hug3:Object):String{ //MethodID:1869, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 42 return (("defineRemoconMethods: invalid params. " + "method name: \"" + hug1 + "\"" + "param name: \"" + hug2 + "\"" + "value \"") + hug3[hug2].toString() + "\""); }; receiver.defineMethod(RemoconSystemMethodName.CHANGE_STATUS, function(hug1:Object):void{ //MethodID:1870, LocalCount= 5 , MaxScope= 0, MaxStack= 2, CodeLength= 213 RemoconState.instance.updateState(hug1.toString()); var hug2:String = hug1.toString(); var hug3:String = null; var hug4:String = hug2; switch(hug4){ case RemoconState.COMPLETE: hug3 = AlertState.REMOCON_CONNECT; break; case RemoconState.CLOSE: hug3 = AlertState.REMOCON_HALT; break; case RemoconState.ERROR: hug3 = AlertState.REMOCON_ERROR; break; case RemoconState.MAINTENANCE: hug3 = AlertState.REMOCON_MAINTENANCE; break; default: return; break; } RemoconNotifier(this.notifier).showAlert(hug3); }); receiver.defineMethod(RemoconMethodName.SET_VOL, function(hug1:Object):void{ //MethodID:1871, LocalCount= 5 , MaxScope= 4, MaxStack= 7, CodeLength= 252 internal var params:Object; //slotID:1 internal var newVolume:Number; //slotID:2 internal var config:IPlayerConfig; //slotID:3 params = hug1; newVolume = (parseFloat(params[RemoconMethodParamName.VOLUME]) / 100); if(isNaN(newVolume)) throw new ArgumentError(createArgErrorText(RemoconMethodName.SET_VOL, RemoconMethodParamName.VOLUME, params)); newVolume = Math.max(0, newVolume); newVolume = Math.min(1, newVolume); config = IPlayerConfig(this.playerConfig); try{ config.isMute = false; config.volume = newVolume; } finally{ RemoconNotifier(this.notifier).showAlert(AlertState.VOLUME, {value:(newVolume * 100).toString()}); } }); receiver.defineMethod(RemoconMethodName.SEEK_TO, function(hug1:Object):void{ //MethodID:1872, LocalCount= 9 , MaxScope= 0, MaxStack= 5, CodeLength= 241 var hug2:RemoconPlayerStateObserver = this.stateObserver; if(hug2.isHirobaMode || hug2.isNicowariMode) return; if(IControllerShutter(this.audioShutter).isClosing(AudioShutterConstants.SHUTTER_SEEK) || IControllerShutter(this.audioShutter).isClosing(AudioShutterConstants.SHUTTER_PLUGIN)) return; var hug3:IVideoController = this.videoController; var hug4:IVideo = hug3.videoWrapper; var hug5:Number = hug4.vpos; var hug6:Number = hug4.length; var hug7:Number = parseFloat(hug1[RemoconMethodParamName.VPOS]); if(isNaN(hug7)) throw new ArgumentError(createArgErrorText(RemoconMethodName.SEEK_TO, RemoconMethodParamName.VPOS, hug1)); var hug8:Number = (hug7 * 1000); hug8 = Math.max(0, hug8); hug8 = Math.min(hug6, hug8); if(hug8 == hug5) return; hug3.seek(hug8); RemoconNotifier(this.notifier).prepareVideoSeekSignal(hug5); }); receiver.defineMethod(RemoconMethodName.SEEK_PLUS, function(hug1:Object):void{ //MethodID:1873, LocalCount= 5 , MaxScope= 4, MaxStack= 7, CodeLength= 413 internal var params:Object; //slotID:1 internal var observer:RemoconPlayerStateObserver; //slotID:2 internal var controller:IVideoController; //slotID:3 internal var video:IVideo; //slotID:4 internal var currentVpos:Number; //slotID:5 internal var videoLength:Number; //slotID:6 internal var paramSec:Number; //slotID:7 internal var targetVpos:Number; //slotID:8 internal var state:String; //slotID:9 state = null; params = hug1; observer = this.stateObserver; if(observer.isHirobaMode || observer.isNicowariMode) return; if(IControllerShutter(this.audioShutter).isClosing(AudioShutterConstants.SHUTTER_SEEK) || IControllerShutter(this.audioShutter).isClosing(AudioShutterConstants.SHUTTER_PLUGIN)) return; controller = this.videoController; video = controller.videoWrapper; currentVpos = video.vpos; videoLength = video.length; paramSec = parseFloat(params[RemoconMethodParamName.OFFSET]); if(isNaN(paramSec)) throw new ArgumentError(createArgErrorText(RemoconMethodName.SEEK_PLUS, RemoconMethodParamName.OFFSET, params)); targetVpos = ((paramSec * 1000) + currentVpos); targetVpos = Math.max(0, targetVpos); targetVpos = Math.min(videoLength, targetVpos); if(targetVpos == currentVpos) return; try{ controller.seek(targetVpos); } finally{ state = (_SeekPlusLevel).getState(paramSec, params[RemoconMethodParamName.LEVEL]); RemoconNotifier(this.notifier).showAlert(state); } }); receiver.defineMethod(RemoconMethodName.SEEK_TO_ALERT, function(hug1:Object):void{ //MethodID:1874, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 22 RemoconNotifier(this.notifier).showAlert(AlertState.SEEK_CHANGE); }); receiver.defineMethod(RemoconMethodName.TOGGLE_PLAY, function(hug1:Object):void{ //MethodID:1875, LocalCount= 5 , MaxScope= 4, MaxStack= 4, CodeLength= 268 internal var params:Object; //slotID:1 internal var observer:RemoconPlayerStateObserver; //slotID:2 internal var controller:IVideoController; //slotID:3 internal var alertState:String; //slotID:4 alertState = null; params = hug1; observer = this.stateObserver; if(observer.isHirobaMode || observer.isNicowariMode) return; if(IControllerShutter(this.audioShutter).isClosing(AudioShutterConstants.SHUTTER_PLUGIN)) return; controller = this.videoController; try{ if(controller.videoWrapper.isEnd){ controller.seek(0); controller.play(); alertState = AlertState.PLAY; }else if(controller.isPlaying){ controller.stop(); alertState = AlertState.PAUSE; }else{ controller.play(); alertState = AlertState.PLAY; } } finally{ RemoconNotifier(this.notifier).showAlert(alertState); } }); receiver.defineMethod(RemoconMethodName.TOGGLE_REPEAT, function(hug1:Object):void{ //MethodID:1876, LocalCount= 5 , MaxScope= 4, MaxStack= 4, CodeLength= 183 internal var params:Object; //slotID:1 internal var observer:RemoconPlayerStateObserver; //slotID:2 internal var playerConfig:IPlayerConfig; //slotID:3 internal var newSetting:Boolean; //slotID:4 params = hug1; observer = this.stateObserver; if(observer.isHirobaMode || observer.isNicowariMode) return; playerConfig = this.playerConfig; newSetting = !playerConfig.isLoop; try{ playerConfig.isLoop = newSetting; } finally{ RemoconNotifier(this.notifier).showAlert(newSetting ? AlertState.REPEAT_ON : AlertState.REPEAT_OFF); } }); receiver.defineMethod(RemoconMethodName.TOGGLE_MUTE, function(hug1:Object):void{ //MethodID:1877, LocalCount= 5 , MaxScope= 4, MaxStack= 7, CodeLength= 173 internal var params:Object; //slotID:1 internal var playerConfig:IPlayerConfig; //slotID:2 internal var newSetting:Boolean; //slotID:3 params = hug1; playerConfig = this.playerConfig; newSetting = !playerConfig.isMute; try{ playerConfig.isMute = newSetting; } finally{ if(newSetting){ RemoconNotifier(this.notifier).showAlert(AlertState.MUTE_ON); }else{ RemoconNotifier(this.notifier).showAlert(AlertState.MUTE_OFF, {value:(playerConfig.volume * 100)}); } } }); receiver.defineMethod(RemoconMethodName.TOGGLE_FULLSCREEN, function(hug1:Object):void{ //MethodID:1878, LocalCount= 5 , MaxScope= 4, MaxStack= 5, CodeLength= 212 internal var params:Object; //slotID:1 internal var observer:RemoconPlayerStateObserver; //slotID:2 internal var config:IPlayerConfig; //slotID:3 internal var newSetting:uint; //slotID:4 params = hug1; observer = this.stateObserver; if(observer.isNicowariMode) return; config = this.playerConfig; newSetting = ((config.screenMode == ScreenMode.NORMAL) ? ScreenMode.BROWSER_FULL : ScreenMode.NORMAL); try{ RemoconFullScreenKeeper(this.fullScreenKeeper).update(newSetting); } finally{ RemoconNotifier(this.notifier).showAlert((newSetting == ScreenMode.NORMAL) ? AlertState.FULLSCREEN_OFF : AlertState.FULLSCREEN_ON); } }); receiver.defineMethod(RemoconMethodName.TOGGLE_COMMENT_VISIBLE, function(hug1:Object):void{ //MethodID:1879, LocalCount= 5 , MaxScope= 4, MaxStack= 4, CodeLength= 145 internal var params:Object; //slotID:1 internal var config:IPlayerConfig; //slotID:2 internal var newSetting:Boolean; //slotID:3 params = hug1; config = this.playerConfig; newSetting = !config.commentVisible; try{ config.commentVisible = newSetting; } finally{ RemoconNotifier(this.notifier).showAlert(newSetting ? AlertState.COMMENT_VISIBLE : AlertState.COMMENT_INVISIBLE); } }); receiver.defineMethod(RemoconMethodName.POST_COMMENT, function(hug1:Object):void{ //MethodID:1880, LocalCount= 10 , MaxScope= 0, MaxStack= 4, CodeLength= 371 var hug8:CommentBuilder = null; var hug9:IVideoController = null; var hug2:uint = 0; while(hug2 < CommentShutterConstants.END_OF_ENUM){ if(IControllerShutter(this.commentShutter).isClosing(hug2)) return; hug2++; } var hug3:RemoconPlayerStateObserver = this.stateObserver; if(hug3.isHirobaMode || hug3.isNicowariMode) return; var hug4:String = hug1[RemoconMethodParamName.TEXT]; var hug5:String = hug1[RemoconMethodParamName.COMMAND]; var hug6:Number = Number(hug1[RemoconMethodParamName.EXPIRE]); var hug7:String = hug1[RemoconMethodParamName.TOKEN]; if(!isNaN(hug6) && (hug6 >= TimeUtils.time) && (hug4 != null) && (hug4 != "") && (hug7 == MD5.hash(((_CommentTokenParam).SALT + "." + hug4 + "." + hug5 + ".") + hug6.toString()))){ hug8 = new CommentBuilder(); hug9 = this.videoController; hug8.vpos = hug9.videoWrapper.vpos; hug8.message = hug4; hug8.command = new Command(hug5, this.isPremium); hug8.date = TimeUtils.now(); hug8.isPremium = this.isPremium; hug8.userName = this.userName; hug8.userID = this.userID; RemoconNotifier(this.notifier).prepareCommentPostAlert(); ICommentRouter(this.commentRouter).post(hug8.make()); } }); } //■script106■ package jp.nicovideo.nicoplayer.models.api{ //■class(instance)_index:128 public interface IInitializeInfo { //static constructor public static function IInitializeInfo$cinit() { //MethodID:1888, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get userID():String; //MethodID:1889, dispID:0 function get nickname():String; //MethodID:1890, dispID:0 function get isPremium():Boolean; //MethodID:1891, dispID:0 function get ngRevision():Number; //MethodID:1892, dispID:0 function get isNGMaintenance():Boolean; //MethodID:1893, dispID:0 function get feedrev():String; //MethodID:1894, dispID:0 function get recentPremiumUsers():Object; //MethodID:1895, dispID:0 //constructor public function IInitializeInfo(); //MethodID:1896, dispID:0 } } //■script107■ package jp.nicovideo.nicoplayer.models.api{ //■class(instance)_index:129 public class InitializeInfo extends Object implements IInitializeInfo { //static constructor public static function InitializeInfo$cinit() { //MethodID:1898, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 isInit = false; } //static variables/etc. private static var _instance:InitializeInfo; //slotID:1 private static var isInit:Boolean = false; //slotID:2 public static function init(hug1:String, hug2:String, hug3:Boolean, hug4:Number, hug5:Boolean, hug6:String, hug7:Object):InitializeInfo { //dispID:3, MethodID:1899, LocalCount= 8 , MaxScope= 1, MaxStack= 2, CodeLength= 93 if(!_instance) _instance = new InitializeInfo(); if(isInit) return _instance; _instance.userID = hug1; _instance.nickname = hug2; _instance.isPremium = hug3; _instance.ngRevision = hug4; _instance.isNGMaintenance = hug5; _instance.feedrev = hug6; _instance.recentPremiumUsers = hug7; isInit = true; return _instance; } public static function getInstance():InitializeInfo { //dispID:4, MethodID:1900, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24 if(!isInit) throw new Error("initializeInfo not initialize"); return _instance; } //constructor public function InitializeInfo() { //MethodID:1901, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24 super(); if(_instance) throw new Error("initializeInfo is singleton"); } //variables/etc. private var _userID:String; //slotID:0 private var _nickname:String; //slotID:0 private var _isPremium:Boolean = false; //slotID:0 private var _ngRevision:Number; //slotID:0 private var _isNGMaintenance:Boolean = false; //slotID:0 private var _feedrev:String; //slotID:0 private var _recentPremiumUsers:Object; //slotID:0 public function get userID():String { //MethodID:1902, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._userID; } public function set userID(hug1:String):void { //MethodID:1903, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._userID = hug1; } public function get nickname():String { //MethodID:1904, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._nickname; } public function set nickname(hug1:String):void { //MethodID:1905, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._nickname = hug1; } public function get isPremium():Boolean { //MethodID:1906, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isPremium; } public function set isPremium(hug1:Boolean):void { //MethodID:1907, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isPremium = hug1; } public function get ngRevision():Number { //MethodID:1908, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._ngRevision; } public function set ngRevision(hug1:Number):void { //MethodID:1909, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._ngRevision = hug1; } public function get isNGMaintenance():Boolean { //MethodID:1910, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isNGMaintenance; } public function set isNGMaintenance(hug1:Boolean):void { //MethodID:1911, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isNGMaintenance = hug1; } public function get feedrev():String { //MethodID:1912, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._feedrev; } public function set feedrev(hug1:String):void { //MethodID:1913, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._feedrev = hug1; } public function set recentPremiumUsers(hug1:Object):void { //MethodID:1914, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._recentPremiumUsers = hug1; } public function get recentPremiumUsers():Object { //MethodID:1915, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._recentPremiumUsers; } } } //■script108■ package jp.nicovideo.nicoplayer.models.comment{ //■class(instance)_index:130 public interface IEditableCommentList implements ICommentList { //static constructor public static function IEditableCommentList$cinit() { //MethodID:1917, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function editCommentList(hug1:Array, hug2:Array, hug3:Function):void; //MethodID:1918, dispID:0 //constructor public function IEditableCommentList(); //MethodID:1919, dispID:0 } } //■script109■ package jp.nicovideo.nicoplayer.models.comment{ import flash.errors.IllegalOperationError import jp.nicovideo.nicoplayer.models.SystemMessage import jp.nicovideo.nicoplayer.storages.CommentPostResultStatus import jp.nicovideo.nicoplayer.storages.CommentStorageError import jp.nicovideo.nicoplayer.storages.ICommentStorage import jp.nicovideo.nicoplayer.storages.ICommentStorageHandle import jp.nicovideo.nicoplayer.storages.MessageServerClient import jp.nicovideo.util.ArrayUtils import jp.nicovideo.util.Functions import jp.nicovideo.util.ObjectUtils import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.events.event_sender import jp.nicovideo.util.loka.__MSG__ use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:131 public class CommentList extends Object implements IEditableCommentList { //static constructor public static function CommentList$cinit() { //MethodID:1921, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommentList(hug1:String, hug2:Number, hug3:ICommentStorage, hug4:String, hug5:Boolean=false, hug6:Boolean=false) { //MethodID:1924, LocalCount= 8 , MaxScope= 2, MaxStack= 5, CodeLength= 427 internal var threadID:String; //slotID:1 internal var videoLength:Number; //slotID:2 internal var commentStorage:ICommentStorage; //slotID:3 internal var name:String; //slotID:4 internal var isMymemory:Boolean = false; //slotID:5 internal var isLeaf:Boolean = false; //slotID:6 internal var leafs:uint; //slotID:7 leafs = 0; threadID = hug1; videoLength = hug2; commentStorage = hug3; name = hug4; isMymemory = hug5; isLeaf = hug6; this._comments = []; this.clickedResNoMapping = {}; this._pastCommentList = []; this._yourPosts = {}; this.onCommentListInitialized = new Functions(); this.onCommentListUpdated = new Functions(); this.onCommentPost = new Functions(); this.onCommentPostFinished = new Functions(); this.onCommentCountUpdated = new Functions(); super(); this._this = this; this._threadID = threadID; this._storage = commentStorage; this._name = name; this._isMymemory = isMymemory; this._leafMode = isLeaf; this._leafMaxNum = this.LEAF_MAX_NUM_DEFAULT; if(this._leafMode && (videoLength >= ((12 * 60 * 60 * 60) * 1000))){ leafs = Math.floor((videoLength + (10 * 1000)) / (60 * 1000)); this._leafMaxNum = Math.floor((this.LEAF_MAX_NUM_DEFAULT * 720) / leafs); } this._handle = this._storage.attach(this._threadID); this._handle.autoSyncEnabled = true; this._handle.isCommunityThread = (this._name == CommentConstants.CL_PRIVATE); this._handle.onComments = this.__onComments; this._handle.onNumberOfClick = function(hug1:int, hug2:int):void{ //MethodID:1923, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 178 internal var no:int; //slotID:1 internal var count:int; //slotID:2 internal var index:int; //slotID:3 internal var original:IComment; //slotID:4 internal var builder:CommentBuilder; //slotID:5 no = hug1; count = hug2; index = ArrayUtils.lowerBoundIndex(function(hug1:int, hug2:IComment):Number{ //MethodID:1922, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 7 return (hug1 - hug2.resNo); }, no, _comments); if((index == (-1)) || (_comments[index].resNo != no)) return; original = _comments[index]; if(original.clickCount == count) return; builder = new CommentBuilder(original); builder.clickCount = count; _comments[index] = builder.make(); __reflect(false, NaN, [_comments[index]], []); }; this.commentLimit = 100; if(this._isMymemory || (videoLength >= 0x927C0)){ this.commentLimit = 1000; }else if(videoLength >= 0x493E0){ this.commentLimit = 500; }else if(videoLength >= 0xEA60){ this.commentLimit = 250; } if(name == CommentConstants.CL_NICOS) this.commentLimit /= 2; } //variables/etc. private const LEAF_MAX_NUM_DEFAULT:uint = 100; //slotID:0 private var _this:ICommentList; //slotID:0 private var _threadID:String; //slotID:0 private var _name:String = "commentlist:main"; //slotID:0 private var _comments:Array; //slotID:0 private var _isMymemory:Boolean; //slotID:0 private var _storage:ICommentStorage; //slotID:0 private var _handle:ICommentStorageHandle; //slotID:0 private var commentLimit:uint = 0; //slotID:0 private var clickedResNoMapping:Object; //slotID:0 private var _hasInitialized:Boolean = false; //slotID:0 private var _pastCommentList:Array; //slotID:0 private var _lastPastDate:Date; //slotID:0 private var _pastMode:Boolean; //slotID:0 private var _yourPosts:Object; //slotID:0 private var _leafMode:Boolean; //slotID:0 private var _leafMaxNum:uint; //slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onCommentListInitialized:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onCommentListUpdated:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onCommentPost:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onCommentPostFinished:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onCommentCountUpdated:Functions;//slotID:0 public function get eventNames():Array { //MethodID:1925, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 24 var hug1:Array = ["onCommentListInitialized", "onCommentListUpdated", "onCommentPost", "onCommentPostFinished", "onCommentCountUpdated"]; return hug1; } public function initialize(hug1:Function):void { //MethodID:1928, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 53 internal var f:Function; //slotID:1 f = hug1; if(this._hasInitialized) throw new IllegalOperationError("CommentList.initialize: Already initialized."); this._handle.enterThread(function(hug1:CommentStorageError, hug2:Array):void{ //MethodID:1927, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 91 internal var e:CommentStorageError; //slotID:1 internal var comments:Array; //slotID:2 e = hug1; comments = hug2; if(e){ f(e); return; } _comments = comments.map(function(hug1:IComment, ...rest):IComment{ //MethodID:1926, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 23 var hug3:* = new CommentBuilder(hug1); hug3.commentList = _this; return hug3.make(); }); __reflect(false, NaN, comments.concat(), [], true); _hasInitialized = true; f(null); }, (this.commentLimit * (-1)), this._leafMode); } public function reload(hug1:Function):void { //MethodID:1932, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 23 internal var f:Function; //slotID:1 f = hug1; this._handle.leaveThread(function(hug1:CommentStorageError):void{ //MethodID:1931, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 47 internal var e:CommentStorageError; //slotID:1 e = hug1; if(e){ f(e); return; } _handle.enterThread(function(hug1:CommentStorageError, hug2:Array):void{ //MethodID:1930, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 89 internal var e:CommentStorageError; //slotID:1 internal var comments:Array; //slotID:2 e = hug1; comments = hug2; if(e){ f(e); return; } _comments = comments.map(function(hug1:IComment, ...rest):IComment{ //MethodID:1929, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 23 var hug3:* = new CommentBuilder(hug1); hug3.commentList = _this; return hug3.make(); }); __reflect(_pastMode, _handle.lastRes, comments.concat(), [], true); f(null); }, (commentLimit * (-1))); }); } public function update(hug1:Function):void { //MethodID:1934, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 37 internal var f:Function; //slotID:1 f = hug1; this._handle.getThread(function(hug1:CommentStorageError, hug2:Array):void{ //MethodID:1933, LocalCount= 3 , MaxScope= 0, MaxStack= 4, CodeLength= 74 if(hug1){ SystemMessage.instance.informln((__MSG__("スレッドの更新に失敗:" + hug1.status) + "
"), false, true); f(hug1); return; } if(hug2.length != 0) __onComments(hug2); f(null); }, (this._handle.lastRes + 1), this._leafMode); } public function post(hug1:IComment):void { //MethodID:1936, LocalCount= 3 , MaxScope= 2, MaxStack= 5, CodeLength= 68 internal var comment:IComment; //slotID:1 comment = hug1; onCommentPost.apply(comment, this.name); this._handle.post(function(hug1:CommentStorageError, hug2:int):void{ //MethodID:1935, LocalCount= 7 , MaxScope= 0, MaxStack= 6, CodeLength= 211 var hug3:String = CommentPostResultStatus.FAILURE; var hug4:uint = (hug1 ? hug1.status : MessageServerClient.POST_SUCCESS); if(hug4 < CommentPostResultStatus.SERVER_RESPONSE_MAP.length) hug3 = CommentPostResultStatus.SERVER_RESPONSE_MAP[hug4]; onCommentPostFinished.apply(_threadID, hug3, hug2); if(hug1 != null){ __reflect(false, NaN, [], [comment], false); return; } var hug5:CommentBuilder = new CommentBuilder(comment); hug5.resNo = hug2; hug5.justPosted = true; hug5.commentList = _this; hug5.isTrunk = true; var hug6:IComment = hug5.make(); _comments = CommentListUtils.add(_comments, [hug6]); __reflect(false, NaN, [hug6], [comment]); _yourPosts[hug2] = true; }, comment, (this.name == CommentConstants.CL_NICOS)); } public function get currentList():Array { //MethodID:1937, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this._comments.concat(); } public function isClickable(hug1:IComment):Boolean { //MethodID:1938, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27 return (this._isMymemory || !this.clickedResNoMapping[hug1.resNo]); } public function clickButtonComment(hug1:IComment):void { //MethodID:1940, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 84 internal var buttonComment:IComment; //slotID:1 buttonComment = hug1; if(this.clickedResNoMapping[buttonComment.resNo]){ SystemMessage.instance.informComment(__MSG__("ボタンのクリックは1回だけです。")); return; } this.clickedResNoMapping[buttonComment.resNo] = true; this._handle.click(function(hug1:CommentStorageError):void{ //MethodID:1939, LocalCount= 4 , MaxScope= 0, MaxStack= 5, CodeLength= 120 if(hug1){ SystemMessage.instance.informln(__MSG__("ボタンコメントのクリックに失敗")); return; } SystemMessage.instance.informln(__MSG__("ボタンのクリックに成功")); var hug2:CommentBuilder = new CommentBuilder(buttonComment); hug2.clickCount = (buttonComment.clickCount + 1); var hug3:Number = _comments.indexOf(buttonComment); _comments[hug3] = hug2.make(); __reflect(false, NaN, [_comments[hug3]], []); }, buttonComment.resNo); } public function serveCommentList():void { //MethodID:1941, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 92 if(this._pastMode){ this.__reflect(this._pastMode, ((this._pastCommentList.length == 0) ? 0 : this._pastCommentList[this._pastCommentList.length - 1]), this._pastCommentList.concat(), [], true); return; } this.__reflect(this._pastMode, NaN, this._comments.concat(), [], true); } public function get name():String { //MethodID:1942, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._name; } public function editCommentList(hug1:Array, hug2:Array, hug3:Function):void { //MethodID:1946, LocalCount= 5 , MaxScope= 2, MaxStack= 3, CodeLength= 136 internal var deleteList:Array; //slotID:1 internal var undeleteList:Array; //slotID:2 internal var callback:Function; //slotID:3 internal var seq:Array; //slotID:4 internal var progress:Function; //slotID:5 seq = null; progress = null; deleteList = hug1; undeleteList = hug2; callback = hug3; progress = function(hug1:CommentStorageError):void{ //MethodID:1943, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 56 if(hug1){ callback(false); }else if(seq.length == 0){ callback(true); }else{ seq.pop().apply(null); } }; SystemMessage.instance.informln(__MSG__("コメントの編集内容を送信:") + this.name); seq = []; if(deleteList.length != 0){ seq.push(function():void{ //MethodID:1944, LocalCount= 1 , MaxScope= 0, MaxStack= 4, CodeLength= 15 _handle.deleteComments(progress, deleteList, false); }); } if(undeleteList.length != 0){ seq.push(function():void{ //MethodID:1945, LocalCount= 1 , MaxScope= 0, MaxStack= 4, CodeLength= 15 _handle.deleteComments(progress, undeleteList, true); }); } progress(null); } private function __onComments(hug1:Array):void { //MethodID:1953, LocalCount= 3 , MaxScope= 2, MaxStack= 6, CodeLength= 540 internal var comments:Array; //slotID:1 internal var removes:Array; //slotID:2 internal var _leavesNum:Object; //slotID:3 internal var maxLeafID:int; //slotID:4 internal var noTrunk:Array; //slotID:5 internal var i:uint; //slotID:6 internal var __comments:Array; //slotID:7 internal var deleteNum:uint; //slotID:8 removes = null; _leavesNum = null; maxLeafID = 0; noTrunk = null; i = 0; __comments = null; deleteNum = 0; comments = hug1; comments = comments.map(function(hug1:IComment, ...rest):IComment{ //MethodID:1947, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 53 var hug3:* = new CommentBuilder(hug1); hug3.commentList = _this; if(_yourPosts[hug1.resNo]){ delete _yourPosts[hug1.resNo]; hug3.justPosted = true; } return hug3.make(); }); this._comments = CommentListUtils.add(this._comments, comments); removes = []; if(!this._leafMode){ removes = ((this._comments.length > this.commentLimit) ? this._comments.splice(0, (this._comments.length - this.commentLimit)) : []); }else{ _leavesNum = {}; maxLeafID = 0; noTrunk = ((this._comments.length > this.commentLimit) ? this._comments.splice(0, (this._comments.length - this.commentLimit)) : []); noTrunk = noTrunk.map(function(hug1:IComment, ...rest):IComment{ //MethodID:1948, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 58 var hug3:* = undefined; if(hug1.isTrunk && ((_handle.lastRes - hug1.resNo) >= commentLimit)){ hug3 = new CommentBuilder(hug1); hug3.isTrunk = false; hug1 = hug3.make(); } return hug1; }); this._comments = this._comments.splice(0, this.commentLimit).concat(noTrunk); this._comments.forEach(function(hug1:IComment, ...rest):void{ //MethodID:1949, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 73 var hug3:int = hug1.leafID; if((_leavesNum[hug3] == undefined) || (_leavesNum[hug3] == null)) _leavesNum[hug3] = []; if(hug3 > maxLeafID) maxLeafID = hug3; _leavesNum[hug3].push(hug1); }); i = 0; while(i <= maxLeafID){ if((_leavesNum[i] != undefined) && (_leavesNum[i] != null) && (_leavesNum[i].length > this._leafMaxNum)){ __comments = _leavesNum[i]; __comments.sortOn("resNo", Array.NUMERIC); deleteNum = (__comments.length - this._leafMaxNum); removes = removes.concat(__comments.slice(0, deleteNum)); } i += 1; } removes = removes.filter(function(hug1:IComment, ...rest):Boolean{ //MethodID:1950, LocalCount= 3 , MaxScope= 0, MaxStack= 1, CodeLength= 6 return !hug1.isTrunk; }); this._comments = this._comments.filter(function(hug1:IComment, ...rest):Boolean{ //MethodID:1952, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 41 internal var comment:IComment; //slotID:1 public var _:Array; //slotID:2 internal var undelete_flag:*; //slotID:3 undelete_flag = undefined; comment = hug1; internal var _:Object = rest; undelete_flag = true; removes.every(function(hug1:IComment, ...rest):Boolean{ //MethodID:1951, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 25 if(comment.resNo == hug1.resNo) undelete_flag = false; return undelete_flag; }); return undelete_flag; }); this._comments = this._comments.sortOn("resNo", Array.NUMERIC); } this.__reflect(false, NaN, comments, removes, false); } private function __reflect(hug1:Boolean, hug2:Number, hug3:Array, hug4:Array, hug5:Boolean=false):void { //MethodID:1954, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 92 if(this._pastMode != hug1) return; onCommentCountUpdated.apply(isNaN(hug2) ? this._handle.lastRes : hug2); onCommentListUpdated.apply(hug3, hug4, hug5, this.name); } public function toString():String { //MethodID:1955, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.name; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigAutomaticLoadingUpdated(hug1:Boolean):EventResult { //MethodID:1956, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16 this._handle.autoSyncEnabled = hug1; return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onTimeMachineDateUpdated(hug1:Boolean, hug2:Date=null):EventResult { //MethodID:1961, LocalCount= 4 , MaxScope= 2, MaxStack= 5, CodeLength= 152 internal var pastFlag:Boolean; //slotID:1 internal var pastDate:Date = null; //slotID:2 pastFlag = hug1; pastDate = hug2; this._pastMode = pastFlag; if(pastFlag){ if(!this.compareDate(this._lastPastDate, pastDate)){ this._lastPastDate = (pastDate ? new Date(pastDate.time) : null); this._handle.waybackThread(function(hug1:CommentStorageError, hug2:Array):void{ //MethodID:1958, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 133 internal var e:CommentStorageError; //slotID:1 internal var comments:Array; //slotID:2 e = hug1; comments = hug2; if(e){ SystemMessage.instance.informln((__MSG__("過去ログの取得に失敗:" + e.status) + "
"), false, true); return; } _pastCommentList = comments.map(function(hug1:IComment, ...rest):IComment{ //MethodID:1957, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 23 var hug3:* = new CommentBuilder(hug1); hug3.commentList = _this; return hug3.make(); }); __reflect(true, ((comments.length != 0) ? comments[comments.length - 1].resNo : 0), comments.concat(), [], true); }, int(this._lastPastDate.getTime() / 1000), this.commentLimit, this._leafMode); }else{ ObjectUtils.callLater(function():void{ //MethodID:1959, LocalCount= 1 , MaxScope= 0, MaxStack= 6, CodeLength= 55 __reflect(true, ((_pastCommentList.length != 0) ? _pastCommentList[_pastCommentList.length - 1].resNo : 0), _pastCommentList.concat(), [], true); }); } }else{ ObjectUtils.callLater(function():void{ //MethodID:1960, LocalCount= 1 , MaxScope= 0, MaxStack= 6, CodeLength= 22 __reflect(false, NaN, _comments.concat(), [], true); }); } return EventResult.THROUGH; } private function compareDate(hug1:Date, hug2:Date):Boolean { //MethodID:1962, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 72 if(!hug1 && !hug2) return true; if((!hug1 && hug2) || (hug1 && !hug2)) return false; if(hug1.time == hug2.time) return true; return false; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsEnabledLeafMode(hug1:Boolean):EventResult { //MethodID:1967, LocalCount= 3 , MaxScope= 2, MaxStack= 5, CodeLength= 110 internal var _enable:Boolean; //slotID:1 _enable = hug1; this._leafMode = (_enable && (this._name != CommentConstants.CL_NICOS)); this._handle.getThread(function(hug1:CommentStorageError, hug2:Array):void{ //MethodID:1964, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 97 internal var e:CommentStorageError; //slotID:1 internal var comments:Array; //slotID:2 e = hug1; comments = hug2; if(e){ SystemMessage.instance.informln((__MSG__("スレッドの更新に失敗:" + e.status) + "
"), false, true); return; } _comments = comments.map(function(hug1:IComment, ...rest):IComment{ //MethodID:1963, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 23 var hug3:* = new CommentBuilder(hug1); hug3.commentList = _this; return hug3.make(); }); __reflect(false, NaN, comments.concat(), [], true); }, (this.commentLimit * (-1)), this._leafMode); if(this._pastMode){ this._handle.waybackThread(function(hug1:CommentStorageError, hug2:Array):void{ //MethodID:1966, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 133 internal var e:CommentStorageError; //slotID:1 internal var comments:Array; //slotID:2 e = hug1; comments = hug2; if(e){ SystemMessage.instance.informln((__MSG__("過去ログの取得に失敗:" + e.status) + "
"), false, true); return; } _pastCommentList = comments.map(function(hug1:IComment, ...rest):IComment{ //MethodID:1965, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 23 var hug3:* = new CommentBuilder(hug1); hug3.commentList = _this; return hug3.make(); }); __reflect(true, ((comments.length != 0) ? comments[comments.length - 1].resNo : 0), comments.concat(), [], true); }, int(this._lastPastDate.getTime() / 1000), this.commentLimit, this._leafMode); } return EventResult.THROUGH; } public function get leavesNum():String { //MethodID:1970, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 81 internal var _leaves:Array; //slotID:1 internal var _leaves_num:String; //slotID:2 _leaves = null; if(!this._leafMode) return ""; _leaves = []; this._comments.forEach(function(hug1:*, hug2:int, hug3:Array):void{ //MethodID:1968, LocalCount= 8 , MaxScope= 0, MaxStack= 4, CodeLength= 62 var hug4:int = hug1.leafID; if(_leaves[hug4]) _leaves[hug4] = 0; _leaves[hug4]++; }); _leaves_num = ""; _leaves.map(function(hug1:*, hug2:int, hug3:Array):String{ //MethodID:1969, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 15 return ((hug2 + 1).toString() + hug1.toString()); }); _leaves_num = _leaves.join(","); return _leaves_num; } public function get threadID():String { //MethodID:1971, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._threadID; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get threadID():String { //MethodID:1972, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._threadID; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get _this():ICommentList { //MethodID:1973, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._this; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get lastResNo():Number { //MethodID:1974, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._handle.lastRes; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get comments():Array { //MethodID:1975, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._comments; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get isInitialized():Boolean { //MethodID:1976, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hasInitialized; } } } //■script110■ package jp.nicovideo.marquee{ import flash.display.MovieClip //■class(instance)_index:132 public interface INicoMarqueePlayer { //static constructor public static function INicoMarqueePlayer$cinit() { //MethodID:1978, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function interruptContent(hug1:String, hug2:MovieClip, hug3:Number, hug4:Function, hug5:Function, hug6:Number=0.5):Boolean;//MethodID:1979, dispID:0 function endInterruptContent(hug1:int=-1):void; //MethodID:1980, dispID:0 function updateFeedList(hug1:XML):void; //MethodID:1981, dispID:0 function updateAspect(hug1:uint):void; //MethodID:1982, dispID:0 function setRecentPremiumUsers(hug1:Object):void; //MethodID:1983, dispID:0 function updateScreenMode(hug1:uint):void; //MethodID:1984, dispID:0 function updateNicowariSkip(hug1:Boolean):void; //MethodID:1985, dispID:0 //constructor public function INicoMarqueePlayer(); //MethodID:1986, dispID:0 } } //■script111■ package jp.nicovideo.util{ import flash.utils.setTimeout //■class(instance)_index:133 public final class ObjectUtils extends Object { //static constructor public static function ObjectUtils$cinit() { //MethodID:1988, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //static variables/etc. public static function callLater(hug1:Function, ...rest):void { //dispID:3, MethodID:1990, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 29 internal var f:Function; //slotID:1 public var args:Array; //slotID:2 f = hug1; internal var args:Object = rest; setTimeout(function():void{ //MethodID:1989, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12 f.apply(null, args); }, 0); } public static function bind(hug1:Function, hug2:Object):Function { //dispID:4, MethodID:1992, LocalCount= 4 , MaxScope= 2, MaxStack= 2, CodeLength= 20 internal var f:Function; //slotID:1 internal var receiver:Object; //slotID:2 f = hug1; receiver = hug2; return function(... rest):*{ //MethodID:1991, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 12 return f.apply(receiver, rest); }; } public static function values(hug1:*):Array { //dispID:5, MethodID:1993, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 49 var hug3:* = undefined; var hug2:Array = []; for each(hug3 in hug1){ hug2.push(hug3); } return hug2; } //constructor public function ObjectUtils() { //MethodID:1994, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script112■ package jp.nicovideo.nicoplayer.models.video{ //■class(instance)_index:134 public interface IVideoController { //static constructor public static function IVideoController$cinit() { //MethodID:1996, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function startToPlay(hug1:Boolean=false):void; //MethodID:1997, dispID:0 function play(hug1:String=null):void; //MethodID:1998, dispID:0 function stop(hug1:String=null):void; //MethodID:1999, dispID:0 function seek(hug1:Number, hug2:Boolean=false):void; //MethodID:2000, dispID:0 function get isPlaying():Boolean; //MethodID:2001, dispID:0 function get videoWrapper():IVideo; //MethodID:2002, dispID:0 function get mainVideo():IVideo; //MethodID:2003, dispID:0 function get mainTotalLength():Number; //MethodID:2004, dispID:0 //constructor public function IVideoController(); //MethodID:2005, dispID:0 } } //■script113■ package jp.nicovideo.nicoplayer.models.video{ import flash.events.TimerEvent import flash.utils.Timer import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.ScreenAspectRatio import jp.nicovideo.nicoplayer.models.SystemMessage import jp.nicovideo.nicoplayer.views.VideoLayerConstants import jp.nicovideo.util.Functions import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.events.event_sender import jp.nicovideo.util.loka.__MSG__ use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:136 public class VideoController extends Object implements IVideoController { //static constructor public static function VideoController$cinit() { //MethodID:2011, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function VideoController(hug1:VideoWrapper, hug2:IPlayerConfig, hug3:Boolean=false, hug4:Boolean=false) { //MethodID:2013, LocalCount= 6 , MaxScope= 2, MaxStack= 4, CodeLength= 127 internal var videoWrapper:VideoWrapper; //slotID:1 internal var playerConfig:IPlayerConfig; //slotID:2 internal var isPremium:Boolean = false; //slotID:3 internal var isPlaylist:Boolean = false; //slotID:4 videoWrapper = hug1; playerConfig = hug2; isPremium = hug3; isPlaylist = hug4; this._seekWaitTimer = new Timer(100, 1); this.onVideoExpectState = new Functions(); super(); this._videoWrapper = videoWrapper; this._playerConfig = playerConfig; this._isPremium = isPremium; this._isPlaylist = isPlaylist; this._seekWaitTimer.addEventListener(TimerEvent.TIMER, function():void{ //MethodID:2012, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 18 _videoWrapper.seek(_seekTargetVpos); _seekWaitTimer.stop(); }); this._operators = new _Operators(); this._operators.isStopped(VideoConstants.OPERATION_OTHER); } //variables/etc. private var _seekTargetVpos:Number; //slotID:0 private var _isPlaying:Boolean = false; //slotID:0 private var _isSeeking:Boolean = false; //slotID:0 private var _hasPlayed:Boolean = false; //slotID:0 private var _isWaitingSeek:Boolean = false; //slotID:0 private var _isPremium:Boolean = false; //slotID:0 private var _isHirobaMode:Boolean = false; //slotID:0 private var _isPlaylist:Boolean = false; //slotID:0 private var _playerConfig:IPlayerConfig; //slotID:0 private var _operators:_Operators; //slotID:0 private var _videoWrapper:VideoWrapper; //slotID:0 private var _seekWaitTimer:Timer; //slotID:0 private var _prevVposOnSeekLoop:Number = -1.0; //slotID:0 private var _initializingLastUserOperation:Function = null; //slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoExpectState:Functions;//slotID:0 public function play(hug1:String=null):void { //MethodID:2014, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 125 this._isPlaying = true; if(this._operators.isPlayed(hug1 ? hug1 : VideoConstants.OPERATION_OTHER) && !this._isSeeking){ if(this._videoWrapper.isControllable){ this._hasPlayed = true; this._videoWrapper.play(); }else if(this._isPremium){ this._initializingLastUserOperation = this._videoWrapper.play; onVideoExpectState.apply(VideoPlayerStatus.PLAYING); } } } public function stop(hug1:String=null):void { //MethodID:2015, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 108 this._isPlaying = false; if(this._operators.isStopped(hug1 ? hug1 : VideoConstants.OPERATION_OTHER)){ if(this._videoWrapper.isControllable){ this._videoWrapper.stop(); }else if(this._isPremium){ this._initializingLastUserOperation = this._videoWrapper.stop; onVideoExpectState.apply(VideoPlayerStatus.PAUSED); } } } public function seek(hug1:Number, hug2:Boolean=false):void { //MethodID:2016, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 39 this._isSeeking = true; this._seekTargetVpos = hug1; this._isWaitingSeek = hug2; if(!this._videoWrapper.isControllable) return; this._videoWrapper.seek(hug1); } public function startToPlay(hug1:Boolean=false):void { //MethodID:2017, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 177 SystemMessage.instance.informln(__MSG__("動画の再生準備完了"), false, true); this._hasPlayed = true; if(hug1 || (this._playerConfig.autoPlay && this._isPremium)){ if((this._videoWrapper.vpos < this._seekTargetVpos) && this._isWaitingSeek){ this.seek(0.0); this.play(VideoConstants.OPERATION_OTHER); }else{ SystemMessage.instance.informln(__MSG__("自動再生を開始"), false, true); this.play(VideoConstants.OPERATION_OTHER); } }else{ this.stop(VideoConstants.OPERATION_OTHER); } this._isWaitingSeek = false; if(this._initializingLastUserOperation != null) this._initializingLastUserOperation(); } private function _videoResize():void { //MethodID:2018, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 89 var hug1:int = ((this._playerConfig.aspectRatio == ScreenAspectRatio.WIDE) ? VideoLayerConstants.VIDEO_LAYER_HD_WIDTH : VideoLayerConstants.VIDEO_LAYER_SD_WIDTH); var hug2:int = ((this._playerConfig.aspectRatio == ScreenAspectRatio.WIDE) ? VideoLayerConstants.VIDEO_LAYER_HD_HEIGHT : VideoLayerConstants.VIDEO_LAYER_SD_HEIGHT); this._videoWrapper.resize(hug1, hug2); } public function get isPlaying():Boolean { //MethodID:2019, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isPlaying; } public function get videoWrapper():IVideo { //MethodID:2020, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoWrapper; } public function get mainVideo():IVideo { //MethodID:2021, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._videoWrapper.mainVideo; } public function get mainTotalLength():Number { //MethodID:2022, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._videoWrapper.mainTotalLength; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoSeeked(hug1:Number):EventResult { //MethodID:2024, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 138 internal var vpos:Number; //slotID:1 internal var isVposProgressing:Function; //slotID:2 vpos = hug1; isVposProgressing = function():Boolean{ //MethodID:2023, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 54 var hug1:Boolean = true; if((vpos == _prevVposOnSeekLoop) && (_seekTargetVpos <= _videoWrapper.loadedLength)){ hug1 = false; _prevVposOnSeekLoop = -1; }else{ _prevVposOnSeekLoop = vpos; } return hug1; }; if(this._isPlaying && this._videoWrapper.isControllable) this._videoWrapper.play(); if(this._isWaitingSeek && (vpos < this._seekTargetVpos) && !this._videoWrapper.hasPlayed){ if(isVposProgressing()){ this._seekWaitTimer.start(); return EventResult.BREAK; } this.seek(vpos, this._isWaitingSeek); } this._isSeeking = false; return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoEnded(hug1:Boolean):EventResult { //MethodID:2025, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 43 if(this._isPlaylist){ this._videoWrapper.stop(); }else if(hug1){ this._videoWrapper.seek(0.0); } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoInitialized(hug1:Boolean, hug2:IVideo):EventResult { //MethodID:2026, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 152 if(!hug1) return EventResult.THROUGH; this._videoWrapper.volume = (this._playerConfig.isMute ? 0.0 : this._playerConfig.volume); this._videoWrapper.isLoop = this._playerConfig.isLoop; this._videoWrapper.sponsorVisibleOnLoop = this._playerConfig.sponsorVisibleOnLoop; if(!this._isHirobaMode && (this._videoWrapper.vpos < this._videoWrapper.mainVideo.length)) this._videoWrapper.mainVideo.layer.visible = true; if(this._isSeeking) this._videoWrapper.seek(this._seekTargetVpos); this._videoResize(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigVolumeUpdated(hug1:Number):EventResult { //MethodID:2027, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 35 this._videoWrapper.volume = (this._playerConfig.isMute ? 0.0 : hug1); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsMuteUpdated(hug1:Boolean):EventResult { //MethodID:2028, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 35 this._videoWrapper.volume = (hug1 ? 0.0 : this._playerConfig.volume); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigIsLoopUpdated(hug1:Boolean):EventResult { //MethodID:2029, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16 this._videoWrapper.isLoop = hug1; return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigAutoPlayUpdated(hug1:Boolean):EventResult { //MethodID:2030, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 53 if(hug1 && !this._hasPlayed){ if(this._videoWrapper.isControllable){ this._videoWrapper.play(); }else{ this._isPlaying = true; } } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigSponsorVisibleOnLoopUpdated(hug1:Boolean):EventResult { //MethodID:2031, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16 this._videoWrapper.sponsorVisibleOnLoop = hug1; return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onHirobaPlayerVisibleUpdated(hug1:Boolean):EventResult { //MethodID:2032, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 47 this._isHirobaMode = hug1; if(this._isHirobaMode){ this.stop(VideoConstants.OPERATION_HIROBA); }else{ this.play(VideoConstants.OPERATION_HIROBA); } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigAspectRatioUpdate(hug1:uint):EventResult { //MethodID:2033, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 13 this._videoResize(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigScreenModeUpdated(hug1:uint):EventResult { //MethodID:2034, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 13 this._videoResize(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onInitMetaInfo():EventResult { //MethodID:2035, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13 this._videoResize(); return EventResult.THROUGH; } } } //■class(instance)_index:135 //private dynamic class _Operators extends Object { //static constructor public static function _Operators$cinit() { //MethodID:2007, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. private const PLAY:String = "play"; //slotID:0 private const STOP:String = "stop"; //slotID:0 public function isPlayed(hug1:String):Boolean { //MethodID:2008, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 61 var hug3:String = null; this[hug1] = this.PLAY; var hug2:Boolean = true; for each(hug3 in this){ if(hug3 != this.PLAY) return !hug2; } return hug2; } public function isStopped(hug1:String):Boolean { //MethodID:2009, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 13 this[hug1] = this.STOP; return true; } //constructor public function _Operators() { //MethodID:2010, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } //■script114■ package jp.nicovideo.hiroba.models{ //■class(instance)_index:137 public interface IHirobaMessageServerInfo { //static constructor public static function IHirobaMessageServerInfo$cinit() { //MethodID:2037, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function refresh(hug1:Function):void; //MethodID:2038, dispID:0 function get host():String; //MethodID:2039, dispID:0 function get port():uint; //MethodID:2040, dispID:0 function get threadID():String; //MethodID:2041, dispID:0 function get threadKey():String; //MethodID:2042, dispID:0 //constructor public function IHirobaMessageServerInfo(); //MethodID:2043, dispID:0 } } //■script115■ package jp.nicovideo.hiroba.models{ import jp.nicovideo.nicoplayer.models.api.GetFLV //■class(instance)_index:138 public class HirobaMessageServerInfo extends Object implements IHirobaMessageServerInfo { //static constructor public static function HirobaMessageServerInfo$cinit() { //MethodID:2045, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function HirobaMessageServerInfo(hug1:GetFLV, hug2:String, hug3:Object) { //MethodID:2046, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 21 super(); this._getFLV = hug1; this._getFLVApiURL = hug2; this._getFLVApiParams = hug3; } //variables/etc. private var _getFLV:GetFLV; //slotID:0 private var _getFLVApiURL:String; //slotID:0 private var _getFLVApiParams:Object; //slotID:0 public function refresh(hug1:Function):void { //MethodID:2048, LocalCount= 3 , MaxScope= 2, MaxStack= 5, CodeLength= 34 internal var callback:Function; //slotID:1 callback = hug1; this._getFLV = new GetFLV(this._getFLVApiURL, this._getFLVApiParams, function(hug1:Boolean):void{ //MethodID:2047, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 40 callback(hug1 && (_getFLV.threadID != null) && (_getFLV.hirobaHost != null)); }); } public function get host():String { //MethodID:2049, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._getFLV.hirobaHost; } public function get port():uint { //MethodID:2050, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._getFLV.hirobaPort; } public function get threadID():String { //MethodID:2051, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._getFLV.hirobaThreadID; } public function get threadKey():String { //MethodID:2052, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._getFLV.hirobaThreadKey; } } } //■script116■ package jp.nicovideo.nicoplayer.remocon{ import flash.display.DisplayObjectContainer //■class(instance)_index:139 public interface IRemoconClient implements EventSender { //static constructor public static function IRemoconClient$cinit() { //MethodID:2054, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get isConnecting():Boolean; //MethodID:2055, dispID:0 function setAlertContainer(hug1:DisplayObjectContainer):void; //MethodID:2056, dispID:0 function get stateObserver():*; //MethodID:2057, dispID:0 //constructor public function IRemoconClient(); //MethodID:2058, dispID:0 } } //■script117■ package jp.nicovideo.nicoplayer.remocon{ import flash.display.DisplayObjectContainer import flash.events.Event import jp.nicovideo.util.Functions import jp.nicovideo.util.events.event_sender use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); //■class(instance)_index:140 public class RemoconClient extends Object implements IRemoconClient { //static constructor public static function RemoconClient$cinit() { //MethodID:2060, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function RemoconClient(hug1:RemoconPlayerStateObserver, hug2:RemoconNotifier, hug3:RemoconState) { //MethodID:2061, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 64 this.onRemoconClientConnectUpdated = new Functions(); super(); this._stateObserver = hug1; this._notifier = hug2; this._remoconState = hug3; this._remoconState.addEventListener(Event.CONNECT, this._connectUpdateListener); this._remoconState.addEventListener(Event.CLOSE, this._connectUpdateListener); } //variables/etc. (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onRemoconClientConnectUpdated:Functions;//slotID:0 private var _stateObserver:RemoconPlayerStateObserver; //slotID:0 private var _notifier:RemoconNotifier; //slotID:0 private var _remoconState:RemoconState; //slotID:0 private function _connectUpdateListener(hug1:Event):void { //MethodID:2062, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 67 var hug2:Boolean = false; if(hug1.type == Event.CONNECT){ hug2 = true; }else if(hug1.type == Event.CLOSE){ hug2 = false; }else{ return; } onRemoconClientConnectUpdated.apply(hug2); } public function get eventNames():Array { //MethodID:2063, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8 return ["onRemoconClientConnectUpdated"]; } public function get isConnecting():Boolean { //MethodID:2064, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._remoconState.isConnecting; } public function setAlertContainer(hug1:DisplayObjectContainer):void { //MethodID:2065, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this._notifier.setContainer(hug1); } public function get stateObserver():* { //MethodID:2066, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._stateObserver; } } } //■script118■ package jp.nicovideo.nicoplayer.models.filter{ //■class(instance)_index:141 public class NGType extends Object { //static constructor public static function NGType$cinit() { //MethodID:2068, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 39 NONE = "none"; MESSAGE = "message"; USER_ID = "user_id"; COMMAND = "command"; } //static variables/etc. public static const NONE:String = "none"; //slotID:1 public static const MESSAGE:String = "message"; //slotID:2 public static const USER_ID:String = "user_id"; //slotID:3 public static const COMMAND:String = "command"; //slotID:4 //constructor public function NGType() { //MethodID:2069, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script119■ package jp.nicovideo.util.loka{ import jp.nicovideo.util.StringUtils //■class(instance)_index:142 public class Loka extends Object { //static constructor public static function Loka$cinit() { //MethodID:2071, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //static variables/etc. private static var __instance:Loka; //slotID:1 public static function get instance():Loka { //dispID:3, MethodID:2072, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 32 var hug1:Loka = new Loka(); __instance = hug1; return hug1; } //constructor public function Loka() { //MethodID:2073, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. private var __loka:*; //slotID:0 private var __debug:Boolean; //slotID:0 public function set loka(hug1:*):void { //MethodID:2074, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this.__loka = hug1; } public function get loka():* { //MethodID:2075, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__loka; } public function set debug(hug1:Boolean):void { //MethodID:2076, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this.__debug = hug1; } public function get debug():Boolean { //MethodID:2077, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__debug; } public function getMessage(hug1:String, hug2:Array):String { //MethodID:2078, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 107 if(!this.__loka){ if(!this.debug) trace("Loka.getMessage: WARNING! メッセージオブジェクトが設定されていない件。"); return this.__applyParams(hug1, hug2); } if(!((hug1 in this.__loka.messages) || this.debug)) throw new Error("Loka.getMessage: おいwちゃんとしろ"); var hug3:* = this.__loka.messages[hug1]; return ((hug3 is Function) ? hug3.apply(null, hug2) : hug3); } private function __applyParams(hug1:String, hug2:Array):String { //MethodID:2080, LocalCount= 4 , MaxScope= 2, MaxStack= 5, CodeLength= 63 internal var id:String; //slotID:1 internal var params:Array; //slotID:2 internal var mapping:Object; //slotID:3 internal var i:uint; //slotID:4 mapping = null; id = hug1; params = hug2; mapping = {}; i = 0; return StringUtils.gsub(function(hug1:Object):String{ //MethodID:2079, LocalCount= 4 , MaxScope= 0, MaxStack= 6, CodeLength= 90 if(!hug1[1]) return ""; mapping[hug1[1]] = hug2; return params[(hug1[1] in mapping) ? mapping[hug1[1]] : hug2]; }, new RegExp("\[\[\s*(?:#.*?|([^\W\d]\w*))\s*\]\]", "g"), id); } } } //■script120■ package jp.nicovideo.nicoplayer.models{ //■class(instance)_index:143 public interface IObsevableContainer { //static constructor public static function IObsevableContainer$cinit() { //MethodID:2082, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function hasInitialized(hug1:String):Boolean; //MethodID:2083, dispID:0 function addInitListener(hug1:Array, hug2:Function):void; //MethodID:2084, dispID:0 function setProperty(hug1:String, hug2:*):void; //MethodID:2085, dispID:0 function getPropertyValue(hug1:String):*; //MethodID:2086, dispID:0 //constructor public function IObsevableContainer(); //MethodID:2087, dispID:0 } } //■script121■ package jp.nicovideo.nicoplayer.models{ import flash.errors.IllegalOperationError //■class(instance)_index:146 public class AbstractObservableContainer extends Object implements IObsevableContainer { //static constructor public static function AbstractObservableContainer$cinit() { //MethodID:2100, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AbstractObservableContainer() { //MethodID:2101, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this._observers = []; super(); } //variables/etc. private var _observers:Array; //slotID:0 protected var properties:Object; //slotID:0 protected function prepareProperty(hug1:String, hug2:Class):_Property { //MethodID:2102, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 12 return new _Property(hug1, hug2); } public function hasInitialized(hug1:String):Boolean { //MethodID:2103, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 18 return (this.properties[hug1] as _Property).hasInitialized; } public function addInitListener(hug1:Array, hug2:Function):void { //MethodID:2104, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 113 var hug5:String = null; var hug3:_Observer = new _Observer(hug1, hug2); var hug4:Boolean = false; for each(hug5 in hug1){ if(this.hasInitialized(hug5)) hug4 = hug3.countDown(hug5); if(hug4) break; } if(hug4){ hug3.listener.apply(); }else{ this._observers.push(hug3); } } public function setProperty(hug1:String, hug2:*):void { //MethodID:2105, LocalCount= 10 , MaxScope= 1, MaxStack= 3, CodeLength= 247 var hug5:_Observer = null; var hug6:uint = 0; var hug7:_Observer = null; if(!this.properties.hasOwnProperty(hug1)) throw new ArgumentError("AbstractObservableContainer._setProperty: \"" + hug1 + "\" is not property."); var hug3:_Property = this.properties[hug1]; if(hug3.hasInitialized) throw new IllegalOperationError("AbstractObservableContainer._setProperty: " + hug1 + " has set already."); hug3.setValue(hug2); var hug4:Array = []; for each(hug5 in this._observers){ if(hug5.countDown(hug1)) hug4.push(this._observers.indexOf(hug5)); } hug4.sort(Array.NUMERIC | Array.DESCENDING); for each(hug6 in hug4){ hug7 = this._observers[hug6]; this._observers.splice(hug6, 1); hug7.listener.apply(); } } public function getPropertyValue(hug1:String):* { //MethodID:2106, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 18 return (this.properties[hug1] as _Property).value; } } } import flash.errors.IllegalOperationError //■class(instance)_index:144 //private class _Observer extends Object { //static constructor public static function _Observer$cinit() { //MethodID:2089, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _Observer(hug1:Array, hug2:Function) { //MethodID:2090, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 28 super(); this._names = hug1.concat(); this._counter = hug1.length; this._listener = hug2; } //variables/etc. private var _names:Array; //slotID:0 private var _counter:uint; //slotID:0 private var _listener:Function; //slotID:0 public function countDown(hug1:String):Boolean { //MethodID:2091, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 71 if(this._counter == 0) throw new IllegalOperationError("_Observer.countDown: count has been 0 alreay."); if(this._names.indexOf(hug1) == (-1)) return false; this._counter--; if(this._counter == 0) return true; return false; } public function get listener():Function { //MethodID:2092, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._listener; } public function get names():Array { //MethodID:2093, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._names; } } //■class(instance)_index:145 //private class _Property extends Object { //static constructor public static function _Property$cinit() { //MethodID:2094, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _Property(hug1:String, hug2:Class) { //MethodID:2095, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16 super(); this._name = hug1; this._type = hug2; } //variables/etc. private var _name:String; //slotID:0 private var _value:*; //slotID:0 private var _hasInitialized:Boolean = false; //slotID:0 private var _type:Class; //slotID:0 public function get name():String { //MethodID:2096, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._name; } public function get value():* { //MethodID:2097, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._value; } public function setValue(hug1:*):void { //MethodID:2098, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 34 if(!(hug1 is this._type)) throw new ArgumentError("AbstractObservableContainer:_Property.setValue: invalid type."); this._value = hug1; this._hasInitialized = true; } public function get hasInitialized():Boolean { //MethodID:2099, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._hasInitialized; } } //■script122■ package jp.nicovideo.nicoplayer.plugin{ import flash.display.DisplayObjectContainer import jp.nicovideo.marquee.INicoMarqueeClient import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.IVideoDetail import jp.nicovideo.nicoplayer.models.api.IGetFLV import jp.nicovideo.nicoplayer.models.api.InitializeInfo import jp.nicovideo.nicoplayer.models.comment.CommentPoolContainer import jp.nicovideo.nicoplayer.models.filter.INGComment import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars import jp.nicovideo.nicoplayer.models.video.IVideoController import jp.nicovideo.nicoplayer.tpls.shutter.IControllerShutter import jp.nicovideo.nicoplayer.views.IVideoLayerManager //■class(instance)_index:147 public interface IPluginClient implements IObsevableContainer { //static constructor public static function IPluginClient$cinit() { //MethodID:2108, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get videoController():IVideoController; //MethodID:2109, dispID:0 function get flashVars():NicoFlashVars; //MethodID:2110, dispID:0 function get nicoConfig():NicoConfig; //MethodID:2111, dispID:0 function get getFLV():IGetFLV; //MethodID:2112, dispID:0 function get playerConfig():IPlayerConfig; //MethodID:2113, dispID:0 function get audioShutter():IControllerShutter; //MethodID:2114, dispID:0 function get ngFilter():INGComment; //MethodID:2115, dispID:0 function get commentListContainer():Object; //MethodID:2116, dispID:0 function get filteredCommentPoolContainer():CommentPoolContainer; //MethodID:2117, dispID:0 function get videoLayerManager():IVideoLayerManager; //MethodID:2118, dispID:0 function get videoDetail():IVideoDetail; //MethodID:2119, dispID:0 function get pluginContainer():DisplayObjectContainer; //MethodID:2120, dispID:0 function get marqueeClient():INicoMarqueeClient; //MethodID:2121, dispID:0 function set onInitilized(hug1:Function):void; //MethodID:2122, dispID:0 function get initializeInfo():InitializeInfo; //MethodID:2123, dispID:0 //constructor public function IPluginClient(); //MethodID:2124, dispID:0 } } //■script123■ package jp.nicovideo.nicoplayer.plugin{ import flash.display.DisplayObjectContainer import jp.nicovideo.marquee.INicoMarqueeClient import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.nicoplayer.models.AbstractObservableContainer import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.IVideoDetail import jp.nicovideo.nicoplayer.models.api.IGetFLV import jp.nicovideo.nicoplayer.models.api.InitializeInfo import jp.nicovideo.nicoplayer.models.comment.CommentPoolContainer import jp.nicovideo.nicoplayer.models.filter.INGComment import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars import jp.nicovideo.nicoplayer.models.video.IVideoController import jp.nicovideo.nicoplayer.tpls.shutter.IControllerShutter import jp.nicovideo.nicoplayer.views.IVideoLayerManager import jp.nicovideo.util.Functions //■class(instance)_index:148 public class NicoPluginClient extends AbstractObservableContainer implements IPluginClient { //static constructor public static function NicoPluginClient$cinit() { //MethodID:2126, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function NicoPluginClient() { //MethodID:2127, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 20 this._onInitialized = new Functions(); super(); this._NicoPluginClient(); } //variables/etc. private var _onInitialized:Functions; //slotID:0 private var _hasInitialized:Boolean = false; //slotID:0 private function _NicoPluginClient():void { //MethodID:2129, LocalCount= 4 , MaxScope= 2, MaxStack= 31, CodeLength= 314 internal var names:Array; //slotID:1 internal var name:String; //slotID:2 name = null; properties = {flashVars:prepareProperty("flashVars", NicoFlashVars), getFLV:prepareProperty("getFLV", IGetFLV), nicoConfig:prepareProperty("nicoConfig", NicoConfig), videoController:prepareProperty("videoController", IVideoController), audioShutter:prepareProperty("audioShutter", IControllerShutter), playerConfig:prepareProperty("playerConfig", IPlayerConfig), ngFilter:prepareProperty("ngFilter", INGComment), commentListContainer:prepareProperty("commentListContainer", Object), filteredCommentPoolContainer:prepareProperty("filteredCommentPoolContainer", CommentPoolContainer), videoLayerManager:prepareProperty("videoLayerManager", IVideoLayerManager), pluginContainer:prepareProperty("pluginContainer", DisplayObjectContainer), videoDetail:prepareProperty("videoDetail", IVideoDetail), marqueeClient:prepareProperty("marqueeClient", INicoMarqueeClient), initializeInfo:prepareProperty("initializeInfo", InitializeInfo)}; names = []; for(name in properties){ if(name == "marqueeClient"){ }else{ names.push(name); } } addInitListener(names, function():void{ //MethodID:2128, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 15 _onInitialized.apply(); _hasInitialized = true; }); } public function set onInitilized(hug1:Function):void { //MethodID:2130, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 26 if(this._hasInitialized){ hug1.apply(); return; } this._onInitialized.add(hug1); } public function get videoController():IVideoController { //MethodID:2131, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("videoController"); } public function get nicoConfig():NicoConfig { //MethodID:2132, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("nicoConfig"); } public function get flashVars():NicoFlashVars { //MethodID:2133, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("flashVars"); } public function get getFLV():IGetFLV { //MethodID:2134, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("getFLV"); } public function get audioShutter():IControllerShutter { //MethodID:2135, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("audioShutter"); } public function get playerConfig():IPlayerConfig { //MethodID:2136, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("playerConfig"); } public function get ngFilter():INGComment { //MethodID:2137, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("ngFilter"); } public function get commentListContainer():Object { //MethodID:2138, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("commentListContainer"); } public function get filteredCommentPoolContainer():CommentPoolContainer { //MethodID:2139, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("filteredCommentPoolContainer"); } public function get videoLayerManager():IVideoLayerManager { //MethodID:2140, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("videoLayerManager"); } public function get videoDetail():IVideoDetail { //MethodID:2141, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("videoDetail"); } public function get marqueeClient():INicoMarqueeClient { //MethodID:2142, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("marqueeClient"); } public function get pluginContainer():DisplayObjectContainer { //MethodID:2143, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("pluginContainer"); } public function get initializeInfo():InitializeInfo { //MethodID:2144, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return getPropertyValue("initializeInfo"); } } } //■script124■ package jp.nicovideo.nicoplayer.views{ //■class(instance)_index:149 public class VideoLayerConstants extends Object { //static constructor public static function VideoLayerConstants$cinit() { //MethodID:2146, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 111 BASE_LAYER_HD_WIDTH = 672; BASE_LAYER_HD_HEIGHT = 384; BASE_LAYER_SD_WIDTH = 544; BASE_LAYER_SD_HEIGHT = 384; COMMENT_LAYER_HD_WIDTH = BASE_LAYER_HD_WIDTH; COMMENT_LAYER_HD_HEIGHT = BASE_LAYER_HD_HEIGHT; COMMENT_LAYER_SD_WIDTH = BASE_LAYER_SD_WIDTH; COMMENT_LAYER_SD_HEIGHT = BASE_LAYER_SD_HEIGHT; VIDEO_LAYER_HD_WIDTH = 640; VIDEO_LAYER_HD_HEIGHT = BASE_LAYER_HD_HEIGHT; VIDEO_LAYER_SD_WIDTH = 512; VIDEO_LAYER_SD_HEIGHT = BASE_LAYER_SD_HEIGHT; } //static variables/etc. public static const BASE_LAYER_HD_WIDTH:Number = 672.0; //slotID:1 public static const BASE_LAYER_HD_HEIGHT:Number = 384.0; //slotID:2 public static const BASE_LAYER_SD_WIDTH:Number = 544.0; //slotID:3 public static const BASE_LAYER_SD_HEIGHT:Number = 384.0; //slotID:4 public static const COMMENT_LAYER_HD_WIDTH:Number = 672.0; //slotID:5 public static const COMMENT_LAYER_HD_HEIGHT:Number = 384.0; //slotID:6 public static const COMMENT_LAYER_SD_WIDTH:Number = 544.0; //slotID:7 public static const COMMENT_LAYER_SD_HEIGHT:Number = 384.0; //slotID:8 public static const VIDEO_LAYER_HD_WIDTH:Number = 640.0; //slotID:9 public static const VIDEO_LAYER_HD_HEIGHT:Number = 384.0; //slotID:10 public static const VIDEO_LAYER_SD_WIDTH:Number = 512.0; //slotID:11 public static const VIDEO_LAYER_SD_HEIGHT:Number = 384.0; //slotID:12 //constructor public function VideoLayerConstants() { //MethodID:2147, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script125■ package jp.nicovideo.nicoplayer.models.api{ //■class(instance)_index:150 public class BGMVideoInfo extends Object { //static constructor public static function BGMVideoInfo$cinit() { //MethodID:2149, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21 TYPE_BGM = "bgm"; TYPE_CM = "cm"; } //static variables/etc. public static const TYPE_BGM:String = "bgm"; //slotID:1 public static const TYPE_CM:String = "cm"; //slotID:2 //constructor public function BGMVideoInfo(hug1:String, hug2:String, hug3:String, hug4:String, hug5:Number, hug6:String, hug7:Boolean, hug8:Boolean, hug9:Boolean):void { //MethodID:2150, LocalCount= 10 , MaxScope= 1, MaxStack= 2, CodeLength= 57 super(); this._ID = hug1; this._type = hug2; this._videoID = hug3; this._URL = hug4; this._playLength = hug5; this._movieType = hug6; this._isDeleted = hug7; this._isPrivate = hug8; this._isAS3 = hug9; } //variables/etc. private var _ID:String; //slotID:0 private var _type:String; //slotID:0 private var _videoID:String; //slotID:0 private var _URL:String; //slotID:0 private var _playLength:Number; //slotID:0 private var _movieType:String; //slotID:0 private var _isDeleted:Boolean; //slotID:0 private var _isPrivate:Boolean; //slotID:0 private var _isAS3:Boolean; //slotID:0 public function get ID():String { //MethodID:2151, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._ID; } public function get type():String { //MethodID:2152, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._type; } public function get videoID():String { //MethodID:2153, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._videoID; } public function get URL():String { //MethodID:2154, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._URL; } public function get playLength():Number { //MethodID:2155, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._playLength; } public function get movieType():String { //MethodID:2156, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._movieType; } public function get isDeleted():Boolean { //MethodID:2157, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isDeleted; } public function get isPrivate():Boolean { //MethodID:2158, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isPrivate; } public function get isAS3():Boolean { //MethodID:2159, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isAS3; } public function toString():String { //MethodID:2160, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 86 return ("[" + BGMVideoInfo + ",ID=" + this._ID + ",type=" + this._type + ",videoID=" + this._videoID + ",URL=" + this._URL + ",playLength=" + this._playLength + ",movieType=" + this._movieType + ",isDeleted=" + this._isDeleted + ",isPrivate=" + this._isPrivate + "]"); } } } //■script126■ package jp.nicovideo.nicoplayer.remocon{ //■class(instance)_index:151 public interface IRemoconFullScreenKeeper { //static constructor public static function IRemoconFullScreenKeeper$cinit() { //MethodID:2162, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get isFullScreen():Boolean; //MethodID:2163, dispID:0 function set isFullScreen(hug1:Boolean):void; //MethodID:2164, dispID:0 function screenModeUpdateListener(hug1:uint):void; //MethodID:2165, dispID:0 //constructor public function IRemoconFullScreenKeeper(); //MethodID:2166, dispID:0 } } //■script127■ package jp.nicovideo.nicoplayer.remocon{ import jp.nicovideo.nicoplayer.external.IExternalClient import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.ScreenMode import jp.nicovideo.util.CrossSharedObject import jp.nicovideo.util.storage.LocalStorage //■class(instance)_index:152 public class RemoconFullScreenKeeper extends Object implements IRemoconFullScreenKeeper { //static constructor public static function RemoconFullScreenKeeper$cinit() { //MethodID:2168, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function RemoconFullScreenKeeper(hug1:IPlayerConfig, hug2:IExternalClient) { //MethodID:2169, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 33 this._localStorage = CrossSharedObject.getStorage("jp.nicovideo.nicoplayer.remocon.RemoconFullScreenKeeper", "/"); super(); this._playerConfig = hug1; this._externalClient = hug2; } //variables/etc. private var _localStorage:LocalStorage; //slotID:0 private var _playerConfig:IPlayerConfig; //slotID:0 private var _externalClient:IExternalClient; //slotID:0 public function get isFullScreen():Boolean { //MethodID:2170, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16 return this._localStorage.data["isFullScreen"]; } public function set isFullScreen(hug1:Boolean):void { //MethodID:2171, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 25 this._localStorage.data["isFullScreen"] = hug1; this._localStorage.flush(); } public function screenModeUpdateListener(hug1:uint):void { //MethodID:2172, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 72 if((hug1 != ScreenMode.BROWSER_FULL) && this.isFullScreen){ this.isFullScreen = false; if((this._playerConfig.fullScreenMode == ScreenMode.DISPLAY_FULL) && (hug1 == ScreenMode.NORMAL)) this._externalClient.toggleMaximizePlayerSize(); } } public function start():void { //MethodID:2173, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 23 if(!this.isFullScreen) return; this.update(ScreenMode.BROWSER_FULL); } public function update(hug1:uint):void { //MethodID:2174, LocalCount= 5 , MaxScope= 7, MaxStack= 4, CodeLength= 171 internal var mode:uint; //slotID:1 internal var bufferFullScreen:uint; //slotID:2 mode = hug1; if((mode == ScreenMode.BROWSER_FULL) && !this.isFullScreen) this.isFullScreen = true; if(this._playerConfig.screenMode == mode) return; bufferFullScreen = this._playerConfig.fullScreenMode; this._playerConfig.fullScreenMode = ScreenMode.BROWSER_FULL; try{ this._playerConfig.screenMode = mode; } finally{ this._playerConfig.fullScreenMode = bufferFullScreen; } } } } //■script128■ package jp.nicovideo.nicoplayer.models.comment{ //■class(instance)_index:153 public interface ITimeMachine { //static constructor public static function ITimeMachine$cinit() { //MethodID:2176, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function setPastDate(hug1:Date):Boolean; //MethodID:2177, dispID:0 function goInThePast(hug1:Date=null):Boolean; //MethodID:2178, dispID:0 function returnNow():void; //MethodID:2179, dispID:0 function get pastLimit():Date; //MethodID:2180, dispID:0 //constructor public function ITimeMachine(); //MethodID:2181, dispID:0 } } //■script129■ package jp.nicovideo.nicoplayer.models.comment{ import jp.nicovideo.util.Functions import jp.nicovideo.util.events.event_sender use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); //■class(instance)_index:154 public class TimeMachine extends Object implements EventSender, ITimeMachine { //static constructor public static function TimeMachine$cinit() { //MethodID:2183, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function TimeMachine(hug1:Date) { //MethodID:2184, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 36 this.onTimeMachineDateUpdated = new Functions(); super(); if(!hug1) throw new Error("TimeMachine.TimeMachine: invalid entryDate"); this._entryDate = hug1; } //variables/etc. (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onTimeMachineDateUpdated:Functions;//slotID:0 private var _pastDate:Date; //slotID:0 private var _entryDate:Date; //slotID:0 private var _isPastDate:Boolean = false; //slotID:0 public function get eventNames():Array { //MethodID:2185, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8 return ["onTimeMachineDateUpdated"]; } public function setPastDate(hug1:Date):Boolean { //MethodID:2186, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 33 if(!hug1) return false; if(hug1.time < this._entryDate.time) return false; this._pastDate = hug1; return true; } public function goInThePast(hug1:Date=null):Boolean { //MethodID:2187, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 53 if(hug1){ if(!this.setPastDate(hug1)) return false; } onTimeMachineDateUpdated.apply(true, this._pastDate); this._isPastDate = true; return true; } public function returnNow():void { //MethodID:2188, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 41 if(!this._isPastDate) return; onTimeMachineDateUpdated.apply(false, null); this._isPastDate = false; } public function get pastLimit():Date { //MethodID:2189, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15 return new Date(this._entryDate.time); } } } //■script130■ package jp.nicovideo.nicoplayer.models.filter{ //■class(instance)_index:155 public class NGResponseConstants extends Object { //static constructor public static function NGResponseConstants$cinit() { //MethodID:2191, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 66 UNSERVE = "UNSERVE"; OK = "OK"; ERROR_IO = "error_io"; ERROR_PARAMERROR = "PARAMERROR"; ERROR_NOAUTHORITY = "NOAUTHORITY"; ERROR_MAXNGWORD = "MAXNGWORD"; ERROR_MAINTENANCE = "MAINTENANCE"; } //static variables/etc. public static const UNSERVE:String = "UNSERVE"; //slotID:1 public static const OK:String = "OK"; //slotID:2 public static const ERROR_IO:String = "error_io"; //slotID:3 public static const ERROR_PARAMERROR:String = "PARAMERROR"; //slotID:4 public static const ERROR_NOAUTHORITY:String = "NOAUTHORITY"; //slotID:5 public static const ERROR_MAXNGWORD:String = "MAXNGWORD"; //slotID:6 public static const ERROR_MAINTENANCE:String = "MAINTENANCE"; //slotID:7 //constructor public function NGResponseConstants() { //MethodID:2192, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script131■ package jp.nicovideo.nicoplayer.config{ //■class(instance)_index:156 public class DefaultInitializer extends Object { //static constructor public static function DefaultInitializer$cinit() { //MethodID:2194, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 255 __ADVERTISEMENT_API_URL = "http://ad.nicovideo.jp/server/get"; __ADVERTISEMENT_API_URL_DEV = "http://ad.dev.nicovideo.jp/server/get"; __ADVERTISEMENT_API_URL_DEV_GA = "http://www.ga.dev.nicovideo.jp/swf/player/sample/adtest.txt"; __GETSPONSOR_API_URL = "http://api.uad.nicovideo.jp/UadsVideoService/getSponsors"; __GETSPONSOR_API_URL_DEV = "http://api.uad.dev.nicovideo.jp/UadsVideoService/getSponsors"; __OTHERSPONSOR_URL = "http://uad.nicovideo.jp/ads/"; __OTHERSPONSOR_URL_DEV = "http://uad.dev.nicovideo.jp/ads/"; __PIZZA_URL = "http://info.nicovideo.jp/pizza/"; __CLICK_COUNTER_BASE_URL = "http://rd.nicovideo.jp/cc/"; __CROSSSHAREDOBJECT_SWF = "cross_sharedobject.swf"; __NICOSPLAYER = "nicoscript.swf"; __MARQUEEPLAYER = "marqueeplayer.swf"; __PLAYERVERSION_XML = "player_version.xml"; __PLAYERINFO_XML = "player_info.xml"; __USERSPONSOR = "user_sponsor.swf"; __HIROBAMOVIE = "hirobamovie.swf"; __PARADEMAP = "parademap.swf"; __VIEW_SWF = "nicoplayer_template.swf"; __CONTROLLER_SWF = "nicoplayer_view_controller.swf"; __THUMBVIEW_SWF = "thumbplayer_view.swf"; __THUMBCONTROLLER_SWF = "thumbplayer_controller.swf"; __HIROBACONNECTOR_SWF = "hirobaconnector.swf"; __VIDEO_MENU_SWF = "video_menu.swf"; __VIDEO_ENDER_SWF = "videoender.swf"; __PLUGINLOADER_SWF = "pluginloader.swf"; __JSCONNECTOR_SWF = "jsconnector.swf"; __APPLIBAR_SWF = "applibar.swf"; __REMOCON_ALERT_SWF_URL = "RemoconAlert.swf"; } //static variables/etc. private static const __ADVERTISEMENT_API_URL:String = "http://ad.nicovideo.jp/server/get";//slotID:1 private static const __ADVERTISEMENT_API_URL_DEV:String = "http://ad.dev.nicovideo.jp/server/get";//slotID:2 private static const __ADVERTISEMENT_API_URL_DEV_GA:String = "http://www.ga.dev.nicovideo.jp/swf/player/sample/adtest.txt";//slotID:3 private static const __GETSPONSOR_API_URL:String = "http://api.uad.nicovideo.jp/UadsVideoService/getSponsors";//slotID:4 private static const __GETSPONSOR_API_URL_DEV:String = "http://api.uad.dev.nicovideo.jp/UadsVideoService/getSponsors";//slotID:5 private static const __OTHERSPONSOR_URL:String = "http://uad.nicovideo.jp/ads/";//slotID:6 private static const __OTHERSPONSOR_URL_DEV:String = "http://uad.dev.nicovideo.jp/ads/";//slotID:7 private static const __PIZZA_URL:String = "http://info.nicovideo.jp/pizza/";//slotID:8 private static const __CLICK_COUNTER_BASE_URL:String = "http://rd.nicovideo.jp/cc/";//slotID:9 private static const __CROSSSHAREDOBJECT_SWF:String = "cross_sharedobject.swf";//slotID:10 private static const __NICOSPLAYER:String = "nicoscript.swf"; //slotID:11 private static const __MARQUEEPLAYER:String = "marqueeplayer.swf";//slotID:12 private static const __PLAYERVERSION_XML:String = "player_version.xml";//slotID:13 private static const __PLAYERINFO_XML:String = "player_info.xml";//slotID:14 private static const __USERSPONSOR:String = "user_sponsor.swf"; //slotID:15 private static const __HIROBAMOVIE:String = "hirobamovie.swf"; //slotID:16 private static const __PARADEMAP:String = "parademap.swf"; //slotID:17 private static const __VIEW_SWF:String = "nicoplayer_template.swf";//slotID:18 private static const __CONTROLLER_SWF:String = "nicoplayer_view_controller.swf";//slotID:19 private static const __THUMBVIEW_SWF:String = "thumbplayer_view.swf";//slotID:20 private static const __THUMBCONTROLLER_SWF:String = "thumbplayer_controller.swf";//slotID:21 private static const __HIROBACONNECTOR_SWF:String = "hirobaconnector.swf";//slotID:22 private static const __VIDEO_MENU_SWF:String = "video_menu.swf";//slotID:23 private static const __VIDEO_ENDER_SWF:String = "videoender.swf";//slotID:24 private static const __PLUGINLOADER_SWF:String = "pluginloader.swf";//slotID:25 private static const __JSCONNECTOR_SWF:String = "jsconnector.swf";//slotID:26 private static const __APPLIBAR_SWF:String = "applibar.swf"; //slotID:27 private static const __REMOCON_ALERT_SWF_URL:String = "RemoconAlert.swf";//slotID:28 public static function setConfig(hug1:NicoConfig, hug2:String, hug3:int=0):void { //dispID:3, MethodID:2195, LocalCount= 39 , MaxScope= 1, MaxStack= 5, CodeLength= 2471 var hug4:String = null; var hug5:String = null; var hug6:String = null; var hug7:String = null; var hug8:String = null; var hug13:String = null; var hug14:String = null; var hug15:String = null; var hug16:String = null; var hug17:String = null; var hug18:String = null; var hug19:String = null; var hug20:String = null; var hug21:String = null; var hug22:String = null; var hug23:String = null; var hug24:String = null; var hug25:String = null; var hug26:String = null; var hug27:String = null; var hug28:String = null; var hug29:String = null; var hug30:String = null; var hug31:String = null; var hug32:String = null; var hug35:String = null; var hug36:String = null; var hug37:String = null; var hug9:String = "swf/player/"; var hug10:String = __ADVERTISEMENT_API_URL_DEV; var hug11:String = __GETSPONSOR_API_URL_DEV; var hug12:String = __OTHERSPONSOR_URL_DEV; var hug33:Array = new RegExp("^http:\/\/((?:[\w\-]+\.)*)(nicovideo|nimg)\.jp\/", "ig").exec(hug2); if(hug33){ hug5 = hug33[0]; hug4 = hug5.replace("nimg", "nicovideo").replace("res", "www"); hug4 = hug5.replace("nimg", "nicovideo").replace("res", "www").replace("nine.www.", "nine."); hug36 = hug33[1].toLowerCase(); if(new RegExp("dev\.").test(hug36)){ if(new RegExp("ga\.dev\.").test(hug36)){ hug10 = __ADVERTISEMENT_API_URL_DEV_GA; }else{ hug10 = __ADVERTISEMENT_API_URL_DEV; } hug11 = __GETSPONSOR_API_URL_DEV; hug12 = __OTHERSPONSOR_URL_DEV; }else{ hug10 = __ADVERTISEMENT_API_URL; hug11 = __GETSPONSOR_API_URL; hug12 = __OTHERSPONSOR_URL; } hug9 = _getPlayerPath(hug2); if(hug9.indexOf("pre") == (-1)){ hug6 = (hug5 + "swf/appli/"); }else{ hug6 = (hug5 + "swf/appli_pre/"); } hug7 = (hug5 + "swf/remocon/"); hug2 = (hug5 + hug9); if(new RegExp("^http:\/\/(ext\.).*\/", "ig").test(hug2)){ hug13 = (hug2.replace(new RegExp("ext\."), "res.").replace("nicovideo", "nimg") + __CROSSSHAREDOBJECT_SWF); }else{ hug13 = (hug2.replace(new RegExp("www\."), "res.").replace("nicovideo", "nimg") + __CROSSSHAREDOBJECT_SWF); hug14 = (hug4 + hug9 + __CROSSSHAREDOBJECT_SWF); } hug15 = (hug2 + __NICOSPLAYER); hug16 = (hug2 + __MARQUEEPLAYER); hug17 = (hug2 + __PLAYERVERSION_XML); hug18 = (hug2 + __PLAYERINFO_XML); hug19 = (hug2 + __USERSPONSOR); hug20 = (hug2 + __HIROBAMOVIE); hug21 = (hug2 + __PARADEMAP); hug22 = (hug2 + __VIEW_SWF); hug23 = (hug2 + __CONTROLLER_SWF); hug24 = (hug2 + __THUMBVIEW_SWF); hug25 = (hug2 + __THUMBCONTROLLER_SWF); hug26 = (hug2 + __HIROBACONNECTOR_SWF); hug27 = (hug2 + __VIDEO_MENU_SWF); hug28 = (hug2 + __VIDEO_ENDER_SWF); hug29 = (hug2 + __PLUGINLOADER_SWF); hug30 = (hug6 + __APPLIBAR_SWF); hug32 = (hug7 + __REMOCON_ALERT_SWF_URL); hug31 = (hug4 + hug9 + __JSCONNECTOR_SWF); }else{ var hug38:int = hug3; switch(hug38){ case DebugMode.GADEV: hug4 = "http://www.ga.dev.nicovideo.jp/"; hug10 = __ADVERTISEMENT_API_URL_DEV_GA; break; case DebugMode.NICOAPP_DEV: hug4 = "http://www.nicoapp.dev.nicovideo.jp"; break; case DebugMode.LOCAL: hug4 = ""; break; case DebugMode.LOCAL_EACHENV: hug4 = "each_env/"; break; case DebugMode.DEV: hug4 = "http://www.dev.nicovideo.jp/"; break; case DebugMode.EXTDEV: hug4 = "http://ext.dev.nicovideo.jp/"; break; case DebugMode.TEST: hug4 = "http://www.test.nicovideo.jp/"; hug10 = __ADVERTISEMENT_API_URL; hug11 = __GETSPONSOR_API_URL; hug12 = __OTHERSPONSOR_URL; break; case DebugMode.WEB: hug4 = "http://www.nicovideo.jp/"; hug10 = __ADVERTISEMENT_API_URL; hug11 = __GETSPONSOR_API_URL; hug12 = __OTHERSPONSOR_URL; break; default: throw new Error("NicoPlayerConfigure.Configure: Error"); break; } if((hug3 == DebugMode.LOCAL) || (hug3 == DebugMode.LOCAL_EACHENV)){ hug16 = (hug4 + __MARQUEEPLAYER); hug24 = (hug4 + __THUMBVIEW_SWF); hug25 = (hug4 + __THUMBCONTROLLER_SWF); }else{ hug16 = ("../../marqueeplayer/bin-debug/" + __MARQUEEPLAYER); hug24 = ("../../thumbwatch/bin-debug/" + __THUMBVIEW_SWF); hug25 = ("../../thumbwatch/bin-debug/" + __THUMBCONTROLLER_SWF); hug30 = ("../../appli_contents_applibar/bin-debug/" + __APPLIBAR_SWF); hug32 = ("../../AlertSDK/bin/" + __REMOCON_ALERT_SWF_URL); } hug37 = ""; if(hug3 == DebugMode.EXTDEV) hug37 = "../../nicoplayer/bin-debug/"; hug13 = (hug37 + __CROSSSHAREDOBJECT_SWF); hug14 = (hug37 + __CROSSSHAREDOBJECT_SWF); hug15 = (hug37 + __NICOSPLAYER); hug17 = (hug37 + __PLAYERVERSION_XML); hug18 = (hug37 + __PLAYERINFO_XML); hug19 = (hug37 + __USERSPONSOR); hug20 = (hug37 + __HIROBAMOVIE); hug21 = (hug37 + __PARADEMAP); hug27 = (hug37 + __VIDEO_MENU_SWF); hug28 = (hug37 + __VIDEO_ENDER_SWF); hug29 = (hug37 + __PLUGINLOADER_SWF); hug26 = (hug37 + __HIROBACONNECTOR_SWF); hug31 = (hug37 + __JSCONNECTOR_SWF); hug22 = __VIEW_SWF; hug23 = __CONTROLLER_SWF; } hug8 = (hug4.replace(new RegExp("(www|res|nine)"), "flapi") + "api/"); nico_config.BASE_URL = hug4; var hug34:String = hug4.replace("www", "m"); nico_config.MOBILE_BASE_URL = hug34; nico_config.MOBILE_WATCH_URL = (hug34 + "watch/"); if(new RegExp("^http:\/\/(ext\.).*\/", "ig").test(hug2) != true){ hug35 = (hug4.replace("http:", "https:").replace("www", "secure") + "secure/"); }else{ hug35 = (hug4.replace("http:", "https:").replace("ext", "secure") + "secure/"); } nico_config.NICOVIDEO_ACCOUNT_SETTING_URL = hug35; nico_config.NICOVIDEO_ACCOUNT_REGISTER_COMMON_URL = (hug35 + "register?transition=common"); nico_config.FLAPI_BASE_URL = hug8; nico_config.CROSSSHAREDOBJECT_SWF_URL = hug13; nico_config.CROSSSHAREDOBJECT_NONIMG_SWF_URL = hug14; nico_config.MARQUEE_PLAYER_URL = hug16; nico_config.THUMBPLAYER_VIEW_URL = hug24; nico_config.THUMBPLAYER_CONTROLLER_URL = hug25; nico_config.NICOSPLAYER_URL = hug15; nico_config.PLAYERVERSION_XML_URL = hug17; nico_config.PLAYERINFO_XML_URL = hug18; nico_config.USERSPONSOR_MOVIE_URL = hug19; nico_config.VIEW_SWF_URL = hug22; nico_config.VIEWCONTROLLER_SWF_URL = hug23; nico_config.HIROBA_MOVIE_URL = hug20; nico_config.PARADE_MAP_URL = hug21; nico_config.HIROBACONNECTOR_SWF_URL = hug26; nico_config.VIDEO_MENU_URL = hug27; nico_config.VIDEO_ENDER_URL = hug28; nico_config.PLUGINLOADER_SWF_URL = hug29; nico_config.APPLIBAR_URL = hug30; nico_config.JSCONNECTOR_SWF_URL = hug31; nico_config.REMOCON_ALERT_SWF_URL = hug32; nico_config.RES_URL = hug4.replace("www", "res").replace("nicovideo", "nimg"); nico_config.CHANNEL_URL = hug4.replace("www", "ch"); nico_config.GETFLV_URL = (hug8 + "getflv"); nico_config.GETBGM_API_URL = (hug8 + "getbgm"); nico_config.GETPOSTKEY_URL = (hug8 + "getpostkey/"); nico_config.GET_CLICKKEY_URL = (hug8 + "getclickkey"); nico_config.GET_WAYBACKKEY_URL = (hug8 + "getwaybackkey"); nico_config.GET_DELETEKEY_URL = (hug8 + "getdeletekey"); nico_config.GET_UPDATEKEY_URL = (hug8 + "getupdatekey"); nico_config.GET_THREADKEY_URL = (hug8 + "getthreadkey"); nico_config.GET_NSKEY_URL = (hug8 + "getnskey"); nico_config.GETTHUMBINFO_URL = (hug4.replace("www", "ext") + "api/getthumbinfo/"); nico_config.GETRELATION_URL = (hug8 + "getrelation"); nico_config.GETGAMERANKING_URL = (hug8 + "getgameranking"); nico_config.GETENQUESTERESULT_URL = (hug8 + "getnicoenquete"); nico_config.GETCONFIGURENGCLIENT_URL = (hug8 + "configurengclient"); nico_config.THUMBWATCH_URL = (hug4 + "thumb_watch"); nico_config.GET_CONFIGURE_NGWORD = (hug8 + "configurengword"); nico_config.REDIRECTOR_URL = (hug4.replace("ext", "www") + "redir"); nico_config.adAPI_URL = hug10; nico_config.REGISTERBGM_API_URL = (hug8 + "registerbgm"); nico_config.LOGGER_API_URL = (hug8 + "logger.php"); nico_config.PLAYLEN_API_URL = (hug8 + "playlen"); nico_config.MYLIST_ADD_API_URL = (hug8 + "deflist/add"); nico_config.FEED_ADD_API_URL = (hug8 + "feed/add"); nico_config.FEED_DEL_API_URL = (hug8 + "feed/delete"); nico_config.FEED_LIST_API_URL = (hug8 + "feed/list"); nico_config.LEAD_MOBILE_WATCH_API_URL = (hug8 + "leadmobilewatch"); nico_config.SMILEVIDEO_URL = "http://www.smilevideo.jp/"; nico_config.HOWTOUSE_URL = "http://help.nicovideo.jp/cat21/post.html"; nico_config.RECOMMEND_ENV_URL = "http://help.nicovideo.jp/cat18/post_1.html"; nico_config.DIC_NICOVIDEO_URL = "http://dic.nicovideo.jp/"; nico_config.DELETE_COMMENT_URL = "http://bbs.nicovideo.jp/delete/comment/"; nico_config.ENTRY_HANDBOOK_URL = "http://info.nicovideo.jp/smile/handbook/"; nico_config.RULES_URL = "http://info.nicovideo.jp/base/rule.html"; nico_config.NOSO_URL = "http://info.nicovideo.jp/help/player/faq/local_00.html"; nico_config.NOSO_BANNER_URL = (hug1.RES_URL + "img/marquee/noso.png"); nico_config.GETSPONSOR_API_URL = hug11; nico_config.OTHERSPONSOR_URL = hug12; nico_config.PIZZA_URL = __PIZZA_URL; nico_config.CLICK_COUNTER_BASE_URL = __CLICK_COUNTER_BASE_URL; nico_config.HIROBA_GETPOSTKEY_URL = (hug8 + "hiroba/getpostkey"); nico_config.PREMIUMLEAD_ON_SLIDER_LINK_URL = (hug4 + "comparison"); nico_config.GET_CHECKLIST_URL = (hug8 + "getchecklist"); nico_config.MYLIST_PAGE_URL = (hug4 + "my/mylist/"); nico_config.OPEN_MYLIST_URL = (hug4 + "openlist/"); nico_config.MYLIST_COMMENT_URL = (hug4 + "mylistcomment/video/"); nico_config.GET_PLAYLIST_URL = (hug8 + "getplaylist/mylist/"); nico_config.WATCH_API_URL = (hug4 + "watch/"); nico_config.PLAYLIST_PAGE_BASE_URL = (hug4 + "playlist/mylist/"); } private static function _getPlayerPath(hug1:String):String { //dispID:4, MethodID:2196, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 59 var hug2:RegExp = new RegExp("^http://[^/]+/(.*?/)[^/]+.swf"); var hug3:Array = hug2.exec(hug1); if(hug3 && (hug3.length >= 2)) return hug3[1]; throw new ArgumentError("DefaultInitializer._getPlayerPath"); } public static function setThumbDebugMode(hug1:NicoConfig):void { //dispID:5, MethodID:2197, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 82 var hug2:String = "../../nicoplayer/bin-debug/"; nico_config.NICOSPLAYER_URL = (hug2 + __NICOSPLAYER); nico_config.PLAYERVERSION_XML_URL = (hug2 + __PLAYERVERSION_XML); nico_config.USERSPONSOR_MOVIE_URL = (hug2 + __USERSPONSOR); nico_config.VIEW_SWF_URL = (hug2 + __VIEW_SWF); nico_config.VIEWCONTROLLER_SWF_URL = (hug2 + __CONTROLLER_SWF); } //constructor public function DefaultInitializer() { //MethodID:2198, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script132■ package jp.nicovideo.nicoplayer.models.api{ import flash.net.URLVariables import jp.nicovideo.nicoplayer.config.NicoConfig import jp.nicovideo.util.Assert import jp.nicovideo.util.HTTPUtils //■class(instance)_index:157 public class Keygen extends Object implements IKeygen { //static constructor public static function Keygen$cinit() { //MethodID:2200, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function Keygen(hug1:NicoConfig) { //MethodID:2201, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 super(); this.__conf = hug1; } //variables/etc. private var __conf:NicoConfig; //slotID:0 public function getPostKey(hug1:Function, hug2:String, hug3:int, hug4:Boolean):void { //MethodID:2203, LocalCount= 6 , MaxScope= 2, MaxStack= 9, CodeLength= 84 internal var f:Function; //slotID:1 internal var threadID:String; //slotID:2 internal var page:int; //slotID:3 internal var yugi:Boolean; //slotID:4 f = hug1; threadID = hug2; page = hug3; yugi = hug4; HTTPUtils.sendQuery(function(hug1:URLVariables):void{ //MethodID:2202, LocalCount= 3 , MaxScope= 0, MaxStack= 5, CodeLength= 62 var hug2:String = hug1["postkey"]; if((hug1 != null) && hug2){ f(true, hug2, (hug1["yugi"] == "1")); }else{ f(false, null, false); } }, this.__conf.GETPOSTKEY_URL, {thread:threadID, block_no:page, yugi:(yugi ? "1" : "")}); } public function getClickKey(hug1:Function, hug2:String, hug3:int, hug4:int):void { //MethodID:2204, LocalCount= 5 , MaxScope= 1, MaxStack= 10, CodeLength= 34 this.__getchu(hug1, this.__conf.GET_CLICKKEY_URL, "clickkey", {thread:hug2, num_res:hug3, click_revision:hug4}); } public function getDeleteKey(hug1:Function, hug2:String, hug3:Array):String { //MethodID:2207, LocalCount= 5 , MaxScope= 2, MaxStack= 8, CodeLength= 103 internal var f:Function; //slotID:1 internal var threadID:String; //slotID:2 internal var list:Array; //slotID:3 internal var vals:String; //slotID:4 f = hug1; threadID = hug2; list = hug3; Assert.assert(list.every(function(hug1:*, hug2:int, hug3:Array):Boolean{ //MethodID:2206, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 5 return (hug1 is uint); })); vals = list.sort(function(hug1:uint, hug2:uint):Number{ //MethodID:2205, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 4 return (hug1 - hug2); }).join(","); this.__postchu(f, this.__conf.GET_DELETEKEY_URL, "deletekey", {thread_id:threadID, res_no:vals}); return vals; } public function getWaybackKey(hug1:Function, hug2:String):void { //MethodID:2208, LocalCount= 3 , MaxScope= 1, MaxStack= 6, CodeLength= 25 this.__getchu(hug1, this.__conf.GET_WAYBACKKEY_URL, "waybackkey", {thread:hug2}); } public function getUpdateKey(hug1:Function, hug2:String, hug3:String, hug4:Boolean):void { //MethodID:2209, LocalCount= 5 , MaxScope= 1, MaxStack= 10, CodeLength= 49 this.__getchu(hug1, this.__conf.GET_UPDATEKEY_URL, "updatekey", {thread:hug2, ticket:hug3, nicos:(hug4 ? "yes" : "")}); } public function getThreadKey(hug1:Function, hug2:String):void { //MethodID:2211, LocalCount= 4 , MaxScope= 2, MaxStack= 5, CodeLength= 43 internal var f:Function; //slotID:1 internal var threadID:String; //slotID:2 f = hug1; threadID = hug2; HTTPUtils.sendQuery(function(hug1:URLVariables):void{ //MethodID:2210, LocalCount= 3 , MaxScope= 0, MaxStack= 5, CodeLength= 62 var hug2:String = hug1["threadkey"]; if((hug1 != null) && hug2){ f(true, hug2, (hug1["force_184"] == "1")); }else{ f(false, null, false); } }, this.__conf.GET_THREADKEY_URL, {thread:threadID}); } public function getHirobaPostKey(hug1:Function, hug2:String, hug3:int):void { //MethodID:2212, LocalCount= 4 , MaxScope= 1, MaxStack= 8, CodeLength= 29 this.__getchu(hug1, this.__conf.HIROBA_GETPOSTKEY_URL, "postkey", {thread:hug2, block_no:hug3}); } private function __getchu(hug1:Function, hug2:String, hug3:String, hug4:Object):void { //MethodID:2214, LocalCount= 6 , MaxScope= 2, MaxStack= 4, CodeLength= 47 internal var f:Function; //slotID:1 internal var apiURL:String; //slotID:2 internal var name:String; //slotID:3 internal var param:Object; //slotID:4 f = hug1; apiURL = hug2; name = hug3; param = hug4; HTTPUtils.sendQuery(function(hug1:URLVariables):void{ //MethodID:2213, LocalCount= 2 , MaxScope= 0, MaxStack= 4, CodeLength= 53 if((hug1 != null) && hug1[name]){ f(true, hug1[name]); }else{ f(false, null); } }, apiURL, param); } private function __postchu(hug1:Function, hug2:String, hug3:String, hug4:Object):void { //MethodID:2216, LocalCount= 6 , MaxScope= 2, MaxStack= 4, CodeLength= 47 internal var f:Function; //slotID:1 internal var apiURL:String; //slotID:2 internal var name:String; //slotID:3 internal var param:Object; //slotID:4 f = hug1; apiURL = hug2; name = hug3; param = hug4; HTTPUtils.sendPostData(function(hug1:URLVariables):void{ //MethodID:2215, LocalCount= 2 , MaxScope= 0, MaxStack= 4, CodeLength= 53 if((hug1 != null) && hug1[name]){ f(true, hug1[name]); }else{ f(false, null); } }, apiURL, param); } } } //■script133■ package jp.nicovideo.nicoplayer.models.video{ //■class(instance)_index:158 public class ChildVideoName extends Object { //static constructor public static function ChildVideoName$cinit() { //MethodID:2218, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 MAIN_VIDEO = "maing_video"; USER_SPONSOR = "user_sponsor_video"; DELETED_SUPPLEMENTION = "deleted_suplemention"; } //static variables/etc. public static const MAIN_VIDEO:String = "maing_video"; //slotID:1 public static const USER_SPONSOR:String = "user_sponsor_video"; //slotID:2 public static const DELETED_SUPPLEMENTION:String = "deleted_suplemention";//slotID:3 //constructor public function ChildVideoName() { //MethodID:2219, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script134■ package jp.nicovideo.nicoplayer.storages{ //■class(instance)_index:159 public interface ICommentStorage { //static constructor public static function ICommentStorage$cinit() { //MethodID:2221, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get onServerTimeUpdated():Function; //MethodID:2222, dispID:0 function set onServerTimeUpdated(hug1:Function):void; //MethodID:2223, dispID:0 function get onViewCounterUpdated():Function; //MethodID:2224, dispID:0 function set onViewCounterUpdated(hug1:Function):void; //MethodID:2225, dispID:0 function get forceLeafOff():Boolean; //MethodID:2226, dispID:0 function set forceLeafOff(hug1:Boolean):void; //MethodID:2227, dispID:0 function get leafNum():int; //MethodID:2228, dispID:0 function set leafNum(hug1:int):void; //MethodID:2229, dispID:0 function connect():void; //MethodID:2230, dispID:0 function attach(hug1:String):ICommentStorageHandle; //MethodID:2231, dispID:0 function disconnect():void; //MethodID:2232, dispID:0 //constructor public function ICommentStorage(); //MethodID:2233, dispID:0 } } //■script135■ package jp.nicovideo.nicoscript{ import jp.nicovideo.nicoplayer.views.VideoLayerConstants //■class(instance)_index:160 public final class NicoSConstants extends Object { //static constructor public static function NicoSConstants$cinit() { //MethodID:2235, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 58 ATBGM_VIDEO_WIDTH = (VideoLayerConstants.VIDEO_LAYER_SD_WIDTH / 4); ATBGM_VIDEO_HEIGHT = (VideoLayerConstants.VIDEO_LAYER_SD_HEIGHT / 4); ATBGM_VIDEO_FRAME_MARGIN = 15; ATCM_VIDEO_WIDTH = 544; ATCM_VIDEO_HEIGHT = 56; } //static variables/etc. public static const ATBGM_VIDEO_WIDTH:int = 128; //slotID:1 public static const ATBGM_VIDEO_HEIGHT:int = 96; //slotID:2 public static const ATBGM_VIDEO_FRAME_MARGIN:int = 15; //slotID:3 public static const ATCM_VIDEO_WIDTH:int = 544; //slotID:4 public static const ATCM_VIDEO_HEIGHT:int = 56; //slotID:5 //constructor public function NicoSConstants() { //MethodID:2236, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script136■ package jp.nicovideo.nicoplayer.views.comment{ //■class(instance)_index:161 public interface ICommentLayerView { //static constructor public static function ICommentLayerView$cinit() { //MethodID:2238, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function update(hug1:String, hug2:Array, hug3:Array, hug4:Boolean):void; //MethodID:2239, dispID:0 //constructor public function ICommentLayerView(); //MethodID:2240, dispID:0 } } //■script137■ package jp.nicovideo.nicoplayer.views.comment{ import flash.display.DisplayObject import flash.events.Event import flash.events.TimerEvent import flash.utils.Timer import flash.utils.getTimer import jp.nicovideo.nicoplayer.models.video.ITimeline import jp.nicovideo.util.events.EventResult use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:162 public class CommentLayerView extends Object implements ICommentLayerView { //static constructor public static function CommentLayerView$cinit() { //MethodID:2242, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommentLayerView(hug1:DisplayObject, hug2:ITimeline, hug3:int, hug4:int, hug5:Number) { //MethodID:2244, LocalCount= 7 , MaxScope= 2, MaxStack= 4, CodeLength= 115 internal var enterFrameEventDispatcher:DisplayObject; //slotID:1 internal var video:ITimeline; //slotID:2 internal var width:int; //slotID:3 internal var height:int; //slotID:4 internal var videoLength:Number; //slotID:5 enterFrameEventDispatcher = hug1; video = hug2; width = hug3; height = hug4; videoLength = hug5; this.__commentSlotLists = {}; this.__slotTimer = new Timer(200); super(); this._enterFrameEventDispatcher = enterFrameEventDispatcher; this.__video = video; this.__positioner = new CommentPositioner(width, height); this.__videoLength = videoLength; this.__slotTimer.addEventListener(TimerEvent.TIMER, function(hug1:TimerEvent):void{ //MethodID:2243, LocalCount= 6 , MaxScope= 0, MaxStack= 3, CodeLength= 53 var hug3:CommentSlotList = null; var hug2:Number = __vpos; for each(hug3 in __commentSlotLists){ hug3.refresh(hug2, false); } }); } //variables/etc. private var __commentSlotLists:Object; //slotID:0 private var __video:ITimeline; //slotID:0 private var __positioner:CommentPositioner; //slotID:0 private var __isPlaying:Boolean = false; //slotID:0 private var __lastVpos:Number = 0.0; //slotID:0 private var __lastVposTime:Number = 0.0; //slotID:0 private var __slotTimer:Timer; //slotID:0 private var __videoLength:Number; //slotID:0 private var _enterFrameEventDispatcher:DisplayObject; //slotID:0 private function _onEnterFrame(hug1:Event):void { //MethodID:2245, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 56 var hug3:CommentSlotList = null; var hug2:Number = this.__vpos; for each(hug3 in this.__commentSlotLists){ hug3.move(hug2); } } private function get __vpos():Number { //MethodID:2246, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 119 if(!this.__video.isInitialized) return 0; var hug1:Number = this.__video.vpos; if(!this.__isPlaying || (this.__videoLength == (-1))) return hug1; var hug2:Number = (this.__lastVpos + getTimer() - this.__lastVposTime); hug2 = Math.min(hug2, this.__videoLength); if(Math.abs(hug2 - hug1) > 1000){ this.__lastVposTime = getTimer(); this.__lastVpos = hug1; return hug1; } return hug2; } public function update(hug1:String, hug2:Array, hug3:Array, hug4:Boolean):void { //MethodID:2247, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 41 var hug5:CommentSlotList = this.__getSlotList(hug1); hug5.update(hug2, hug3, hug4); hug5.refresh(this.__vpos, (this.__videoLength != (-1))); } public function setReverseMode(hug1:String, hug2:Boolean):void { //MethodID:2248, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this.__getSlotList(hug1).isReverseMode = hug2; } private function __getSlotList(hug1:String):CommentSlotList { //MethodID:2249, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 53 var hug2:CommentSlotList = this.__commentSlotLists[hug1]; if(!hug2){ this.__commentSlotLists[hug1] = new CommentSlotList(this.__positioner, this.__videoLength); hug2 = new CommentSlotList(this.__positioner, this.__videoLength); } return hug2; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoPlayed():EventResult { //MethodID:2250, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 94 this.__isPlaying = true; this.__lastVposTime = getTimer(); this.__lastVpos = this.__video.vpos; this.__slotTimer.start(); if(this._enterFrameEventDispatcher.hasEventListener(Event.ENTER_FRAME)) this._enterFrameEventDispatcher.removeEventListener(Event.EXIT_FRAME, this._onEnterFrame); this._enterFrameEventDispatcher.addEventListener(Event.ENTER_FRAME, this._onEnterFrame); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoStopped():EventResult { //MethodID:2251, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 105 var hug1:CommentSlotList = null; this.__isPlaying = false; this.__lastVpos = this.__video.vpos; this.__slotTimer.stop(); this._enterFrameEventDispatcher.removeEventListener(Event.EXIT_FRAME, this._onEnterFrame); for each(hug1 in this.__commentSlotLists){ hug1.refresh(this.__lastVpos, false); hug1.move(this.__lastVpos); } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoEnded(hug1:Boolean):EventResult { //MethodID:2252, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 43 if(!hug1){ this.__isPlaying = false; this.__slotTimer.stop(); this._enterFrameEventDispatcher.removeEventListener(Event.EXIT_FRAME, this._onEnterFrame); } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoSeeked(hug1:Number):EventResult { //MethodID:2253, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 62 var hug2:CommentSlotList = null; this.__lastVpos = hug1; for each(hug2 in this.__commentSlotLists){ hug2.refresh(this.__lastVpos, true); } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoLengthFixed(hug1:Number, hug2:Boolean=false):EventResult { //MethodID:2254, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 61 var hug3:CommentSlotList = null; this.__videoLength = hug1; for each(hug3 in this.__commentSlotLists){ hug3.updateVideoLength(hug1, hug2); } return EventResult.THROUGH; } } } //■script138■ package jp.nicovideo.nicoplayer.models{ import jp.nicovideo.util.Functions import jp.nicovideo.util.events.event_sender use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender); //■class(instance)_index:164 public class SystemMessage extends Object implements EventSender { //static constructor public static function SystemMessage$cinit() { //MethodID:2258, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //static variables/etc. private static var __instance:SystemMessage; //slotID:1 public static function get instance():SystemMessage { //dispID:3, MethodID:2259, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 39 var hug1:SystemMessage = new SystemMessage(new Guard()); __instance = hug1; return (__instance || hug1); } //constructor public function SystemMessage(hug1:Guard) { //MethodID:2260, LocalCount= 2 , MaxScope= 1, MaxStack= 7, CodeLength= 83 this.onSystemMessageInformationSended = new Functions(); this.onSystemMessageAlertSended = new Functions(); this.onSystemMessageCommentInfoSended = new Functions(); this.onSystemMessageStatusBarInfoSended = new Functions(); this.onSystemMessageJumpMessageSended = new Functions(); this.onSystemMessageClockMessageSended = new Functions(); this._eventNames = ["onSystemMessageInformationSended", "onSystemMessageAlertSended", "onSystemMessageCommentInfoSended", "onSystemMessageStatusBarInfoSended", "onSystemMessageJumpMessageSended", ""]; super(); } //variables/etc. (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onSystemMessageInformationSended:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onSystemMessageAlertSended:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onSystemMessageCommentInfoSended:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onSystemMessageStatusBarInfoSended:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onSystemMessageJumpMessageSended:Functions;//slotID:0 (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onSystemMessageClockMessageSended:Functions;//slotID:0 private const _eventNames:Array; //slotID:0 public function get eventNames():Array { //MethodID:2261, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._eventNames; } public function inform(hug1:String, hug2:Boolean=false, hug3:Boolean=true):void { //MethodID:2262, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 28 onSystemMessageInformationSended.apply(hug1, hug2, hug3); } public function informln(hug1:String, hug2:Boolean=false, hug3:Boolean=true):void { //MethodID:2263, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 32 onSystemMessageInformationSended.apply((hug1 + "
"), hug2, hug3); } public function alert(hug1:String, hug2:String=null, hug3:String=null, hug4:Function=null, hug5:String=null, hug6:Function=null, hug7:String=null, hug8:Function=null, hug9:Boolean=false):void { //MethodID:2264, LocalCount= 10 , MaxScope= 1, MaxStack= 10, CodeLength= 40 onSystemMessageAlertSended.apply(hug1, hug2, hug3, hug4, hug5, hug6, hug7, hug8, hug9); } public function informComment(hug1:String):void { //MethodID:2265, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 26 onSystemMessageCommentInfoSended.apply(hug1); } public function informStatusBar(hug1:String, hug2:String=null):void { //MethodID:2266, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 55 onSystemMessageStatusBarInfoSended.apply(hug1); if(hug2) onSystemMessageInformationSended.apply(hug2, false); } public function informJumpMessage(hug1:Function, hug2:String):void { //MethodID:2267, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 30 onSystemMessageJumpMessageSended.apply(hug1, hug2, 3000); } public function informClockMessage(hug1:String):void { //MethodID:2268, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 26 onSystemMessageClockMessageSended.apply(hug1); } } } //■class(instance)_index:163 //private class Guard extends Object { //static constructor public static function Guard$cinit() { //MethodID:2256, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function Guard() { //MethodID:2257, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } //■script139■ package jp.nicovideo.nicoplayer.tpls.shutter{ //■class(instance)_index:165 public class AudioShutterConstants extends Object { //static constructor public static function AudioShutterConstants$cinit() { //MethodID:2270, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 124 _END_OF_ENUM = 0; SHUTTER_SEEK = (_END_OF_ENUM++); SHUTTER_PLUGIN = (_END_OF_ENUM++); SHUTTER_HIROBA = (_END_OF_ENUM++); SHUTTER_NICOWARI = (_END_OF_ENUM++); END_OF_ENUM = _END_OF_ENUM; } //static variables/etc. private static var _END_OF_ENUM:int = 0; //slotID:1 public static const SHUTTER_SEEK:int; //slotID:2 public static const SHUTTER_PLUGIN:int; //slotID:3 public static const SHUTTER_HIROBA:int; //slotID:4 public static const SHUTTER_NICOWARI:int; //slotID:5 public static const END_OF_ENUM:int; //slotID:6 //constructor public function AudioShutterConstants() { //MethodID:2271, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //■script140■ package jp.nicovideo.nicoplayer.external{ import jp.nicovideo.nicoplayer.models.comment.ICommentList import jp.nicovideo.nicoplayer.models.comment.IOwnerCommentList //■class(instance)_index:166 public interface IExternalClient { //static constructor public static function IExternalClient$cinit() { //MethodID:2273, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function onClickedNicomesseButton():void; //MethodID:2274, dispID:0 function toggleMaximizePlayerSize():void; //MethodID:2275, dispID:0 function udpateRemoconState():void; //MethodID:2276, dispID:0 function get isInitialized():Boolean; //MethodID:2277, dispID:0 function set isEditedOwnerThread(hug1:Boolean):void; //MethodID:2278, dispID:0 function set localCommentList(hug1:ICommentList):void; //MethodID:2279, dispID:0 function set ownerCommentList(hug1:IOwnerCommentList):void; //MethodID:2280, dispID:0 function set setInputMessage(hug1:Function):void; //MethodID:2281, dispID:0 //constructor public function IExternalClient(); //MethodID:2282, dispID:0 } } //■script141■ package jp.nicovideo.nicoplayer.external{ import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.ScreenAspectRatio import jp.nicovideo.nicoplayer.models.ScreenMode import jp.nicovideo.nicoplayer.models.comment.Command import jp.nicovideo.nicoplayer.models.comment.CommentBuilder import jp.nicovideo.nicoplayer.models.comment.CommentConstants import jp.nicovideo.nicoplayer.models.comment.IComment import jp.nicovideo.nicoplayer.models.comment.ICommentList import jp.nicovideo.nicoplayer.models.comment.IOwnerCommentList import jp.nicovideo.nicoplayer.models.playlist.VideoInfo import jp.nicovideo.nicoplayer.models.video.IVideo import jp.nicovideo.nicoplayer.models.video.IVideoController import jp.nicovideo.nicoplayer.remocon.RemoconReceiver import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.external.JSConnector use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); //■class(instance)_index:168 public class ExternalClient extends Object implements IExternalClient { //static constructor public static function ExternalClient$cinit() { //MethodID:2293, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ExternalClient() { //MethodID:2294, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. private const _EXT_SCREEN_MODE_BROWSER_FULL:String = "fit"; //slotID:0 private const _EXT_SCREEN_MODE_NORMAL:String = "normal"; //slotID:0 private const _EXT_SCREEN_MODE_DISPLAY_FULL:String = "full"; //slotID:0 private var _watchID:String; //slotID:0 private var _getThreadsFuncName:String; //slotID:0 private var _threadIDList:Array; //slotID:0 private var _commentLists:Object; //slotID:0 private var _setInputMessage:Function; //slotID:0 private var _isInitialized:Boolean = false; //slotID:0 private var _isPremium:Boolean = false; //slotID:0 private var _isEditedOwnerThread:Boolean = false; //slotID:0 private var _playerConfig:IPlayerConfig; //slotID:0 private var _video:IVideo; //slotID:0 private var _videoController:IVideoController; //slotID:0 private var _localCommentList:ICommentList; //slotID:0 private var _ownerCommentList:IOwnerCommentList; //slotID:0 private var _commentListDataPooler:_CommentListDataPooler; //slotID:0 public function initialize(hug1:String, hug2:IVideo, hug3:IVideoController, hug4:IPlayerConfig, hug5:Boolean, hug6:Boolean, hug7:Boolean=false):void { //MethodID:2319, LocalCount= 9 , MaxScope= 2, MaxStack= 3, CodeLength= 451 internal var watchID:String; //slotID:1 internal var video:IVideo; //slotID:2 internal var videoController:IVideoController; //slotID:3 internal var playerConfig:IPlayerConfig; //slotID:4 internal var isPremium:Boolean; //slotID:5 internal var isOwnerThreadEditMode:Boolean; //slotID:6 internal var hasNicosThread:Boolean = false; //slotID:7 watchID = hug1; video = hug2; videoController = hug3; playerConfig = hug4; isPremium = hug5; isOwnerThreadEditMode = hug6; hasNicosThread = hug7; this._watchID = watchID; this._video = video; this._videoController = videoController; this._playerConfig = playerConfig; this._isPremium = isPremium; this._threadIDList = []; this._commentLists = {}; this._commentListDataPooler = new _CommentListDataPooler(hasNicosThread); this._commentListDataPooler.onCommentListDataPooled = this._onCommentListDataPooled; if(this._isInitialized) return; this._isInitialized = true; JSConnector.addCallback("ext_play", function(hug1:Boolean):void{ //MethodID:2295, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 24 if(hug1){ _videoController.play(); }else{ _videoController.stop(); } }); JSConnector.addCallback("ext_setPlayheadTime", function(hug1:Number):void{ //MethodID:2296, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 13 _videoController.seek(hug1 * 1000); }); JSConnector.addCallback("ext_setMute", function(hug1:Boolean):void{ //MethodID:2297, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 19 if(playerConfig.isMute != hug1) playerConfig.isMute = hug1; }); JSConnector.addCallback("ext_setVolume", function(hug1:Number):void{ //MethodID:2298, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 25 var hug2:Number = (hug1 / 100); if(playerConfig.volume != hug2) playerConfig.volume = hug2; }); JSConnector.addCallback("ext_setCommentVisible", function(hug1:Boolean):void{ //MethodID:2299, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 19 if(hug1 != playerConfig.commentVisible) playerConfig.commentVisible = hug1; }); JSConnector.addCallback("ext_setRepeat", function(hug1:Boolean):void{ //MethodID:2300, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 19 if(hug1 != playerConfig.isLoop) playerConfig.isLoop = hug1; }); JSConnector.addCallback("ext_setVideoSize", function(hug1:String):void{ //MethodID:2301, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 99 if((hug1 == _EXT_SCREEN_MODE_BROWSER_FULL) && (playerConfig.screenMode != ScreenMode.BROWSER_FULL)){ playerConfig.fullScreenMode = ScreenMode.BROWSER_FULL; playerConfig.screenMode = ScreenMode.BROWSER_FULL; }else if((hug1 == _EXT_SCREEN_MODE_NORMAL) && (playerConfig.screenMode != ScreenMode.NORMAL)){ playerConfig.screenMode = ScreenMode.NORMAL; } }); JSConnector.addCallback("ext_isCommentVisible", function():Boolean{ //MethodID:2302, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 7 return playerConfig.commentVisible; }); JSConnector.addCallback("ext_isMute", function():Boolean{ //MethodID:2303, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 7 return playerConfig.isMute; }); JSConnector.addCallback("ext_isRepeat", function():Boolean{ //MethodID:2304, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 7 return playerConfig.isLoop; }); JSConnector.addCallback("ext_isWide", function():Boolean{ //MethodID:2305, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 14 return (playerConfig.aspectRatio == ScreenAspectRatio.WIDE); }); JSConnector.addCallback("ext_getVolume", function():Number{ //MethodID:2306, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 10 return (playerConfig.volume * 100); }); JSConnector.addCallback("ext_getVideoSize", function():String{ //MethodID:2307, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 44 if(playerConfig.screenMode == ScreenMode.BROWSER_FULL) return _EXT_SCREEN_MODE_BROWSER_FULL; if(playerConfig.screenMode == ScreenMode.DISPLAY_FULL) return _EXT_SCREEN_MODE_DISPLAY_FULL; return _EXT_SCREEN_MODE_NORMAL; }); JSConnector.addCallback("ext_getStatus", function():String{ //MethodID:2308, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 7 return _video.videoPlayerStatus; }); JSConnector.addCallback("ext_getPlayheadTime", function():Number{ //MethodID:2309, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 18 return Math.floor(_video.vpos / 1000); }); JSConnector.addCallback("ext_getTotalTime", function():Number{ //MethodID:2310, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 18 return Math.floor(_video.length / 1000); }); JSConnector.addCallback("ext_isEditedOwnerThread", function():Boolean{ //MethodID:2311, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 4 return _isEditedOwnerThread; }); JSConnector.addCallback("ext_sendLocalMessage", function(hug1:String, hug2:String, hug3:Number):void{ //MethodID:2312, LocalCount= 5 , MaxScope= 0, MaxStack= 4, CodeLength= 73 if(!_localCommentList) return; var hug4:CommentBuilder = new CommentBuilder(); hug4.message = hug1; hug4.command = new Command(hug2, isPremium); hug4.vpos = (hug3 * 1000); hug4.commentList = _localCommentList; _localCommentList.post(hug4.make()); }); JSConnector.addCallback("ext_getLoadedRatio", function():Number{ //MethodID:2313, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 40 if(!_video || (_video.length == 0)) return 0; return (_video.loadedLength / _video.length); }); JSConnector.addCallback("ext_sendOwnerMessage", function(hug1:String, hug2:String, hug3:Number):void{ //MethodID:2314, LocalCount= 5 , MaxScope= 0, MaxStack= 4, CodeLength= 95 if(!_ownerCommentList || !isOwnerThreadEditMode) return; var hug4:CommentBuilder = new CommentBuilder(); hug4.message = hug1; hug4.command = new Command(hug2, isPremium); hug4.vpos = (Math.max(0, hug3) * 1000); hug4.commentList = _ownerCommentList; _ownerCommentList.edit([hug4.make()]); }); JSConnector.addCallback("ext_setInputMessage", function(hug1:String, hug2:String):void{ //MethodID:2315, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 18 if(_setInputMessage != null) _setInputMessage(hug1, hug2); }); JSConnector.addCallback("ext_getThreads", function(hug1:String):Boolean{ //MethodID:2316, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 46 if(hug1){ _getThreadsFuncName = hug1; if(_threadIDList.length > 0) _callGetThreadsCallback(); return true; }else{ _getThreadsFuncName = null; } return false; }); JSConnector.addCallback("ext_getComments", function(hug1:int, hug2:int=1000):Array{ //MethodID:2317, LocalCount= 9 , MaxScope= 0, MaxStack= 3, CodeLength= 211 var hug4:String = null; var hug5:int = 0; var hug6:int = 0; var hug7:IComment = null; var hug8:Object = null; var hug3:Array = []; if(_threadIDList[hug1]){ hug4 = _threadIDList[hug1]; hug5 = (_commentLists[hug4].length - 1); hug2 = ((hug5 < hug2) ? (-1) : (hug5 - hug2)); hug6 = hug5; while(hug6 > hug2){ hug7 = _commentLists[hug4][hug6]; hug8 = new Object(); hug8["message"] = hug7.message; hug8["vpos"] = hug7.vpos; hug8["resNo"] = hug7.resNo; hug8["date"] = hug7.date.toDateString(); hug8["command"] = hug7.command.command; hug3.push(hug8); hug6--; } } return hug3; }); JSConnector.addCallback("externalRemoconCall", function(hug1:String, hug2:Object=null):void{ //MethodID:2318, LocalCount= 5 , MaxScope= 3, MaxStack= 3, CodeLength= 62 internal var method_name:String; //slotID:1 internal var params:Object = null; //slotID:2 method_name = hug1; params = hug2; try{ if(RemoconReceiver.hasInitialized) RemoconReceiver.instance.callMethod(method_name, params); } catch(error:ArgumentError){ } }); } public function onPlayerReady():void { //MethodID:2320, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 19 JSConnector.call("onNicoPlayerReady", JSConnector.objectID); } public function onClickedNicomesseButton():void { //MethodID:2321, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 17 JSConnector.call("Nicovideo.launchP4", this._watchID); } public function toggleMaximizePlayerSize():void { //MethodID:2322, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 JSConnector.call("toggleMaximizePlayer"); } public function onChangeVideoStatus(hug1:String):void { //MethodID:2323, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 43 JSConnector.call("setPlayerStatus", this._video.videoPlayerStatus); JSConnector.call("onNicoPlayerStatus", JSConnector.objectID, this._video.videoPlayerStatus); } public function onChangePlayingVideo(hug1:String, hug2:String):void { //MethodID:2324, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 15 JSConnector.call("changePlayingVideo", hug1, hug2); } public function udpateRemoconState():void { //MethodID:2325, LocalCount= 1 , MaxScope= 1, MaxStack= 18, CodeLength= 168 JSConnector.call("NicoRemocon.setState", {page:"watch", vid:this._watchID, volume:(this._playerConfig.volume * 100), is_fullscreen:((this._playerConfig.screenMode == ScreenMode.NORMAL) ? 0 : 1), is_mute:(this._playerConfig.isMute ? 1 : 0), is_comment_visible:(this._playerConfig.commentVisible ? 1 : 0), is_repeat:(this._playerConfig.isLoop ? 1 : 0), is_playing:(this._videoController.isPlaying ? 1 : 0)}); } private function _setMymemoryParameters(hug1:Date=null, hug2:Number=-1.0, hug3:Number=-1.0, hug4:String, hug5:int=-1, hug6:Number=-1.0, hug7:Number=-1.0):void { //MethodID:2326, LocalCount= 9 , MaxScope= 1, MaxStack= 6, CodeLength= 163 if((hug3 < 0) || (hug2 < 0)) throw new ArgumentError("ExternalClient._setMymemoryParameters: mainNum and mainFrom must be positive value."); var hug8:Object = {main:{from:hug2, num:hug3}}; if(hug4 != ""){ hug8.main["res_before"] = hug5; hug8.main["leaves_from"] = hug4; } if((hug6 > 0) && (hug7 > 0)) hug8.nicos = {from:hug6, num:hug7}; JSConnector.call("setMymemoryParameters", hug8, ((hug1 != null) ? Math.floor(hug1.getTime() / 1000) : null)); } private function _callGetThreadsCallback():void { //MethodID:2327, LocalCount= 5 , MaxScope= 1, MaxStack= 6, CodeLength= 112 var hug4:Object = null; var hug1:Array = []; var hug2:int = this._threadIDList.length; var hug3:int = 0; while(hug3 < hug2){ hug4 = {}; hug4["id"] = hug3; hug4["type"] = this._threadIDList[hug3].replace(new RegExp("^commentlist\:", "g"), ""); hug1.push(hug4); hug3++; } if(this._getThreadsFuncName != null) JSConnector.call(this._getThreadsFuncName, hug1); } private function _onCommentListDataPooled(hug1:Boolean=false, hug2:Date=null, hug3:Object=null):void { //MethodID:2328, LocalCount= 16 , MaxScope= 1, MaxStack= 8, CodeLength= 482 var hug13:Number = NaN; var hug14:Number = NaN; var hug15:Number = NaN; if(!hug3) return; var hug4:Number = this._video.length; if(isNaN(hug4)) throw new Error("ExternalInterface._onCommentListDataPooled: invalid video's length."); var hug5:Array = hug3[CommentConstants.CL_MAIN]; var hug6:Array = hug3[CommentConstants.CL_NICOS]; var hug7:String = ""; var hug8:uint = 0; if(this._playerConfig.isEnabledLeafMode){ hug13 = Math.ceil((hug4 + (10 * 1000)) / (60 * 1000)); hug14 = ((hug13 > 720) ? Math.ceil(0x11940 / hug13) : 100); hug15 = 100; if(hug4 >= ((10 * 60) * 1000)){ hug15 = 1000; }else if(hug4 >= ((5 * 60) * 1000)){ hug15 = 500; }else if(hug4 >= (60 * 1000)){ hug15 = 250; } hug7 = ((("0-" + hug13.toString() + ":") + hug14.toString() + ",") + hug15.toString()); hug8 = ((hug5.length > 0) ? (IComment(hug5[hug5.length - 1]).resNo + 1) : 0); } var hug9:Number = ((hug5.length > 0) ? (hug5[0] as IComment).resNo : 0); var hug10:Number = hug5.length; var hug11:Number = -1; var hug12:Number = -1; if(hug6 != null){ hug12 = hug6.length; if(hug1){ hug11 = ((hug6.length > 0) ? (hug6[0] as IComment).resNo : 0); }else{ hug11 = ((hug6.length > 0) ? ((hug6[0] as IComment).resNo + 1) : 0); } } this._setMymemoryParameters(hug2, hug9, hug10, hug7, hug8, hug11, hug12); } public function get isInitialized():Boolean { //MethodID:2329, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isInitialized; } public function set isEditedOwnerThread(hug1:Boolean):void { //MethodID:2330, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isEditedOwnerThread = hug1; } public function set localCommentList(hug1:ICommentList):void { //MethodID:2331, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._localCommentList = hug1; } public function set ownerCommentList(hug1:IOwnerCommentList):void { //MethodID:2332, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._ownerCommentList = hug1; } public function set setInputMessage(hug1:Function):void { //MethodID:2333, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._setInputMessage = hug1; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onTimeMachineDateUpdated(hug1:Boolean, hug2:Date=null):EventResult { //MethodID:2334, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 31 this._commentListDataPooler.updatePastDate(hug1 ? hug2 : null); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigScreenModeUpdated(hug1:uint):EventResult { //MethodID:2335, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 42 if(!this._isPremium || (this._playerConfig.fullScreenMode == ScreenMode.BROWSER_FULL)) this.toggleMaximizePlayerSize(); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdated(hug1:Array, hug2:Array, hug3:Boolean, hug4:String):EventResult { //MethodID:2338, LocalCount= 6 , MaxScope= 2, MaxStack= 4, CodeLength= 313 internal var additionals:Array; //slotID:1 internal var removes:Array; //slotID:2 internal var allClear:Boolean; //slotID:3 internal var listName:String; //slotID:4 internal var list:Array; //slotID:5 additionals = hug1; removes = hug2; allClear = hug3; listName = hug4; list = additionals.concat(removes); list.sortOn("resNo", Array.NUMERIC); this._commentListDataPooler.setCommentListData(listName, list); if(!this._commentListDataPooler.isPast) this._commentListDataPooler.updatePastDate(null); if(this._threadIDList.indexOf(listName) == (-1)) this._threadIDList.push(listName); if(allClear) this._commentLists[listName] = []; if((additionals.length > 0) || (removes.length > 0)){ if(additionals.length == removes.length){ removes = removes.filter(function(hug1:*, hug2:int, hug3:Array):Boolean{ //MethodID:2336, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 17 return (hug1.vpos != additionals[hug2].vpos); }); } additionals = additionals.concat(removes); additionals = additionals.filter(function(hug1:*, hug2:int, hug3:Array):Boolean{ //MethodID:2337, LocalCount= 5 , MaxScope= 0, MaxStack= 3, CodeLength= 134 var hug4:* = undefined; if(!allClear){ hug4 = 0; while(hug4 < _commentLists[listName].length){ if(_commentLists[listName][hug4].resNo == hug1.resNo){ _commentLists[listName].splice(hug4, 1); hug4--; } hug4++; } } if(hug1.deleted || (hug1.ng != 0) || hug1.isClickable) return false; return true; }); this._commentLists[listName] = this._commentLists[listName].concat(additionals); this._commentLists[listName].sortOn("resNo", Array.NUMERIC); this._callGetThreadsCallback(); } return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlaylistTargetUpdated(hug1:VideoInfo):EventResult { //MethodID:2339, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 15 this.onChangePlayingVideo(null, null); return EventResult.THROUGH; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoChanged(hug1:VideoInfo):EventResult { //MethodID:2340, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 21 this.onChangePlayingVideo(hug1.videoID, hug1.threadID); return EventResult.THROUGH; } } } import jp.nicovideo.nicoplayer.models.comment.CommentConstants import jp.nicovideo.util.ObjectUtils //■class(instance)_index:167 //private class _CommentListDataPooler extends Object { //static constructor public static function _CommentListDataPooler$cinit() { //MethodID:2284, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _CommentListDataPooler(hug1:Boolean) { //MethodID:2286, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 58 this._listMap = {}; this._onCommentListDataPooled = function(hug1:Boolean, hug2:Date, hug3:Object):void{ //MethodID:2285, LocalCount= 4 , MaxScope= 0, MaxStack= 0, CodeLength= 1 }; this._required = []; super(); this._required.push(CommentConstants.CL_MAIN); if(hug1) this._required.push(CommentConstants.CL_NICOS); } //variables/etc. private var _isPast:Boolean = false; //slotID:0 private var _pastDate:Date = null; //slotID:0 private var _listMap:Object; //slotID:0 private var _onCommentListDataPooled:Function; //slotID:0 private var _required:Array; //slotID:0 public function set onCommentListDataPooled(hug1:Function):void { //MethodID:2287, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._onCommentListDataPooled = hug1; } public function updatePastDate(hug1:Date=null):void { //MethodID:2288, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 21 this._isPast = Boolean(hug1 != null); this._pastDate = hug1; } public function get isPast():Boolean { //MethodID:2289, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isPast; } public function get pastDate():Date { //MethodID:2290, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._pastDate; } public function get listMap():Object { //MethodID:2291, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._listMap; } public function setCommentListData(hug1:String, hug2:Array):void { //MethodID:2292, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 76 if(this._required.indexOf(hug1) < 0) return; this._listMap[hug1] = hug2; if(ObjectUtils.values(this._listMap).length == this._required.length) this._onCommentListDataPooled.apply(null, [this._isPast, this._pastDate, this._listMap]); } } //■script142■ package jp.nicovideo.remocon{ import flash.display.DisplayObjectContainer import flash.geom.Rectangle //■class(instance)_index:169 public interface IRemoconAlert { //static constructor public static function IRemoconAlert$cinit() { //MethodID:2342, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function init(hug1:DisplayObjectContainer, hug2:Rectangle=null):void; //MethodID:2343, dispID:0 function show(hug1:String, hug2:*=null):void; //MethodID:2344, dispID:0 function hide():void; //MethodID:2345, dispID:0 //constructor public function IRemoconAlert(); //MethodID:2346, dispID:0 } } //■script143■ package jp.nicovideo.nicoplayer.remocon{ //■class(instance)_index:170 public interface IRemoconEventNotifier { //static constructor public static function IRemoconEventNotifier$cinit() { //MethodID:2348, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function receiveCommentPostResult(hug1:Boolean, hug2:String=null):void; //MethodID:2349, dispID:0 function receiveVideoSeekResult(hug1:Number):void; //MethodID:2350, dispID:0 //constructor public function IRemoconEventNotifier(); //MethodID:2351, dispID:0 } } //■script144■ package jp.nicovideo.nicoplayer.remocon{ import flash.display.DisplayObjectContainer import flash.geom.Rectangle import jp.nicovideo.nicoplayer.models.SystemMessage import jp.nicovideo.remocon.AlertState import jp.nicovideo.remocon.IRemoconAlert import jp.nicovideo.util.HTTPUtils import jp.nicovideo.util.StringUtils import jp.nicovideo.util.loka.__MSG__ //■class(instance)_index:171 public class RemoconNotifier extends Object implements IRemoconEventNotifier { //static constructor public static function RemoconNotifier$cinit() { //MethodID:2353, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function RemoconNotifier(hug1:String) { //MethodID:2354, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this._remoconAlert = new _DummyRemoconAlert(); super(); this._viewSWFURL = hug1; } //variables/etc. private var _remoconAlert:IRemoconAlert; //slotID:0 private var _viewSWFURL:String; //slotID:0 private var _layer:DisplayObjectContainer; //slotID:0 private var _hasCalledSystemState:Boolean = false; //slotID:0 private var _hasLoadCompleted:Boolean = false; //slotID:0 private var _isCommentPosting:Boolean = false; //slotID:0 private var _lastVpos:Number = Number.NaN; //slotID:0 public function setContainer(hug1:DisplayObjectContainer):void { //MethodID:2355, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._layer = hug1; } public function showAlert(hug1:String, hug2:*=null):void { //MethodID:2357, LocalCount= 5 , MaxScope= 2, MaxStack= 4, CodeLength= 201 internal var signaleState:String; //slotID:1 internal var params:* = null; //slotID:2 signaleState = hug1; params = hug2; if(this._hasCalledSystemState){ this._remoconAlert.show(signaleState, params); return; } switch(signaleState){ case AlertState.REMOCON_CONNECT: case AlertState.REMOCON_ERROR: case AlertState.REMOCON_HALT: case AlertState.REMOCON_MAINTENANCE: this._hasCalledSystemState = true; HTTPUtils.loadSWF(function(hug1:*):void{ //MethodID:2356, LocalCount= 2 , MaxScope= 0, MaxStack= 8, CodeLength= 112 if(hug1 == null){ _hasCalledSystemState = false; SystemMessage.instance.informln(__MSG__("リモコンの表示セットアップに失敗")); return; } _remoconAlert = IRemoconAlert(hug1); _remoconAlert.init(_layer, new Rectangle(0, 0, (_layer.width / _layer.scaleX), (_layer.height / _layer.scaleY))); _remoconAlert.show(signaleState); _hasLoadCompleted = true; }, this._viewSWFURL, {}); default: break; } this._remoconAlert.show(signaleState, params); } public function prepareCommentPostAlert():void { //MethodID:2358, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._isCommentPosting = true; } public function prepareVideoSeekSignal(hug1:Number):void { //MethodID:2359, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._lastVpos = hug1; } public function receiveCommentPostResult(hug1:Boolean, hug2:String=null):void { //MethodID:2360, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 70 if(!this._isCommentPosting) return; this._isCommentPosting = false; var hug3:String = AlertState.COMMENT_POST_COMPLETE; if(!hug1){ if(hug2 == RemoconPostCommentErrorStatus.SAME_MESSAGE){ hug3 = AlertState.COMMENT_POST_REJECT; }else{ hug3 = AlertState.COMMENT_POST_ERROR; } } this._remoconAlert.show(hug3); } public function receiveVideoSeekResult(hug1:Number):void { //MethodID:2361, LocalCount= 4 , MaxScope= 1, MaxStack= 7, CodeLength= 116 if(isNaN(this._lastVpos)) return; var hug2:Number = Math.floor((hug1 / 60) / 1000); var hug3:String = StringUtils.sprintf("%d:%02d", hug2, Math.floor((hug1 - ((hug2 * 60) * 1000)) / 1000)); this.showAlert(((hug1 > this._lastVpos) ? AlertState.FAST_FOWARD_EX : AlertState.REWIND_EX), {value:hug3}); this._lastVpos = NaN; } } } import flash.display.DisplayObjectContainer import flash.geom.Rectangle //■class(instance)_index:172 //private class _DummyRemoconAlert extends Object implements IRemoconAlert { //static constructor public static function _DummyRemoconAlert$cinit() { //MethodID:2362, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. public function init(hug1:DisplayObjectContainer, hug2:Rectangle=null):void { //MethodID:2363, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function show(hug1:String, hug2:*=null):void { //MethodID:2364, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function hide():void { //MethodID:2365, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _DummyRemoconAlert() { //MethodID:2366, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } //■script145■ package jp.nicovideo.nicoplayer.models.filter{ import jp.nicovideo.nicoplayer.models.comment.IComment import jp.nicovideo.util.Functions //■class(instance)_index:173 public interface INGComment { //static constructor public static function INGComment$cinit() { //MethodID:2368, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function addNG(hug1:NGInfo, hug2:Function):void; //MethodID:2369, dispID:0 function deleteNG(hug1:Array):void; //MethodID:2370, dispID:0 function get registerLimit():uint; //MethodID:2371, dispID:0 function rejectCommand(hug1:IComment):IComment; //MethodID:2372, dispID:0 function get onInitialized():Functions; //MethodID:2373, dispID:0 function serve():void; //MethodID:2374, dispID:0 function get onUpdated():Functions; //MethodID:2375, dispID:0 function get lastResponse():String; //MethodID:2376, dispID:0 function get list():Array; //MethodID:2377, dispID:0 //constructor public function INGComment(); //MethodID:2378, dispID:0 } } //■script146■ package jp.nicovideo.nicoplayer.models.filter{ import flash.errors.IllegalOperationError import flash.events.Event import flash.events.IOErrorEvent import flash.net.URLLoader import flash.net.URLRequest import flash.net.URLRequestMethod import flash.net.URLVariables import jp.nicovideo.nicoplayer.models.IPlayerConfig import jp.nicovideo.nicoplayer.models.SystemMessage import jp.nicovideo.nicoplayer.models.comment.Command import jp.nicovideo.nicoplayer.models.comment.CommentBuilder import jp.nicovideo.nicoplayer.models.comment.ICommand import jp.nicovideo.nicoplayer.models.comment.IComment import jp.nicovideo.util.Functions import jp.nicovideo.util.ObjectUtils import jp.nicovideo.util.StringUtils import jp.nicovideo.util.TimeUtils import jp.nicovideo.util.events.EventResult import jp.nicovideo.util.loka.__MSG__ use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:175 public class NGComment extends Object implements INGComment { //static constructor public static function NGComment$cinit() { //MethodID:2391, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 REGISTER_LIMIT_PREMIUM = 200; } //static variables/etc. public static const REGISTER_LIMIT_PREMIUM:uint = 200; //slotID:1 private static function _useXML(hug1:Function):void { //dispID:3, MethodID:2392, LocalCount= 5 , MaxScope= 7, MaxStack= 4, CodeLength= 110 internal var f:Function; //slotID:1 internal var old:Boolean; //slotID:2 f = hug1; old = XML.ignoreWhitespace; XML.ignoreWhitespace = false; try{ f(); } finally{ XML.ignoreWhitespace = old; } } //constructor public function NGComment(hug1:String, hug2:Number, hug3:String, hug4:Boolean, hug5:IPlayerConfig, hug6:Boolean, hug7:Boolean, hug8:Boolean, hug9:String) { //MethodID:2393, LocalCount= 10 , MaxScope= 1, MaxStack= 3, CodeLength= 92 this.__ngCommandContainer = []; this.__onInitialized = new Functions(); this.__onUpdated = new Functions(); super(); this.__ngCache = new _NGCache(!hug6); this._csrfToken = hug9; this.__userID = hug1; this.__apiURL = hug3; this.__playerConfig = hug5; this._noLoad = hug7; this._isMymemory = hug8; this._isPremium = hug4; this.__initialize(hug2, hug4); } //variables/etc. private const NG_TARGET_RANGE:Number = 1000.0; //slotID:0 private const REGISTER_LIMIT:uint = 40; //slotID:0 private const REQUEST_MODE_GET:String = "get"; //slotID:0 private const REQUEST_MODE_ADD:String = "add"; //slotID:0 private const REQUEST_MODE_DELETE:String = "delete"; //slotID:0 private const REQUEST_TYPE_MESSAGE:String = "word"; //slotID:0 private const REQUEST_TYPE_USER_ID:String = "id"; //slotID:0 private const REQUEST_TYPE_COMMAND:String = "command"; //slotID:0 private var __registerLimit:uint = 40; //slotID:0 private var _csrfToken:String; //slotID:0 private var __apiURL:String; //slotID:0 private var __userID:String; //slotID:0 private var __ngCache:_NGCache; //slotID:0 private var __ngCommandContainer:Array; //slotID:0 private var __isNGCommandAll:Boolean = false; //slotID:0 private var __onInitialized:Functions; //slotID:0 private var __onUpdated:Functions; //slotID:0 private var __playerConfig:IPlayerConfig; //slotID:0 private var __lastResponse:String = "UNSERVE"; //slotID:0 private var _noLoad:Boolean; //slotID:0 private var _isMymemory:Boolean; //slotID:0 private var _isPremium:Boolean; //slotID:0 public function get onInitialized():Functions { //MethodID:2394, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__onInitialized; } public function get onUpdated():Functions { //MethodID:2395, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__onUpdated; } public function serve():void { //MethodID:2396, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this.__onUpdatedHandler(this.__lastResponse); } public function addNG(hug1:NGInfo, hug2:Function):void { //MethodID:2399, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 33 internal var ngInfo:NGInfo; //slotID:1 internal var callback:Function; //slotID:2 ngInfo = hug1; callback = hug2; this.__updateNG(ngInfo, this.REQUEST_MODE_ADD, function(hug1:String):void{ //MethodID:2398, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 56 internal var responseConstant:String; //slotID:1 responseConstant = hug1; if(responseConstant == NGResponseConstants.OK){ __getNG(function(hug1:Boolean):void{ //MethodID:2397, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 18 if(!__playerConfig.useNG) __playerConfig.useNG = true; }); } __lastResponse = responseConstant; callback(responseConstant); }); } public function deleteNG(hug1:Array):void { //MethodID:2402, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 68 internal var ngInfoList:Array; //slotID:1 internal var index:int; //slotID:2 internal var successCounter:uint; //slotID:3 internal var failureCounter:uint; //slotID:4 internal var __deleteNG:Function; //slotID:5 index = 0; __deleteNG = null; ngInfoList = hug1; __deleteNG = function(hug1:String):void{ //MethodID:2401, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 135 internal var responseConstant:String; //slotID:1 responseConstant = hug1; if(responseConstant == NGResponseConstants.OK){ successCounter++; }else{ failureCounter++; } if(index >= ngInfoList.length){ __getNG(function(hug1:Boolean):void{ //MethodID:2400, LocalCount= 2 , MaxScope= 0, MaxStack= 0, CodeLength= 1 }); return; } __updateNG(ngInfoList[index++], REQUEST_MODE_DELETE, __deleteNG); }; index = 0; successCounter = 0; failureCounter = 0; __deleteNG(NGResponseConstants.OK); } public function get lastResponse():String { //MethodID:2403, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__lastResponse; } public function get registerLimit():uint { //MethodID:2404, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__registerLimit; } public function rejectCommand(hug1:IComment):IComment { //MethodID:2407, LocalCount= 5 , MaxScope= 2, MaxStack= 5, CodeLength= 234 internal var comment:IComment; //slotID:1 internal var commands:Array; //slotID:2 internal var builder:CommentBuilder; //slotID:3 internal var searchAndReject:Function; //slotID:4 internal var ngCommands:Array; //slotID:5 internal var buf:Array; //slotID:6 commands = null; ngCommands = null; buf = null; comment = hug1; searchAndReject = function(hug1:Array, hug2:Array):Array{ //MethodID:2405, LocalCount= 8 , MaxScope= 0, MaxStack= 3, CodeLength= 78 var hug4:String = null; var hug5:int = 0; var hug3:Array = hug1.concat(); for each(hug4 in hug2){ hug5 = hug3.indexOf(hug4); if(hug5 == (-1)) return null; hug3.splice(hug5, 1); } return hug3; }; if(comment.ng != NGStatus.REJECT_COMMAND) throw new Error("NGComment.rejectCommand: invalid ng status."); commands = []; if(!this.__isNGCommandAll){ comment.command.forEachCommand(function(hug1:String):void{ //MethodID:2406, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 9 commands.push(hug1); }); for each(ngCommands in this.__ngCommandContainer){ buf = searchAndReject(commands, ngCommands); if(buf != null) commands = buf; } } builder = new CommentBuilder(comment); builder.command = new Command(commands.join(" "), comment.isPremium); return builder.make(); } public function get list():Array { //MethodID:2408, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 14 return this.__ngCache.cacheData.concat(); } private function __initialize(hug1:Number, hug2:Boolean):void { //MethodID:2411, LocalCount= 4 , MaxScope= 2, MaxStack= 2, CodeLength= 117 internal var ngRevision:Number; //slotID:1 internal var isPremium:Boolean; //slotID:2 internal var now:Date; //slotID:3 ngRevision = hug1; isPremium = hug2; if(isPremium) this.__registerLimit = REGISTER_LIMIT_PREMIUM; now = new Date(); if((this.__ngCache.lastUpdated > 0) && !isNaN(ngRevision) && (ngRevision == this.__ngCache.revision)){ this.buildngCommandContainer(); ObjectUtils.callLater(function():void{ //MethodID:2409, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 9 onInitialized.apply(true); }); return; } this.__getNG(function(hug1:Boolean):void{ //MethodID:2410, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 26 if(hug1){ onInitialized.apply(true); }else{ onInitialized.apply(false); } }); } private function __getNG(hug1:Function):void { //MethodID:2418, LocalCount= 3 , MaxScope= 2, MaxStack= 5, CodeLength= 153 internal var callback:Function; //slotID:1 internal var loader:URLLoader; //slotID:2 internal var request:URLRequest; //slotID:3 loader = null; callback = hug1; if(this._noLoad){ ObjectUtils.callLater(function():void{ //MethodID:2412, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 10 callback(true); }); return; } loader = new URLLoader(); request = new URLRequest(this.__apiURL); request.method = URLRequestMethod.POST; request.data = new URLVariables(StringUtils.queryString({mode:this.REQUEST_MODE_GET})); loader.load(request); loader.addEventListener(Event.COMPLETE, function(hug1:Event):void{ //MethodID:2416, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 20 internal var event:Event; //slotID:1 event = hug1; _useXML(function():void{ //MethodID:2415, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 606 internal var bufferList:Array; //slotID:1 internal var sourceXML:XML; //slotID:2 internal var buf:XML; //slotID:3 internal var type:String; //slotID:4 internal var lastHit:Date; //slotID:5 internal var oldNG:NGInfo; //slotID:6 buf = null; type = null; lastHit = null; oldNG = null; bufferList = []; sourceXML = new XML(loader.data); if(sourceXML.attribute("status").toString() == "ok"){ SystemMessage.instance.informln(__MSG__("NG設定の取得に成功")); }else if(sourceXML.attribute("status").toString() == "fail"){ if(sourceXML..error.code == NGResponseConstants.ERROR_MAINTENANCE) SystemMessage.instance.informln(__MSG__("NG設定の取得に失敗(メンテナンス中)")); buildngCommandContainer(); ObjectUtils.callLater(function():void{ //MethodID:2413, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 10 callback(true); }); __lastResponse = sourceXML..error.code; __onUpdatedHandler(sourceXML..error.code); return; } for each(buf in sourceXML.ngclient){ if(buf.type == REQUEST_TYPE_MESSAGE){ type = NGType.MESSAGE; }else if(buf.type == REQUEST_TYPE_USER_ID){ type = NGType.USER_ID; }else if(buf.type == REQUEST_TYPE_COMMAND){ type = NGType.COMMAND; }else{ continue; } lastHit = null; if(__ngCache.cacheData){ for each(oldNG in __ngCache.cacheData){ if((oldNG.type == type) && (oldNG.source.toLowerCase() == buf.source.toLowerCase()) && oldNG.lastHit){ lastHit = new Date(oldNG.lastHit.time); break; } } } bufferList.push(new NGInfo(type, buf.source, lastHit)); } __ngCache.setCacheData(bufferList, false); __ngCache.setRevision(sourceXML.revision, false); __ngCache.setLastUpdated(TimeUtils.now().time); __ngCache.flush(); buildngCommandContainer(); ObjectUtils.callLater(function():void{ //MethodID:2414, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 10 callback(true); }); __lastResponse = NGResponseConstants.OK; __onUpdatedHandler(NGResponseConstants.OK); }); }); loader.addEventListener(IOErrorEvent.IO_ERROR, function(hug1:IOErrorEvent):void{ //MethodID:2417, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 30 SystemMessage.instance.informln(__MSG__("NG設定の取得に失敗")); callback(false); }); } private function buildngCommandContainer():void { //MethodID:2419, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 127 var hug1:NGInfo = null; var hug2:Array = null; this.__isNGCommandAll = false; this.__ngCommandContainer = []; for each(hug1 in this.__ngCache.cacheData){ if(hug1.type == NGType.COMMAND){ hug2 = hug1.source.split(new RegExp("[ | ]+")); if(hug2.indexOf("all") != (-1)){ this.__isNGCommandAll = true; this.__ngCommandContainer = null; break; } this.__ngCommandContainer.push(hug2); } } } private function __onUpdatedHandler(hug1:String):void { //MethodID:2420, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 19 this.onUpdated.apply(this.__ngCache.cacheData, hug1); } private function __updateNG(hug1:NGInfo, hug2:String, hug3:Function):void { //MethodID:2426, LocalCount= 5 , MaxScope= 2, MaxStack= 3, CodeLength= 160 internal var ngInfo:NGInfo; //slotID:1 internal var mode:String; //slotID:2 internal var callback:Function; //slotID:3 internal var loader:URLLoader; //slotID:4 internal var getRequestType:Function; //slotID:5 internal var getRequest:Function; //slotID:6 internal var getNGScorringSuffix:Function; //slotID:7 loader = null; ngInfo = hug1; mode = hug2; callback = hug3; getRequestType = function(hug1:String):String{ //MethodID:2421, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 56 if(hug1 == NGType.MESSAGE) return REQUEST_TYPE_MESSAGE; if(hug1 == NGType.USER_ID) return REQUEST_TYPE_USER_ID; if(hug1 == NGType.COMMAND) return REQUEST_TYPE_COMMAND; throw new Error("NGComment.__updateNG.getRequestType: invalid type."); }; getRequest = function():URLRequest{ //MethodID:2422, LocalCount= 4 , MaxScope= 0, MaxStack= 10, CodeLength= 291 var hug2:Object = null; var hug3:String = null; var hug1:URLRequest = new URLRequest(__apiURL); hug1.method = URLRequestMethod.POST; if((_isPremium && (mode == REQUEST_MODE_ADD) && !_isMymemory) && ngInfo.comment && ngInfo.comment.commentList && (ngInfo.comment.commentList.threadID != "")){ hug3 = getNGScorringSuffix(ngInfo.type, ngInfo.comment); hug3 = (ngInfo.comment.resNo.toString() + hug3); hug2 = {mode:mode, type:getRequestType(ngInfo.type), source:ngInfo.source, thread_id:ngInfo.comment.commentList.threadID, comments:hug3}; }else{ hug2 = {mode:mode, type:getRequestType(ngInfo.type), source:ngInfo.source}; } if(_csrfToken == null) throw new IllegalOperationError("NGComment.getRequest: csrfToken is null."); hug2.token = _csrfToken; hug1.data = new URLVariables(StringUtils.queryString(hug2)); return hug1; }; getNGScorringSuffix = function(hug1:String, hug2:IComment):String{ //MethodID:2423, LocalCount= 9 , MaxScope= 0, MaxStack= 3, CodeLength= 166 var hug6:IComment = null; var hug3:String = ((hug1 == NGType.MESSAGE) ? "message" : "userID"); var hug4:Array = hug2.commentList.currentList; var hug5:String = ""; for each(hug6 in hug4){ if(((hug2.vpos - NG_TARGET_RANGE) <= hug6.vpos) && ((hug2.vpos + NG_TARGET_RANGE) >= hug6.vpos) && (hug2.resNo != hug6.resNo)){ if(hug2[hug3] == hug6[hug3]) hug5 += ("," + hug6.resNo); } } return hug5; }; if((mode != this.REQUEST_MODE_ADD) && (mode != this.REQUEST_MODE_DELETE)) throw new Error("NGComment.__updateNG: invalid mode."); loader = new URLLoader(); loader.load(getRequest()); loader.addEventListener(Event.COMPLETE, function(hug1:Event):void{ //MethodID:2424, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 104 var hug2:XML = new XML(loader.data); if(hug2.attribute("status").toString() == "ok"){ callback(NGResponseConstants.OK); }else{ if(hug2..error.code == NGResponseConstants.ERROR_MAINTENANCE) SystemMessage.instance.informln(__MSG__("NG設定の取得に失敗(メンテナンス中)")); callback(hug2..error.code); } }); loader.addEventListener(IOErrorEvent.IO_ERROR, function(hug1:Event):void{ //MethodID:2425, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 15 callback(NGResponseConstants.ERROR_IO); }); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdated(hug1:Array, hug2:Array, hug3:Boolean, hug4:String):EventResult { //MethodID:2428, LocalCount= 10 , MaxScope= 2, MaxStack= 5, CodeLength= 584 internal var addList:Array; //slotID:1 internal var removeList:Array; //slotID:2 internal var allClear:Boolean; //slotID:3 internal var listName:String; //slotID:4 internal var ngList:Array; //slotID:5 internal var replaced:Array; //slotID:6 internal var buf:IComment; //slotID:7 internal var compereNGCommand:Function; //slotID:8 internal var status:uint; //slotID:9 internal var ngInfo:NGInfo; //slotID:10 internal var builder:CommentBuilder; //slotID:11 buf = null; status = 0; ngInfo = null; builder = null; addList = hug1; removeList = hug2; allClear = hug3; listName = hug4; compereNGCommand = function(hug1:String, hug2:ICommand):Boolean{ //MethodID:2427, LocalCount= 8 , MaxScope= 0, MaxStack= 3, CodeLength= 81 var hug5:String = null; var hug3:Array = ngInfo.source.split(new RegExp("[ | ]+")); var hug4:Boolean = (hug3.length > 0); for each(hug5 in hug3){ if(!hug2.hasContained(hug5)) return false; } return hug4; }; ngList = this.__ngCache.cacheData; replaced = []; if(ngList.length == 0) return EventResult.THROUGH; for each(buf in addList){ status = NGStatus.NONE; if(this.__isNGCommandAll) status = NGStatus.REJECT_COMMAND; for each(ngInfo in ngList){ if((ngInfo.type == NGType.COMMAND) && compereNGCommand(ngInfo.source, buf.command)){ ngInfo.lastHit = TimeUtils.now(); ngList[ngList.indexOf(ngInfo)] = ngInfo; status = NGStatus.REJECT_COMMAND; }else if(((ngInfo.type == NGType.MESSAGE) && (buf.message.toLowerCase().indexOf(ngInfo.source.toLowerCase()) != (-1))) || ((ngInfo.type == NGType.USER_ID) && (ngInfo.source == buf.userID))){ ngInfo.lastHit = TimeUtils.now(); ngList[ngList.indexOf(ngInfo)] = ngInfo; status = NGStatus.INVISIBLE; break; } } if(status > 0){ builder = new CommentBuilder(buf); builder.ng = status; replaced.push(builder.make()); }else{ replaced.push(buf); } } this.__ngCache.setCacheData(ngList); this.__ngCache.flush(); this.__onUpdatedHandler(NGResponseConstants.UNSERVE); return EventResult.replace([replaced, removeList, allClear, listName]); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get userID():String { //MethodID:2429, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__userID; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get ngCache():_NGCache { //MethodID:2430, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__ngCache; } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get apiURL():String { //MethodID:2431, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__apiURL; } } } import jp.nicovideo.nicoplayer.models.filter.NGInfo import jp.nicovideo.util.CrossSharedObject import jp.nicovideo.util.storage.LocalStorage //■class(instance)_index:174 //private class _NGCache extends Object { //static constructor public static function _NGCache$cinit() { //MethodID:2380, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _NGCache(hug1:Boolean) { //MethodID:2381, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 32 this.__soNGCache = CrossSharedObject.getStorage("jp.nicovideo.nicoplayer.models.fileter._NGCache"); this.__ngInfoList = []; super(); this.__constructor(hug1); } //variables/etc. private const LOCAL_DATA_EXPIRE:uint = 0x5265C00; //slotID:0 private const KEY_LAST_UPDATED:String = "lastUpdated"; //slotID:0 private const KEY_CACHE_DATA:String = "cacheData"; //slotID:0 private const KEY_REVISION:String = "revision"; //slotID:0 private var __soNGCache:LocalStorage; //slotID:0 private var __ngInfoList:Array; //slotID:0 private var __now:Date; //slotID:0 private function __constructor(hug1:Boolean):void { //MethodID:2382, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 90 this.__now = new Date(); if(isNaN(this.lastUpdated) || (this.__now.time >= (this.lastUpdated + this.LOCAL_DATA_EXPIRE))){ this.setLastUpdated(-1, false); if(hug1) this.setCacheData([], false); this.setRevision(0, false); this.flush(); } this.__updateNGInfoList(); } public function flush():void { //MethodID:2383, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 this.__soNGCache.flush(); } public function get lastUpdated():Number { //MethodID:2384, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 return this.__soNGCache.data[this.KEY_LAST_UPDATED]; } public function setLastUpdated(hug1:Number, hug2:Boolean=true):void { //MethodID:2385, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 28 this.__soNGCache.data[this.KEY_LAST_UPDATED] = hug1; if(hug2) this.flush(); } public function get cacheData():Array { //MethodID:2386, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.__ngInfoList; } public function setCacheData(hug1:Array, hug2:Boolean=true):void { //MethodID:2387, LocalCount= 7 , MaxScope= 1, MaxStack= 7, CodeLength= 127 var hug4:NGInfo = null; var hug3:Array = []; for each(hug4 in hug1){ hug3.push({type:hug4.type, source:hug4.source, hit:(hug4.lastHit ? hug4.lastHit.time : 0)}); } this.__soNGCache.data[this.KEY_CACHE_DATA] = hug3; if(hug2) this.flush(); this.__updateNGInfoList(); } public function get revision():uint { //MethodID:2388, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 return this.__soNGCache.data[this.KEY_REVISION]; } public function setRevision(hug1:uint, hug2:Boolean=true):void { //MethodID:2389, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 28 this.__soNGCache.data[this.KEY_REVISION] = hug1; if(hug2) this.flush(); } private function __updateNGInfoList():void { //MethodID:2390, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 104 var hug1:Object = null; this.__ngInfoList = []; for each(hug1 in this.__soNGCache.data[this.KEY_CACHE_DATA]){ this.__ngInfoList.push(new NGInfo(hug1.type, hug1.source, ((hug1.hit == 0) ? null : new Date(hug1.hit)))); } } } //■script147■ package jp.nicovideo.nicoplayer.models.video.userSponsor{ //■class(instance)_index:176 public interface IUserSponsorVideo implements IChildVideo { //static constructor public static function IUserSponsorVideo$cinit() { //MethodID:2433, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function initialize(hug1:IUserSponsorVideoClient):void; //MethodID:2434, dispID:0 //constructor public function IUserSponsorVideo(); //MethodID:2435, dispID:0 } } //■script148■ package jp.nicovideo.nicoplayer.models.filter{ import jp.nicovideo.util.Functions //■class(instance)_index:177 public interface IReplacer { //static constructor public static function IReplacer$cinit() { //MethodID:2437, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get replaceList():Array; //MethodID:2438, dispID:0 function get onReplaceListUpdated():Functions; //MethodID:2439, dispID:0 function addReplaceList(hug1:Array, hug2:Function):void; //MethodID:2440, dispID:0 function deleteReplaceList(hug1:Array, hug2:Function):void; //MethodID:2441, dispID:0 function get isMaintenance():Boolean; //MethodID:2442, dispID:0 //constructor public function IReplacer(); //MethodID:2443, dispID:0 } } //■script149■ package jp.nicovideo.nicoplayer.models.filter{ import flash.errors.IllegalOperationError import flash.net.URLVariables import jp.nicovideo.nicoplayer.models.comment.CommentBuilder import jp.nicovideo.nicoplayer.models.comment.IComment import jp.nicovideo.util.Functions import jp.nicovideo.util.HTTPUtils import jp.nicovideo.util.events.EventResult use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver); use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test); //■class(instance)_index:178 public class Replacer extends Object implements IReplacer { //static constructor public static function Replacer$cinit() { //MethodID:2445, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function Replacer(hug1:String, hug2:String, hug3:String, hug4:Boolean, hug5:String) { //MethodID:2446, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 41 this._onUpdated = new Functions(); this._replaceList = []; super(); this._csrfToken = hug5; this._isMaintenance = hug4; this._constructor(hug1, hug2, hug3); } //variables/etc. private const _onUpdated:Functions; //slotID:0 private const _SEND_PARAM_WATCHID:String = "video"; //slotID:0 private const _SEND_PARAM_MODE:String = "mode"; //slotID:0 private const _SEND_PARAM_MODE_ADD:String = "add"; //slotID:0 private const _SEND_PARAM_MODE_DELETE:String = "delete"; //slotID:0 private const _SEND_PARAM_ORIGINAL:String = "source"; //slotID:0 private const _SEND_PARAM_REPLACED:String = "destination"; //slotID:0 private const _SEND_PARAM_TOKEN:String = "token"; //slotID:0 private var _csrfToken:String; //slotID:0 private var _apiURL:String; //slotID:0 private var _watchID:String; //slotID:0 private var _replaceList:Array; //slotID:0 private var _isMaintenance:Boolean; //slotID:0 public function get onReplaceListUpdated():Functions { //MethodID:2447, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._onUpdated; } private function _constructor(hug1:String, hug2:String, hug3:String):void { //MethodID:2448, LocalCount= 14 , MaxScope= 1, MaxStack= 4, CodeLength= 193 var hug4:Array = null; var hug5:Array = null; var hug6:String = null; var hug7:URLVariables = null; var hug8:String = null; var hug9:Array = null; this._apiURL = hug2; this._watchID = hug3; if(hug1 != ""){ hug4 = hug1.split("&"); hug5 = []; for each(hug6 in hug4){ if(hug6 == ""){ }else{ hug7 = new URLVariables(hug6); for(hug8 in hug7){ hug9 = [new _ReplaceInfo(hug8, hug7[hug8])]; hug5 = hug9.concat(hug5); } } } this._replaceList = hug5; } } public function get replaceList():Array { //MethodID:2449, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._replaceList; } private function _replaceComment(hug1:IComment):IComment { //MethodID:2450, LocalCount= 8 , MaxScope= 1, MaxStack= 2, CodeLength= 197 var hug3:IReplaceInfo = null; var hug5:Array = null; var hug2:String = hug1.message; for each(hug3 in this._replaceList){ if(hug3.isWholeReplaced && (hug2.toLowerCase().indexOf(hug3.originalSource.toLowerCase()) != (-1))){ hug2 = hug3.replacedSource; }else{ hug5 = hug2.toLowerCase().split(hug3.originalSource.toLowerCase()); if(hug5 && (hug5.length > 0)) hug2 = hug5.join(hug3.replacedSource); } } if(hug1.message.toLowerCase() == hug2.toLowerCase()) return hug1; var hug4:CommentBuilder = new CommentBuilder(hug1); hug4.message = hug2; return hug4.make(); } public function get isMaintenance():Boolean { //MethodID:2451, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isMaintenance; } public function addReplaceList(hug1:Array, hug2:Function):void { //MethodID:2453, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 76 internal var list:Array; //slotID:1 internal var callback:Function; //slotID:2 list = hug1; callback = hug2; if((this._replaceList.length + list.length) > ReplacerConstants.MAX_COUNT) throw new Error("Replacer.addReplaceList: can not register over " + ReplacerConstants.MAX_COUNT); this._sendByOrder(list, this._SEND_PARAM_MODE_ADD, function(hug1:String, hug2:IReplaceInfo, hug3:Boolean):void{ //MethodID:2452, LocalCount= 5 , MaxScope= 0, MaxStack= 3, CodeLength= 53 var hug4:Array = [hug2]; _replaceList = hug4.concat(_replaceList); _onUpdated.apply(_replaceList.concat(), hug1); if(hug3) callback.apply(this, []); }); } private function _sendByOrder(hug1:Array, hug2:String, hug3:Function):void { //MethodID:2457, LocalCount= 7 , MaxScope= 2, MaxStack= 3, CodeLength= 214 internal var list:Array; //slotID:1 internal var mode:String; //slotID:2 internal var onSended:Function; //slotID:3 internal var buf:Array; //slotID:4 internal var info:IReplaceInfo; //slotID:5 internal var length:uint; //slotID:6 internal var send:Function; //slotID:7 internal var createParam:Function; //slotID:8 buf = null; info = null; length = 0; list = hug1; mode = hug2; onSended = hug3; send = function(hug1:uint):void{ //MethodID:2455, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 59 internal var index:uint; //slotID:1 internal var info:IReplaceInfo; //slotID:2 info = null; index = hug1; info = buf[index]; HTTPUtils.loadXML(function(hug1:XML):void{ //MethodID:2454, LocalCount= 5 , MaxScope= 0, MaxStack= 4, CodeLength= 88 var hug4:String = null; var hug2:uint = (index + 1); var hug3:Boolean = Boolean(hug2 >= length); if(hug1.@status == "ok"){ hug4 = NGResponseConstants.OK; }else{ hug4 = hug1..error.code; } onSended(hug4, info, hug3); if(hug3) return; send(hug2); }, _apiURL, createParam(info)); }; createParam = function(hug1:IReplaceInfo):Object{ //MethodID:2456, LocalCount= 3 , MaxScope= 0, MaxStack= 4, CodeLength= 101 var hug2:Object = {}; hug2[_SEND_PARAM_MODE] = mode; hug2[_SEND_PARAM_WATCHID] = _watchID; hug2[_SEND_PARAM_ORIGINAL] = ((hug1.isWholeReplaced ? ReplacerConstants.WHOLE_REPLACE_PREFIX : "") + hug1.originalSource); if(_csrfToken == null) throw new IllegalOperationError("Replacer.createParam: csrfToken is null."); hug2[_SEND_PARAM_TOKEN] = _csrfToken; hug2[_SEND_PARAM_REPLACED] = hug1.replacedSource; return hug2; }; if((mode != this._SEND_PARAM_MODE_ADD) && (mode != this._SEND_PARAM_MODE_DELETE)) throw new IllegalOperationError("Replacer._sendByOrder: invalid mode."); buf = []; for each(info in list){ if(info) buf.push(info); } length = buf.length; if(length == 0) throw new IllegalOperationError("Replacer.addReplaceList: list is empty."); send(0); } public function deleteReplaceList(hug1:Array, hug2:Function):void { //MethodID:2459, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 33 internal var list:Array; //slotID:1 internal var callback:Function; //slotID:2 list = hug1; callback = hug2; this._sendByOrder(list, this._SEND_PARAM_MODE_DELETE, function(hug1:String, hug2:IReplaceInfo, hug3:Boolean):void{ //MethodID:2458, LocalCount= 8 , MaxScope= 0, MaxStack= 3, CodeLength= 149 var hug5:IReplaceInfo = null; var hug4:Array = []; for each(hug5 in _replaceList){ if((hug2.originalSource == hug5.originalSource) && (hug2.replacedSource == hug5.replacedSource) && (hug2.isWholeReplaced == hug5.isWholeReplaced)){ }else{ hug4.push(hug5); } } _replaceList = hug4.concat(); _onUpdated.apply(_replaceList.concat(), hug1); if(hug3) callback.apply(this, []); }); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdated(hug1:Array, hug2:Array, hug3:Boolean, hug4:String):EventResult { //MethodID:2460, LocalCount= 9 , MaxScope= 1, MaxStack= 5, CodeLength= 93 var hug6:IComment = null; if(this._replaceList.length == 0) return EventResult.THROUGH; var hug5:Array = []; for each(hug6 in hug1){ hug5.push(this._replaceComment(hug6)); } return EventResult.replace([hug5, hug2, hug3, hug4]); } (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function replace(hug1:IComment):IComment { //MethodID:2461, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9 return this._replaceComment(hug1); } } } import flash.errors.IllegalOperationError import jp.nicovideo.nicoplayer.models.filter.ReplacerConstants //■class(instance)_index:179 //private class _ReplaceInfo extends Object implements IReplaceInfo { //static constructor public static function _ReplaceInfo$cinit() { //MethodID:2462, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function _ReplaceInfo(hug1:String, hug2:String) { //MethodID:2463, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 13 super(); this._constructor(hug1, hug2); } //variables/etc. private var _original:String; //slotID:0 private var _replaced:String; //slotID:0 private var _isWhole:Boolean = false; //slotID:0 private function _constructor(hug1:String, hug2:String):void { //MethodID:2464, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 83 var hug3:Object = ReplacerConstants.CHECK_ORIGINAL_VARS_REGEXP.exec(hug1); if(!hug3 || !hug3[2]) throw new IllegalOperationError("_ReplaceInfo._constructor: invalid data string."); if(hug3[1] == ReplacerConstants.WHOLE_REPLACE_PREFIX) this._isWhole = true; this._original = hug3[2]; this._replaced = hug2; } public function get originalSource():String { //MethodID:2465, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._original; } public function get replacedSource():String { //MethodID:2466, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._replaced; } public function get isWholeReplaced():Boolean { //MethodID:2467, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isWhole; } public function get isRegExp():Boolean { //MethodID:2468, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } }