OSDN Git Service

nicoplayer.swfのデコンパイル結果ドキュメントを追加
authoryukihane <yukihane.feather@gmail.com>
Wed, 3 Aug 2011 10:09:03 +0000 (19:09 +0900)
committeryukihane <yukihane.feather@gmail.com>
Wed, 3 Aug 2011 10:09:03 +0000 (19:09 +0900)
vhook/docs/nicoplayer.swf.readme [new file with mode: 0644]
vhook/docs/nicoplayer.swf.source [new file with mode: 0644]

diff --git a/vhook/docs/nicoplayer.swf.readme b/vhook/docs/nicoplayer.swf.readme
new file mode 100644 (file)
index 0000000..f4b8ca6
--- /dev/null
@@ -0,0 +1,2 @@
+http://blogs.yahoo.co.jp/kerupani/9913707.html
+に記載されていたnicoplayer.swfのデコンパイルテキストです.
diff --git a/vhook/docs/nicoplayer.swf.source b/vhook/docs/nicoplayer.swf.source
new file mode 100644 (file)
index 0000000..a132a00
--- /dev/null
@@ -0,0 +1,45599 @@
+//■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 = ("<p><b>" + __MSG__("ユーザー情報の取得に失敗しました。") + "</b></p>" + "<p>" + __MSG__("ログインしていない可能性があります。") + "</p>");
+
+                               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 = (("<p><b>" + __MSG__("動画情報の取得に失敗しました。") + "</b></p>" + "<p>" + __MSG__("ログイン状態が解除されているか、動画が非公開状態にある可能性があります。") + "<br />") + __MSG__("<a href=\"[[url]]\">リロードして再度ログイン</a>", hug3) + "</p>");
+
+                                       systemMessage.alert(hug2);
+
+                                       return;
+                               }
+
+                               if(!initializeInfo){
+                                       initializeInfo = InitializeInfo.getInstance();
+                                       nicoViewControllerClient.initializeInfo = initializeInfo;
+
+                                       pluginClient.setProperty("initializeInfo", initializeInfo);
+                               }
+
+                               if(!initializeInfo.userID){
+                                       systemMessage.informln(__MSG__("ユーザー情報の取得に失敗"));
+
+                                       hug2 = ("<p><b>" + __MSG__("ユーザー情報の取得に失敗しました。") + "</b></p>" + "<p>" + __MSG__("以下のページにアクセスしログインしてください。") + "<a href=\"" + hug3 + "\">" + hug3 + "</a>" + "</p>");
+
+                                       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 = ("<p><b>" + __MSG__("引用動画の情報の取得に失敗しました。") + "</b></p>" + "<p>" + __MSG__("お手数ですが以下のリンクをおしてページをロードしてください。") + "<a href=\"" + hug3 + "\">" + hug3 + "</a>" + "</p>");
+
+                                       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("<p><b>" + __MSG__("NG設定の読み込みに失敗") + "</b></p>" + "<p>" + __MSG__("時間を空けてアクセスしていただくか、下のリンクからお知らせください。") + "<br />" + "<a href=\"https://secure.nicovideo.jp/secure/support_form\" target=\"_blank\">" + "お問い合わせ" + "</a>" + "</p>");
+
+                               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__("入力された@コメントは、以下のどちらかの理由で使用できません。<br />") + __MSG__("・存在しない<br />") + __MSG__("・投稿者以外は使えない<br />") + __MSG__("現在、動画閲覧者が使用できるのは、") + "<a href=\"http://info.nicovideo.jp/help/player/script/90.html#s01\" target=\"_blank\">" + __MSG__("@ボタン(閲覧者用)") + "</a>、<a href=\"http://info.nicovideo.jp/help/player/script/90.html#s02\" target=\"_blank\">" + __MSG__("@ピザ") + "</a>" + __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]]のみ使用可能です。", "<a href=\"http://www.nicovideo.jp/?p=premium_top&sec=at_button\" target=\"_blank\">", "</a>"));
+                                       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, (("<a href=\"" + linkURL + "\"><u>") + (this.flashVars.isChannel ? __MSG__("コメントするにはチャンネルに入会してください") : __MSG__("コメントするにはコミュニティに入会してください")) + "</u></a>"));
+                               }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, ("<p>" + __MSG__("ローカル記憶領域が使用できないため、コメント機能を制限をしています") + "</p>"));
+
+                               if(!this._isShowedDialog){
+                                       this._isShowedDialog = true;
+
+                                       this.systemMessage.informln(__MSG__("SharedObjectの初期に失敗しました。"));
+
+                                       pageURL = this._playerPageMyselfURL;
+                                       messageHTML = ("<p><b>" + __MSG__("ローカル記憶領域の書き込みが出来ません。") + "</b></p>" + "<p>" + __MSG__("NG設定、音量設定の保存、ニコニコニュース、RSS、") + "<br>" + __MSG__("生放送開始のお知らせ、ユーザーが設定した@CMなど、") + "<br>" + __MSG__("プレーヤーの機能がご利用出来ない状態です。") + "<br>" + __MSG__("プレーヤーの各機能を有効にするため、Flashの設定を変更してください。") + "<br>" + "<a href=\"" + this.configure.NOSO_URL + "\" target=\"_blank\">ローカル記憶領域の設定を変更する方法について</a>" + "</p>");
+
+                                       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 = ("<b>マイメモリーの編集に失敗しました。</b>" + "再度編集しなおす場合は、以下のURLからお願いします。<br />" + "<a href=\"" + hug3 + "\">" + hug3 + "</a>");
+                                               }else{
+                                                       hug3 = StringUtils.joinQuery(hug2, {edit:"comment"});
+                                                       hug4 = ("<b>編集の保存に失敗しました。</b>" + "再度編集しなおす場合は、以下のURLからお願いします。<br />" + "<a href=\"" + hug3 + "\">" + hug3 + "</a>");
+                                               }
+
+                                               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(("<p><b>" + __MSG__("動画の読み込みができません。") + "</b></p>" + "<p>" + __MSG__("別のタブかウィンドウで、動画をいくつか読み込み中です。<br />") + __MSG__("読み込みが完了してから再度アクセスしてください。<br />") + "<br />") + __MSG__("<a href=\"[[url]]\">リロードする</a>", hug2) + "</p>");
+                                       }
+                               }
+                       }));
+               }
+
+               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("<p><b>" + __MSG__("引用動画の読み込みに失敗") + "</b></p>" + "<p>" + __MSG__("問題解消に向けて努力しております。") + "<br />" + __MSG__("しばらく時間をおいて再度アクセスしてみて下さい。") + "</p>");
+
+                                                       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 = ("<p>" + __MSG__("ただ今、サーバーが大変混み合っております。") + "</p>" + "<p>" + __MSG__("しばらく時間をおいて再度お試しください。") + "</p>");
+                               break;
+                       case MAINTENANCE:
+                               hug5 = ("<p>" + __MSG__("ただ今連続再生はメンテナンス中のため、ご利用になれません。") + "</p>");
+                               break;
+                       case URGENT:
+                               hug5 = ("<p>" + __MSG__("ただ今ニコニコ動画はメンテナンス中のため、ご利用になれません。") + "</p>");
+                               break;
+                       case LIMITED_OPEN:
+                               hug5 = ("<p>" + __MSG__("この時間帯は連続再生をご利用になれません。") + "</p>");
+                               break;
+                       case NEED_LOGIN:
+                               hug5 = (("<p><b>" + __MSG__("動画情報の取得に失敗しました。") + "</b></p>" + "<p>" + __MSG__("ログイン状態が解除されているか、動画が非公開状態にある可能性があります。") + "<br />") + __MSG__("<a href=\"[[url]]\">リロードして再度ログイン</a>", hug3) + "</p>");
+                               break;
+                       case ACCESS_LOCK:
+                               hug5 = ("<p>" + __MSG__("短時間での連続アクセスがあったため、連続再生のご利用を一時停止しております。") + "</p>" + "<p>" + __MSG__("しばらく時間をおいて再度お試しください。") + "</p>");
+                               break;
+                       case THREAD_IS_NOT_IN_PLAYLIST:
+                       case VIDEO_ERROR:
+                               hug5 = (("<p>" + __MSG__("「[[title]]」", hug1.title) + "</p>" + "<p>" + __MSG__("連続再生には対応していない動画です。") + "</p>" + "<p>") + __MSG__("詳しくは<u><b><a href=\"[[url]]\" target=\"_blank\">動画視聴ページ</a></b></u>をご確認ください。", hug4) + "</p>");
+                               break;
+                       case NO_VIDEO:
+                               hug5 = (("<p>" + __MSG__("「[[title]]」", hug1.title) + "</p>" + "<p>" + __MSG__("存在しないか、または削除された動画です。") + "</p>" + "<p>") + __MSG__("詳しくは<u><b><a href=\"[[url]]\" target=\"_blank\">動画視聴ページ</a></b></u>をご確認ください。", hug4) + "</p>");
+                               break;
+                       case INVALID_TOKEN:
+                       case TOKEN_TIMEOUT:
+                               hug5 = ("<p>" + __MSG__("正常にアクセスできませんでした。ページを更新してください。") + "</p>");
+                               break;
+                       case VIDEO_LOAD_STOP:
+                               hug5 = (("<p><b>" + __MSG__("動画の読み込みができません。") + "</b></p>" + "<p>" + __MSG__("別のタブかウィンドウで、動画をいくつか読み込み中です。") + "<br />" + __MSG__("読み込みが完了してから再度アクセスしてください。") + "<br /><br />") + __MSG__("<a href=\"[[url]]\">リロードする", hug3) + "</a>" + "</p>");
+                               break;
+                       case NO_LIST:
+                               hug5 = ("<p>" + __MSG__("このマイリストには再生できる動画が含まれていません。") + "</p>");
+                               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.<ISponsorInfo>;                       //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.<ISponsorInfo>;                    //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.<ISponsorInfo>();
+
+                               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.<ISponsorInfo>
+               {       //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("&amp;").join("&");
+               hug1 = hug1.split("&quot;").join("\"");
+               hug1 = hug1.split("&#039;").join("'");
+               hug1 = hug1.split("&lt;").join("<");
+               hug1 = hug1.split("&gt;").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("<thread/>");
+
+                               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("<thread_leaves>" + leavesfrom + "</thread_leaves>");
+                               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("<leave_thread/>");
+
+                               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"), "&amp;").replace(new RegExp("<", "g"), "&lt;").replace(new RegExp(">", "g"), "&gt;");
+                               var hug1:XML = new XML("<chat>" + message + "</chat>");
+
+                               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("<debug>" + message + "</debug>");
+
+                               __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("<delete_comments>" + list + "</delete_comments>");
+                               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"), "&amp;").replace(new RegExp("<", "g"), "&lt;").replace(new RegExp(">", "g"), "&gt;");
+                               var hug1:XML = new XML("<add_thread_item>" + message + "</add_thread_item>");
+                               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("<update_thread/>");
+                               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("<click/>");
+                               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("<unload_thread/>");
+                               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("<packet/>");
+                               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("<close/>");
+
+                       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) + "<br />");
+
+                                               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.<String> = 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.<String>();
+
+                                       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.<String>)
+       {       //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.<String>;                       //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.<String>
+       {       //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.<String>, hug3:Vector.<String>=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.<String>([GetRelationTarget.RELATED_VIDEO, GetRelationTarget.OWNER_VIDEO, GetRelationTarget.LIVE_DJ]);
+                       LOAD_SORT_VALUES = Vector.<String>([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.<String>([RelatedConstants.ORDER_UP, RelatedConstants.ORDER_DOWN]);
+               }
+
+               //static variables/etc.
+               public static const LOAD_TARGETS:Vector.<String>;               //slotID:1
+               public static const LOAD_SORT_VALUES:Vector.<String>;           //slotID:2
+               public static const LOAD_ORDER_VALUES:Vector.<String>;          //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.<String>, hug3:Vector.<String>=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.<String>;                           //slotID:2
+                       internal var extTargets:Vector.<String> = 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.<String>;                      //slotID:11
+                       internal var extTargets2Load:Vector.<String>;                   //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.<String>, hug2:Object, hug3:Object):Vector.<String>{      //MethodID:1839, LocalCount= 9 , MaxScope= 0, MaxStack= 3, CodeLength= 97
+                               var hug5:String = null;
+                               var hug6:IGetRelationResult = null;
+                               var hug4:Vector.<String> = new Vector.<String>();
+
+                               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.<RelatedVideo> = null;
+                               var hug4:Vector.<IOwnerOtherVideo> = 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.<String>, hug2:Vector.<String>=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.<String>, hug2:Vector.<String>=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) + "<br />"), 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) + "<br />"), 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) + "<br />"), 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) + "<br />"), 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 + "<br />"), 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;
+       }
+}
+
+//■script150■
+
+package jp.nicovideo.util.events{
+
+       import flash.utils.Proxy
+       import flash.utils.flash_proxy
+
+       use namespace flash_proxy;
+
+       //■class(instance)_index:180
+       public final class EventChunk extends Proxy implements EventSender
+       {
+               //static constructor
+               public static function EventChunk$cinit()
+               {       //MethodID:2470, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function EventChunk(hug1:*, hug2:Array)
+               {       //MethodID:2472, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+                       super();
+
+                       this.__instance = hug1;
+                       this.__eventNames = hug2;
+               }
+
+               //variables/etc.
+               private var __instance:*;                                       //slotID:0
+               private var __eventNames:Array;                                 //slotID:0
+
+               public function get eventNames():Array
+               {       //MethodID:2471, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__eventNames;
+               }
+
+               override flash_proxy function getProperty(hug1:*):*
+               {       //MethodID:2473, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 125
+                       if(!hug1 is QName) throw new Error("EventChunk.getProperty: name is not QName.");
+
+                       if(hug1.uri != event_sender.uri) throw new Error("EventChunk.getProperty: namespace isn't event_sender. [" + hug1.uri + " != " + event_sender.uri + "]");
+
+                       if(this.__eventNames.indexOf(hug1.localName) == (-1)) throw new Error("EventChunk.getProperty: unknown event named `" + hug1.localName + "'.");
+
+                       return event_sender[hug1.localName];
+               }
+       }
+}
+
+//■script151■
+
+package jp.nicovideo.nicoplayer.models.filter{
+
+       import flash.errors.IllegalOperationError
+       import jp.nicovideo.nicoplayer.models.SystemMessage
+       import jp.nicovideo.nicoplayer.models.comment.CommentBuilder
+       import jp.nicovideo.nicoplayer.models.comment.CommentConstants
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       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__
+       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:182
+       public class LockedComment extends Object implements EventSender
+       {
+               //static constructor
+               public static function LockedComment$cinit()
+               {       //MethodID:2496, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function LockedComment(hug1:String, hug2:String, hug3:Boolean=false, hug4:Boolean=false)
+               {       //MethodID:2497, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 121
+                       this.onCommentListUpdated = new Functions();
+                       this.onCommentPost = new Functions();
+                       this.onCommentCountUpdated = new Functions();
+
+                       super();
+
+                       this._mainName = hug2;
+                       this._threadID = hug1;
+                       this._isPostLocked = hug3;
+                       this._isEditMode = hug4;
+                       this._lockedList = {};
+                       this._lockedList[this._mainName] = new _LockedCommentContainer(this._threadID, this._mainName);
+                       this._lockedList[CommentConstants.CL_NICOS] = new _LockedCommentContainer(this._threadID, CommentConstants.CL_NICOS);
+
+                       this._updateLockedEnabled();
+               }
+
+               //variables/etc.
+               private var _so:LocalStorage;                                   //slotID:0
+               private var _threadID:String;                                   //slotID:0
+               private var _lockedList:Object;                                 //slotID:0
+               private var _mainName:String;                                   //slotID:0
+               private var _isPostLocked:Boolean = false;                      //slotID:0
+               private var _lockedCommentEnabled:Boolean = false;              //slotID:0
+               private var _isEditMode: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
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onCommentCountUpdated:Functions;//slotID:0
+
+               private function _updateLockedEnabled():void
+               {       //MethodID:2498, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 68
+                       var hug1:_LockedCommentContainer = null;
+
+                       if(this._isPostLocked){
+                               this._lockedCommentEnabled = true;
+                               return;
+                       }
+
+                       for each(hug1 in this._lockedList){
+                               if(hug1.hasLocked){
+                                       this._lockedCommentEnabled = true;
+                                       return;
+                               }
+                       }
+               }
+
+               public function get eventNames():Array
+               {       //MethodID:2499, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 18
+                       var hug1:Array = ["onCommentListUpdated", "onCommentPost", "onCommentCountUpdated"];
+                       return hug1;
+               }
+
+               public function post(hug1:IComment):void
+               {       //MethodID:2501, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 188
+                       internal var comment:IComment;                                  //slotID:1
+                       internal var builder:CommentBuilder;                            //slotID:2
+                       internal var name:String;                                       //slotID:3
+                       internal var lockedComment:_LockedCommentContainer;             //slotID:4
+                       internal var posted:IComment;                                   //slotID:5
+
+                       name = null;
+                       lockedComment = null;
+                       comment = hug1;
+
+                       if(!this._lockedCommentEnabled) throw new IllegalOperationError("LockedComment.post: has not locked.");
+
+                       builder = new CommentBuilder(comment);
+
+                       if(comment.justPosted == false){
+                               builder.justPosted = true;
+                               comment = builder.make();
+                       }
+
+                       name = comment.commentList.name;
+
+                       onCommentPost.apply(comment, name);
+
+                       lockedComment = this._lockedList[name];
+                       posted = lockedComment.push(comment);
+
+                       ObjectUtils.callLater(function():void{  //MethodID:2500, LocalCount= 2 , MaxScope= 0, MaxStack= 5, CodeLength= 101
+                               SystemMessage.instance.informln(__MSG__("コメントの投稿に成功"));
+
+                               var hug1:Array = lockedComment.list.concat();
+
+                               onCommentListUpdated.apply(hug1, [], true, name);
+
+                               if(name == _mainName) onCommentCountUpdated.apply(lockedComment.lastResNumber);
+                       });
+               }
+
+               internal function filterDeleteComment(hug1:Array, hug2:String):Array
+               {       //MethodID:2502, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 49
+                       if(!this._isEditMode) throw new IllegalOperationError("LockedComment.filterDeleteComment: Can't use excluding the edit mode.");
+
+                       if(!this._lockedCommentEnabled) return hug1;
+
+                       return (this._lockedList[hug2] as _LockedCommentContainer).filterDeleteComment(hug1);
+               }
+
+               internal function getLockedList(hug1:String):Array
+               {       //MethodID:2503, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 38
+                       if(!this._lockedList.hasOwnProperty(hug1)) return [];
+
+                       return (this._lockedList[hug1] as _LockedCommentContainer).lockedList.concat();
+               }
+
+               internal function saveLockedComment():void
+               {       //MethodID:2504, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 45
+                       var hug1:_LockedCommentContainer = null;
+
+                       for each(hug1 in this._lockedList){
+                               hug1.updateSO();
+                       }
+               }
+
+               internal function convertOriginalResNo(hug1:String, hug2:Array):Array
+               {       //MethodID:2505, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       if(!this._lockedCommentEnabled) return hug2;
+
+                       return (this._lockedList[hug1] as _LockedCommentContainer).convertOriginalResNo(hug2);
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdated(hug1:Array, hug2:Array, hug3:Boolean, hug4:String):EventResult
+               {       //MethodID:2506, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 138
+                       if(!this._lockedCommentEnabled) return EventResult.THROUGH;
+
+                       if((hug4 != this._mainName) && (hug4 != CommentConstants.CL_NICOS)) return EventResult.THROUGH;
+
+                       var hug5:_LockedCommentContainer = (this._lockedList[hug4] as _LockedCommentContainer);
+                       var hug6:EventResult = hug5.updateList(hug1, hug2, hug3);
+
+                       this._updateLockedEnabled();
+
+                       if((hug4 == this._mainName) && hug5.hasLocked) onCommentCountUpdated.apply(hug5.lastResNumber);
+
+                       return hug6;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentCountUpdated(hug1:Number):EventResult
+               {       //MethodID:2507, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 37
+                       if(!this._lockedCommentEnabled) return EventResult.THROUGH;
+
+                       return (this._lockedList[this._mainName] as _LockedCommentContainer).updateCount(hug1);
+               }
+       }
+}
+
+import com.adobe.crypto.SHA1
+import jp.nicovideo.nicoplayer.models.comment.CommentBuilder
+import jp.nicovideo.nicoplayer.models.comment.CommentDeleteStatus
+import jp.nicovideo.nicoplayer.models.comment.CommentListUtils
+import jp.nicovideo.nicoplayer.models.comment.IComment
+import jp.nicovideo.util.ArrayUtils
+import jp.nicovideo.util.CrossSharedObject
+import jp.nicovideo.util.TimeUtils
+import jp.nicovideo.util.events.EventResult
+import jp.nicovideo.util.storage.LocalStorage
+
+use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test);
+
+//■class(instance)_index:181
+//private
+class _LockedCommentContainer extends Object
+{
+       //static constructor
+       public static function _LockedCommentContainer$cinit()
+       {       //MethodID:2475, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _LockedCommentContainer(hug1:String, hug2:String)
+       {       //MethodID:2476, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 216
+               var hug3:Object = null;
+               var hug4:IComment = null;
+               var hug5:CommentBuilder = null;
+               this._originals = [];
+               this._list = [];
+               this._lockedList = [];
+               this._originalResNoList = [];
+
+               super();
+
+               this._threadID = hug1;
+               this._name = hug2;
+
+               if((this._so.data[hug1] != null) && (this._so.data[hug1][hug2] != null)){
+                       for each(hug3 in this._so.data[hug1][hug2]){
+                               hug4 = CommentBuilder.unsimplify(hug3);
+
+                               if(hug4.justPosted){
+                                       hug5 = new CommentBuilder(hug4);
+                                       hug5.justPosted = false;
+                                       hug4 = hug5.make();
+                               }
+
+                               this._lockedList.push(hug4);
+                       }
+
+                       this._hasLocked = (this._lockedList.length > 0);
+               }
+       }
+
+       //variables/etc.
+       private var _SO_NAME:String = "jp.nicovideo.nicoplayer.models.filter.LockedComment";//slotID:0
+       private var _threadID:String;                                   //slotID:0
+       private var _name:String;                                       //slotID:0
+       private var _originals:Array;                                   //slotID:0
+       private var _list:Array;                                        //slotID:0
+       private var _lockedList:Array;                                  //slotID:0
+       private var _hasLocked:Boolean = false;                         //slotID:0
+       private var _lastResNumber:Number = 0.0;                        //slotID:0
+       private var _originalResNoList:Array;                           //slotID:0
+
+       private function get _so():LocalStorage
+       {       //MethodID:2477, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+               return CrossSharedObject.getStorage(this._SO_NAME, "/");
+       }
+
+       private function _merge(hug1:Array, hug2:Array):Array
+       {       //MethodID:2479, LocalCount= 7 , MaxScope= 2, MaxStack= 5, CodeLength= 500
+               private var left:Array;                                         //slotID:1
+               private var right:Array;                                        //slotID:2
+               private var bufLeft:Array;                                      //slotID:3
+               private var bufLen:Number;                                      //slotID:4
+               private var resNo:Number;                                       //slotID:5
+               private var i:uint;                                             //slotID:6
+               private var j:uint;                                             //slotID:7
+               private var original:IComment;                                  //slotID:8
+               private var c:IComment;                                         //slotID:9
+               private var b:CommentBuilder;                                   //slotID:10
+
+               j = 0;
+               original = null;
+               c = null;
+               b = null;
+               left = hug1;
+               right = hug2;
+
+               if(left.length == 0){
+                       this._lastResNumber = IComment(right[right.length - 1]).resNo;
+                       return right;
+               }
+
+               bufLeft = left.concat();
+
+               if(right.length == 0){
+                       j = 0;
+                       this._originalResNoList = [];
+
+                       for each(original in bufLeft){
+                               this._originalResNoList[j++] = original.resNo;
+                       }
+
+                       return bufLeft;
+               }
+
+               if(right.length > 0){
+                       ArrayUtils.add(function(hug1:IComment, hug2:IComment):Number{   //MethodID:2478, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 44
+                               var hug3:Number = (hug1.date.time - hug2.date.time);
+
+                               if(hug3 != 0) return hug3;
+
+                               if(_isLockedComment(hug1)) return -1;
+
+                               return 1;
+                       }, bufLeft, right);
+               }
+
+               bufLen = bufLeft.length;
+               resNo = bufLeft[0].resNo;
+               i = 1;
+
+               while(i < bufLen){
+                       c = bufLeft[i];
+
+                       if(c.resNo <= resNo){
+                               b = new CommentBuilder(c);
+                               resNo += 1;
+                               b.resNo = (resNo + 1);
+                               bufLeft[i] = b.make();
+
+                               if(this._isLockedComment(c)) this._lockedList[this._lockedList.indexOf(c)] = bufLeft[i];
+                       }else{
+                               resNo = c.resNo;
+                       }
+
+                       this._originalResNoList[i] = (this._isLockedComment(c) ? NaN : c.resNo);
+                       i += 1;
+               }
+
+               this._lastResNumber = resNo;
+               return bufLeft;
+       }
+
+       public function get name():String
+       {       //MethodID:2480, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._name;
+       }
+
+       public function get hasLocked():Boolean
+       {       //MethodID:2481, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._hasLocked;
+       }
+
+       public function get lastResNumber():Number
+       {       //MethodID:2482, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._lastResNumber;
+       }
+
+       public function push(hug1:IComment):IComment
+       {       //MethodID:2483, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 236
+               var hug2:CommentBuilder = new CommentBuilder(hug1);
+
+               if(hug1.anonymity) hug2.userID = this._createAnonymityID(hug1.userID);
+
+               if(hug1.date == null) hug2.date = TimeUtils.now();
+
+               this.resNo = (++this._lastResNumber);
+
+               if(!this._hasLocked){
+                       this._so.data[this._threadID] = {};
+                       this._hasLocked = true;
+               }
+
+               if(this._so.data[this._threadID][this._name] == null) this._so.data[this._threadID][this._name] = [];
+
+               var hug3:IComment = hug2.make();
+
+               this._lockedList.push(hug3);
+               this._so.data[this._threadID][this._name].push(CommentBuilder.simplify(hug3));
+               this._so.flush();
+
+               this._list = this._merge(this._originals, this._lockedList);
+               return hug3;
+       }
+
+       private function _createAnonymityID(hug1:String):String
+       {       //MethodID:2484, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 20
+               return SHA1.hash(this._threadID + "." + hug1);
+       }
+
+       public function updateList(hug1:Array, hug2:Array, hug3:Boolean):EventResult
+       {       //MethodID:2485, LocalCount= 10 , MaxScope= 1, MaxStack= 6, CodeLength= 339
+               var hug4:IComment = null;
+               var hug5:Number = NaN;
+               var hug6:Array = null;
+               var hug7:IComment = null;
+               this._originals = CommentListUtils.update(this._originals, hug1, hug2, hug3);
+
+               if(!this._hasLocked){
+                       if(this._originals.length > 0){
+                               this._lastResNumber = this._originals[this._originals.length - 1].resNo;
+                               this._list = [];
+                               this._originalResNoList = [];
+
+                               for each(hug4 in this._originals){
+                                       this._list.push(hug4);
+                                       this._originalResNoList.push(hug4.resNo);
+                               }
+                       }
+
+                       return EventResult.THROUGH;
+               }
+
+               if(this._originals.length > 100){
+                       hug5 = this._originals[0].date.time;
+                       hug6 = this._lockedList.concat();
+                       this._lockedList = [];
+
+                       for each(hug7 in hug6){
+                               if((hug7.date != null) && (hug7.date.time > hug5)) this._lockedList.push(hug7);
+                       }
+               }
+
+               this._list = this._merge(this._originals, this._lockedList);
+
+               if(this._lockedList.length == 0) this._hasLocked = false;
+               this.updateSO();
+
+               return EventResult.replace([this._list, [], true, this.name]);
+       }
+
+       public function updateSO():void
+       {       //MethodID:2486, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 123
+               var hug2:IComment = null;
+               var hug3:LocalStorage = null;
+               var hug1:Array = [];
+
+               for each(hug2 in this._lockedList){
+                       hug1.push(CommentBuilder.simplify(hug2));
+               }
+
+               hug3 = this._so;
+
+               if(!hug3.data[this._threadID]) hug3.data[this._threadID] = {};
+
+               hug3.data[this._threadID][this.name] = hug1;
+
+               hug3.flush();
+       }
+
+       public function updateCount(hug1:Number):EventResult
+       {       //MethodID:2487, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 43
+               if(!this._hasLocked || (this._lastResNumber < 0)) return EventResult.THROUGH;
+
+               return EventResult.replace([this._lastResNumber]);
+       }
+
+       public function get list():Array
+       {       //MethodID:2488, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._list;
+       }
+
+       public function get lockedList():Array
+       {       //MethodID:2489, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._lockedList;
+       }
+
+       public function filterDeleteComment(hug1:Array):Array
+       {       //MethodID:2491, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 210
+               private var deletes:Array;                                      //slotID:1
+               private var ret:Array;                                          //slotID:2
+               private var len:Number;                                         //slotID:3
+               private var i:uint;                                             //slotID:4
+               private var updateDelete:Function;                              //slotID:5
+               private var comment:IComment;                                   //slotID:6
+
+               comment = null;
+               deletes = hug1;
+               updateDelete = function(hug1:IComment, hug2:int):void{  //MethodID:2490, LocalCount= 5 , MaxScope= 0, MaxStack= 3, CodeLength= 59
+                       var hug3:CommentBuilder = new CommentBuilder(hug1);
+                       hug3.deleted = hug2;
+                       var hug4:IComment = hug3.make();
+                       _list[_list.indexOf(hug1)] = hug4;
+                       _lockedList[_lockedList.indexOf(hug1)] = hug4;
+               };
+
+               ret = [];
+               len = this._list.length;
+               i = 0;
+
+               while(i < len){
+                       comment = this._list[i];
+
+                       if(deletes.indexOf(comment.resNo) != (-1)){
+                               if(!this._isLockedComment(comment)){
+                                       ret.push(comment.resNo);
+                               }else{
+                                       updateDelete(comment, CommentDeleteStatus.OWNER);
+                               }
+                       }else if(this._isLockedComment(comment)){
+                               updateDelete(comment, CommentDeleteStatus.NON);
+                       }
+
+                       i += 1;
+               }
+
+               return ret;
+       }
+
+       public function convertOriginalResNo(hug1:Array):Array
+       {       //MethodID:2492, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 120
+               var hug5:IComment = null;
+               var hug6:Number = NaN;
+               var hug2:Array = [];
+               var hug3:Number = this._list.length;
+               var hug4:int = 0;
+
+               while(hug4 < hug3){
+                       hug5 = this._list[hug4];
+
+                       if(hug1.indexOf(hug5.resNo) == (-1)){
+                       }else{
+                               hug6 = this._originalResNoList[hug4];
+
+                               if(isNaN(hug6)) throw new Error("LockedComment.convertOriginalResNo: invalid resNo of _originalResNoList.");
+                               hug2.push(hug6);
+                       }
+
+                       hug4++;
+               }
+
+               return hug2;
+       }
+
+       private function _isLockedComment(hug1:IComment):Boolean
+       {       //MethodID:2493, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+               return (this._lockedList.indexOf(hug1) != (-1));
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get originals():Array
+       {       //MethodID:2494, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._originals;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get lockedList():Array
+       {       //MethodID:2495, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._lockedList;
+       }
+}
+
+//■script152■
+
+package jp.nicovideo.util.events{
+
+       //■class(instance)_index:183
+       public class EventSequence extends Object
+       {
+               //static constructor
+               public static function EventSequence$cinit()
+               {       //MethodID:2509, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
+                       __current = null;
+               }
+
+               //static variables/etc.
+               private static var __current:EventSequence = null;              //slotID:1
+
+               public static function get current():EventSequence
+               {       //dispID:3, MethodID:2510, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24
+                       if(!__current) throw new Error("EventSequence.get current: __current is null.");
+
+                       return __current;
+               }
+
+               public static function bind(hug1:Function):*
+               {       //dispID:4, MethodID:2511, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       return __current.bind(hug1);
+               }
+
+               //constructor
+               public function EventSequence(hug1:Object=null)
+               {       //MethodID:2512, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 23
+                       this.__events = [];
+                       this.__userData = {};
+
+                       super();
+
+                       this.__defaultReceiver = hug1;
+               }
+
+               //variables/etc.
+               private var __events:Array;                                     //slotID:0
+               private var __userData:Object;                                  //slotID:0
+               private var __defaultReceiver:Object = null;                    //slotID:0
+
+               public function get data():Object
+               {       //MethodID:2513, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__userData;
+               }
+
+               public function push(... rest):void
+               {       //MethodID:2514, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 19
+                       this.__events.unshift.apply(this.__events, rest);
+               }
+
+               public function add(... rest):void
+               {       //MethodID:2515, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 19
+                       this.__events.push.apply(this.__events, rest);
+               }
+
+               public function next(... rest):void
+               {       //MethodID:2517, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 54
+                       public var args:Array;                                          //slotID:1
+                       internal var f:Function;                                        //slotID:2
+
+                       f = null;
+                       internal var args:Object = rest;
+
+                       if(0 < this.__events.length){
+                               f = this.__events.shift();
+
+                               this.stage(function():void{     //MethodID:2516, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 14
+                                       f.apply(__defaultReceiver, args);
+                               });
+                       }
+               }
+
+               public function stage(hug1:Function):*
+               {       //MethodID:2518, LocalCount= 5 , MaxScope= 7, MaxStack= 4, CodeLength= 145
+                       internal var f:Function;                                        //slotID:1
+                       internal var tmp:EventSequence;                                 //slotID:2
+
+                       f = hug1;
+
+                       if(this === __current) return f();
+
+                       tmp = __current;
+                       __current = this;
+
+                       try{
+                               var hug3:* = f();
+                               return hug3;
+                       }
+                       finally{
+                               __current = tmp;
+                       }
+               }
+
+               public function bind(hug1:Function):*
+               {       //MethodID:2521, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 15
+                       internal var f:Function;                                        //slotID:1
+
+                       f = hug1;
+                       return function(... rest):*{    //MethodID:2520, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 20
+                               public var args:Array;                                          //slotID:1
+
+                               internal var args:Object = rest;
+                               return stage(function():*{      //MethodID:2519, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12
+                                       return f.apply(null, args);
+                               });
+                       };
+               }
+       }
+}
+
+//■script153■
+
+package jp.nicovideo.util.external{
+
+       import flash.display.Loader
+       import flash.display.LoaderInfo
+       import flash.errors.IllegalOperationError
+       import flash.events.ErrorEvent
+       import flash.events.Event
+       import flash.events.IOErrorEvent
+       import flash.events.SecurityErrorEvent
+       import flash.net.URLRequest
+       import flash.system.LoaderContext
+
+       //■class(instance)_index:184
+       public class JSConnector extends Object
+       {
+               //static constructor
+               public static function JSConnector$cinit()
+               {       //MethodID:2523, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
+                       _hasInitialized = false;
+               }
+
+               //static variables/etc.
+               private static var _hasInitialized:Boolean = false;             //slotID:1
+               private static var _connector:_ExternalInterface;               //slotID:2
+
+               public static function get hasInitialized():Boolean
+               {       //dispID:3, MethodID:2524, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       return _hasInitialized;
+               }
+
+               public static function init(hug1:URLRequest, hug2:Function):void
+               {       //dispID:4, MethodID:2528, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 48
+                       internal var request:URLRequest;                                //slotID:1
+                       internal var callback:Function;                                 //slotID:2
+                       internal var load:Function;                                     //slotID:3
+
+                       load = null;
+                       request = hug1;
+                       callback = hug2;
+                       load = function(hug1:Function):void{    //MethodID:2527, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 122
+                               internal var func:Function;                                     //slotID:1
+                               internal var loader:Loader;                                     //slotID:2
+                               internal var info:LoaderInfo;                                   //slotID:3
+                               internal var onErrorOccured:Function;                           //slotID:4
+
+                               onErrorOccured = null;
+                               func = hug1;
+                               onErrorOccured = function(hug1:ErrorEvent):void{        //MethodID:2525, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 10
+                                       func(null);
+                               };
+
+                               loader = new Loader();
+                               info = loader.contentLoaderInfo;
+
+                               info.addEventListener(Event.INIT, function(hug1:Event):void{    //MethodID:2526, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 16
+                                       func(hug1.target.content);
+                               });
+                               info.addEventListener(IOErrorEvent.IO_ERROR, onErrorOccured);
+                               info.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorOccured);
+                               loader.load(request, new LoaderContext());
+                       };
+
+                       initByFunc(load, callback);
+               }
+
+               public static function initByFunc(hug1:Function, hug2:Function):void
+               {       //dispID:5, MethodID:2530, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 79
+                       internal var load:Function;                                     //slotID:1
+                       internal var callback:Function;                                 //slotID:2
+
+                       load = hug1;
+                       callback = hug2;
+
+                       if(hasInitialized) throw new IllegalOperationError("JSConnector.init: It has initialized already.");
+
+                       if((load == null) || (callback == null)) throw new ArgumentError("JSConnector.init: has invalid parameters.");
+                       load(function(hug1:*):void{     //MethodID:2529, LocalCount= 4 , MaxScope= 3, MaxStack= 3, CodeLength= 70
+                               internal var content:*;                                         //slotID:1
+
+                               content = hug1;
+
+                               try{
+                                       _connector = new _ExternalInterface(content);
+                               }
+                               catch(error:ArgumentError){
+                                       callback(false);
+                               }
+
+                               _hasInitialized = true;
+
+                               callback(true);
+                       });
+               }
+
+               public static function get available():Boolean
+               {       //dispID:6, MethodID:2531, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19
+                       if(_connector == null) return false;
+
+                       return _connector.available;
+               }
+
+               public static function call(hug1:String, ...rest):*
+               {       //dispID:7, MethodID:2532, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 22
+                       return _connector.call.apply(null, [hug1].concat(rest));
+               }
+
+               public static function addCallback(hug1:String, hug2:Function, ...args):void
+               {       //dispID:8, MethodID:2533, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 15
+                       _connector.addCallback.apply(null, args);
+               }
+
+               public static function get objectID():String
+               {       //dispID:9, MethodID:2534, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9
+                       return _connector.objectID;
+               }
+
+               //constructor
+               public function JSConnector()
+               {       //MethodID:2535, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+
+//■class(instance)_index:185
+//private
+class _ExternalInterface extends Object
+{
+       //static constructor
+       public static function _ExternalInterface$cinit()
+       {       //MethodID:2536, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _ExternalInterface(hug1:*)
+       {       //MethodID:2537, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 50
+               super();
+
+               this._available = hug1["available"];
+               this._objectID = hug1["objectID"];
+               this._addCallback = hug1["addCallback"];
+               this._call = hug1["call"];
+       }
+
+       //variables/etc.
+       private var _available:Boolean;                                 //slotID:0
+       private var _objectID:String;                                   //slotID:0
+       private var _addCallback:Function;                              //slotID:0
+       private var _call:Function;                                     //slotID:0
+
+       public function get available():Boolean
+       {       //MethodID:2538, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._available;
+       }
+
+       public function get objectID():String
+       {       //MethodID:2539, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._objectID;
+       }
+
+       public function addCallback(hug1:String, hug2:Function):void
+       {       //MethodID:2540, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 16
+               this._addCallback.apply(null, [hug1, hug2]);
+       }
+
+       public function call(hug1:String, ...rest):*
+       {       //MethodID:2541, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 20
+               return this._call.apply(null, [hug1].concat(rest));
+       }
+}
+
+//■script154■
+
+package jp.nicovideo.nicoplayer.models.log{
+
+       import __AS3__.vec.Vector
+       import flash.display.Sprite
+       import jp.nicovideo.nicoplayer.config.NicoConfig
+       import jp.nicovideo.nicoplayer.models.IPlayerConfig
+       import jp.nicovideo.nicoplayer.models.PlayerInfo
+       import jp.nicovideo.nicoplayer.models.api.IGetFLV
+       import jp.nicovideo.nicoplayer.models.api.IInitializeInfo
+       import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars
+       import jp.nicovideo.nicoplayer.models.log.elements.ILogElement
+       import jp.nicovideo.nicoplayer.models.video.VideoWrapper
+       import jp.nicovideo.nicoplayer.videoender.IVideoenderTesterConfig
+
+       //■class(instance)_index:186
+       public interface ILogManager
+       {
+               //static constructor
+               public static function ILogManager$cinit()
+               {       //MethodID:2543, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function initialize(hug1:IInitializeInfo, hug2:NicoConfig, hug3:NicoFlashVars, hug4:IGetFLV, hug5:IPlayerConfig, hug6:PlayerInfo, hug7:Sprite, hug8:Boolean, hug9:VideoWrapper, hug10:Sprite, hug11:Boolean, hug12:IVideoenderTesterConfig):void;//MethodID:2544, dispID:0
+
+               function getLogElement(hug1:String):ILogElement;                            //MethodID:2545, dispID:0
+
+               function addLogElement(hug1:ILogElement):Boolean;                           //MethodID:2546, dispID:0
+
+               function contains(hug1:String):Boolean;                                     //MethodID:2547, dispID:0
+
+               function send(hug1:Number=0.0):void;                                        //MethodID:2548, dispID:0
+
+               function get sendableLogs():Vector.<ILogElement>;                           //MethodID:2549, dispID:0
+
+               function get logs():Vector.<ILogElement>;                                   //MethodID:2550, dispID:0
+
+               function get observer():ILogEventObservable;                                //MethodID:2551, dispID:0
+
+               //constructor
+               public function ILogManager();                                              //MethodID:2552, dispID:0
+       }
+}
+
+//■script155■
+
+package jp.nicovideo.nicoplayer.models.log{
+
+       import __AS3__.vec.Vector
+       import flash.display.Sprite
+       import flash.events.Event
+       import flash.events.EventDispatcher
+       import flash.events.IOErrorEvent
+       import flash.events.SecurityErrorEvent
+       import flash.events.TimerEvent
+       import flash.net.URLLoader
+       import flash.net.URLRequest
+       import flash.net.URLRequestMethod
+       import flash.net.URLVariables
+       import flash.utils.Dictionary
+       import flash.utils.Timer
+       import jp.nicovideo.nicoplayer.config.NicoConfig
+       import jp.nicovideo.nicoplayer.models.IPlayerConfig
+       import jp.nicovideo.nicoplayer.models.PlayerInfo
+       import jp.nicovideo.nicoplayer.models.api.IGetFLV
+       import jp.nicovideo.nicoplayer.models.api.IInitializeInfo
+       import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars
+       import jp.nicovideo.nicoplayer.models.log.elements.CapabilitiesLog
+       import jp.nicovideo.nicoplayer.models.log.elements.ILogElement
+       import jp.nicovideo.nicoplayer.models.log.elements.LoadingFailLog
+       import jp.nicovideo.nicoplayer.models.log.elements.NonSharedObjectCountLog
+       import jp.nicovideo.nicoplayer.models.log.elements.PlayStats
+       import jp.nicovideo.nicoplayer.models.log.elements.PlayerIdleLog
+       import jp.nicovideo.nicoplayer.models.log.elements.Playlen
+       import jp.nicovideo.nicoplayer.models.log.elements.PremiumLeadOnSliderLog
+       import jp.nicovideo.nicoplayer.models.log.elements.VideoenderLog
+       import jp.nicovideo.nicoplayer.models.log.events.LogEvent
+       import jp.nicovideo.nicoplayer.models.video.VideoWrapper
+       import jp.nicovideo.nicoplayer.videoender.IVideoenderTesterConfig
+       import jp.nicovideo.util.CrossSharedObject
+       import jp.nicovideo.util.storage.LocalStorage
+
+       //■class(instance)_index:188
+       public class LogManager extends EventDispatcher implements ILogManager
+       {
+               //static constructor
+               public static function LogManager$cinit()
+               {       //MethodID:2558, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 60
+                       DEFAULT_SEND_SLEEP_TIME = 3000;
+                       SO_NAME_LOG_MANAGER = "jp.nicovideo.nicoplayer.models.log.LogManager";
+                       ROOT_XML_TEMPLATE = new XML("<player_log/>");
+                       LOGS_XML_TEMPLATE = new XML("<logs/>");
+                       LOG_XML_TEMPLATE = new XML("<log name=''/>");
+               }
+
+               //static variables/etc.
+               public static const DEFAULT_SEND_SLEEP_TIME:Number = 3000.0;    //slotID:1
+               public static const SO_NAME_LOG_MANAGER:String = "jp.nicovideo.nicoplayer.models.log.LogManager";//slotID:2
+               public static const ROOT_XML_TEMPLATE:XML;                      //slotID:3
+               public static const LOGS_XML_TEMPLATE:XML;                      //slotID:4
+               public static const LOG_XML_TEMPLATE:XML;                       //slotID:5
+
+               //constructor
+               public function LogManager(hug1:Boolean)
+               {       //MethodID:2565, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 410
+                       internal var isNoSharedObject:Boolean;                          //slotID:1
+                       internal var getStorage:Function;                               //slotID:2
+
+                       getStorage = null;
+                       isNoSharedObject = hug1;
+
+                       super();
+
+                       getStorage = function(hug1:String):LocalStorage{        //MethodID:2559, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 20
+                               return CrossSharedObject.getStorage((SO_NAME_LOG_MANAGER + "." + hug1), "/");
+                       };
+
+                       this._isNoSharedObject = isNoSharedObject;
+                       this._logs = new Vector.<ILogElement>();
+                       this._dictionary = new Dictionary();
+                       this._loader = new URLLoader();
+
+                       this._loader.addEventListener(Event.COMPLETE, function(hug1:Event):void{        //MethodID:2560, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 9
+                               _onSendFinished(true);
+                       });
+                       this._loader.addEventListener(IOErrorEvent.IO_ERROR, function(hug1:Event):void{ //MethodID:2561, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 9
+                               _onSendFinished(false);
+                       });
+                       this._loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(hug1:Event):void{     //MethodID:2562, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 9
+                               _onSendFinished(false);
+                       });
+
+                       this._sleepTimer = new Timer(DEFAULT_SEND_SLEEP_TIME, 1);
+
+                       this._sleepTimer.addEventListener(TimerEvent.TIMER, function(hug1:TimerEvent):void{     //MethodID:2563, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 8
+                               _send_0();
+                       });
+
+                       if(this._isNoSharedObject){
+                               this._nonSharedObjectLog = new NonSharedObjectCountLog(getStorage);
+
+                               this.addLogElement(this._nonSharedObjectLog);
+                       }else{
+                               this._playlen = new Playlen();
+                               this._playstats = new PlayStats(getStorage);
+
+                               this.addLogElement(this._playstats);
+
+                               this._playerIdleLog = new PlayerIdleLog(getStorage);
+
+                               this.addLogElement(this._playerIdleLog);
+
+                               this._loadingFailLog = new LoadingFailLog(getStorage);
+
+                               this.addLogElement(this._loadingFailLog);
+
+                               this._premiumLeadOnSliderLog = new PremiumLeadOnSliderLog(getStorage);
+
+                               this.addLogElement(this._premiumLeadOnSliderLog);
+
+                               this._capabilitiesLog = new CapabilitiesLog(getStorage);
+
+                               this.addLogElement(this._capabilitiesLog);
+
+                               this._videoenderLog = new VideoenderLog(getStorage);
+
+                               this.addLogElement(this._videoenderLog);
+                               this._logs.forEach(function(hug1:ILogElement, hug2:int, hug3:Vector.<ILogElement>):void{        //MethodID:2564, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 37
+                                       if((hug1.sendType == LogElementSendType.PLAYER_START_UP) && (hug1.logObjects.length > 0)) hug1.isSendable = true;
+                               });
+                       }
+
+                       this._observer = LogEventObserverFactory.create((this._isNoSharedObject ? null : this.getLogElement), (this._isNoSharedObject ? null : this._playlen));
+               }
+
+               //variables/etc.
+               private var _apiURL:String;                                     //slotID:0
+               private var _logs:Vector.<ILogElement>;                         //slotID:0
+               private var _sentLogs:Vector.<ILogElement>;                     //slotID:0
+               private var _dictionary:Dictionary;                             //slotID:0
+               private var _observer:ILogEventObservable;                      //slotID:0
+               private var _sleepTimer:Timer;                                  //slotID:0
+               private var _loader:URLLoader;                                  //slotID:0
+               private var _nonSharedObjectLog:NonSharedObjectCountLog;        //slotID:0
+               private var _playlen:Playlen;                                   //slotID:0
+               private var _playstats:PlayStats;                               //slotID:0
+               private var _playerIdleLog:PlayerIdleLog;                       //slotID:0
+               private var _loadingFailLog:LoadingFailLog;                     //slotID:0
+               private var _premiumLeadOnSliderLog:PremiumLeadOnSliderLog;     //slotID:0
+               private var _capabilitiesLog:CapabilitiesLog;                   //slotID:0
+               private var _videoenderLog:VideoenderLog;                       //slotID:0
+               private var _isNoSharedObject:Boolean = false;                  //slotID:0
+               private var _isLogSending:Boolean = false;                      //slotID:0
+               private var _isSendAfterSending:Boolean = false;                //slotID:0
+
+               public function initialize(hug1:IInitializeInfo, hug2:NicoConfig, hug3:NicoFlashVars, hug4:IGetFLV, hug5:IPlayerConfig, hug6:PlayerInfo, hug7:Sprite, hug8:Boolean, hug9:VideoWrapper, hug10:Sprite, hug11:Boolean, hug12:IVideoenderTesterConfig):void
+               {       //MethodID:2567, LocalCount= 14 , MaxScope= 2, MaxStack= 7, CodeLength= 452
+                       internal var initializeInfo:IInitializeInfo;                    //slotID:1
+                       internal var config:NicoConfig;                                 //slotID:2
+                       internal var flashvars:NicoFlashVars;                           //slotID:3
+                       internal var getFLV:IGetFLV;                                    //slotID:4
+                       internal var playerConfig:IPlayerConfig;                        //slotID:5
+                       internal var playerInfo:PlayerInfo;                             //slotID:6
+                       internal var root:Sprite;                                       //slotID:7
+                       internal var isThumbwatch:Boolean;                              //slotID:8
+                       internal var video:VideoWrapper;                                //slotID:9
+                       internal var rootDisplayObject:Sprite;                          //slotID:10
+                       internal var isPlaylist:Boolean;                                //slotID:11
+                       internal var videoenderTesterConfig:IVideoenderTesterConfig;    //slotID:12
+                       internal var isNoHiroba:Boolean;                                //slotID:13
+
+                       initializeInfo = hug1;
+                       config = hug2;
+                       flashvars = hug3;
+                       getFLV = hug4;
+                       playerConfig = hug5;
+                       playerInfo = hug6;
+                       root = hug7;
+                       isThumbwatch = hug8;
+                       video = hug9;
+                       rootDisplayObject = hug10;
+                       isPlaylist = hug11;
+                       videoenderTesterConfig = hug12;
+                       this._apiURL = config.LOGGER_API_URL;
+                       isNoHiroba = (flashvars.watchFlashVars && flashvars.watchFlashVars.noHiroba);
+
+                       _LogEnabledChecker.initialize(config.BASE_URL);
+
+                       if(this._isNoSharedObject){
+                               this._nonSharedObjectLog.initialize();
+                       }else{
+                               this._playlen.initialize(config.PLAYLEN_API_URL, video, flashvars, initializeInfo, isThumbwatch, rootDisplayObject);
+                               this._playstats.initialize(!flashvars.watchFlashVars.noPostPlayStats, getFLV, flashvars, playerInfo, isNoHiroba);
+                               this._playerIdleLog.initialize(_LogEnabledChecker.getEnabledByUserID(initializeInfo.userID, this._playerIdleLog.name), flashvars.isChannel, flashvars.communityGlobalID, flashvars.originalVideoID);
+                               this._loadingFailLog.initialize(flashvars.watchID, getFLV.videoURL);
+                               this._premiumLeadOnSliderLog.initialize(_LogEnabledChecker.getEnabledByUserID(initializeInfo.userID, this._premiumLeadOnSliderLog.name));
+                               this._capabilitiesLog.initialize(_LogEnabledChecker.getEnabledByUserID(initializeInfo.userID, this._capabilitiesLog.name));
+                               this._videoenderLog.initialize(_LogEnabledChecker.getEnabledByUserID(initializeInfo.userID, this._videoenderLog.name), videoenderTesterConfig);
+                               this._logs.forEach(function(hug1:ILogElement, hug2:int, hug3:Vector.<ILogElement>):void{        //MethodID:2566, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 37
+                                       if((!isThumbwatch && flashvars.watchFlashVars) && !isPlaylist && videoenderTesterConfig.isTestable || ((hug1.sendType == LogElementSendType.LOG_INITIALIZE) && (hug1.logObjects.length > 0))) hug1.isSendable = true;
+                               });
+                       }
+
+                       this.send();
+               }
+
+               public function getLogElement(hug1:String):ILogElement
+               {       //MethodID:2568, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 35
+                       if(!this._dictionary.hasOwnProperty(hug1)) throw new Error("LogManager.getLogElement: LogElement not found.");
+
+                       return this._dictionary[hug1];
+               }
+
+               public function addLogElement(hug1:ILogElement):Boolean
+               {       //MethodID:2569, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 55
+                       if(this.contains(hug1.name)) return false;
+                       hug1.addEventListener(LogEvent.PREPARED, this._onItemPrepared);
+                       this._logs.push(hug1);
+
+                       this._dictionary[hug1.name] = hug1;
+                       return true;
+               }
+
+               private function _onItemPrepared(hug1:LogEvent):void
+               {       //MethodID:2570, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 10
+                       this.send(0);
+               }
+
+               public function contains(hug1:String):Boolean
+               {       //MethodID:2571, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       return this._dictionary.hasOwnProperty(hug1);
+               }
+
+               public function send(hug1:Number=3000.0):void
+               {       //MethodID:2572, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 94
+                       if(this._sleepTimer.running) return;
+
+                       if((hug1 > 0) && !isNaN(hug1) && isFinite(hug1)){
+                               this._sleepTimer.stop();
+                               this._sleepTimer.reset();
+
+                               this._sleepTimer.delay = hug1;
+
+                               this._sleepTimer.start();
+                       }else{
+                               this._send_0();
+                       }
+               }
+
+               private function _send_0():void
+               {       //MethodID:2573, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 142
+                       if(this._isLogSending){
+                               this._isSendAfterSending = true;
+                               return;
+                       }
+
+                       this._isLogSending = true;
+                       this._sentLogs = this.sendableLogs;
+
+                       if(this._sentLogs.length <= 0){
+                               this._isLogSending = false;
+                               return;
+                       }
+
+                       var hug1:XML = this._createXML(this._sentLogs);
+
+                       if(XMLList(hug1.logs.log).length() == 0){
+                               this._isLogSending = false;
+                               return;
+                       }
+
+                       var hug2:URLVariables = new URLVariables();
+                       hug2.player_log = hug1.toXMLString();
+                       var hug3:URLRequest = new URLRequest(this._apiURL);
+                       hug3.method = URLRequestMethod.POST;
+                       hug3.data = hug2;
+
+                       this._loader.load(hug3);
+               }
+
+               private function _onSendFinished(hug1:Boolean):void
+               {       //MethodID:2575, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 102
+                       internal var succeeded:Boolean;                                 //slotID:1
+
+                       succeeded = hug1;
+
+                       if(succeeded){
+                               this._clean(this._sentLogs, true);
+                               this._sentLogs.forEach(function(hug1:ILogElement, hug2:int, hug3:Vector.<ILogElement>):void{    //MethodID:2574, LocalCount= 4 , MaxScope= 0, MaxStack= 1, CodeLength= 6
+                                       hug1.onLogSent();
+                               });
+
+                               this._sentLogs = new Vector.<ILogElement>();
+                       }
+
+                       this._isLogSending = false;
+
+                       if(this._isSendAfterSending){
+                               this._isSendAfterSending = false;
+
+                               this.send();
+                       }else{
+                               dispatchEvent(new LogEvent(LogEvent.SEND_COMPLETE));
+                       }
+               }
+
+               private function _clean(hug1:Vector.<ILogElement>, hug2:Boolean=false):void
+               {       //MethodID:2577, LocalCount= 4 , MaxScope= 2, MaxStack= 2, CodeLength= 28
+                       internal var target:Vector.<ILogElement>;                       //slotID:1
+                       internal var isCompel:Boolean = false;                          //slotID:2
+
+                       target = hug1;
+                       isCompel = hug2;
+
+                       target.forEach(function(hug1:ILogElement, hug2:int, hug3:Vector.<ILogElement>):void{    //MethodID:2576, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 25
+                               if(hug1.isExpired || isCompel) hug1.clearLocalStorage();
+                       });
+               }
+
+               private function _createXML(hug1:Vector.<ILogElement>):XML
+               {       //MethodID:2581, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 81
+                       internal var vector:Vector.<ILogElement>;                       //slotID:1
+                       internal var root:XML;                                          //slotID:2
+                       internal var logs:XML;                                          //slotID:3
+                       internal var _setXMLElement:Function;                           //slotID:4
+
+                       logs = null;
+                       vector = hug1;
+                       _setXMLElement = function(hug1:XML, hug2:Object):void{  //MethodID:2578, LocalCount= 6 , MaxScope= 0, MaxStack= 5, CodeLength= 70
+                               var hug3:String = null;
+
+                               for(hug3 in hug2){
+                                       hug1.appendChild(new XML(("<" + hug3 + ">") + hug2[hug3] + "</" + hug3 + ">"));
+                               }
+                       };
+
+                       root = ROOT_XML_TEMPLATE.copy();
+                       logs = LOGS_XML_TEMPLATE.copy();
+
+                       root.appendChild(logs);
+                       vector.forEach(function(hug1:ILogElement, hug2:int, hug3:Vector.<ILogElement>):void{    //MethodID:2580, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 35
+                               internal var item:ILogElement;                                  //slotID:1
+                               internal var index:int;                                         //slotID:2
+                               internal var vector:Vector.<ILogElement>;                       //slotID:3
+
+                               item = hug1;
+                               index = hug2;
+                               vector = hug3;
+
+                               item.logObjects.forEach(function(hug1:Object, hug2:int, hug3:Vector.<Object>):void{     //MethodID:2579, LocalCount= 5 , MaxScope= 0, MaxStack= 3, CodeLength= 42
+                                       var hug4:XML = LOG_XML_TEMPLATE.copy();
+                                       hug4.@name = item.name;
+
+                                       _setXMLElement(hug4, hug1);
+                                       logs.appendChild(hug4);
+                               });
+                       });
+
+                       return root;
+               }
+
+               public function get sendableLogs():Vector.<ILogElement>
+               {       //MethodID:2583, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 37
+                       internal var vector:Vector.<ILogElement>;                       //slotID:1
+
+                       vector = null;
+                       vector = this._logs.filter(function(hug1:ILogElement, hug2:int, hug3:Vector.<ILogElement>):Boolean{     //MethodID:2582, LocalCount= 4 , MaxScope= 0, MaxStack= 1, CodeLength= 13
+                               if(hug1.isSendable){
+                               }
+
+                               return hug1.isSendable;
+                       });
+
+                       return vector;
+               }
+
+               public function get logs():Vector.<ILogElement>
+               {       //MethodID:2584, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._logs;
+               }
+
+               public function get observer():ILogEventObservable
+               {       //MethodID:2585, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._observer;
+               }
+       }
+}
+
+import jp.nicovideo.nicoplayer.models.PremiumLeadOnSliderTarget
+import jp.nicovideo.nicoplayer.models.log.LogElementName
+
+//■class(instance)_index:187
+//private
+class _LogEnabledChecker extends Object
+{
+       //static constructor
+       public static function _LogEnabledChecker$cinit()
+       {       //MethodID:2554, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
+               _isCompel = false;
+       }
+
+       //static variables/etc.
+       private static var _isCompel:Boolean = false;                   //slotID:1
+
+       public static function initialize(hug1:String):void
+       {       //dispID:3, MethodID:2555, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 57
+               var hug2:RegExp = new RegExp("^http:\/\/((?:[\w\-]+\.)*)nicovideo\.jp\/", "ig");
+               var hug3:Array = hug2.exec(hug1);
+
+               if(hug3) _isCompel = new RegExp("dev\.").test(hug3[1].toLowerCase());
+       }
+
+       public static function getEnabledByUserID(hug1:String, hug2:String):Boolean
+       {       //dispID:4, MethodID:2556, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 427
+               if(_isCompel) return true;
+
+               var hug3:int = int(hug1);
+               var hug4:String = hug2;
+
+               switch(hug4){
+               case LogElementName.PREMIUM_LEAD_ON_SLIDER:
+                       return PremiumLeadOnSliderTarget.isTargetUser(hug1, true);
+               case LogElementName.PLAYER_IDLE:
+                       return ((hug3 % 10) == 1);
+               case LogElementName.PLAYLIST_INTERRUPTED:
+                       return ((hug3 % 10) == 1);
+               case LogElementName.VIDEO_MENU:
+                       return ((hug3 % 10) == 3);
+               case LogElementName.LOADING_IDLE:
+                       return ((hug3 % 10) == 4);
+               case LogElementName.COMMENT_UPDATE_COUNT:
+                       return ((hug3 % 10) == 9);
+               case LogElementName.WATCH_RELOAD:
+                       return ((hug3 % 10) == 9);
+               case LogElementName.HIRROBA_CONNECTION_FAIL:
+                       return ((hug3 % 10) == 9);
+               case LogElementName.HIRROBA_DISCONNECTED:
+                       return ((hug3 % 10) == 9);
+               case LogElementName.PLAYER_CONF:
+                       return ((hug3 % 10) == 9);
+               case LogElementName.CAPABILITIES:
+                       return ((hug3 % 10) == 9);
+               case LogElementName.VIDEOENDER:
+                       return ((hug3 % 20) == 2);
+               default:
+                       throw new ArgumentError("LogManager._LogEnabledChecker.getEnabledByUserID: 指定されたログが見つかりません。", hug2);
+                       break;
+               }
+       }
+
+       //constructor
+       public function _LogEnabledChecker()
+       {       //MethodID:2557, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+}
+
+//■script156■
+
+package jp.nicovideo.hiroba{
+
+       import flash.display.MovieClip
+       import jp.nicovideo.hiroba.models.IHirobaMessageServerInfo
+       import jp.nicovideo.nicoplayer.models.api.IGetChecklist
+
+       //■class(instance)_index:189
+       public interface IHirobaConnectorClient
+       {
+               //static constructor
+               public static function IHirobaConnectorClient$cinit()
+               {       //MethodID:2587, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get messageServerInfo():IHirobaMessageServerInfo;                  //MethodID:2588, dispID:0
+
+               function get userID():String;                                               //MethodID:2589, dispID:0
+
+               function getPostKey(hug1:Function, hug2:String, hug3:int):void;             //MethodID:2590, dispID:0
+
+               function insertItemOnMarquee(hug1:String, hug2:MovieClip, hug3:Function, hug4:Function, hug5:Number=0.5):void;//MethodID:2591, dispID:0
+
+               function get isLiveAlertEnabled():Boolean;                                  //MethodID:2592, dispID:0
+
+               function get isUneiMessageEnabled():Boolean;                                //MethodID:2593, dispID:0
+
+               function get checkList():IGetChecklist;                                     //MethodID:2594, dispID:0
+
+               //constructor
+               public function IHirobaConnectorClient();                                   //MethodID:2595, dispID:0
+       }
+}
+
+//■script157■
+
+package jp.nicovideo.hiroba{
+
+       import flash.display.MovieClip
+       import jp.nicovideo.hiroba.models.IHirobaMessageServerInfo
+       import jp.nicovideo.nicoplayer.models.api.IGetChecklist
+       import jp.nicovideo.nicoplayer.models.api.IKeygen
+
+       //■class(instance)_index:190
+       public class HirobaConnectorClient extends Object implements IHirobaConnectorClient
+       {
+               //static constructor
+               public static function HirobaConnectorClient$cinit()
+               {       //MethodID:2597, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function HirobaConnectorClient(hug1:IHirobaMessageServerInfo, hug2:String, hug3:IKeygen, hug4:Function)
+               {       //MethodID:2598, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       super();
+
+                       this._messageServerInfo = hug1;
+                       this._userID = hug2;
+                       this._keygen = hug3;
+                       this._getCurrentVolume = hug4;
+               }
+
+               //variables/etc.
+               private var _messageServerInfo:IHirobaMessageServerInfo;        //slotID:0
+               private var _keygen:IKeygen;                                    //slotID:0
+               private var _insertItemOnMarquee:Function;                      //slotID:0
+               private var _checkList:IGetChecklist;                           //slotID:0
+               private var _getCurrentVolume:Function;                         //slotID:0
+               private var _userID:String;                                     //slotID:0
+
+               public function get messageServerInfo():IHirobaMessageServerInfo
+               {       //MethodID:2599, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._messageServerInfo;
+               }
+
+               public function get userID():String
+               {       //MethodID:2600, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._userID;
+               }
+
+               public function getPostKey(hug1:Function, hug2:String, hug3:int, ...args):void
+               {       //MethodID:2601, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       this._keygen.getHirobaPostKey.apply(null, args);
+               }
+
+               public function set insertItemOnMarquee_0(hug1:Function):void
+               {       //MethodID:2602, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._insertItemOnMarquee = hug1;
+               }
+
+               public function insertItemOnMarquee(hug1:String, hug2:MovieClip, hug3:Function, hug4:Function, hug5:Number=0.5):void
+               {       //MethodID:2603, LocalCount= 6 , MaxScope= 1, MaxStack= 7, CodeLength= 30
+                       if(this._insertItemOnMarquee == null) return;
+                       this._insertItemOnMarquee(hug1, hug2, this._getCurrentVolume(), hug3, hug4, hug5);
+               }
+
+               public function get checkList():IGetChecklist
+               {       //MethodID:2604, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._checkList;
+               }
+
+               public function set checkList(hug1:IGetChecklist):void
+               {       //MethodID:2605, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._checkList = hug1;
+               }
+
+               public function get isLiveAlertEnabled():Boolean
+               {       //MethodID:2606, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
+                       return true;
+               }
+
+               public function get isUneiMessageEnabled():Boolean
+               {       //MethodID:2607, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
+                       return true;
+               }
+       }
+}
+
+//■script158■
+
+package jp.nicovideo.nicoplayer.models.video{
+
+       //■class(instance)_index:191
+       public interface IVposWatcher
+       {
+               //static constructor
+               public static function IVposWatcher$cinit()
+               {       //MethodID:2609, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function addWatchPoint(hug1:Function, hug2:Number, hug3:Number=1.0, hug4:Boolean=true):void;//MethodID:2610, dispID:0
+
+               //constructor
+               public function IVposWatcher();                                             //MethodID:2611, dispID:0
+       }
+}
+
+//■script159■
+
+package jp.nicovideo.nicoplayer.models.video{
+
+       import flash.events.TimerEvent
+       import flash.utils.Timer
+       import jp.nicovideo.util.ArrayUtils
+       import jp.nicovideo.util.events.EventResult
+
+       use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver);
+
+       //■class(instance)_index:193
+       public class VposWatcher extends Object implements IVposWatcher
+       {
+               //static constructor
+               public static function VposWatcher$cinit()
+               {       //MethodID:2615, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       WATCH_INTERVAL = 400;
+               }
+
+               //static variables/etc.
+               public static var WATCH_INTERVAL:Number = 400.0;                //slotID:1
+
+               //constructor
+               public function VposWatcher(hug1:IVideo)
+               {       //MethodID:2617, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 57
+                       internal var video:IVideo;                                      //slotID:1
+
+                       video = hug1;
+                       this.__watchPoints = [];
+                       this.__watchTimer = new Timer(WATCH_INTERVAL);
+
+                       super();
+
+                       this.__video = video;
+
+                       this.__watchTimer.addEventListener(TimerEvent.TIMER, function(hug1:TimerEvent):void{    //MethodID:2616, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 8
+                               __watch();
+                       });
+               }
+
+               //variables/etc.
+               private var __watchPoints:Array;                                //slotID:0
+               private var __watchTimer:Timer;                                 //slotID:0
+               private var __lastHit:_WatchPoint = null;                       //slotID:0
+               private var __video:IVideo;                                     //slotID:0
+
+               public function kill():void
+               {       //MethodID:2618, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       this.__watchTimer.stop();
+                       this.__watchTimer.reset();
+
+                       this.__watchPoints = [];
+                       this.__lastHit = null;
+               }
+
+               public function addWatchPoint(hug1:Function, hug2:Number, hug3:Number=1.0, hug4:Boolean=true):void
+               {       //MethodID:2619, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 60
+                       var hug5:_WatchPoint = new _WatchPoint();
+                       hug5.f = hug1;
+                       hug5.vpos = hug2;
+                       hug5.length = hug3;
+                       hug5.once = hug4;
+
+                       this.__watchPoints.splice((this.__findIndexOfWatchPoint(hug2) + 1), 0, hug5);
+               }
+
+               private function __watch():void
+               {       //MethodID:2620, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 99
+                       var hug1:Number = this.__findIndexOfWatchPoint(this.__video.vpos);
+
+                       if(hug1 == (-1)) return;
+
+                       var hug2:_WatchPoint = this.__watchPoints[hug1];
+
+                       if((hug2 !== this.__lastHit) && (hug2.vpos <= this.__video.vpos) && ((hug2.vpos + hug2.length) >= this.__video.vpos)){
+                               this.__lastHit = hug2;
+
+                               hug2.f();
+                       }
+               }
+
+               private function __findIndexOfWatchPoint(hug1:Number):int
+               {       //MethodID:2622, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 30
+                       internal var vpos:Number;                                       //slotID:1
+
+                       vpos = hug1;
+                       return ArrayUtils.lowerBoundIndex(function(hug1:Number, hug2:_WatchPoint):Number{       //MethodID:2621, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 7
+                               return (hug1 - hug2.vpos);
+                       }, vpos, this.__watchPoints);
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoSeeked(hug1:Number):EventResult
+               {       //MethodID:2623, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 13
+                       this.__watch();
+
+                       return EventResult.THROUGH;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoPlayed():EventResult
+               {       //MethodID:2624, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 16
+                       this.__watchTimer.start();
+
+                       return EventResult.THROUGH;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoStopped():EventResult
+               {       //MethodID:2625, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 16
+                       this.__watchTimer.stop();
+
+                       return EventResult.THROUGH;
+               }
+       }
+}
+
+
+//■class(instance)_index:192
+//private
+class _WatchPoint extends Object
+{
+       //static constructor
+       public static function _WatchPoint$cinit()
+       {       //MethodID:2613, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _WatchPoint()
+       {       //MethodID:2614, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+
+       //variables/etc.
+       public var f:Function;                                          //slotID:0
+       public var vpos:Number;                                         //slotID:0
+       public var length:Number;                                       //slotID:0
+       public var once:Boolean;                                        //slotID:0
+}
+
+//■script160■
+
+package jp.nicovideo.util.events{
+
+       import jp.nicovideo.nicoplayer.models.filter.INGComment
+       import jp.nicovideo.util.ArraySet
+
+       //■class(instance)_index:194
+       public class EventPipe extends Object
+       {
+               //static constructor
+               public static function EventPipe$cinit()
+               {       //MethodID:2627, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function dummy():Function
+               {       //dispID:3, MethodID:2629, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 10
+                       return function(hug1:String, hug2:Array):EventResult{   //MethodID:2628, LocalCount= 3 , MaxScope= 0, MaxStack= 1, CodeLength= 6
+                               return EventResult.THROUGH;
+                       };
+               }
+
+               public static function castEvent(hug1:*, hug2:String, hug3:Array):EventResult
+               {       //dispID:4, MethodID:2630, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 21
+                       return hug1.apply(null, hug3);
+               }
+
+               public static function serial(... rest):EventPipe
+               {       //dispID:5, MethodID:2631, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12
+                       return __create(true, rest);
+               }
+
+               public static function parallel(... rest):EventPipe
+               {       //dispID:6, MethodID:2632, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12
+                       return __create(false, rest);
+               }
+
+               public static function switcher(hug1:Function, ...rest):EventPipe
+               {       //dispID:7, MethodID:2633, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 4
+                       return null;
+               }
+
+               private static function __create(hug1:Boolean, hug2:Array):EventPipe
+               {       //dispID:8, MethodID:2634, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 94
+                       var hug4:* = undefined;
+                       var hug3:EventPipe = new (hug1 ? (_SerialPipe) : (_ParallelPipe))();
+
+                       for each(hug4 in hug2){
+                               hug3.push((hug4 is Array) ? __create(!hug1, hug4) : hug4);
+                       }
+
+                       return hug3;
+               }
+
+               //constructor
+               public function EventPipe()
+               {       //MethodID:2635, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 39
+                       this._nodesInParent = new ArraySet();
+
+                       super();
+
+                       this._head = this._tail = new _Node(null, null);
+               }
+
+               //variables/etc.
+               protected var _nodesInParent:ArraySet;                          //slotID:0
+               protected var _head:_Node;                                      //slotID:0
+               protected var _tail:_Node;                                      //slotID:0
+
+               public function push(hug1:*):void
+               {       //MethodID:2636, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 57
+                       if((this._tail.instance != null) && (this._tail.instance is INGComment)) return;
+
+                       var hug2:_Node = this.__node_0(hug1);
+                       this._tail.next = hug2;
+                       this._tail = hug2;
+               }
+
+               private function __node_0(hug1:*):_Node
+               {       //MethodID:2640, LocalCount= 5 , MaxScope= 2, MaxStack= 4, CodeLength= 154
+                       internal var instance:*;                                        //slotID:1
+                       internal var node:_Node;                                        //slotID:2
+                       internal var names:Array;                                       //slotID:3
+                       internal var name:String;                                       //slotID:4
+
+                       names = null;
+                       name = null;
+                       instance = hug1;
+                       node = new _Node(this, instance);
+
+                       if(instance is (EventPipe)){
+                               instance._nodesInParent.add(node);
+                       }else if(instance is EventSender){
+                               names = instance.eventNames;
+
+                               for each(name in names){
+                                       function(hug1:_Node, hug2:String):void{ //MethodID:2639, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 68
+                                               internal var node:_Node;                                        //slotID:1
+                                               internal var name:String;                                       //slotID:2
+                                               internal var sender:*;                                          //slotID:3
+
+                                               sender = undefined;
+                                               node = hug1;
+                                               name = hug2;
+                                               sender = function(... rest):void{       //MethodID:2637, LocalCount= 2 , MaxScope= 0, MaxStack= 5, CodeLength= 19
+                                                       _cast(node.next, name, rest, true);
+                                               };
+
+                                               instance.add(sender);
+                                               node.removers.push(function():void{     //MethodID:2638, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 24
+                                                       instance.remove(sender);
+                                               });
+                                       }.call(null, node, name);
+                               }
+                       }
+
+                       return node;
+               }
+
+               public function pop(hug1:*):void
+               {       //MethodID:2641, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 46
+                       if((this._tail.instance != null) && (this._tail.instance is INGComment)) this._tail = new _Node(null, null);
+               }
+
+               public function replace(hug1:*, hug2:*):void
+               {       //MethodID:2643, LocalCount= 4 , MaxScope= 2, MaxStack= 2, CodeLength= 25
+                       internal var instance:*;                                        //slotID:1
+                       internal var replacement:*;                                     //slotID:2
+
+                       instance = hug1;
+                       replacement = hug2;
+
+                       this.__forEachNode(function(hug1:_Node):Boolean{        //MethodID:2642, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 59
+                               if(hug1.next.instance !== instance) return true;
+                               remove_0(hug1.next);
+
+                               var hug2:_Node = __node_0(replacement);
+                               hug2.next = hug1.next.next;
+                               hug1.next = hug2;
+                               return false;
+                       });
+               }
+
+               public function remove(hug1:*):void
+               {       //MethodID:2645, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 20
+                       internal var instance:*;                                        //slotID:1
+
+                       instance = hug1;
+
+                       this.__forEachNode(function(hug1:_Node):Boolean{        //MethodID:2644, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 40
+                               if(hug1.next.instance !== instance) return true;
+                               remove_0(hug1.next);
+
+                               hug1.next = hug1.next.next;
+                               return false;
+                       });
+               }
+
+               public function removeAll():void
+               {       //MethodID:2647, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 15
+                       this.__forEachNode(function(hug1:_Node):Boolean{        //MethodID:2646, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 10
+                               remove_0(hug1);
+
+                               return true;
+                       });
+               }
+
+               public function remove_0(hug1:_Node):void
+               {       //MethodID:2648, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 81
+                       var hug2:Function = null;
+
+                       if(hug1.instance is (EventPipe)){
+                               this._nodesInParent.remove(hug1);
+                       }else if(hug1.instance is EventSender){
+                               for each(hug2 in hug1.removers){
+                                       hug2();
+                               }
+                       }
+               }
+
+               public function collect():Array
+               {       //MethodID:2650, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 34
+                       internal var a:Array;                                           //slotID:1
+
+                       a = null;
+                       a = [];
+
+                       this.__forEachNode(function(hug1:_Node):Boolean{        //MethodID:2649, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 16
+                               a.push(hug1.next.instance);
+
+                               return true;
+                       });
+
+                       return a;
+               }
+
+               private function __forEachNode(hug1:Function, hug2:_Node=null):void
+               {       //MethodID:2651, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 58
+                       var hug3:_Node = (hug2 || this._head);
+
+                       while(hug3.next && hug1(hug3)){
+                               hug3 = hug3.next;
+                       }
+               }
+
+               protected function _cast(hug1:_Node, hug2:String, hug3:Array, hug4:Boolean):Object
+               {       //MethodID:2652, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+                       throw new Error("EventPipe._cast: error.");
+               }
+
+               public function _cast_self(hug1:String, hug2:Array):Object
+               {       //MethodID:2653, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 18
+                       return this._cast(this._head.next, hug1, hug2, false);
+               }
+
+               protected function _castParents(hug1:String, hug2:Array):void
+               {       //MethodID:2654, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 59
+                       var hug3:_Node = null;
+
+                       for each(hug3 in this._nodesInParent){
+                               hug3.belongs._cast(hug3.next, hug1, hug2, true);
+                       }
+               }
+       }
+}
+
+import jp.nicovideo.util.events.EventPipe
+import jp.nicovideo.util.events.EventResult
+
+//■class(instance)_index:195
+//private
+class _Node extends Object
+{
+       //static constructor
+       public static function _Node$cinit()
+       {       //MethodID:2655, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _Node(hug1:EventPipe, hug2:*)
+       {       //MethodID:2656, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 22
+               this.removers = [];
+
+               super();
+
+               this.belongs = hug1;
+               this.instance = hug2;
+       }
+
+       //variables/etc.
+       public var belongs:EventPipe;                                   //slotID:0
+       public var instance:*;                                          //slotID:0
+       public var next:_Node;                                          //slotID:0
+       public var removers:Array;                                      //slotID:0
+
+       public function cast(hug1:String, hug2:Array):EventResult
+       {       //MethodID:2657, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 35
+               if(this.instance is Function) return this.instance(hug1, hug2);
+
+               return (EventPipe).castEvent(this.instance, hug1, hug2);
+       }
+}
+
+//■class(instance)_index:196
+//private
+class _SerialPipe extends EventPipe
+{
+       //static constructor
+       public static function _SerialPipe$cinit()
+       {       //MethodID:2658, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //variables/etc.
+       override protected function _cast(hug1:_Node, hug2:String, hug3:Array, hug4:Boolean):Object
+       {       //MethodID:2659, LocalCount= 8 , MaxScope= 1, MaxStack= 4, CodeLength= 256
+               var hug5:Object = null;
+               var hug6:EventResult = null;
+
+               while(hug1 != null){
+                       if(hug1.instance is (EventPipe)){
+                               hug5 = hug1.instance._cast_self(hug2, hug3);
+
+                               if(hug5){
+                                       if(hug5.name) hug2 = hug5.name;
+
+                                       if(hug5.args) hug3 = hug5.args;
+                               }
+                       }else{
+                               hug6 = hug1.cast(hug2, hug3);
+                               var hug7:EventResult = hug6;
+
+                               switch(hug7){
+                               case EventResult.THROUGH:
+                                       hug1 = hug1.next;
+                                       continue;
+                               case EventResult.BREAK:
+                                       return null;
+                               default:
+                                       break;
+                               }
+
+                               if(hug6._replaced != null) hug3 = hug6._replaced;
+
+                               if(hug6._renamed != null) hug2 = hug6._renamed;
+                       }
+
+                       hug1 = hug1.next;
+               }
+
+               if(!hug4) return {args:hug3, name:hug2};
+
+               _castParents(hug2, hug3);
+
+               return null;
+       }
+
+       //constructor
+       public function _SerialPipe()
+       {       //MethodID:2660, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+}
+
+//■class(instance)_index:197
+//private
+class _ParallelPipe extends EventPipe
+{
+       //static constructor
+       public static function _ParallelPipe$cinit()
+       {       //MethodID:2661, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //variables/etc.
+       override protected function _cast(hug1:_Node, hug2:String, hug3:Array, hug4:Boolean):Object
+       {       //MethodID:2662, LocalCount= 7 , MaxScope= 1, MaxStack= 3, CodeLength= 140
+               var hug5:EventResult = null;
+
+               if(hug4){
+                       _castParents(hug2, hug3);
+
+                       return null;
+               }
+
+               while(hug1 != null){
+                       if(hug1.instance is (EventPipe)){
+                               hug1.instance._cast_self(hug2, hug3);
+                       }else{
+                               hug5 = hug1.cast(hug2, hug3);
+                               var hug6:EventResult = hug5;
+
+                               switch(hug6){
+                               case EventResult.BREAK:
+                                       return null;
+                               default:
+                                       break;
+                               }
+                       }
+
+                       hug1 = hug1.next;
+               }
+
+               return null;
+       }
+
+       //constructor
+       public function _ParallelPipe()
+       {       //MethodID:2663, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+}
+
+//■script161■
+
+package jp.nicovideo.nicoplayer.views.comment{
+
+       import flash.display.DisplayObject
+
+       //■class(instance)_index:198
+       public interface IDisplayObjectProvider
+       {
+               //static constructor
+               public static function IDisplayObjectProvider$cinit()
+               {       //MethodID:2665, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function create():DisplayObject;                                            //MethodID:2666, dispID:0
+
+               function release(hug1:DisplayObject):void;                                  //MethodID:2667, dispID:0
+
+               function assignZ(hug1:DisplayObject, hug2:int):void;                        //MethodID:2668, dispID:0
+
+               //constructor
+               public function IDisplayObjectProvider();                                   //MethodID:2669, dispID:0
+       }
+}
+
+//■script162■
+
+package jp.nicovideo.nicoplayer.views.comment{
+
+       import jp.nicovideo.nicoplayer.models.comment.CommandConstants
+       import jp.nicovideo.nicoplayer.models.comment.CommentBuilder
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       import jp.nicovideo.nicoscript.INicoSPlayer
+       import jp.nicovideo.util.ArrayUtils
+       import jp.nicovideo.util.ZIndexManager
+       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);
+
+       //■class(instance)_index:199
+       public class CommentViewTransformer extends Object
+       {
+               //static constructor
+               public static function CommentViewTransformer$cinit()
+               {       //MethodID:2671, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function CommentViewTransformer(hug1:Object, hug2:CommentLayer, hug3:CommentLayerView, hug4:INicoSPlayer)
+               {       //MethodID:2672, LocalCount= 13 , MaxScope= 1, MaxStack= 3, CodeLength= 206
+                       var hug5:String = null;
+                       var hug6:_LayerInfo = null;
+                       var hug7:String = null;
+                       var hug8:_CommentListInfo = null;
+                       this._listNameMapping = {};
+
+                       super();
+
+                       this._commentLayerView = hug3;
+                       this._nicoSPlayer = hug4;
+
+                       for(hug5 in hug1){
+                               hug6 = new _LayerInfo();
+                               hug6.layerID = hug5;
+                               hug6.listNames = hug1[hug5];
+                               hug6.container = hug2.getLayer(hug5);
+                               hug6.zIndexManager = new ZIndexManager(hug6.container);
+
+                               for each(hug7 in hug1[hug5]){
+                                       hug8 = new _CommentListInfo();
+                                       hug8.listName = hug7;
+                                       hug8.layerInfo = hug6;
+                                       this._listNameMapping[hug7] = hug8;
+                               }
+                       }
+               }
+
+               //variables/etc.
+               private var _commentLayerView:CommentLayerView;                 //slotID:0
+               private var _listNameMapping:Object;                            //slotID:0
+               private var _nicoSPlayer:INicoSPlayer;                          //slotID:0
+               private var _isP4Mode:Boolean = false;                          //slotID:0
+
+               public function setP4Mode():void
+               {       //MethodID:2673, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isP4Mode = true;
+               }
+
+               public function get isP4Mode():Boolean
+               {       //MethodID:2674, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isP4Mode;
+               }
+
+               private function _create_ViewEntry(hug1:_CommentInfo):ViewEntry
+               {       //MethodID:2675, LocalCount= 11 , MaxScope= 1, MaxStack= 7, CodeLength= 264
+                       var hug10:Object = null;
+                       var hug2:IComment = hug1.comment;
+                       var hug3:String = hug2.command.posY;
+                       var hug4:Number = (((hug3 == CommandConstants.PLACE_TOP) || (hug3 == CommandConstants.PLACE_BOTTOM)) ? CommentViewConstants.COMMENT_SHOW_AHEAD_POSY : CommentViewConstants.COMMENT_SHOW_AHEAD);
+                       var hug5:Number = (hug2.vpos - hug4);
+                       var hug6:Number = (CommentViewConstants.COMMENT_SHOW_EXPIRE + hug4);
+
+                       if(hug2.isOwner){
+                               hug10 = new RegExp("(?:^|[\s ])@(\d+)(?:$|[\s ])").exec(hug2.command.command);
+
+                               if(hug10) hug6 = ((Number(hug10[1]) * 1000) + hug4);
+                       }
+
+                       var hug7:Class = (hug2.command.hasButton ? _ClickableCommentProvider : _CommentTextFieldProvider);
+                       var hug8:_DOProviderTemplate = new hug7(this);
+                       var hug9:ViewEntry = new ViewEntry(hug5, hug6, hug3, hug8, ((hug2.resNo == 0) ? 0x7FFFFFFF : hug2.resNo), hug2.command.full);
+                       hug8.commentInfo = hug1;
+                       hug8.nicoSPlayer = this._nicoSPlayer;
+                       hug8.ve = hug9;
+                       return hug9;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentPost(hug1:IComment, hug2:String):EventResult
+               {       //MethodID:2676, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 40
+                       onCommentListUpdated([hug1], null, false, hug2);
+
+                       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:2681, LocalCount= 6 , MaxScope= 2, MaxStack= 6, CodeLength= 333
+                       internal var additionals:Array;                                 //slotID:1
+                       internal var removes:Array;                                     //slotID:2
+                       internal var clear:Boolean;                                     //slotID:3
+                       internal var listName:String;                                   //slotID:4
+                       internal var commentListInfo:_CommentListInfo;                  //slotID:5
+                       internal var removes_:Array;                                    //slotID:6
+                       internal var additionals_:Array;                                //slotID:7
+
+                       commentListInfo = null;
+                       removes_ = null;
+                       additionals_ = null;
+                       additionals = hug1;
+                       removes = hug2;
+                       clear = hug3;
+                       listName = hug4;
+                       commentListInfo = this._listNameMapping[listName];
+                       removes_ = [];
+
+                       if(commentListInfo.comments){
+                               if(clear){
+                                       removes_ = commentListInfo.comments.map(function(hug1:_CommentInfo, ...rest):ViewEntry{ //MethodID:2677, LocalCount= 3 , MaxScope= 0, MaxStack= 1, CodeLength= 5
+                                               return hug1.viewEntry;
+                                       });
+
+                                       commentListInfo.comments = [];
+                               }else if(removes && (removes.length != 0)){
+                                       ArrayUtils.subtract(function(hug1:_CommentInfo, hug2:IComment):Number{  //MethodID:2678, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 34
+                                               var hug3:Number = (hug1.comment.resNo - hug2.resNo);
+
+                                               if(hug3 == 0) removes_.push(hug1.viewEntry);
+
+                                               return hug3;
+                                       }, commentListInfo.comments, removes);
+                               }
+                       }else{
+                               commentListInfo.comments = [];
+                       }
+
+                       additionals_ = [];
+
+                       if(additionals && (additionals.length != 0)){
+                               commentListInfo.lastRes = Math.max(commentListInfo.lastRes, additionals[additionals.length - 1].resNo);
+                               additionals = additionals.map(function(hug1:IComment, ...rest):_CommentInfo{    //MethodID:2679, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 46
+                                       var hug3:* = new _CommentInfo();
+                                       hug3.comment = hug1;
+                                       hug3.commentListInfo = commentListInfo;
+                                       hug3.viewEntry = _create_ViewEntry(hug3);
+
+                                       additionals_.push(hug3.viewEntry);
+
+                                       return hug3;
+                               });
+                               ArrayUtils.add(function(hug1:_CommentInfo, hug2:_CommentInfo):Number{   //MethodID:2680, LocalCount= 5 , MaxScope= 0, MaxStack= 2, CodeLength= 85
+                                       var hug4:CommentBuilder = null;
+                                       var hug3:Number = (hug1.comment.resNo - hug2.comment.resNo);
+
+                                       if(hug3 == 0){
+                                               removes_.push(hug1.viewEntry);
+
+                                               if(hug1.comment.justPosted){
+                                                       hug4 = new CommentBuilder(hug2.comment);
+                                                       hug4.justPosted = true;
+                                                       hug2.comment = hug4.make();
+                                               }
+                                       }
+
+                                       return hug3;
+                               }, commentListInfo.comments, additionals, true);
+                       }
+
+                       this._commentLayerView.update(commentListInfo.layerInfo.layerID, additionals_, removes_, false);
+
+                       return EventResult.THROUGH;
+               }
+       }
+}
+
+import flash.display.DisplayObject
+import flash.display.DisplayObjectContainer
+import flash.text.TextField
+import jp.nicovideo.nicoplayer.models.comment.CommentConstants
+import jp.nicovideo.nicoplayer.models.comment.IComment
+import jp.nicovideo.nicoplayer.views.comment.CommentViewTransformer
+import jp.nicovideo.nicoplayer.views.comment.ViewEntry
+import jp.nicovideo.nicoplayer.views.comment.elements.ClickableComment
+import jp.nicovideo.nicoplayer.views.comment.elements.CommentTextField
+import jp.nicovideo.nicoscript.INicoSPlayer
+import jp.nicovideo.util.Assert
+import jp.nicovideo.util.ObjectPool
+import jp.nicovideo.util.ZIndexManager
+
+//■class(instance)_index:200
+//private
+class _CommentInfo extends Object
+{
+       //static constructor
+       public static function _CommentInfo$cinit()
+       {       //MethodID:2682, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _CommentInfo()
+       {       //MethodID:2683, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+
+       //variables/etc.
+       public var comment:IComment;                                    //slotID:0
+       public var commentListInfo:_CommentListInfo;                    //slotID:0
+       public var viewEntry:ViewEntry;                                 //slotID:0
+}
+
+//■class(instance)_index:201
+//private
+class _CommentListInfo extends Object
+{
+       //static constructor
+       public static function _CommentListInfo$cinit()
+       {       //MethodID:2684, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _CommentListInfo()
+       {       //MethodID:2685, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               this.comments = [];
+
+               super();
+       }
+
+       //variables/etc.
+       public var listName:String;                                     //slotID:0
+       public var layerInfo:_LayerInfo;                                //slotID:0
+       public var comments:Array;                                      //slotID:0
+       public var lastRes:int = 0;                                     //slotID:0
+}
+
+//■class(instance)_index:202
+//private
+class _LayerInfo extends Object
+{
+       //static constructor
+       public static function _LayerInfo$cinit()
+       {       //MethodID:2686, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _LayerInfo()
+       {       //MethodID:2689, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 38
+               super();
+
+               this.commentTextFieldPool = new ObjectPool(function():CommentTextField{ //MethodID:2687, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 19
+                       var hug1:* = new CommentTextField();
+                       hug1.displayObject.visible = false;
+                       return hug1;
+               });
+               this.clickableCommentPool = new ObjectPool(function():*{        //MethodID:2688, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 19
+                       var hug1:* = new ClickableComment();
+                       hug1.displayObject.visible = false;
+                       return hug1;
+               });
+       }
+
+       //variables/etc.
+       public var listNames:Array;                                     //slotID:0
+       public var layerID:String;                                      //slotID:0
+       public var container:DisplayObjectContainer;                    //slotID:0
+       public var zIndexManager:ZIndexManager;                         //slotID:0
+       public var commentTextFieldPool:ObjectPool;                     //slotID:0
+       public var clickableCommentPool:ObjectPool;                     //slotID:0
+}
+
+//■class(instance)_index:203
+//private
+class _DOProviderTemplate extends Object implements IDisplayObjectProvider
+{
+       //static constructor
+       public static function _DOProviderTemplate$cinit()
+       {       //MethodID:2690, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _DOProviderTemplate(hug1:CommentViewTransformer)
+       {       //MethodID:2691, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+               super();
+
+               this.transformer = hug1;
+       }
+
+       //variables/etc.
+       public var commentInfo:_CommentInfo;                            //slotID:0
+       public var ve:ViewEntry;                                        //slotID:0
+       public var nicoSPlayer:INicoSPlayer;                            //slotID:0
+       public var transformer:CommentViewTransformer;                  //slotID:0
+
+       public function create():DisplayObject
+       {       //MethodID:2692, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 158
+               var hug1:IComment = this.__comment;
+
+               if(!hug1 || hug1.command.hasContained("invisible")) return null;
+
+               this.ve.type = hug1.command.posY;
+               var hug2:DisplayObject = Object(this)._create_0(hug1);
+
+               if(this.transformer.isP4Mode && this.commentInfo && this.commentInfo.commentListInfo){
+                       if(this.commentInfo.commentListInfo.listName == CommentConstants.CL_LOCAL){
+                               hug2.alpha = 1;
+
+                               if(hug2 is TextField) (hug2 as TextField).border = false;
+                       }else{
+                               hug2.alpha = 0.2;
+                       }
+               }
+
+               return hug2;
+       }
+
+       public function release(hug1:DisplayObject):void
+       {       //MethodID:2693, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+               Object(this)._release_0(hug1);
+               this.layerInfo.zIndexManager.remove(hug1);
+       }
+
+       public function assignZ(hug1:DisplayObject, hug2:int):void
+       {       //MethodID:2694, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 16
+               this.layerInfo.zIndexManager.setZIndex(hug1, hug2);
+       }
+
+       public function get layerInfo():_LayerInfo
+       {       //MethodID:2695, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13
+               return this.commentInfo.commentListInfo.layerInfo;
+       }
+
+       private function get __comment():IComment
+       {       //MethodID:2696, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 44
+               if(!this.nicoSPlayer) return this.commentInfo.comment;
+
+               return this.nicoSPlayer.replaceComment(this.commentInfo.commentListInfo.listName, this.commentInfo.comment);
+       }
+}
+
+//■class(instance)_index:204
+//private
+class _CommentTextFieldProvider extends _DOProviderTemplate
+{
+       //static constructor
+       public static function _CommentTextFieldProvider$cinit()
+       {       //MethodID:2697, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _CommentTextFieldProvider(hug1:CommentViewTransformer)
+       {       //MethodID:2698, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 7
+               super(hug1);
+       }
+
+       //variables/etc.
+       private var __commentTextField:CommentTextField;                //slotID:0
+
+       public function _create_0(hug1:IComment):DisplayObject
+       {       //MethodID:2699, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 92
+               Assert.assert(!this.__commentTextField);
+
+               this.__commentTextField = layerInfo.commentTextFieldPool.create();
+
+               this.__commentTextField.reset(hug1, ((commentInfo.commentListInfo.listName == CommentConstants.CL_OWNER) ? (-1) : commentInfo.commentListInfo.lastRes));
+
+               this.__commentTextField.displayObject.visible = true;
+               return this.__commentTextField.displayObject;
+       }
+
+       public function _release_0(hug1:DisplayObject):void
+       {       //MethodID:2700, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 61
+               Assert.assert(this.__commentTextField && (this.__commentTextField.displayObject === hug1));
+               layerInfo.commentTextFieldPool.restore(this.__commentTextField);
+
+               this.__commentTextField.displayObject.visible = false;
+               this.__commentTextField = null;
+       }
+}
+
+//■class(instance)_index:205
+//private
+class _ClickableCommentProvider extends _DOProviderTemplate
+{
+       //static constructor
+       public static function _ClickableCommentProvider$cinit()
+       {       //MethodID:2701, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _ClickableCommentProvider(hug1:CommentViewTransformer)
+       {       //MethodID:2702, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 7
+               super(hug1);
+       }
+
+       //variables/etc.
+       private var __clickableComment:ClickableComment;                //slotID:0
+
+       public function _create_0(hug1:IComment):DisplayObject
+       {       //MethodID:2703, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 56
+               Assert.assert(!this.__clickableComment);
+
+               this.__clickableComment = layerInfo.clickableCommentPool.create();
+
+               this.__clickableComment.reset(hug1);
+
+               this.__clickableComment.displayObject.visible = true;
+               return this.__clickableComment.displayObject;
+       }
+
+       public function _release_0(hug1:DisplayObject):void
+       {       //MethodID:2704, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 61
+               Assert.assert(this.__clickableComment && (this.__clickableComment.displayObject === hug1));
+               layerInfo.clickableCommentPool.restore(this.__clickableComment);
+
+               this.__clickableComment.displayObject.visible = false;
+               this.__clickableComment = null;
+       }
+}
+
+//■script163■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       //■class(instance)_index:206
+       public interface ICommentRouter
+       {
+               //static constructor
+               public static function ICommentRouter$cinit()
+               {       //MethodID:2706, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function post(hug1:IComment):void;                                          //MethodID:2707, dispID:0
+
+               //constructor
+               public function ICommentRouter();                                           //MethodID:2708, dispID:0
+       }
+}
+
+//■script164■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       import jp.nicovideo.marquee.IMarqueePlayer
+       import jp.nicovideo.nicoplayer.hiroba.IHirobaPlayer
+       import jp.nicovideo.nicoplayer.models.IPlayerConfig
+       import jp.nicovideo.nicoplayer.models.filter.ChannelReplacer
+       import jp.nicovideo.nicoplayer.models.filter.LockedComment
+       import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars
+       import jp.nicovideo.nicoscript.NicoSClient
+       import jp.nicovideo.nicoscript.macro.parsers.IMacroParserResult
+       import jp.nicovideo.nicoscript.macro.parsers.MacroParser
+       import jp.nicovideo.util.Assert
+       import jp.nicovideo.util.Functions
+       import jp.nicovideo.util.TimeUtils
+       import jp.nicovideo.util.events.EventResult
+
+       use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver);
+
+       //■class(instance)_index:207
+       public class CommentRouter extends Object implements ICommentRouter
+       {
+               //static constructor
+               public static function CommentRouter$cinit()
+               {       //MethodID:2710, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 111
+                       ERROR_POST_BUTTON_ONCE = "ERROR_POST_BUTTON_ONCE";
+                       ERROR_POST_AT_COMMENT_UNDEFINED = "ERROR_POST_AT_COMMENT_UNDEFINED";
+                       ERROR_POST_HIROBA = "ERROR_POST_HIROBA";
+                       ERROR_POST_BUTTON_PREMIUM_ONLY = "ERROR_POST_BUTTON_PREMIUM_ONLY";
+                       ERROR_POST_INITIALIZE = "ERROR_POST_INITIALIZE";
+                       ERROR_POST_184 = "ERROR_POST_184";
+                       ERROR_POST_SAME_COMMENT = "ERROR_POST_SAMECOMMENT";
+                       ERROR_POST_BUTTON_ARGUMENTS = "ERROR_POST_BUTTON_ARGUMENTS";
+                       ERROR_POST_BUTTON_DISABLED = "ERROR_POST_BUTTON_DISABLED";
+                       ERROR_POST_CHANNEL_FILTER = "ERROR_POST_CHANNEL_FILTER";
+                       ERROR_POST_COMMAND_DISABLED = "ERROR_POST_COMMAND_DISABLED";
+                       ERROR_POST_AT_COMMENT_DISABLED = "ERROR_POST_AT_COMMENT_DISABLED";
+               }
+
+               //static variables/etc.
+               public static const ERROR_POST_BUTTON_ONCE:String = "ERROR_POST_BUTTON_ONCE";//slotID:1
+               public static const ERROR_POST_AT_COMMENT_UNDEFINED:String = "ERROR_POST_AT_COMMENT_UNDEFINED";//slotID:2
+               public static const ERROR_POST_HIROBA:String = "ERROR_POST_HIROBA";//slotID:3
+               public static const ERROR_POST_BUTTON_PREMIUM_ONLY:String = "ERROR_POST_BUTTON_PREMIUM_ONLY";//slotID:4
+               public static const ERROR_POST_INITIALIZE:String = "ERROR_POST_INITIALIZE";//slotID:5
+               public static const ERROR_POST_184:String = "ERROR_POST_184";   //slotID:6
+               public static const ERROR_POST_SAME_COMMENT:String = "ERROR_POST_SAMECOMMENT";//slotID:7
+               public static const ERROR_POST_BUTTON_ARGUMENTS:String = "ERROR_POST_BUTTON_ARGUMENTS";//slotID:8
+               public static const ERROR_POST_BUTTON_DISABLED:String = "ERROR_POST_BUTTON_DISABLED";//slotID:9
+               public static const ERROR_POST_CHANNEL_FILTER:String = "ERROR_POST_CHANNEL_FILTER";//slotID:10
+               public static const ERROR_POST_COMMAND_DISABLED:String = "ERROR_POST_COMMAND_DISABLED";//slotID:11
+               public static const ERROR_POST_AT_COMMENT_DISABLED:String = "ERROR_POST_AT_COMMENT_DISABLED";//slotID:12
+
+               //constructor
+               public function CommentRouter(hug1:NicoFlashVars, hug2:IPlayerConfig, hug3:LockedComment, hug4:NicoSClient=null, hug5:Boolean=false, hug6:ChannelReplacer=null)
+               {       //MethodID:2711, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 63
+                       this.onCommentPostErorr = new Functions();
+                       this.onCommentHavingMacro = new Functions();
+                       this._commentLists = {};
+
+                       super();
+
+                       this._flashvars = hug1;
+                       this._playerConfig = hug2;
+                       this._nicosClient = hug4;
+                       this._isPremium = hug5;
+                       this._channelReplacer = hug6;
+                       this._lockedComment = hug3;
+               }
+
+               //variables/etc.
+               public var onCommentPostErorr:Functions;                        //slotID:0
+               public var onCommentHavingMacro:Functions;                      //slotID:0
+               private var _commentLists:Object;                               //slotID:0
+               private var _flashvars:NicoFlashVars;                           //slotID:0
+               private var _playerConfig:IPlayerConfig;                        //slotID:0
+               private var _nicosClient:NicoSClient;                           //slotID:0
+               private var _hirobaPlayer:IHirobaPlayer;                        //slotID:0
+               private var _marqueePlayer:IMarqueePlayer;                      //slotID:0
+               private var _isHirobaMode:Boolean = false;                      //slotID:0
+               private var _lastMessage:String;                                //slotID:0
+               private var _lastHirobaMessage:String;                          //slotID:0
+               private var _isPremium:Boolean;                                 //slotID:0
+               private const _buttonPostLimit:Number = 1.0;                    //slotID:0
+               private var _buttonCount:uint = 0;                              //slotID:0
+               private var _channelReplacer:ChannelReplacer;                   //slotID:0
+               private var _lockedComment:LockedComment;                       //slotID:0
+
+               public function add(hug1:String, hug2:ICommentList):void
+               {       //MethodID:2712, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 29
+                       Assert.assert(!this._commentLists.hasOwnProperty(hug1));
+
+                       this._commentLists[hug1] = hug2;
+               }
+
+               public function addHiroba(hug1:IHirobaPlayer):void
+               {       //MethodID:2713, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._hirobaPlayer = hug1;
+               }
+
+               public function addMarqueePlayer(hug1:IMarqueePlayer):void
+               {       //MethodID:2714, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._marqueePlayer = hug1;
+               }
+
+               public function post(hug1:IComment):void
+               {       //MethodID:2720, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 1244
+                       internal var comment:IComment;                                  //slotID:1
+                       internal var listName:String;                                   //slotID:2
+                       internal var usable184:Boolean;                                 //slotID:3
+                       internal var sameCommentCheckRequired:Boolean;                  //slotID:4
+                       internal var hasButton:Boolean;                                 //slotID:5
+                       internal var macroParserResult:IMacroParserResult;              //slotID:6
+                       internal var commentList:ICommentList;                          //slotID:7
+                       internal var builder1:CommentBuilder;                           //slotID:8
+                       internal var onPostButtonArgumentsError:Function;               //slotID:9
+                       internal var onPostSameComment:Function;                        //slotID:10
+                       internal var cmd:ICommand;                                      //slotID:11
+                       internal var builder0:CommentBuilder;                           //slotID:12
+                       internal var flag:Boolean;                                      //slotID:13
+                       internal var use184:Boolean;                                    //slotID:14
+
+                       hasButton = false;
+                       macroParserResult = null;
+                       cmd = null;
+                       builder0 = null;
+                       flag = false;
+                       use184 = false;
+                       comment = hug1;
+                       onPostButtonArgumentsError = function():void{   //MethodID:2715, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 11
+                               onCommentPostErorr.apply(ERROR_POST_BUTTON_ARGUMENTS);
+                       };
+
+                       onPostSameComment = function():void{    //MethodID:2716, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 11
+                               onCommentPostErorr.apply(ERROR_POST_SAME_COMMENT);
+                       };
+
+                       listName = CommentConstants.CL_MAIN;
+                       usable184 = true;
+                       sameCommentCheckRequired = true;
+
+                       if(this._flashvars.watchFlashVars && this._flashvars.watchFlashVars.isOwnerThreadEditMode){
+                               listName = CommentConstants.CL_OWNER;
+                               usable184 = false;
+                               sameCommentCheckRequired = false;
+                       }else if(!this._flashvars.isCommunityThread && this._nicosClient){
+                               listName = this._nicosClient.player.resolveListName(comment);
+                       }
+
+                       sameCommentCheckRequired = (sameCommentCheckRequired && ((listName != CommentConstants.CL_NICOS) && (listName != CommentConstants.CL_LOCAL)));
+                       hasButton = false;
+
+                       if(listName != CommentConstants.CL_OWNER){
+                               try{
+                                       macroParserResult = MacroParser.parse(comment.message);
+
+                                       if(macroParserResult.macroName){
+                                               if(this._flashvars.isNoAtComment){
+                                                       this.onCommentPostErorr.apply(ERROR_POST_AT_COMMENT_DISABLED);
+
+                                                       return;
+                                               }
+
+                                               if(macroParserResult.macroName == "ボタン"){
+                                                       if(this._buttonPostLimit <= this._buttonCount){
+                                                               this.onCommentPostErorr.apply(ERROR_POST_BUTTON_ONCE);
+
+                                                               return;
+                                                       }else if(this._flashvars.thumbFlashVars){
+                                                               this.onCommentPostErorr.apply(ERROR_POST_BUTTON_DISABLED);
+
+                                                               return;
+                                                       }else{
+                                                               hasButton = true;
+                                                       }
+                                               }else if(macroParserResult.macroName == "ピザ"){
+                                                       this.onCommentHavingMacro.apply(macroParserResult);
+                                               }else{
+                                                       this.onCommentPostErorr.apply(ERROR_POST_AT_COMMENT_UNDEFINED);
+
+                                                       return;
+                                               }
+                                       }
+                               }
+                               catch(error:*){
+                               }
+                       }
+
+                       if(this._flashvars.isNoCommand){
+                               cmd = comment.command;
+
+                               if((cmd.color != "") || (cmd.posY != "") || (cmd.size != "")){
+                                       this.onCommentPostErorr.apply(ERROR_POST_COMMAND_DISABLED);
+
+                                       return;
+                               }
+                       }
+
+                       if(this._channelReplacer && !this._channelReplacer.isPostable(comment.message)){
+                               this.onCommentPostErorr.apply(ERROR_POST_CHANNEL_FILTER);
+
+                               return;
+                       }
+
+                       if(this._isHirobaMode){
+                               if(this._lastHirobaMessage == comment.message){
+                                       onPostSameComment();
+
+                                       return;
+                               }
+
+                               if(hasButton){
+                                       this.onCommentPostErorr.apply(ERROR_POST_HIROBA);
+
+                                       return;
+                               }
+
+                               builder0 = new CommentBuilder(comment);
+                               builder0.vpos = TimeUtils.now().time;
+                               builder0.anonymity = this._playerConfig.use184;
+                               builder0.command = comment.command.duplicate(function(hug1:ICommand):void{      //MethodID:2717, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 11
+                                       hug1.anonymity = _playerConfig.use184;
+                               });
+                               this._hirobaPlayer.post(builder0.make());
+
+                               this._lastHirobaMessage = comment.message;
+                               return;
+                       }
+
+                       if(hasButton && (macroParserResult.argLength == 0)){
+                               onPostButtonArgumentsError();
+
+                               return;
+                       }
+
+                       if(sameCommentCheckRequired && (this._lastMessage == comment.message)){
+                               onPostSameComment();
+
+                               return;
+                       }
+
+                       if(this._flashvars.isCommunityThread && (listName == CommentConstants.CL_MAIN)) listName = CommentConstants.CL_PRIVATE;
+
+                       if(hasButton && !this._isPremium){
+                               this.onCommentPostErorr.apply(ERROR_POST_BUTTON_PREMIUM_ONLY);
+
+                               return;
+                       }
+
+                       commentList = this._commentLists[listName];
+
+                       if(!commentList){
+                               this.onCommentPostErorr.apply(ERROR_POST_INITIALIZE);
+
+                               return;
+                       }
+
+                       if(listName == CommentConstants.CL_PRIVATE){
+                               flag = false;
+
+                               comment.command.forEachCommand(function(hug1:String):void{      //MethodID:2718, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 19
+                                       if(hug1 == CommandConstants.ANONYMITY) flag = true;
+                               });
+
+                               if(flag){
+                                       this.onCommentPostErorr.apply(ERROR_POST_184);
+
+                                       return;
+                               }
+                       }
+
+                       builder1 = new CommentBuilder(comment);
+
+                       if(((listName != CommentConstants.CL_PRIVATE) && usable184) || hasButton){
+                               use184 = ((listName != CommentConstants.CL_PRIVATE) && usable184);
+
+                               if(use184 && this._playerConfig.use184) builder1.anonymity = true;
+
+                               builder1.command = comment.command.duplicate(function(hug1:ICommand):void{      //MethodID:2719, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 58
+                                       if(use184 && _playerConfig.use184) hug1.anonymity = true;
+
+                                       if(hasButton){
+                                               hug1.hasButton = true;
+                                               _buttonCount++;
+                                       }
+                               });
+
+                               if(hasButton && macroParserResult) builder1.message = macroParserResult.arg(0);
+                       }
+
+                       builder1.commentList = commentList;
+                       comment = builder1.make();
+                       this._lastMessage = comment.message;
+
+                       if(((commentList.name == CommentConstants.CL_LOCAL) || (commentList.name != CommentConstants.CL_OWNER)) && this._flashvars.watchFlashVars.isPostLocked){
+                               this._lockedComment.post(comment);
+
+                               return;
+                       }
+
+                       commentList.post(comment);
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onHirobaPlayerVisibleUpdated(hug1:Boolean):EventResult
+               {       //MethodID:2721, 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 onHirobaPlayerError():EventResult
+               {       //MethodID:2722, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+                       this._hirobaPlayer = null;
+                       return EventResult.THROUGH;
+               }
+       }
+}
+
+//■script165■
+
+package jp.nicovideo.nicoplayer.views{
+
+       //■class(instance)_index:208
+       public interface IJumpMessageLayer
+       {
+               //static constructor
+               public static function IJumpMessageLayer$cinit()
+               {       //MethodID:2724, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function showMessage(hug1:Function, hug2:String, hug3:int):void;            //MethodID:2725, dispID:0
+
+               //constructor
+               public function IJumpMessageLayer();                                        //MethodID:2726, dispID:0
+       }
+}
+
+//■script166■
+
+package jp.nicovideo.nicoplayer.views{
+
+       import flash.display.DisplayObjectContainer
+       import flash.display.Graphics
+       import flash.display.Sprite
+       import flash.text.TextField
+       import flash.text.TextFieldAutoSize
+       import flash.text.TextFormat
+       import flash.utils.clearTimeout
+       import flash.utils.setTimeout
+       import jp.nicovideo.util.events.EventResult
+
+       use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver);
+
+       //■class(instance)_index:209
+       public class JumpMessageLayer extends Object implements IJumpMessageLayer
+       {
+               //static constructor
+               public static function JumpMessageLayer$cinit()
+               {       //MethodID:2728, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function JumpMessageLayer(hug1:DisplayObjectContainer)
+               {       //MethodID:2729, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       super();
+
+                       this.__container = hug1;
+               }
+
+               //variables/etc.
+               private var __container:DisplayObjectContainer;                 //slotID:0
+               private var __panel:Sprite;                                     //slotID:0
+               private var __tf:TextField;                                     //slotID:0
+               private var __timerID:Number;                                   //slotID:0
+
+               public function showMessage(hug1:Function, hug2:String, hug3:int):void
+               {       //MethodID:2731, LocalCount= 5 , MaxScope= 2, MaxStack= 4, CodeLength= 76
+                       internal var f:Function;                                        //slotID:1
+                       internal var msg:String;                                        //slotID:2
+                       internal var wait:int;                                          //slotID:3
+
+                       f = hug1;
+                       msg = hug2;
+                       wait = hug3;
+
+                       if(!isNaN(this.__timerID)) clearTimeout(this.__timerID);
+                       this.__showMessage_0(msg);
+
+                       this.__timerID = setTimeout(function():void{    //MethodID:2730, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 26
+                               __timerID = NaN;
+
+                               __showMessage_0(null);
+                               f();
+                       }, wait);
+               }
+
+               private function __showMessage_0(hug1:String):void
+               {       //MethodID:2732, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 99
+                       if(hug1 == null){
+                               if(this.__panel && this.__container.contains(this.__panel)) this.__container.removeChild(this.__panel);
+
+                               return;
+                       }
+
+                       if(!this.__panel) this.__setup();
+
+                       this.__tf.text = hug1;
+
+                       if(!this.__container.contains(this.__panel)) this.__container.addChild(this.__panel);
+               }
+
+               private function __setup():void
+               {       //MethodID:2733, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 170
+                       this.__tf = new TextField();
+                       this.__tf.defaultTextFormat = new TextFormat(null, 30, 0);
+                       this.__tf.autoSize = TextFieldAutoSize.CENTER;
+                       this.__tf.selectable = false;
+                       this.__tf.x = ((this.__container.width - this.__tf.width) / 2);
+                       this.__tf.y = ((this.__container.height - this.__tf.height) / 2);
+                       this.__panel = new Sprite();
+                       var hug1:Graphics = this.__panel.graphics;
+
+                       hug1.beginFill(0xFFFFFF);
+                       hug1.drawRect(0, 0, this.__container.width, this.__container.height);
+                       hug1.endFill();
+                       this.__panel.addChild(this.__tf);
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onSystemMessageJumpMessageSended(hug1:Function, hug2:String, hug3:int):EventResult
+               {       //MethodID:2734, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 16
+                       this.showMessage(hug1, hug2, hug3);
+
+                       return EventResult.THROUGH;
+               }
+       }
+}
+
+//■script167■
+
+package jp.nicovideo.nicoplayer.videoender{
+
+       import jp.nicovideo.util.CrossSharedObject
+       import jp.nicovideo.util.storage.LocalStorage
+
+       //■class(instance)_index:211
+       public class VideoenderTesterConfig extends Object implements IVideoenderTesterConfig
+       {
+               //static constructor
+               public static function VideoenderTesterConfig$cinit()
+               {       //MethodID:2738, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function VideoenderTesterConfig(hug1:Boolean)
+               {       //MethodID:2739, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 34
+                       super();
+
+                       this._isTargetUser = hug1;
+                       this._localStorage = CrossSharedObject.getStorage((_SOSetting).NAME, (_SOSetting).PATH);
+               }
+
+               //variables/etc.
+               private var _isTargetUser:Boolean;                              //slotID:0
+               private var _localStorage:LocalStorage;                         //slotID:0
+
+               public function get isTestable():Boolean
+               {       //MethodID:2740, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isTargetUser;
+               }
+
+               public function get isTester():Boolean
+               {       //MethodID:2741, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 36
+                       return (this._isTargetUser && !Boolean(this._localStorage.data[(_SOSetting).KEY_IS_NOT_TESTER]));
+               }
+
+               public function set isTester(hug1:Boolean):void
+               {       //MethodID:2742, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 45
+                       if(hug1){
+                               this._localStorage.clear();
+                       }else{
+                               this._localStorage.data[(_SOSetting).KEY_IS_NOT_TESTER] = true;
+
+                               this._localStorage.flush();
+                       }
+               }
+       }
+}
+
+
+//■class(instance)_index:210
+//private
+class _SOSetting extends Object
+{
+       //static constructor
+       public static function _SOSetting$cinit()
+       {       //MethodID:2736, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+               NAME = "jp.nicovideo.nicoplayer.videoender.VideoenderTester";
+               PATH = "/";
+               KEY_IS_NOT_TESTER = "isNotTester";
+       }
+
+       //static variables/etc.
+       public static const NAME:String = "jp.nicovideo.nicoplayer.videoender.VideoenderTester";//slotID:1
+       public static const PATH:String = "/";                          //slotID:2
+       public static const KEY_IS_NOT_TESTER:String = "isNotTester";   //slotID:3
+
+       //constructor
+       public function _SOSetting()
+       {       //MethodID:2737, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+}
+
+//■script168■
+
+package jp.nicovideo.util{
+
+       import flash.display.Loader
+       import flash.display.LoaderInfo
+       import flash.events.Event
+       import flash.events.IOErrorEvent
+       import flash.events.NetStatusEvent
+       import flash.events.SecurityErrorEvent
+       import flash.net.SharedObject
+       import flash.net.SharedObjectFlushStatus
+       import flash.net.URLRequest
+       import jp.nicovideo.util.storage.LocalStorage
+
+       //■class(instance)_index:212
+       public class CrossSharedObject extends Object
+       {
+               //static constructor
+               public static function CrossSharedObject$cinit()
+               {       //MethodID:2744, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
+                       _inited = false;
+               }
+
+               //static variables/etc.
+               private static var _sharedMC:*;                                 //slotID:1
+               private static var _inited:Boolean = false;                     //slotID:2
+               private static var _isPersistable:Boolean;                      //slotID:3
+
+               public static function init(hug1:String, hug2:Function):void
+               {       //dispID:3, MethodID:2747, LocalCount= 5 , MaxScope= 5, MaxStack= 3, CodeLength= 175
+                       internal var url:String;                                        //slotID:1
+                       internal var func:Function;                                     //slotID:2
+                       internal var loader:Loader;                                     //slotID:3
+                       internal var loaderInfo:LoaderInfo;                             //slotID:4
+                       internal var error_handler:Function;                            //slotID:5
+
+                       error_handler = null;
+                       url = hug1;
+                       func = hug2;
+                       error_handler = function(hug1:Event):void{      //MethodID:2745, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 10
+                               func(false);
+                       };
+
+                       if(_inited){
+                               func(true);
+
+                               return;
+                       }
+
+                       loader = new Loader();
+                       loaderInfo = loader.contentLoaderInfo;
+
+                       loaderInfo.addEventListener(Event.INIT, function(hug1:Event):void{      //MethodID:2746, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 43
+                               _sharedMC = hug1.target.content;
+                               _inited = true;
+                               _isPersistable = isAvailable();
+
+                               func(true);
+                       });
+                       loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, error_handler);
+                       loaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, error_handler);
+
+                       try{
+                               loader.load(new URLRequest(url));
+                       }
+                       catch(error:Error){
+                               func(false);
+                       }
+               }
+
+               private static function isAvailable():Boolean
+               {       //dispID:4, MethodID:2749, LocalCount= 3 , MaxScope= 5, MaxStack= 3, CodeLength= 135
+                       internal var so:SharedObject;                                   //slotID:1
+                       internal var ret:String;                                        //slotID:2
+
+                       so = null;
+                       ret = null;
+
+                       try{
+                               so = _sharedMC.getLocal("jp.nicovideo.nicoplayer.NicoPlayer.initializePlayerConfig");
+
+                               so.addEventListener(NetStatusEvent.NET_STATUS, function(hug1:*):void{   //MethodID:2748, LocalCount= 2 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+                               });
+
+                               ret = so.flush(20480);
+
+                               if(ret != SharedObjectFlushStatus.FLUSHED) throw new Error("");
+                               so.clear();
+                               so.close();
+                       }
+                       catch(error:Error){
+                               return false;
+                       }
+
+                       return true;
+               }
+
+               public static function terminate():void
+               {       //dispID:5, MethodID:2750, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
+                       _sharedMC = null;
+                       _inited = false;
+               }
+
+               public static function getSharedObject(hug1:String, hug2:String=null, hug3:Boolean=false):SharedObject
+               {       //dispID:6, MethodID:2751, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 32
+                       if(_sharedMC == null) throw new Error("CrossSharedObjectが初期化されていません。");
+
+                       return _sharedMC.getLocal(hug1, hug2, hug3);
+               }
+
+               public static function getStorage(hug1:String, hug2:String=null, hug3:Boolean=false):LocalStorage
+               {       //dispID:7, MethodID:2752, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 55
+                       if(_sharedMC == null) throw new Error("CrossSharedObjectが初期化されていません。");
+
+                       return new LocalStorage(_isPersistable ? _sharedMC.getLocal(hug1, hug2, hug3) : null);
+               }
+
+               public static function getStorageNative(hug1:String, hug2:String=null, hug3:Boolean=false):LocalStorage
+               {       //dispID:8, MethodID:2753, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 55
+                       if(_sharedMC == null) throw new Error("CrossSharedObjectが初期化されていません。");
+
+                       return new LocalStorage(_isPersistable ? SharedObject.getLocal(hug1, hug2, hug3) : null);
+               }
+
+               public static function flush():String
+               {       //dispID:9, MethodID:2754, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 48
+                       if(_sharedMC == null) throw new Error("CrossSharedObjectが初期化されていません。");
+
+                       return (_isPersistable ? _sharedMC.flush() : SharedObjectFlushStatus.FLUSHED);
+               }
+
+               public static function get isPersistable():Boolean
+               {       //dispID:10, MethodID:2755, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       return _isPersistable;
+               }
+
+               //constructor
+               public function CrossSharedObject()
+               {       //MethodID:2756, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script169■
+
+package jp.nicovideo.util.loka{
+
+
+       public function __MSG__(hug1:String, ...rest):String
+       {       //dispID:1, MethodID:2758, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 15
+               return Loka.instance.getMessage(hug1, rest);
+       }
+
+}
+
+//■script170■
+
+package jp.nicovideo.nicoplayer.models{
+
+       //■class(instance)_index:213
+       public interface IMyList
+       {
+               //static constructor
+               public static function IMyList$cinit()
+               {       //MethodID:2760, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function addDefaultList(hug1:Function, hug2:String, hug3:String):void;      //MethodID:2761, dispID:0
+
+               function checkMyListLog():Boolean;                                          //MethodID:2762, dispID:0
+
+               //constructor
+               public function IMyList();                                                  //MethodID:2763, dispID:0
+       }
+}
+
+//■script171■
+
+package jp.nicovideo.nicoplayer.models{
+
+       import jp.nicovideo.nicoplayer.config.NicoConfig
+       import jp.nicovideo.util.CrossSharedObject
+       import jp.nicovideo.util.HTTPUtils
+       import jp.nicovideo.util.TimeUtils
+       import jp.nicovideo.util.storage.LocalStorage
+
+       //■class(instance)_index:214
+       public class MyList extends Object implements IMyList
+       {
+               //static constructor
+               public static function MyList$cinit()
+               {       //MethodID:2765, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 24
+                       LOG_TERM = ((3 * 24 * 60 * 60) * 1000);
+               }
+
+               //static variables/etc.
+               private static const LOG_TERM:Number = 0xF731400;               //slotID:1
+
+               //constructor
+               public function MyList(hug1:NicoConfig, hug2:String)
+               {       //MethodID:2766, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 30
+                       this._addMyListLogSO = CrossSharedObject.getStorage("jp.nicovideo.nicoplayer.models.MyList.addMyListLog");
+
+                       super();
+
+                       this._threadID = hug2;
+                       this._nicoConfig = hug1;
+               }
+
+               //variables/etc.
+               private var _addMyListLogSO:LocalStorage;                       //slotID:0
+               private var _threadID:String;                                   //slotID:0
+               private var _nicoConfig:NicoConfig;                             //slotID:0
+
+               public function addDefaultList(hug1:Function, hug2:String, hug3:String):void
+               {       //MethodID:2768, LocalCount= 5 , MaxScope= 2, MaxStack= 9, CodeLength= 81
+                       internal var callback:Function;                                 //slotID:1
+                       internal var csrfToken:String;                                  //slotID:2
+                       internal var memo:String = "";                                  //slotID:3
+                       internal var param:Object;                                      //slotID:4
+
+                       callback = hug1;
+                       csrfToken = hug2;
+                       memo = hug3;
+                       param = {item_type:0, item_id:this._threadID, description:memo, token:csrfToken};
+
+                       HTTPUtils.loadJSON(function(hug1:Object):void{  //MethodID:2767, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 62
+                               if(checkMyListLog()) callback(false, null);
+
+                               _addMyListLogSO.data[_threadID] = TimeUtils.now().getTime();
+
+                               _addMyListLogSO.flush();
+                               callback(true, hug1);
+                       }, this._nicoConfig.MYLIST_ADD_API_URL, param, "POST");
+               }
+
+               public function checkMyListLog():Boolean
+               {       //MethodID:2769, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 102
+                       var hug2:String = null;
+                       var hug1:Number = TimeUtils.now().getTime();
+
+                       for(hug2 in this._addMyListLogSO.data){
+                               if(hug1 > (this._addMyListLogSO.data[hug2] + LOG_TERM)){
+                                       delete this._addMyListLogSO.data[hug2];
+                               }else if(hug2 == this._threadID){
+                                       return true;
+                               }
+                       }
+
+                       return false;
+               }
+       }
+}
+
+//■script172■
+
+package jp.nicovideo.nicoplayer.storages{
+
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+
+       //■class(instance)_index:215
+       public interface ICommentStorageHandle
+       {
+               //static constructor
+               public static function ICommentStorageHandle$cinit()
+               {       //MethodID:2771, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get lastRes():int;                                                 //MethodID:2772, dispID:0
+
+               function get isCommunityThread():Boolean;                                   //MethodID:2773, dispID:0
+
+               function set isCommunityThread(hug1:Boolean):void;                          //MethodID:2774, dispID:0
+
+               function get autoSyncEnabled():Boolean;                                     //MethodID:2775, dispID:0
+
+               function set autoSyncEnabled(hug1:Boolean):void;                            //MethodID:2776, dispID:0
+
+               function get onComments():Function;                                         //MethodID:2777, dispID:0
+
+               function set onComments(hug1:Function):void;                                //MethodID:2778, dispID:0
+
+               function get onNumberOfClick():Function;                                    //MethodID:2779, dispID:0
+
+               function set onNumberOfClick(hug1:Function):void;                           //MethodID:2780, dispID:0
+
+               function post(hug1:Function, hug2:IComment, hug3:Boolean):void;             //MethodID:2781, dispID:0
+
+               function getThread(hug1:Function, hug2:int, hug3:Boolean=false):void;       //MethodID:2782, dispID:0
+
+               function deleteComments(hug1:Function, hug2:Array, hug3:Boolean):void;      //MethodID:2783, dispID:0
+
+               function getOwnerThread(hug1:Function, hug2:uint):void;                     //MethodID:2784, dispID:0
+
+               function updateOwnerThread(hug1:Function, hug2:Array, hug3:Boolean):void;   //MethodID:2785, dispID:0
+
+               function waybackOwnerThread(hug1:Function, hug2:int):void;                  //MethodID:2786, dispID:0
+
+               function waybackThread(hug1:Function, hug2:int, hug3:uint, hug4:Boolean=false):void;//MethodID:2787, dispID:0
+
+               function click(hug1:Function, hug2:int):void;                               //MethodID:2788, dispID:0
+
+               function enterThread(hug1:Function, hug2:int, hug3:Boolean=false):void;     //MethodID:2789, dispID:0
+
+               function leaveThread(hug1:Function):void;                                   //MethodID:2790, dispID:0
+
+               //constructor
+               public function ICommentStorageHandle();                                    //MethodID:2791, dispID:0
+       }
+}
+
+//■script173■
+
+package jp.nicovideo.nicoplayer.storages{
+
+       import jp.nicovideo.nicoplayer.models.api.IGetFLV
+       import jp.nicovideo.nicoplayer.models.api.IKeygen
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars
+       import jp.nicovideo.nicoplayer.storages.commentStorage.LockDesc
+       import jp.nicovideo.nicoplayer.storages.commentStorage.Request
+       import jp.nicovideo.nicoplayer.storages.commentStorage.RequestDispatcher
+       import jp.nicovideo.nicoplayer.storages.commentStorage.transactor.Clicker
+       import jp.nicovideo.nicoplayer.storages.commentStorage.transactor.CommentDeleter
+       import jp.nicovideo.nicoplayer.storages.commentStorage.transactor.CommentPoster
+       import jp.nicovideo.nicoplayer.storages.commentStorage.transactor.SimpleTransactor
+       import jp.nicovideo.nicoplayer.storages.commentStorage.transactor.ThreadLoader
+       import jp.nicovideo.nicoplayer.storages.commentStorage.transactor.ThreadUpdater
+       import jp.nicovideo.nicoplayer.storages.transmitter.TransmitterType
+       import jp.nicovideo.util.Assert
+       import jp.nicovideo.util.ObjectUtils
+
+       //■class(instance)_index:219
+       public class CommentStorage extends Object implements ICommentStorage
+       {
+               //static constructor
+               public static function CommentStorage$cinit()
+               {       //MethodID:2801, LocalCount= 1 , MaxScope= 1, MaxStack= 11, CodeLength= 49
+                       __SERVER_RESPONSEs = ["GetThreadResult", "ViewCounter", "Chat", "PostChatResult", "NumberOfClick", "ClickResult", "DeleteCommentsResult", "UpdateThreadResult", "Leaf", "Close"];
+                       __LEAF_RETRY = 20;
+               }
+
+               //static variables/etc.
+               private static const __SERVER_RESPONSEs:Array;                  //slotID:1
+               private static const __LEAF_RETRY:int = 20;                     //slotID:2
+
+               //constructor
+               public function CommentStorage(hug1:MessageServerClient, hug2:IKeygen, hug3:String, hug4:Boolean, hug5:NicoFlashVars, hug6:IGetFLV):void
+               {       //MethodID:2802, LocalCount= 7 , MaxScope= 1, MaxStack= 3, CodeLength= 73
+                       this.__threads = {};
+                       this.__postWaitQueue = [];
+
+                       super();
+
+                       this.__client = hug1;
+                       this.__keygen = hug2;
+                       this.__userID = hug3;
+                       this.__isPremium = hug4;
+                       this.__flashvars = hug5;
+                       this.__getFlv = hug6;
+                       this.__requestDispatcher = new RequestDispatcher(true);
+
+                       this.__registerResHandlers();
+                       this.__registerPremitiveRequests();
+               }
+
+               //variables/etc.
+               public var __client:MessageServerClient;                        //slotID:0
+               private var __flashvars:NicoFlashVars;                          //slotID:0
+               private var __getFlv:IGetFLV;                                   //slotID:0
+               private var __keygen:IKeygen;                                   //slotID:0
+               private var __userID:String;                                    //slotID:0
+               public var __isPremium:Boolean;                                 //slotID:0
+               private var __threads:Object;                                   //slotID:0
+               private var __noCompress:Boolean = false;                       //slotID:0
+               private var __requestDispatcher:RequestDispatcher;              //slotID:0
+               private var __onServerTimeUpdated:Function;                     //slotID:0
+               private var __onViewCounterUpdated:Function;                    //slotID:0
+               private var __forceLeafOff:Boolean = false;                     //slotID:0
+               private var __leafNum:int = 100;                                //slotID:0
+               private var __isErrorOnNoCompress:Boolean = false;              //slotID:0
+               private var __postWaitQueue:Array;                              //slotID:0
+               private var __postLocked:Boolean = false;                       //slotID:0
+
+               public function get onServerTimeUpdated():Function
+               {       //MethodID:2803, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__onServerTimeUpdated;
+               }
+
+               public function set onServerTimeUpdated(hug1:Function):void
+               {       //MethodID:2804, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this.__onServerTimeUpdated = hug1;
+               }
+
+               public function get onViewCounterUpdated():Function
+               {       //MethodID:2805, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__onViewCounterUpdated;
+               }
+
+               public function set onViewCounterUpdated(hug1:Function):void
+               {       //MethodID:2806, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this.__onViewCounterUpdated = hug1;
+               }
+
+               public function get forceLeafOff():Boolean
+               {       //MethodID:2807, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__forceLeafOff;
+               }
+
+               public function set forceLeafOff(hug1:Boolean):void
+               {       //MethodID:2808, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this.__forceLeafOff = hug1;
+               }
+
+               public function get leafNum():int
+               {       //MethodID:2809, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__leafNum;
+               }
+
+               public function set leafNum(hug1:int):void
+               {       //MethodID:2810, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this.__leafNum = hug1;
+               }
+
+               private function __registerResHandlers():void
+               {       //MethodID:2816, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 100
+                       internal var name:String;                                       //slotID:1
+                       internal var reconnect:Function;                                //slotID:2
+                       internal var connectionLostListener:Function;                   //slotID:3
+
+                       name = null;
+                       reconnect = null;
+                       connectionLostListener = null;
+                       reconnect = function(hug1:String):void{ //MethodID:2812, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 64
+                               internal var hint:String;                                       //slotID:1
+
+                               hint = hug1;
+
+                               __client.connectionLost.remove(reconnect);
+                               connectionLostListener(hint);
+                               __client.connectionLost.add(connectionLostListener);
+                               ObjectUtils.callLater(__client.connect, function(hug1:Boolean):void{    //MethodID:2811, LocalCount= 2 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+                               });
+                       };
+
+                       connectionLostListener = function(hug1:String):void{    //MethodID:2813, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 8
+                               __requestDispatcher.spoil();
+                       };
+
+                       for each(name in __SERVER_RESPONSEs){
+                               function():void{        //MethodID:2815, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 39
+                                       internal var name_:*;                                           //slotID:1
+
+                                       name_ = undefined;
+                                       name_ = name;
+
+                                       __client["onCMsg" + name].add(function(... rest):void{  //MethodID:2814, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 17
+                                               if(__requestDispatcher.receive(name_, rest)) return;
+                                       });
+                               }.call(null);
+                       }
+
+                       this.__client.connectionLost.add(reconnect);
+               }
+
+               private function __registerPremitiveRequests():void
+               {       //MethodID:2820, LocalCount= 2 , MaxScope= 2, MaxStack= 4, CodeLength= 108
+                       internal var trans:SimpleTransactor;                            //slotID:1
+                       internal var req:Request;                                       //slotID:2
+
+                       trans = null;
+                       req = null;
+                       trans = new SimpleTransactor(function(hug1:int, hug2:String, hug3:int):void{    //MethodID:2817, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 20
+                               if(__onViewCounterUpdated is Function) __onViewCounterUpdated(hug1, hug3);
+                       });
+
+                       req = new Request([new LockDesc("ViewCounter")], "master");
+                       req.parent = this;
+                       req.transactor = trans;
+                       req.indomitable = true;
+
+                       this.__requestDispatcher.addPassiveRequest(req);
+               }
+
+               public function connect():void
+               {       //MethodID:2821, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function disconnect():void
+               {       //MethodID:2822, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function attach(hug1:String):ICommentStorageHandle
+               {       //MethodID:2823, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 80
+                       var hug3:* = new _Thread(hug1);
+                       this.__threads[hug1] = hug3;
+                       var hug2:_Thread = hug3;
+
+                       if(this.__threads[hug1] || this.__client.connectionType == TransmitterType.HTTP) return new _Handle4HTTP(this, hug2);
+
+                       return new _Handle(this, hug2);
+               }
+
+               private function __shiftPostWaitQueue():void
+               {       //MethodID:2824, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 42
+                       if(this.__postLocked = (this.__postWaitQueue.length != 0)) ObjectUtils.callLater(this.__postWaitQueue.shift());
+               }
+
+               public function _post(hug1:_Handle, hug2:Function, hug3:IComment, hug4:Boolean):void
+               {       //MethodID:2833, LocalCount= 6 , MaxScope= 2, MaxStack= 2, CodeLength= 62
+                       internal var h:_Handle;                                         //slotID:1
+                       internal var f:Function;                                        //slotID:2
+                       internal var comment:IComment;                                  //slotID:3
+                       internal var yugi:Boolean;                                      //slotID:4
+                       internal var calc_page:Function;                                //slotID:5
+
+                       h = hug1;
+                       f = hug2;
+                       comment = hug3;
+                       yugi = hug4;
+                       calc_page = function(hug1:int):int{     //MethodID:2825, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 15
+                               return Math.floor((hug1 + 1) / 100);
+                       };
+
+                       this.__postWaitQueue.push(function():void{      //MethodID:2832, LocalCount= 3 , MaxScope= 1, MaxStack= 6, CodeLength= 224
+                               internal var retry:int;                                         //slotID:1
+                               internal var postkeyObj:_PostKey;                               //slotID:2
+                               internal var page:int;                                          //slotID:3
+                               internal var get_postkey:Function;                              //slotID:4
+                               internal var do_post:Function;                                  //slotID:5
+
+                               postkeyObj = null;
+                               page = 0;
+                               get_postkey = function():void{  //MethodID:2827, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 30
+                                       __keygen.getPostKey(function(hug1:Boolean, hug2:String, hug3:Boolean):void{     //MethodID:2826, LocalCount= 4 , MaxScope= 0, MaxStack= 5, CodeLength= 59
+                                               if(!hug1){
+                                                       f(new CommentStorageError(0, "Failed to get PostKey.", true), 0);
+
+                                                       return;
+                                               }
+
+                                               postkeyObj.value = hug2;
+                                               postkeyObj.yugi = hug3;
+                                               postkeyObj.page = page;
+
+                                               do_post();
+                                       }, h._t.threadID, page, yugi);
+                               };
+
+                               do_post = function():void{      //MethodID:2831, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 212
+                                       internal var trans:CommentPoster;                               //slotID:1
+                                       internal var req:Request;                                       //slotID:2
+
+                                       trans = null;
+                                       trans = new CommentPoster();
+                                       trans.threadID = int(h._t.threadID);
+                                       trans.comment = comment;
+                                       trans.premium = __isPremium;
+                                       trans.ticket = h._t.ticket;
+                                       trans.userID = __userID;
+                                       trans.postkey = postkeyObj.value;
+                                       trans.yugi = postkeyObj.yugi;
+                                       req = new Request([new LockDesc("PostChatResult", {0:h._t.threadID})]);
+                                       req.transactor = trans;
+                                       req.onErrorOccured = function(hug1:int):void{   //MethodID:2828, LocalCount= 4 , MaxScope= 0, MaxStack= 5, CodeLength= 323
+                                               var hug2:int = 0;
+                                               var hug3:int = hug1;
+
+                                               switch(hug3){
+                                               case MessageServerClient.POST_INVALID_POSTKEY:
+                                                       postkeyObj.value = null;
+                                                       h._t.lastRes_ = trans.no;
+                                                       hug2 = calc_page(trans.no);
+
+                                                       if((trans.no != 0) && (hug2 != page)){
+                                                               page = hug2;
+
+                                                               get_postkey();
+
+                                                               return;
+                                                       }
+
+                                                       f(new CommentStorageError(0, "No more retry to get PostKey.", true), 0);
+                                                       break;
+                                               case MessageServerClient.POST_FAILURE:
+                                                       f(new CommentStorageError(hug1, "Post failed"), 0);
+                                                       break;
+                                               case MessageServerClient.POST_INVALID_THREAD:
+                                               case MessageServerClient.POST_LOCKED:
+                                               case MessageServerClient.POST_READONLY:
+                                               case MessageServerClient.POST_INVALID_TICKET:
+                                                       f(new CommentStorageError(hug1, ("error: status=" + hug1 + ".")), 0);
+                                                       break;
+                                               default:
+                                                       break;
+                                               }
+
+                                               __shiftPostWaitQueue();
+                                       };
+
+                                       req.onQuit = function():void{   //MethodID:2829, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 23
+                                               f(null, trans.no);
+                                               __shiftPostWaitQueue();
+                                       };
+
+                                       req.onDisconnect = function():void{     //MethodID:2830, LocalCount= 1 , MaxScope= 0, MaxStack= 5, CodeLength= 29
+                                               f(new CommentStorageError(0, "Disconnected.", true), 0);
+                                               __shiftPostWaitQueue();
+                                       };
+
+                                       __addRequest(req);
+                               };
+
+                               retry = 3;
+                               postkeyObj = h._t.postkey;
+                               page = calc_page(h._t.lastRes_);
+
+                               if(postkeyObj){
+                                       if(!postkeyObj.value){
+                                               ObjectUtils.callLater(f, new CommentStorageError(0, "OMG", true), 0);
+
+                                               return;
+                                       }
+
+                                       if(page == postkeyObj.page){
+                                               do_post();
+
+                                               return;
+                                       }
+                               }else{
+                                       if(!h._t.ticket){
+                                               ObjectUtils.callLater(f, new CommentStorageError(0, "Cannot get PostKey having not done getThread to get LastRes needed to get that.", true), 0);
+
+                                               return;
+                                       }
+
+                                       postkeyObj = new _PostKey();
+                                       h._t.postkey = new _PostKey();
+                               }
+
+                               get_postkey();
+                       });
+
+                       if(!this.__postLocked) this.__shiftPostWaitQueue();
+               }
+
+               public function _getThread(hug1:_Handle, hug2:Function, hug3:int, hug4:Boolean=false):void
+               {       //MethodID:2840, LocalCount= 6 , MaxScope= 2, MaxStack= 5, CodeLength= 112
+                       internal var h:_Handle;                                         //slotID:1
+                       internal var f:Function;                                        //slotID:2
+                       internal var resFrom:int;                                       //slotID:3
+                       internal var isLeaf:Boolean = false;                            //slotID:4
+                       internal var retry:int;                                         //slotID:5
+                       internal var threadkey_getter:Function;                         //slotID:6
+                       internal var do_get_thread:Function;                            //slotID:7
+
+                       retry = 0;
+                       threadkey_getter = null;
+                       do_get_thread = null;
+                       h = hug1;
+                       f = hug2;
+                       resFrom = hug3;
+                       isLeaf = hug4;
+                       do_get_thread = function(... args):void{        //MethodID:2839, LocalCount= 3 , MaxScope= 1, MaxStack= 10, CodeLength= 513
+                               internal var arguments:Array;                                   //slotID:1
+                               internal var trans:ThreadLoader;                                //slotID:2
+                               internal var _locks:Array;                                      //slotID:3
+                               internal var req:Request;                                       //slotID:4
+                               internal var arguments_:*;                                      //slotID:5
+
+                               trans = null;
+                               arguments_ = undefined;
+                               internal var arguments:Object = args;
+
+                               if(__isErrorOnNoCompress){
+                                       f(new CommentStorageError(0, "Disconnected.", true), null);
+
+                                       return;
+                               }
+
+                               trans = new ThreadLoader();
+                               trans.threadID = h._t.threadID;
+                               trans.userID = __userID;
+                               trans.resFrom = resFrom;
+                               trans.clickRevision = h._t.clickRevision;
+                               trans.onServerTime = __onServerTimeUpdated;
+                               trans.num_click = h._t.num_click;
+                               trans.duration = __getFlv.videoLength;
+                               trans.forceLeafMode = (isLeaf && !__flashvars.isMymemory && !__forceLeafOff);
+                               trans.leaf_get_num = __leafNum;
+
+                               if(h._isCommunityThread){
+                                       trans.threadkey = h._t.threadkey.value;
+                                       trans.force184 = (h._t.threadkey.force184 ? 1 : 0);
+                               }
+
+                               trans.noCompress = __noCompress;
+                               _locks = [new LockDesc("GetThreadResult", {1:h._t.threadID, 8:0}), new LockDesc("Chat", {1:h._t.threadID, 13:0}), new LockDesc("NumberOfClick", {0:h._t.threadID}), new LockDesc("Close", {0:h._t.threadID, 1:0})];
+
+                               if(trans.isLeaf()) _locks.push(new LockDesc("Leaf", {1:h._t.threadID}));
+
+                               req = new Request(_locks);
+                               req.transactor = trans;
+                               req.onErrorOccured = function(hug1:int):void{   //MethodID:2834, LocalCount= 4 , MaxScope= 0, MaxStack= 5, CodeLength= 116
+                                       if((hug1 == MessageServerClient.THREAD_LEAF_LOADING) && (retry > 0)){
+                                               retry--;
+                                               do_get_thread();
+
+                                               return;
+                                       }
+
+                                       if((hug1 == MessageServerClient.THREAD_TOO_OLD_THREADKEY) && (threadkey_getter != null) && threadkey_getter()) return;
+                                       f(new CommentStorageError(hug1, ("error: status=" + hug1 + ".")), null);
+                               };
+
+                               req.onQuit = function():void{   //MethodID:2835, LocalCount= 5 , MaxScope= 0, MaxStack= 4, CodeLength= 200
+                                       var hug1:String = null;
+                                       var hug2:int = 0;
+
+                                       if(h._t.ticket != trans.ticket){
+                                               h._t.clear();
+
+                                               h._t.ticket = trans.ticket;
+                                       }
+
+                                       h._t.lastRes_ = trans.lastRes;
+                                       h._t.lastRes = trans.lastRes;
+                                       h._t.revision = trans.revision;
+                                       h._t.clickRevision = trans.clickRevision;
+
+                                       for(hug1 in trans.num_click){
+                                               hug2 = int(hug1);
+
+                                               h._onNumberOfClick(hug2, trans.num_click[hug2]);
+                                       }
+
+                                       h._t.num_click = trans.num_click;
+
+                                       f(null, trans.comments);
+                               };
+
+                               arguments_ = arguments;
+                               req.onDisconnect = function():void{     //MethodID:2838, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 98
+                                       internal var getNoCompressThread:Function;                      //slotID:1
+
+                                       getNoCompressThread = function():void{  //MethodID:2836, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 19
+                                               __noCompress = true;
+
+                                               do_get_thread.apply(this, arguments_);
+                                       };
+
+                                       if(trans.noCompress || __isErrorOnNoCompress){
+                                               __isErrorOnNoCompress = true;
+
+                                               f(new CommentStorageError(0, "Disconnected.", true), null);
+
+                                               return;
+                                       }
+
+                                       if(__client.isConnecting){
+                                               getNoCompressThread();
+                                       }else{
+                                               __client.connected.add(function(... args):void{ //MethodID:2837, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 23
+                                                       __client.connected.remove(args.callee);
+                                                       getNoCompressThread();
+                                               });
+                                       }
+                               };
+
+                               __addRequest(req);
+                       };
+
+                       if(!h._isCommunityThread){
+                               do_get_thread();
+
+                               return;
+                       }
+
+                       retry = __LEAF_RETRY;
+                       threadkey_getter = this.__newThreadKeyGetter(do_get_thread, f, h._t);
+               }
+
+               public function _deleteComments(hug1:_Handle, hug2:Function, hug3:Array, hug4:Boolean):void
+               {       //MethodID:2846, LocalCount= 6 , MaxScope= 2, MaxStack= 4, CodeLength= 54
+                       internal var h:_Handle;                                         //slotID:1
+                       internal var f:Function;                                        //slotID:2
+                       internal var targets:Array;                                     //slotID:3
+                       internal var undelete:Boolean;                                  //slotID:4
+
+                       h = hug1;
+                       f = hug2;
+                       targets = hug3;
+                       undelete = hug4;
+
+                       this.__keygen.getDeleteKey(function(hug1:Boolean, hug2:String):void{    //MethodID:2845, LocalCount= 4 , MaxScope= 1, MaxStack= 8, CodeLength= 269
+                               internal var succeeded:Boolean;                                 //slotID:1
+                               internal var deletekey:String;                                  //slotID:2
+                               internal var trans:CommentDeleter;                              //slotID:3
+                               internal var req:Request;                                       //slotID:4
+
+                               trans = null;
+                               succeeded = hug1;
+                               deletekey = hug2;
+
+                               if(!succeeded){
+                                       f(new CommentStorageError(0, "DeleteKeyの取得に失敗。", true));
+
+                                       return;
+                               }
+
+                               trans = new CommentDeleter();
+                               trans.undelete = undelete;
+                               trans.revision = h._t.revision;
+                               trans.threadID = int(h._t.threadID);
+                               trans.userID = __userID;
+                               trans.deletekey = deletekey;
+                               trans.list = targets.sort(function(hug1:uint, hug2:uint):Number{        //MethodID:2841, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 4
+                                       return (hug1 - hug2);
+                               }).join(",");
+
+                               req = new Request([new LockDesc("DeleteCommentsResult", {0:h._t.threadID, 3:(undelete ? 1 : 0)})]);
+                               req.transactor = trans;
+                               req.onErrorOccured = function(hug1:int):void{   //MethodID:2842, LocalCount= 2 , MaxScope= 0, MaxStack= 5, CodeLength= 24
+                                       f(new CommentStorageError(hug1, ("error: status=" + hug1 + ".")));
+                               };
+
+                               req.onQuit = function():void{   //MethodID:2843, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 25
+                                       h._t.revision = trans.revision;
+
+                                       f(null);
+                               };
+
+                               req.onDisconnect = function():void{     //MethodID:2844, LocalCount= 1 , MaxScope= 0, MaxStack= 5, CodeLength= 20
+                                       f(new CommentStorageError(0, "Disconnected.", true));
+                               };
+
+                               __addRequest(req);
+                       }, h._t.threadID, targets);
+               }
+
+               public function _getOwnerThread(hug1:_Handle, hug2:Function, hug3:uint, ...args):void
+               {       //MethodID:2850, LocalCount= 6 , MaxScope= 2, MaxStack= 10, CodeLength= 282
+                       internal var h:_Handle;                                         //slotID:1
+                       internal var f:Function;                                        //slotID:2
+                       internal var numRes:uint;                                       //slotID:3
+                       internal var arguments:Array;                                   //slotID:4
+                       internal var trans:ThreadLoader;                                //slotID:5
+                       internal var req:Request;                                       //slotID:6
+                       internal var arguments_:*;                                      //slotID:7
+
+                       trans = null;
+                       arguments_ = undefined;
+                       h = hug1;
+                       f = hug2;
+                       numRes = hug3;
+                       internal var arguments:Object = args;
+                       trans = new ThreadLoader();
+                       trans.threadID = h._t.threadID;
+                       trans.fork = 1;
+                       trans.resFrom = -numRes;
+                       trans.onServerTime = this.__onServerTimeUpdated;
+                       req = new Request([new LockDesc("GetThreadResult", {1:h._t.threadID, 8:1}), new LockDesc("Chat", {1:h._t.threadID, 13:1}), new LockDesc("Close", {0:h._t.threadID, 1:1})]);
+                       trans.noCompress = this.__noCompress;
+                       req.transactor = trans;
+                       req.onErrorOccured = function(hug1:int):void{   //MethodID:2847, LocalCount= 2 , MaxScope= 0, MaxStack= 5, CodeLength= 25
+                               f(new CommentStorageError(hug1, ("error: status=" + hug1 + ".")), null);
+                       };
+
+                       req.onQuit = function():void{   //MethodID:2848, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 31
+                               h._t.ownerTicket = trans.ticket;
+
+                               f(null, trans.comments);
+                       };
+
+                       arguments_ = arguments;
+                       req.onDisconnect = function():void{     //MethodID:2849, LocalCount= 1 , MaxScope= 0, MaxStack= 5, CodeLength= 52
+                               if(trans.noCompress){
+                                       f(new CommentStorageError(0, "", true), null);
+
+                                       return;
+                               }
+
+                               __noCompress = true;
+
+                               arguments_.callee.apply(this, arguments_);
+                       };
+
+                       this.__addRequest(req);
+               }
+
+               public function _updateOwnerThread(hug1:_Handle, hug2:Function, hug3:Array, hug4:Boolean):void
+               {       //MethodID:2855, LocalCount= 6 , MaxScope= 2, MaxStack= 5, CodeLength= 64
+                       internal var h:_Handle;                                         //slotID:1
+                       internal var f:Function;                                        //slotID:2
+                       internal var comments:Array;                                    //slotID:3
+                       internal var createNicosThread:Boolean;                         //slotID:4
+
+                       h = hug1;
+                       f = hug2;
+                       comments = hug3;
+                       createNicosThread = hug4;
+
+                       this.__keygen.getUpdateKey(function(hug1:Boolean, hug2:String):void{    //MethodID:2854, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 217
+                               internal var succeeded:Boolean;                                 //slotID:1
+                               internal var updatekey:String;                                  //slotID:2
+                               internal var trans:ThreadUpdater;                               //slotID:3
+                               internal var req:Request;                                       //slotID:4
+
+                               trans = null;
+                               succeeded = hug1;
+                               updatekey = hug2;
+
+                               if(!succeeded) f(new CommentStorageError(0, "Failed to get UpdateKey.", true));
+
+                               trans = new ThreadUpdater();
+                               trans.threadID = h._t.threadID;
+                               trans.userID = __userID;
+                               trans.ticket = h._t.ownerTicket;
+                               trans.updatekey = updatekey;
+                               trans.isPremium = __isPremium;
+                               trans.comments = comments;
+                               req = new Request([new LockDesc("UpdateThreadResult", {})]);
+                               req.transactor = trans;
+                               req.onErrorOccured = function(hug1:int):void{   //MethodID:2851, LocalCount= 2 , MaxScope= 0, MaxStack= 5, CodeLength= 24
+                                       f(new CommentStorageError(hug1, ("error: status=" + hug1 + ".")));
+                               };
+
+                               req.onQuit = function():void{   //MethodID:2852, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 25
+                                       h._t.ownerTicket = trans.ticket;
+
+                                       f(null);
+                               };
+
+                               req.onDisconnect = function():void{     //MethodID:2853, LocalCount= 1 , MaxScope= 0, MaxStack= 5, CodeLength= 20
+                                       f(new CommentStorageError(0, "Disconnected.", true));
+                               };
+
+                               __addRequest(req);
+                       }, h._t.threadID, h._t.ownerTicket, createNicosThread);
+               }
+
+               public function _waybackFork(hug1:_Handle, hug2:Function, hug3:int, hug4:int, hug5:uint, hug6:Boolean=false):void
+               {       //MethodID:2863, LocalCount= 8 , MaxScope= 2, MaxStack= 5, CodeLength= 171
+                       internal var h:_Handle;                                         //slotID:1
+                       internal var f:Function;                                        //slotID:2
+                       internal var fork:int;                                          //slotID:3
+                       internal var time:int;                                          //slotID:4
+                       internal var numRes:uint;                                       //slotID:5
+                       internal var isLeaf:Boolean = false;                            //slotID:6
+                       internal var retry:int;                                         //slotID:7
+                       internal var leaf_retry:int;                                    //slotID:8
+                       internal var threadkey_required:Boolean;                        //slotID:9
+                       internal var get_waybackkey:Function;                           //slotID:10
+                       internal var do_wayback_thread:Function;                        //slotID:11
+                       internal var threadkey_getter:Function;                         //slotID:12
+
+                       leaf_retry = 0;
+                       threadkey_required = false;
+                       get_waybackkey = null;
+                       threadkey_getter = null;
+                       h = hug1;
+                       f = hug2;
+                       fork = hug3;
+                       time = hug4;
+                       numRes = hug5;
+                       isLeaf = hug6;
+                       get_waybackkey = function():void{       //MethodID:2858, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 67
+                               internal var error:Function;                                    //slotID:1
+
+                               error = function():void{        //MethodID:2856, LocalCount= 1 , MaxScope= 0, MaxStack= 5, CodeLength= 21
+                                       f(new CommentStorageError(0, "Failed to get WaybackKey.", true), null);
+                               };
+
+                               if((--retry) < 0) error();
+                               __keygen.getWaybackKey(function(hug1:Boolean, hug2:String):void{        //MethodID:2857, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 24
+                                       if(!hug1){
+                                               error();
+
+                                               return;
+                                       }
+
+                                       do_wayback_thread(hug2);
+                               }, h._t.threadID);
+                       };
+
+                       do_wayback_thread = function(hug1:String):void{ //MethodID:2862, LocalCount= 3 , MaxScope= 1, MaxStack= 9, CodeLength= 541
+                               internal var waybackkey:String;                                 //slotID:1
+                               internal var trans:ThreadLoader;                                //slotID:2
+                               internal var _locks:Array;                                      //slotID:3
+                               internal var req:Request;                                       //slotID:4
+
+                               trans = null;
+                               waybackkey = hug1;
+                               trans = new ThreadLoader();
+                               trans.threadID = h._t.threadID;
+                               trans.resFrom = -numRes;
+                               trans.fork = fork;
+                               trans.when = time;
+                               trans.userID = __userID;
+                               trans.waybackkey = waybackkey;
+                               trans.onServerTime = __onServerTimeUpdated;
+                               trans.noCompress = __noCompress;
+                               trans.clickRevision = h._t.clickRevision;
+                               trans.duration = __getFlv.videoLength;
+                               trans.num_click = h._t.num_click;
+                               trans.resBefore = (h._t.lastRes + 1);
+
+                               if(fork != 1){
+                                       trans.forceLeafMode = (isLeaf && !__flashvars.isMymemory && !__forceLeafOff);
+                                       trans.leaf_get_num = __leafNum;
+                               }
+
+                               if(threadkey_required){
+                                       trans.threadkey = h._t.threadkey.value;
+                                       trans.force184 = (h._t.threadkey.force184 ? 1 : 0);
+                               }
+
+                               _locks = [new LockDesc("GetThreadResult", {1:h._t.threadID, 8:fork}), new LockDesc("Close", {0:h._t.threadID}), new LockDesc("Chat", {1:h._t.threadID, 13:fork})];
+
+                               if(trans.isLeaf()) _locks.push(new LockDesc("Leaf", {1:h._t.threadID}));
+
+                               if(fork != 1) _locks.push(new LockDesc("NumberOfClick", {0:h._t.threadID}));
+
+                               req = new Request(_locks);
+                               req.transactor = trans;
+                               req.onErrorOccured = function(hug1:int):void{   //MethodID:2859, LocalCount= 4 , MaxScope= 0, MaxStack= 5, CodeLength= 183
+                                       var hug2:int = hug1;
+
+                                       switch(hug2){
+                                       case MessageServerClient.THREAD_LEAF_LOADING:
+                                               if(leaf_retry > 0){
+                                                       leaf_retry--;
+                                                       do_wayback_thread();
+
+                                                       return;
+                                               }
+                                               break;
+                                       case MessageServerClient.THREAD_TOO_OLD_WAYBACKKEY:
+                                               get_waybackkey();
+
+                                               return;
+                                       case MessageServerClient.THREAD_TOO_OLD_THREADKEY:
+                                               if(threadkey_getter()) return;
+
+                                       default:
+                                               break;
+                                       }
+
+                                       f(new CommentStorageError(hug1, ("error: status=" + hug1 + ".")), null);
+                               };
+
+                               req.onQuit = function():void{   //MethodID:2860, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 16
+                                       f(null, trans.comments);
+                               };
+
+                               req.onDisconnect = function():void{     //MethodID:2861, LocalCount= 1 , MaxScope= 0, MaxStack= 5, CodeLength= 47
+                                       if(trans.noCompress){
+                                               f(new CommentStorageError(0, "Disconnected.", true), null);
+
+                                               return;
+                                       }
+
+                                       __noCompress = true;
+
+                                       do_wayback_thread();
+                               };
+
+                               __addRequest(req);
+                       };
+
+                       retry = 3;
+                       leaf_retry = __LEAF_RETRY;
+                       threadkey_required = ((fork == MessageServerClient.FORK_MAIN) && h._isCommunityThread);
+
+                       if(threadkey_required){
+                               threadkey_getter = this.__newThreadKeyGetter(get_waybackkey, f, h._t);
+                               return;
+                       }
+
+                       get_waybackkey();
+               }
+
+               public function _click(hug1:_Handle, hug2:Function, hug3:int, hug4:Function=null):void
+               {       //MethodID:2868, LocalCount= 6 , MaxScope= 2, MaxStack= 5, CodeLength= 70
+                       internal var h:_Handle;                                         //slotID:1
+                       internal var f:Function;                                        //slotID:2
+                       internal var no:int;                                            //slotID:3
+                       internal var after_click:Function = null;                       //slotID:4
+
+                       h = hug1;
+                       f = hug2;
+                       no = hug3;
+                       after_click = hug4;
+
+                       this.__keygen.getClickKey(function(hug1:Boolean, hug2:String):void{     //MethodID:2867, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 197
+                               internal var succeeded:Boolean;                                 //slotID:1
+                               internal var clickkey:String;                                   //slotID:2
+                               internal var trans:Clicker;                                     //slotID:3
+                               internal var req:Request;                                       //slotID:4
+
+                               succeeded = hug1;
+                               clickkey = hug2;
+
+                               if(!succeeded) f(new CommentStorageError(0, "Failed to get ClickKey.", true), null);
+
+                               trans = new Clicker();
+                               trans.threadID = int(h._t.threadID);
+                               trans.no = no;
+                               trans.userID = __userID;
+                               trans.clickkey = clickkey;
+                               req = new Request([new LockDesc("ClickResult", {})]);
+                               req.transactor = trans;
+                               req.onErrorOccured = function(hug1:int):void{   //MethodID:2864, LocalCount= 2 , MaxScope= 0, MaxStack= 5, CodeLength= 24
+                                       f(new CommentStorageError(hug1, ("error: status=" + hug1 + ".")));
+                               };
+
+                               req.onQuit = function():void{   //MethodID:2865, LocalCount= 4 , MaxScope= 0, MaxStack= 6, CodeLength= 43
+                                       h._t.num_click[no]++;
+                                       f(null);
+                               };
+
+                               req.onDisconnect = function():void{     //MethodID:2866, LocalCount= 1 , MaxScope= 0, MaxStack= 5, CodeLength= 20
+                                       f(new CommentStorageError(0, "Disconnected.", true));
+                               };
+
+                               __addRequest(req);
+                               after_click();
+                       }, h._t.threadID, h._t.lastRes, h._t.clickRevision);
+               }
+
+               private function __newThreadKeyGetter(hug1:Function, hug2:Function, hug3:_Thread, hug4:int=3):Function
+               {       //MethodID:2871, LocalCount= 6 , MaxScope= 2, MaxStack= 3, CodeLength= 97
+                       internal var f:Function;                                        //slotID:1
+                       internal var error:Function;                                    //slotID:2
+                       internal var t:_Thread;                                         //slotID:3
+                       internal var retry:int = 3;                                     //slotID:4
+                       internal var do_get:Function;                                   //slotID:5
+
+                       do_get = null;
+                       f = hug1;
+                       error = hug2;
+                       t = hug3;
+                       retry = hug4;
+                       do_get = function():Boolean{    //MethodID:2870, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 57
+                               t.threadkey = null;
+
+                               if((retry--) < 1) return false;
+                               __keygen.getThreadKey(function(hug1:Boolean, hug2:String, hug3:Boolean):void{   //MethodID:2869, LocalCount= 4 , MaxScope= 0, MaxStack= 5, CodeLength= 50
+                                       if(!hug1){
+                                               error(new CommentStorageError(0, "ThreadKeyの取得に失敗。", true), null);
+
+                                               return;
+                                       }
+
+                                       t.threadkey = new _ThreadKey(hug2, hug3);
+
+                                       f();
+                               }, t.threadID);
+
+                               return true;
+                       };
+
+                       Assert.assert(retry > 0);
+
+                       if(t.threadkey){
+                               ObjectUtils.callLater(f);
+                       }else{
+                               do_get();
+                       }
+
+                       return do_get;
+               }
+
+               private function __addRequest(hug1:Request):void
+               {       //MethodID:2872, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 28
+                       hug1.parent = this;
+                       hug1.transactor.client = this.__client;
+
+                       this.__requestDispatcher.addRequest(hug1);
+               }
+       }
+}
+
+import flash.errors.IllegalOperationError
+import flash.utils.Dictionary
+import jp.nicovideo.nicoplayer.models.comment.IComment
+import jp.nicovideo.nicoplayer.storages.CommentStorage
+import jp.nicovideo.nicoplayer.storages.CommentStorageError
+import jp.nicovideo.nicoplayer.storages.MessageServerClient
+import jp.nicovideo.nicoplayer.storages.commentStorage.Poller
+import jp.nicovideo.util.ObjectUtils
+
+//■class(instance)_index:216
+//private
+class _Thread extends Object
+{
+       //static constructor
+       public static function _Thread$cinit()
+       {       //MethodID:2793, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _Thread(hug1:String)
+       {       //MethodID:2794, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 29
+               this.num_click = {};
+               this.handles = new Dictionary(true);
+
+               super();
+
+               this.threadID = hug1;
+       }
+
+       //variables/etc.
+       public var threadID:String;                                     //slotID:0
+       public var ticket:String;                                       //slotID:0
+       public var ownerTicket:String;                                  //slotID:0
+       public var lastRes:int = -1;                                    //slotID:0
+       public var lastRes_:int = -1;                                   //slotID:0
+       public var postkey:_PostKey;                                    //slotID:0
+       public var threadkey:_ThreadKey;                                //slotID:0
+       public var revision:int = 0;                                    //slotID:0
+       public var clickRevision:int = 0;                               //slotID:0
+       public var waybackkey:String;                                   //slotID:0
+       public var num_click:Object;                                    //slotID:0
+       public var handles:Dictionary;                                  //slotID:0
+
+       public function forEachHandle(hug1:Function):void
+       {       //MethodID:2795, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 51
+               var hug2:* = undefined;
+
+               for(hug2 in this.handles){
+                       hug1(_Handle(hug2));
+               }
+       }
+
+       public function clear():void
+       {       //MethodID:2796, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37
+               this.ticket = null;
+               this.lastRes = -1;
+               this.lastRes_ = -1;
+               this.postkey = null;
+               this.revision = 0;
+               this.clickRevision = 0;
+       }
+}
+
+//■class(instance)_index:217
+//private
+class _PostKey extends Object
+{
+       //static constructor
+       public static function _PostKey$cinit()
+       {       //MethodID:2797, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _PostKey()
+       {       //MethodID:2798, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+
+       //variables/etc.
+       public var lastRes:int;                                         //slotID:0
+       public var page:int;                                            //slotID:0
+       public var value:String;                                        //slotID:0
+       public var yugi:Boolean;                                        //slotID:0
+}
+
+//■class(instance)_index:218
+//private
+class _ThreadKey extends Object
+{
+       //static constructor
+       public static function _ThreadKey$cinit()
+       {       //MethodID:2799, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _ThreadKey(hug1:String, hug2:Boolean)
+       {       //MethodID:2800, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+               super();
+
+               this.value = hug1;
+               this.force184 = hug2;
+       }
+
+       //variables/etc.
+       public var value:String;                                        //slotID:0
+       public var force184:Boolean;                                    //slotID:0
+}
+
+//■class(instance)_index:220
+//private
+class _Handle extends Object implements ICommentStorageHandle
+{
+       //static constructor
+       public static function _Handle$cinit()
+       {       //MethodID:2873, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _Handle(hug1:CommentStorage, hug2:_Thread)
+       {       //MethodID:2874, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 28
+               super();
+
+               this._parent = hug1;
+               this._t = hug2;
+               this._t.handles[this] = true;
+       }
+
+       //variables/etc.
+       public var _t:_Thread;                                          //slotID:0
+       public var _isCommunityThread:Boolean = false;                  //slotID:0
+       public var _onNumberOfClick:Function;                           //slotID:0
+       protected var _parent:CommentStorage;                           //slotID:0
+       private var __onComments:Function;                              //slotID:0
+       private var __autoSyncEnabled:Boolean = true;                   //slotID:0
+
+       public function get lastRes():int
+       {       //MethodID:2875, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+               return this._t.lastRes;
+       }
+
+       public function get autoSyncEnabled():Boolean
+       {       //MethodID:2876, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this.__autoSyncEnabled;
+       }
+
+       public function set autoSyncEnabled(hug1:Boolean):void
+       {       //MethodID:2877, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+               this.__autoSyncEnabled = hug1;
+       }
+
+       public function get isCommunityThread():Boolean
+       {       //MethodID:2878, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._isCommunityThread;
+       }
+
+       public function set isCommunityThread(hug1:Boolean):void
+       {       //MethodID:2879, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+               this._isCommunityThread = hug1;
+       }
+
+       public function get onComments():Function
+       {       //MethodID:2880, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this.__onComments;
+       }
+
+       public function set onComments(hug1:Function):void
+       {       //MethodID:2881, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+               this.__onComments = hug1;
+       }
+
+       public function get onNumberOfClick():Function
+       {       //MethodID:2882, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._onNumberOfClick;
+       }
+
+       public function set onNumberOfClick(hug1:Function):void
+       {       //MethodID:2883, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+               this._onNumberOfClick = hug1;
+       }
+
+       public function post(hug1:Function, hug2:IComment, hug3:Boolean):void
+       {       //MethodID:2884, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 15
+               this._parent._post(this, hug1, hug2, hug3);
+       }
+
+       public function getThread(hug1:Function, hug2:int, hug3:Boolean=false):void
+       {       //MethodID:2885, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 15
+               this._parent._getThread(this, hug1, hug2, hug3);
+       }
+
+       public function deleteComments(hug1:Function, hug2:Array, hug3:Boolean):void
+       {       //MethodID:2886, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 15
+               this._parent._deleteComments(this, hug1, hug2, hug3);
+       }
+
+       public function getOwnerThread(hug1:Function, hug2:uint):void
+       {       //MethodID:2887, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 14
+               this._parent._getOwnerThread(this, hug1, hug2);
+       }
+
+       public function updateOwnerThread(hug1:Function, hug2:Array, hug3:Boolean):void
+       {       //MethodID:2888, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 15
+               this._parent._updateOwnerThread(this, hug1, hug2, hug3);
+       }
+
+       public function waybackOwnerThread(hug1:Function, hug2:int):void
+       {       //MethodID:2889, LocalCount= 3 , MaxScope= 1, MaxStack= 6, CodeLength= 23
+               this._parent._waybackFork(this, hug1, MessageServerClient.FORK_OWNER, hug2, 1000);
+       }
+
+       public function waybackThread(hug1:Function, hug2:int, hug3:uint, hug4:Boolean=false):void
+       {       //MethodID:2890, LocalCount= 5 , MaxScope= 1, MaxStack= 7, CodeLength= 23
+               this._parent._waybackFork(this, hug1, MessageServerClient.FORK_MAIN, hug2, hug3, hug4);
+       }
+
+       public function click(hug1:Function, hug2:int):void
+       {       //MethodID:2891, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 14
+               this._parent._click(this, hug1, hug2);
+       }
+
+       public function enterThread(hug1:Function, hug2:int, hug3:Boolean=false):void
+       {       //MethodID:2892, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+               throw new IllegalOperationError("未サポートであります。。。");
+       }
+
+       public function leaveThread(hug1:Function):void
+       {       //MethodID:2893, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+               throw new IllegalOperationError("未サポートっスよ!");
+       }
+
+       public function _onComments(hug1:Array):void
+       {       //MethodID:2894, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 20
+               if(this.__onComments is Function) this.__onComments(hug1);
+       }
+}
+
+//■class(instance)_index:221
+//private
+class _Handle4HTTP extends _Handle
+{
+       //static constructor
+       public static function _Handle4HTTP$cinit()
+       {       //MethodID:2895, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37
+               HTTP_INTERVAL_PREMIUM = 0x1D4C0;
+               HTTP_INTERVAL_SHORT_PREMIUM = 30000;
+               HTTP_INTERVAL_ECONOMY = 0x2BF20;
+               HTTP_INTERVAL_SHORT_ECONOMY = 0xAFC8;
+       }
+
+       //static variables/etc.
+       private static const HTTP_INTERVAL_PREMIUM:int = 0x1D4C0;       //slotID:1
+       private static const HTTP_INTERVAL_SHORT_PREMIUM:int = 30000;   //slotID:2
+       private static const HTTP_INTERVAL_ECONOMY:int = 0x2BF20;       //slotID:3
+       private static const HTTP_INTERVAL_SHORT_ECONOMY:int = 0xAFC8;  //slotID:4
+
+       //constructor
+       public function _Handle4HTTP(hug1:CommentStorage, hug2:_Thread)
+       {       //MethodID:2896, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8
+               super(hug1, hug2);
+       }
+
+       //variables/etc.
+       private var __poller:Poller;                                    //slotID:0
+       private var __localLastRes:int = 0;                             //slotID:0
+
+       override public function set autoSyncEnabled(hug1:Boolean):void
+       {       //MethodID:2897, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 50
+               if(autoSyncEnabled == hug1) return;
+
+               if(this.__poller){
+                       if(hug1){
+                               this.__poller.resume();
+                       }else{
+                               this.__poller.suspend();
+                       }
+               }
+
+               super.autoSyncEnabled = hug1;
+       }
+
+       override public function post(hug1:Function, hug2:IComment, hug3:Boolean):void
+       {       //MethodID:2900, LocalCount= 5 , MaxScope= 2, MaxStack= 2, CodeLength= 63
+               private var f:Function;                                         //slotID:1
+               private var comment_:IComment;                                  //slotID:2
+               private var yugi:Boolean;                                       //slotID:3
+               private var poll_retry:int;                                     //slotID:4
+               private var super_post:Function;                                //slotID:5
+               private var do_post:Function;                                   //slotID:6
+
+               do_post = null;
+               f = hug1;
+               comment_ = hug2;
+               yugi = hug3;
+               do_post = function():void{      //MethodID:2899, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 22
+                       super_post(function(hug1:CommentStorageError, hug2:int):void{   //MethodID:2898, LocalCount= 5 , MaxScope= 0, MaxStack= 3, CodeLength= 115
+                               if(hug1 && !hug1.isInLowerLayer && (hug1.status == MessageServerClient.POST_INVALID_TICKET) && ((poll_retry--) > 0)){
+                                       __poller.pollImmediately(do_post);
+
+                                       return;
+                               }
+
+                               if(__poller && !hug1) __poller.pollImmediately();
+                               f(hug1, hug2);
+                       }, comment_, yugi);
+               };
+
+               poll_retry = 3;
+               super_post = super.post;
+
+               do_post();
+       }
+
+       override public function getThread(hug1:Function, hug2:int, hug3:Boolean=false):void
+       {       //MethodID:2901, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 27
+               if(!this.__poller) throw new IllegalOperationError();
+               super.getThread(hug1, hug2, hug3);
+       }
+
+       override public function click(hug1:Function, hug2:int):void
+       {       //MethodID:2904, LocalCount= 4 , MaxScope= 2, MaxStack= 5, CodeLength= 52
+               private var f:Function;                                         //slotID:1
+               private var no:int;                                             //slotID:2
+               private var after_click:Function;                               //slotID:3
+
+               after_click = null;
+               f = hug1;
+               no = hug2;
+               after_click = function():void{  //MethodID:2902, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 15
+                       if(__poller) __poller.pollImmediately();
+               };
+
+               _parent._click(this, function(hug1:CommentStorageError):void{   //MethodID:2903, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 10
+                       f(hug1);
+               }, no, after_click);
+       }
+
+       override public function enterThread(hug1:Function, hug2:int, hug3:Boolean=false):void
+       {       //MethodID:2908, LocalCount= 5 , MaxScope= 2, MaxStack= 5, CodeLength= 61
+               private var f:Function;                                         //slotID:1
+               private var resFrom:int;                                        //slotID:2
+               private var isLeaf:Boolean = false;                             //slotID:3
+               private var self:_Handle;                                       //slotID:4
+
+               self = null;
+               f = hug1;
+               resFrom = hug2;
+               isLeaf = hug3;
+               self = this;
+
+               _parent._getThread(self, function(hug1:CommentStorageError, hug2:Array):void{   //MethodID:2907, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 153
+                       private var e:CommentStorageError;                              //slotID:1
+                       private var comments:Array;                                     //slotID:2
+                       private var lastResLocal:int;                                   //slotID:3
+
+                       lastResLocal = 0;
+                       e = hug1;
+                       comments = hug2;
+
+                       if(__poller) throw new IllegalOperationError("なんじゃい");
+
+                       if(!e){
+                               lastResLocal = ((comments.length != 0) ? comments[comments.length - 1].resNo : 0);
+                               __poller = new Poller(function(hug1:Function):void{     //MethodID:2906, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 39
+                                       private var binder:Function;                                    //slotID:1
+
+                                       binder = hug1;
+
+                                       _parent._getThread(self, binder(function(hug1:CommentStorageError, hug2:Array):void{    //MethodID:2905, LocalCount= 3 , MaxScope= 0, MaxStack= 6, CodeLength= 67
+                                               if(hug1) return;
+
+                                               if(hug2.length != 0){
+                                                       lastResLocal = Math.max(lastResLocal, hug2[hug2.length - 1].resNo);
+
+                                                       _onComments(hug2);
+                                               }
+
+                                               __poller.interval = __calcPollingInterval(hug2);
+                                       }), (lastResLocal + 1), isLeaf);
+                               });
+
+                               if(autoSyncEnabled) __poller.resume();
+
+                               __poller.interval = __calcPollingInterval(comments);
+                       }
+
+                       f(e, comments);
+               }, resFrom, isLeaf);
+       }
+
+       override public function leaveThread(hug1:Function):void
+       {       //MethodID:2909, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 51
+               if(!this.__poller) throw new IllegalOperationError("入室してないす");
+               this.__poller.suspend();
+
+               this.__poller = null;
+
+               _t.clear();
+               ObjectUtils.callLater(hug1, null);
+       }
+
+       private function __calcPollingInterval(hug1:Array):int
+       {       //MethodID:2910, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 55
+               var hug2:int = HTTP_INTERVAL_ECONOMY;
+               var hug3:int = HTTP_INTERVAL_SHORT_ECONOMY;
+
+               if(_parent.__isPremium){
+                       hug2 = HTTP_INTERVAL_ECONOMY;
+                       hug3 = HTTP_INTERVAL_SHORT_ECONOMY;
+               }
+
+               var hug4:int = ((hug1.length != 0) ? hug3 : hug2);
+               return hug4;
+       }
+}
+
+//■script174■
+
+package jp.nicovideo.nicoplayer.models.api{
+
+       import jp.nicovideo.util.HTTPUtils
+
+       //■class(instance)_index:222
+       public class GetBGM extends Object
+       {
+               //static constructor
+               public static function GetBGM$cinit()
+               {       //MethodID:2912, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function exec(hug1:Function, hug2:String, hug3:String):void
+               {       //dispID:3, MethodID:2914, LocalCount= 5 , MaxScope= 2, MaxStack= 7, CodeLength= 52
+                       internal var f:Function;                                        //slotID:1
+                       internal var URL:String;                                        //slotID:2
+                       internal var threadID:String;                                   //slotID:3
+
+                       f = hug1;
+                       URL = hug2;
+                       threadID = hug3;
+
+                       HTTPUtils.loadXML(function(hug1:XML):void{      //MethodID:2913, LocalCount= 7 , MaxScope= 0, MaxStack= 12, CodeLength= 263
+                               var hug3:XML = null;
+                               var hug4:BGMVideoInfo = null;
+
+                               if((hug1 === null) || (hug1.@status != "ok")) f(false, null);
+
+                               var hug2:Array = [];
+
+                               for each(hug3 in hug1.bgm){
+                                       hug4 = new BGMVideoInfo(hug3.id.text()[0], hug3.bgm_type.text()[0], hug3.video_id.text()[0], hug3.url.text()[0], Number(hug3.length.text()[0]), hug3.movie_type.text()[0], (Number(hug3.deleted.text()[0]) != 0), (Number(hug3["private"].text()[0]) != 0), (Number(hug3.as3.text()[0]) == 1));
+
+                                       hug2.push(hug4);
+                               }
+
+                               f(true, hug2);
+                       }, URL, {v:threadID, as3:"1"});
+               }
+
+               //constructor
+               public function GetBGM()
+               {       //MethodID:2915, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script175■
+
+package jp.nicovideo.nicoscript{
+
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+
+       //■class(instance)_index:223
+       public interface INicoSPlayer
+       {
+               //static constructor
+               public static function INicoSPlayer$cinit()
+               {       //MethodID:2917, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get defaultCommentColor():String;                                  //MethodID:2918, dispID:0
+
+               function get defaultCommentPosition():String;                               //MethodID:2919, dispID:0
+
+               function get defaultCommentSize():String;                                   //MethodID:2920, dispID:0
+
+               function get isCommentInvisible():Boolean;                                  //MethodID:2921, dispID:0
+
+               function replaceComment(hug1:String, hug2:IComment):IComment;               //MethodID:2922, dispID:0
+
+               function resolveListName(hug1:IComment):String;                             //MethodID:2923, dispID:0
+
+               function get BGMVideoIDs():Array;                                           //MethodID:2924, dispID:0
+
+               function get CMVideoIDs():Array;                                            //MethodID:2925, dispID:0
+
+               function setup(hug1:INicoSClient):void;                                     //MethodID:2926, dispID:0
+
+               function clear():void;                                                      //MethodID:2927, dispID:0
+
+               function commit(hug1:String, hug2:Array, hug3:Array, hug4:Boolean):Array;   //MethodID:2928, dispID:0
+
+               function play():void;                                                       //MethodID:2929, dispID:0
+
+               function seek(hug1:int):void;                                               //MethodID:2930, dispID:0
+
+               function pause():void;                                                      //MethodID:2931, dispID:0
+
+               function set volume(hug1:Number):void;                                      //MethodID:2932, dispID:0
+
+               function get isNicosThreadRequired():Boolean;                               //MethodID:2933, dispID:0
+
+               //constructor
+               public function INicoSPlayer();                                             //MethodID:2934, dispID:0
+       }
+}
+
+//■script176■
+
+package jp.nicovideo.nicoplayer.models.playlist{
+
+       import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars
+       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:224
+       public class VideoInfo extends Object
+       {
+               //static constructor
+               public static function VideoInfo$cinit()
+               {       //MethodID:2936, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function VideoInfo(hug1:String, hug2:String, hug3:String, hug4:String, hug5:String, hug6:String, hug7:String, hug8:uint, hug9:uint, hug10:uint, hug11:uint, hug12:Date, hug13:Date, hug14:Date, hug15:Number)
+               {       //MethodID:2937, LocalCount= 16 , MaxScope= 1, MaxStack= 3, CodeLength= 117
+                       this.onVideoInfoFlashVarsUpdated = new Functions();
+
+                       super();
+
+                       this._title = hug1;
+                       this._description = hug2;
+                       this._mylistComment = hug3;
+                       this._threadID = hug4;
+                       this._videoID = hug4;
+                       this._watchID = hug6;
+                       this._thumbnailURL = hug7;
+                       this._viewCounter = hug8;
+                       this._numRes = hug9;
+                       this._mylistCounter = hug10;
+                       this._deleted = hug11;
+                       this._itemUpdateTime = new Date(hug12);
+                       this._firstRetrieve = new Date(hug13);
+                       this._createTime = new Date(hug14);
+                       this._lengthSeconds = hug15;
+               }
+
+               //variables/etc.
+               private var _title:String;                                      //slotID:0
+               private var _description:String;                                //slotID:0
+               private var _mylistComment:String;                              //slotID:0
+               private var _threadID:String;                                   //slotID:0
+               private var _videoID:String;                                    //slotID:0
+               private var _watchID:String;                                    //slotID:0
+               private var _thumbnailURL:String;                               //slotID:0
+               private var _viewCounter:uint;                                  //slotID:0
+               private var _numRes:uint;                                       //slotID:0
+               private var _mylistCounter:uint;                                //slotID:0
+               private var _deleted:uint;                                      //slotID:0
+               private var _itemUpdateTime:Date;                               //slotID:0
+               private var _firstRetrieve:Date;                                //slotID:0
+               private var _createTime:Date;                                   //slotID:0
+               private var _lengthSeconds:Number;                              //slotID:0
+               private var _flashVars:NicoFlashVars;                           //slotID:0
+               private var _errorMessage:String;                               //slotID:0
+               private var _ownersIndex:int = 0;                               //slotID:0
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onVideoInfoFlashVarsUpdated:Functions;//slotID:0
+
+               public function get title():String
+               {       //MethodID:2938, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._title;
+               }
+
+               public function get description():String
+               {       //MethodID:2939, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._description;
+               }
+
+               public function get mylistComment():String
+               {       //MethodID:2940, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._mylistComment;
+               }
+
+               public function get threadID():String
+               {       //MethodID:2941, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._threadID;
+               }
+
+               public function get videoID():String
+               {       //MethodID:2942, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._videoID;
+               }
+
+               public function get watchID():String
+               {       //MethodID:2943, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._watchID;
+               }
+
+               public function get thumbnailURL():String
+               {       //MethodID:2944, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._thumbnailURL;
+               }
+
+               public function get viewCounter():uint
+               {       //MethodID:2945, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._viewCounter;
+               }
+
+               public function get numRes():uint
+               {       //MethodID:2946, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._numRes;
+               }
+
+               public function get mylistCounter():uint
+               {       //MethodID:2947, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._mylistCounter;
+               }
+
+               public function get deleted():uint
+               {       //MethodID:2948, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._deleted;
+               }
+
+               public function get itemUpdateTime():Date
+               {       //MethodID:2949, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._itemUpdateTime;
+               }
+
+               public function get firstRetrieve():Date
+               {       //MethodID:2950, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._firstRetrieve;
+               }
+
+               public function get createTime():Date
+               {       //MethodID:2951, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._createTime;
+               }
+
+               public function get lengthSeconds():Number
+               {       //MethodID:2952, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._lengthSeconds;
+               }
+
+               public function get errorMessage():String
+               {       //MethodID:2953, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._errorMessage;
+               }
+
+               public function set errorMessage(hug1:String):void
+               {       //MethodID:2954, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._errorMessage = hug1;
+               }
+
+               public function get ownersIndex():int
+               {       //MethodID:2955, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._ownersIndex;
+               }
+
+               public function set ownersIndex(hug1:int):void
+               {       //MethodID:2956, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._ownersIndex = hug1;
+               }
+
+               public function set flashVars(hug1:NicoFlashVars):void
+               {       //MethodID:2957, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 31
+                       this._flashVars = hug1;
+
+                       onVideoInfoFlashVarsUpdated.apply(this);
+               }
+
+               public function get flashVars():NicoFlashVars
+               {       //MethodID:2958, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._flashVars;
+               }
+       }
+}
+
+//■script177■
+
+package jp.nicovideo.nicoplayer.config{
+
+       //■class(instance)_index:225
+       public class NicoConfig extends Object
+       {
+               //static constructor
+               public static function NicoConfig$cinit()
+               {       //MethodID:2960, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //variables/etc.
+               private var _SMILEVIDEO_URL:String;                             //slotID:0
+               private var _HOWTOUSE_URL:String;                               //slotID:0
+               private var _RECOMMEND_ENV_URL:String;                          //slotID:0
+               private var _DIC_NICOVIDEO_URL:String;                          //slotID:0
+               private var _DELETE_COMMENT_URL:String;                         //slotID:0
+               private var _ENTRY_HANDBOOK_URL:String;                         //slotID:0
+               private var _BASE_URL:String;                                   //slotID:0
+               private var _MOBILE_BASE_URL:String;                            //slotID:0
+               private var _MOBILE_WATCH_URL:String;                           //slotID:0
+               private var _FLAPI_BASE_URL:String;                             //slotID:0
+               private var _RES_URL:String;                                    //slotID:0
+               private var _CHANNEL_URL:String;                                //slotID:0
+               private var _TEMPLATE_PATH:String;                              //slotID:0
+               private var _NICOVIDEO_ACCOUNT_SETTING_URL:String;              //slotID:0
+               private var _NICOVIDEO_ACCOUNT_REGISTER_COMMON_URL:String;      //slotID:0
+               private var _GETFLV_URL:String;                                 //slotID:0
+               private var _GETPOSTKEY_URL:String;                             //slotID:0
+               private var _GETRELATION_URL:String;                            //slotID:0
+               private var _GETTHUMBINFO_URL:String;                           //slotID:0
+               private var _GETGAMERANKING_URL:String;                         //slotID:0
+               private var _GETENQUESTERESULT_URL:String;                      //slotID:0
+               private var _GETCONFIGURENGCLIENT_URL:String;                   //slotID:0
+               private var _THUMBWATCH_URL:String;                             //slotID:0
+               private var _GET_CONFIGURE_NGWORD:String;                       //slotID:0
+               private var _GET_CLICKKEY_URL:String;                           //slotID:0
+               private var _RULES_URL:String;                                  //slotID:0
+               private var _NOSO_URL:String;                                   //slotID:0
+               private var _NOSO_BANNER_URL:String;                            //slotID:0
+               private var _GET_WAYBACKKEY_URL:String;                         //slotID:0
+               private var _GET_DELETEKEY_URL:String;                          //slotID:0
+               private var _GET_UPDATEKEY_URL:String;                          //slotID:0
+               private var _GET_THREADKEY_URL:String;                          //slotID:0
+               private var _REDIRECTOR_URL:String;                             //slotID:0
+               private var _adAPI_URL:String;                                  //slotID:0
+               private var _REGISTERBGM_API_URL:String;                        //slotID:0
+               private var _GETBGM_API_URL:String;                             //slotID:0
+               private var _GETSPONSOR_API_URL:String;                         //slotID:0
+               private var _OTHERSPONSOR_URL:String;                           //slotID:0
+               private var _LOGGER_API_URL:String;                             //slotID:0
+               private var _PLAYLEN_API_URL:String;                            //slotID:0
+               private var _PIZZA_URL:String;                                  //slotID:0
+               private var _PLAYERVERSION_XML_URL:String;                      //slotID:0
+               private var _PLAYERINFO_XML_URL:String;                         //slotID:0
+               private var _CROSSSHAREDOBJECT_SWF_URL:String;                  //slotID:0
+               private var _CROSSSHAREDOBJECT_NONIMG_SWF_URL:String;           //slotID:0
+               private var _VIEWCONTROLLER_SWF_URL:String;                     //slotID:0
+               private var _VIEW_SWF_URL:String;                               //slotID:0
+               private var _MARQUEE_PLAYER_URL:String;                         //slotID:0
+               private var _NICOSPLAYER_URL:String;                            //slotID:0
+               private var _THUMBPLAYER_CONTROLLER_URL:String;                 //slotID:0
+               private var _THUMBPLAYER_VIEW_URL:String;                       //slotID:0
+               private var _HIROBA_MOVIE_URL:String;                           //slotID:0
+               private var _PARADE_MAP_URL:String;                             //slotID:0
+               private var _USERSPONSOR_MOVIE_URL:String;                      //slotID:0
+               private var _HIROBA_GETPOSTKEY_URL:String;                      //slotID:0
+               private var _PREMIUMLEAD_ON_SLIDER_LINK_URL:String;             //slotID:0
+               private var _GET_CHECKLIST_URL:String;                          //slotID:0
+               private var _HIROBACONNECTOR_SWF_URL:String;                    //slotID:0
+               private var _VIDEO_MENU_URL:String;                             //slotID:0
+               private var _VIDEO_ENDER_URL:String;                            //slotID:0
+               private var _MYLIST_ADD_API_URL:String;                         //slotID:0
+               private var _FEED_ADD_API_URL:String;                           //slotID:0
+               private var _FEED_DEL_API_URL:String;                           //slotID:0
+               private var _FEED_LIST_API_URL:String;                          //slotID:0
+               private var _MYLIST_PAGE_URL:String;                            //slotID:0
+               private var _OPEN_MYLIST_URL:String;                            //slotID:0
+               private var _PLUGINLOADER_SWF_URL:String;                       //slotID:0
+               private var _GET_NSKEY_URL:String;                              //slotID:0
+               private var _MYLIST_COMMENT_URL:String;                         //slotID:0
+               private var _APPLIBAR_URL:String;                               //slotID:0
+               private var _JSCONNECTOR_SWF_URL:String;                        //slotID:0
+               private var _GET_PLAYLIST_URL:String;                           //slotID:0
+               private var _WATCH_API_URL:String;                              //slotID:0
+               private var _PLAYLIST_PAGE_BASE_URL:String;                     //slotID:0
+               private var _LEAD_MOBILE_WATCH_API_URL:String;                  //slotID:0
+               private var _REMOCON_ALERT_SWF_URL:String;                      //slotID:0
+               private var _CLICK_COUNTER_BASE_URL:String;                     //slotID:0
+
+               public function get CHANNEL_URL():String
+               {       //MethodID:2961, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._CHANNEL_URL;
+               }
+
+               internal function set CHANNEL_URL(hug1:String):void
+               {       //MethodID:2962, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._CHANNEL_URL = hug1;
+               }
+
+               public function get VIEW_SWF_URL():String
+               {       //MethodID:2963, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._VIEW_SWF_URL;
+               }
+
+               internal function set VIEW_SWF_URL(hug1:String):void
+               {       //MethodID:2964, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._VIEW_SWF_URL = hug1;
+               }
+
+               public function get VIEWCONTROLLER_SWF_URL():String
+               {       //MethodID:2965, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._VIEWCONTROLLER_SWF_URL;
+               }
+
+               internal function set VIEWCONTROLLER_SWF_URL(hug1:String):void
+               {       //MethodID:2966, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._VIEWCONTROLLER_SWF_URL = hug1;
+               }
+
+               public function get MARQUEE_PLAYER_URL():String
+               {       //MethodID:2967, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._MARQUEE_PLAYER_URL;
+               }
+
+               internal function set MARQUEE_PLAYER_URL(hug1:String):void
+               {       //MethodID:2968, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._MARQUEE_PLAYER_URL = hug1;
+               }
+
+               public function get PLAYERVERSION_XML_URL():String
+               {       //MethodID:2969, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._PLAYERVERSION_XML_URL;
+               }
+
+               internal function set PLAYERVERSION_XML_URL(hug1:String):void
+               {       //MethodID:2970, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._PLAYERVERSION_XML_URL = hug1;
+               }
+
+               public function get PLAYERINFO_XML_URL():String
+               {       //MethodID:2971, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._PLAYERINFO_XML_URL;
+               }
+
+               internal function set PLAYERINFO_XML_URL(hug1:String):void
+               {       //MethodID:2972, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._PLAYERINFO_XML_URL = hug1;
+               }
+
+               public function get CROSSSHAREDOBJECT_SWF_URL():String
+               {       //MethodID:2973, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._CROSSSHAREDOBJECT_SWF_URL;
+               }
+
+               internal function set CROSSSHAREDOBJECT_SWF_URL(hug1:String):void
+               {       //MethodID:2974, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._CROSSSHAREDOBJECT_SWF_URL = hug1;
+               }
+
+               public function get CROSSSHAREDOBJECT_NONIMG_SWF_URL():String
+               {       //MethodID:2975, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._CROSSSHAREDOBJECT_NONIMG_SWF_URL;
+               }
+
+               internal function set CROSSSHAREDOBJECT_NONIMG_SWF_URL(hug1:String):void
+               {       //MethodID:2976, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._CROSSSHAREDOBJECT_NONIMG_SWF_URL = hug1;
+               }
+
+               public function get NICOSPLAYER_URL():String
+               {       //MethodID:2977, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._NICOSPLAYER_URL;
+               }
+
+               internal function set NICOSPLAYER_URL(hug1:String):void
+               {       //MethodID:2978, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._NICOSPLAYER_URL = hug1;
+               }
+
+               public function get HIROBA_MOVIE_URL():String
+               {       //MethodID:2979, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._HIROBA_MOVIE_URL;
+               }
+
+               internal function set HIROBA_MOVIE_URL(hug1:String):void
+               {       //MethodID:2980, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._HIROBA_MOVIE_URL = hug1;
+               }
+
+               public function get PARADE_MAP_URL():String
+               {       //MethodID:2981, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._PARADE_MAP_URL;
+               }
+
+               internal function set PARADE_MAP_URL(hug1:String):void
+               {       //MethodID:2982, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._PARADE_MAP_URL = hug1;
+               }
+
+               public function get USERSPONSOR_MOVIE_URL():String
+               {       //MethodID:2983, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._USERSPONSOR_MOVIE_URL;
+               }
+
+               internal function set USERSPONSOR_MOVIE_URL(hug1:String):void
+               {       //MethodID:2984, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._USERSPONSOR_MOVIE_URL = hug1;
+               }
+
+               public function get THUMBPLAYER_VIEW_URL():String
+               {       //MethodID:2985, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._THUMBPLAYER_VIEW_URL;
+               }
+
+               internal function set THUMBPLAYER_VIEW_URL(hug1:String):void
+               {       //MethodID:2986, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._THUMBPLAYER_VIEW_URL = hug1;
+               }
+
+               public function get THUMBPLAYER_CONTROLLER_URL():String
+               {       //MethodID:2987, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._THUMBPLAYER_CONTROLLER_URL;
+               }
+
+               internal function set THUMBPLAYER_CONTROLLER_URL(hug1:String):void
+               {       //MethodID:2988, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._THUMBPLAYER_CONTROLLER_URL = hug1;
+               }
+
+               public function get SMILEVIDEO_URL():String
+               {       //MethodID:2989, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._SMILEVIDEO_URL;
+               }
+
+               internal function set SMILEVIDEO_URL(hug1:String):void
+               {       //MethodID:2990, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._SMILEVIDEO_URL = hug1;
+               }
+
+               public function get HOWTOUSE_URL():String
+               {       //MethodID:2991, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._HOWTOUSE_URL;
+               }
+
+               internal function set HOWTOUSE_URL(hug1:String):void
+               {       //MethodID:2992, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._HOWTOUSE_URL = hug1;
+               }
+
+               public function get RECOMMEND_ENV_URL():String
+               {       //MethodID:2993, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._RECOMMEND_ENV_URL;
+               }
+
+               internal function set RECOMMEND_ENV_URL(hug1:String):void
+               {       //MethodID:2994, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._RECOMMEND_ENV_URL = hug1;
+               }
+
+               public function get DIC_NICOVIDEO_URL():String
+               {       //MethodID:2995, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._DIC_NICOVIDEO_URL;
+               }
+
+               internal function set DIC_NICOVIDEO_URL(hug1:String):void
+               {       //MethodID:2996, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._DIC_NICOVIDEO_URL = hug1;
+               }
+
+               public function get DELETE_COMMENT_URL():String
+               {       //MethodID:2997, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._DELETE_COMMENT_URL;
+               }
+
+               internal function set DELETE_COMMENT_URL(hug1:String):void
+               {       //MethodID:2998, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._DELETE_COMMENT_URL = hug1;
+               }
+
+               public function get ENTRY_HANDBOOK_URL():String
+               {       //MethodID:2999, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._ENTRY_HANDBOOK_URL;
+               }
+
+               internal function set ENTRY_HANDBOOK_URL(hug1:String):void
+               {       //MethodID:3000, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._ENTRY_HANDBOOK_URL = hug1;
+               }
+
+               public function get BASE_URL():String
+               {       //MethodID:3001, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._BASE_URL;
+               }
+
+               internal function set BASE_URL(hug1:String):void
+               {       //MethodID:3002, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._BASE_URL = hug1;
+               }
+
+               public function get MOBILE_BASE_URL():String
+               {       //MethodID:3003, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._MOBILE_BASE_URL;
+               }
+
+               internal function set MOBILE_BASE_URL(hug1:String):void
+               {       //MethodID:3004, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._MOBILE_BASE_URL = hug1;
+               }
+
+               public function get MOBILE_WATCH_URL():String
+               {       //MethodID:3005, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._MOBILE_WATCH_URL;
+               }
+
+               internal function set MOBILE_WATCH_URL(hug1:String):void
+               {       //MethodID:3006, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._MOBILE_WATCH_URL = hug1;
+               }
+
+               public function get FLAPI_BASE_URL():String
+               {       //MethodID:3007, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._FLAPI_BASE_URL;
+               }
+
+               internal function set FLAPI_BASE_URL(hug1:String):void
+               {       //MethodID:3008, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._FLAPI_BASE_URL = hug1;
+               }
+
+               public function get RES_URL():String
+               {       //MethodID:3009, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._RES_URL;
+               }
+
+               internal function set RES_URL(hug1:String):void
+               {       //MethodID:3010, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._RES_URL = hug1;
+               }
+
+               public function get NICOVIDEO_ACCOUNT_SETTING_URL():String
+               {       //MethodID:3011, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._NICOVIDEO_ACCOUNT_SETTING_URL;
+               }
+
+               internal function set NICOVIDEO_ACCOUNT_SETTING_URL(hug1:String):void
+               {       //MethodID:3012, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._NICOVIDEO_ACCOUNT_SETTING_URL = hug1;
+               }
+
+               public function get NICOVIDEO_ACCOUNT_REGISTER_COMMON_URL():String
+               {       //MethodID:3013, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._NICOVIDEO_ACCOUNT_REGISTER_COMMON_URL;
+               }
+
+               internal function set NICOVIDEO_ACCOUNT_REGISTER_COMMON_URL(hug1:String):void
+               {       //MethodID:3014, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._NICOVIDEO_ACCOUNT_REGISTER_COMMON_URL = hug1;
+               }
+
+               public function get GETFLV_URL():String
+               {       //MethodID:3015, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GETFLV_URL;
+               }
+
+               internal function set GETFLV_URL(hug1:String):void
+               {       //MethodID:3016, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GETFLV_URL = hug1;
+               }
+
+               public function get GETPOSTKEY_URL():String
+               {       //MethodID:3017, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GETPOSTKEY_URL;
+               }
+
+               internal function set GETPOSTKEY_URL(hug1:String):void
+               {       //MethodID:3018, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GETPOSTKEY_URL = hug1;
+               }
+
+               public function get GETRELATION_URL():String
+               {       //MethodID:3019, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GETRELATION_URL;
+               }
+
+               internal function set GETRELATION_URL(hug1:String):void
+               {       //MethodID:3020, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GETRELATION_URL = hug1;
+               }
+
+               public function get GETTHUMBINFO_URL():String
+               {       //MethodID:3021, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GETTHUMBINFO_URL;
+               }
+
+               internal function set GETTHUMBINFO_URL(hug1:String):void
+               {       //MethodID:3022, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GETTHUMBINFO_URL = hug1;
+               }
+
+               public function get GETGAMERANKING_URL():String
+               {       //MethodID:3023, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GETGAMERANKING_URL;
+               }
+
+               internal function set GETGAMERANKING_URL(hug1:String):void
+               {       //MethodID:3024, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GETGAMERANKING_URL = hug1;
+               }
+
+               public function get GETENQUESTERESULT_URL():String
+               {       //MethodID:3025, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GETENQUESTERESULT_URL;
+               }
+
+               internal function set GETENQUESTERESULT_URL(hug1:String):void
+               {       //MethodID:3026, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GETENQUESTERESULT_URL = hug1;
+               }
+
+               public function get GETCONFIGURENGCLIENT_URL():String
+               {       //MethodID:3027, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GETCONFIGURENGCLIENT_URL;
+               }
+
+               internal function set GETCONFIGURENGCLIENT_URL(hug1:String):void
+               {       //MethodID:3028, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GETCONFIGURENGCLIENT_URL = hug1;
+               }
+
+               public function get THUMBWATCH_URL():String
+               {       //MethodID:3029, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._THUMBWATCH_URL;
+               }
+
+               internal function set THUMBWATCH_URL(hug1:String):void
+               {       //MethodID:3030, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._THUMBWATCH_URL = hug1;
+               }
+
+               public function get GET_CONFIGURE_NGWORD():String
+               {       //MethodID:3031, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GET_CONFIGURE_NGWORD;
+               }
+
+               internal function set GET_CONFIGURE_NGWORD(hug1:String):void
+               {       //MethodID:3032, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GET_CONFIGURE_NGWORD = hug1;
+               }
+
+               public function get GET_CLICKKEY_URL():String
+               {       //MethodID:3033, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GET_CLICKKEY_URL;
+               }
+
+               internal function set GET_CLICKKEY_URL(hug1:String):void
+               {       //MethodID:3034, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GET_CLICKKEY_URL = hug1;
+               }
+
+               public function get RULES_URL():String
+               {       //MethodID:3035, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._RULES_URL;
+               }
+
+               internal function set RULES_URL(hug1:String):void
+               {       //MethodID:3036, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._RULES_URL = hug1;
+               }
+
+               public function get NOSO_URL():String
+               {       //MethodID:3037, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._NOSO_URL;
+               }
+
+               internal function set NOSO_URL(hug1:String):void
+               {       //MethodID:3038, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._NOSO_URL = hug1;
+               }
+
+               public function get NOSO_BANNER_URL():String
+               {       //MethodID:3039, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._NOSO_BANNER_URL;
+               }
+
+               internal function set NOSO_BANNER_URL(hug1:String):void
+               {       //MethodID:3040, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._NOSO_BANNER_URL = hug1;
+               }
+
+               public function get GET_WAYBACKKEY_URL():String
+               {       //MethodID:3041, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GET_WAYBACKKEY_URL;
+               }
+
+               internal function set GET_WAYBACKKEY_URL(hug1:String):void
+               {       //MethodID:3042, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GET_WAYBACKKEY_URL = hug1;
+               }
+
+               public function get GET_DELETEKEY_URL():String
+               {       //MethodID:3043, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GET_DELETEKEY_URL;
+               }
+
+               internal function set GET_DELETEKEY_URL(hug1:String):void
+               {       //MethodID:3044, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GET_DELETEKEY_URL = hug1;
+               }
+
+               public function get GET_UPDATEKEY_URL():String
+               {       //MethodID:3045, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GET_UPDATEKEY_URL;
+               }
+
+               internal function set GET_UPDATEKEY_URL(hug1:String):void
+               {       //MethodID:3046, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GET_UPDATEKEY_URL = hug1;
+               }
+
+               public function get GET_THREADKEY_URL():String
+               {       //MethodID:3047, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GET_THREADKEY_URL;
+               }
+
+               internal function set GET_THREADKEY_URL(hug1:String):void
+               {       //MethodID:3048, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GET_THREADKEY_URL = hug1;
+               }
+
+               public function get REDIRECTOR_URL():String
+               {       //MethodID:3049, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._REDIRECTOR_URL;
+               }
+
+               internal function set REDIRECTOR_URL(hug1:String):void
+               {       //MethodID:3050, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._REDIRECTOR_URL = hug1;
+               }
+
+               public function get adAPI_URL():String
+               {       //MethodID:3051, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._adAPI_URL;
+               }
+
+               internal function set adAPI_URL(hug1:String):void
+               {       //MethodID:3052, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._adAPI_URL = hug1;
+               }
+
+               public function get REGISTERBGM_API_URL():String
+               {       //MethodID:3053, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._REGISTERBGM_API_URL;
+               }
+
+               internal function set REGISTERBGM_API_URL(hug1:String):void
+               {       //MethodID:3054, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._REGISTERBGM_API_URL = hug1;
+               }
+
+               public function get GETBGM_API_URL():String
+               {       //MethodID:3055, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GETBGM_API_URL;
+               }
+
+               internal function set GETBGM_API_URL(hug1:String):void
+               {       //MethodID:3056, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GETBGM_API_URL = hug1;
+               }
+
+               public function get GETSPONSOR_API_URL():String
+               {       //MethodID:3057, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GETSPONSOR_API_URL;
+               }
+
+               internal function set GETSPONSOR_API_URL(hug1:String):void
+               {       //MethodID:3058, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GETSPONSOR_API_URL = hug1;
+               }
+
+               public function get OTHERSPONSOR_URL():String
+               {       //MethodID:3059, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._OTHERSPONSOR_URL;
+               }
+
+               internal function set OTHERSPONSOR_URL(hug1:String):void
+               {       //MethodID:3060, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._OTHERSPONSOR_URL = hug1;
+               }
+
+               public function get LOGGER_API_URL():String
+               {       //MethodID:3061, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._LOGGER_API_URL;
+               }
+
+               internal function set LOGGER_API_URL(hug1:String):void
+               {       //MethodID:3062, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._LOGGER_API_URL = hug1;
+               }
+
+               public function get PLAYLEN_API_URL():String
+               {       //MethodID:3063, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._PLAYLEN_API_URL;
+               }
+
+               internal function set PLAYLEN_API_URL(hug1:String):void
+               {       //MethodID:3064, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._PLAYLEN_API_URL = hug1;
+               }
+
+               public function get PIZZA_URL():String
+               {       //MethodID:3065, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._PIZZA_URL;
+               }
+
+               internal function set PIZZA_URL(hug1:String):void
+               {       //MethodID:3066, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._PIZZA_URL = hug1;
+               }
+
+               public function get CLICK_COUNTER_BASE_URL():String
+               {       //MethodID:3067, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._CLICK_COUNTER_BASE_URL;
+               }
+
+               internal function set CLICK_COUNTER_BASE_URL(hug1:String):void
+               {       //MethodID:3068, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._CLICK_COUNTER_BASE_URL = hug1;
+               }
+
+               public function get HIROBA_GETPOSTKEY_URL():String
+               {       //MethodID:3069, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._HIROBA_GETPOSTKEY_URL;
+               }
+
+               internal function set HIROBA_GETPOSTKEY_URL(hug1:String):void
+               {       //MethodID:3070, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._HIROBA_GETPOSTKEY_URL = hug1;
+               }
+
+               public function get PREMIUMLEAD_ON_SLIDER_LINK_URL():String
+               {       //MethodID:3071, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._PREMIUMLEAD_ON_SLIDER_LINK_URL;
+               }
+
+               internal function set PREMIUMLEAD_ON_SLIDER_LINK_URL(hug1:String):void
+               {       //MethodID:3072, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._PREMIUMLEAD_ON_SLIDER_LINK_URL = hug1;
+               }
+
+               public function get GET_CHECKLIST_URL():String
+               {       //MethodID:3073, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GET_CHECKLIST_URL;
+               }
+
+               internal function set GET_CHECKLIST_URL(hug1:String):void
+               {       //MethodID:3074, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GET_CHECKLIST_URL = hug1;
+               }
+
+               public function get HIROBACONNECTOR_SWF_URL():String
+               {       //MethodID:3075, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._HIROBACONNECTOR_SWF_URL;
+               }
+
+               internal function set HIROBACONNECTOR_SWF_URL(hug1:String):void
+               {       //MethodID:3076, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._HIROBACONNECTOR_SWF_URL = hug1;
+               }
+
+               public function get VIDEO_MENU_URL():String
+               {       //MethodID:3077, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._VIDEO_MENU_URL;
+               }
+
+               internal function set VIDEO_MENU_URL(hug1:String):void
+               {       //MethodID:3078, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._VIDEO_MENU_URL = hug1;
+               }
+
+               public function get VIDEO_ENDER_URL():String
+               {       //MethodID:3079, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._VIDEO_ENDER_URL;
+               }
+
+               internal function set VIDEO_ENDER_URL(hug1:String):void
+               {       //MethodID:3080, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._VIDEO_ENDER_URL = hug1;
+               }
+
+               public function get MYLIST_ADD_API_URL():String
+               {       //MethodID:3081, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._MYLIST_ADD_API_URL;
+               }
+
+               internal function set MYLIST_ADD_API_URL(hug1:String):void
+               {       //MethodID:3082, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._MYLIST_ADD_API_URL = hug1;
+               }
+
+               public function get FEED_ADD_API_URL():String
+               {       //MethodID:3083, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._FEED_ADD_API_URL;
+               }
+
+               internal function set FEED_ADD_API_URL(hug1:String):void
+               {       //MethodID:3084, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._FEED_ADD_API_URL = hug1;
+               }
+
+               public function get FEED_DEL_API_URL():String
+               {       //MethodID:3085, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._FEED_DEL_API_URL;
+               }
+
+               internal function set FEED_DEL_API_URL(hug1:String):void
+               {       //MethodID:3086, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._FEED_DEL_API_URL = hug1;
+               }
+
+               public function get FEED_LIST_API_URL():String
+               {       //MethodID:3087, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._FEED_LIST_API_URL;
+               }
+
+               internal function set FEED_LIST_API_URL(hug1:String):void
+               {       //MethodID:3088, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._FEED_LIST_API_URL = hug1;
+               }
+
+               public function get MYLIST_PAGE_URL():String
+               {       //MethodID:3089, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._MYLIST_PAGE_URL;
+               }
+
+               internal function set MYLIST_PAGE_URL(hug1:String):void
+               {       //MethodID:3090, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._MYLIST_PAGE_URL = hug1;
+               }
+
+               public function get OPEN_MYLIST_URL():String
+               {       //MethodID:3091, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._OPEN_MYLIST_URL;
+               }
+
+               internal function set OPEN_MYLIST_URL(hug1:String):void
+               {       //MethodID:3092, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._OPEN_MYLIST_URL = hug1;
+               }
+
+               public function get PLUGINLOADER_SWF_URL():String
+               {       //MethodID:3093, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._PLUGINLOADER_SWF_URL;
+               }
+
+               internal function set PLUGINLOADER_SWF_URL(hug1:String):void
+               {       //MethodID:3094, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._PLUGINLOADER_SWF_URL = hug1;
+               }
+
+               public function get GET_NSKEY_URL():String
+               {       //MethodID:3095, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GET_NSKEY_URL;
+               }
+
+               internal function set GET_NSKEY_URL(hug1:String):void
+               {       //MethodID:3096, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GET_NSKEY_URL = hug1;
+               }
+
+               public function get MYLIST_COMMENT_URL():String
+               {       //MethodID:3097, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._MYLIST_COMMENT_URL;
+               }
+
+               internal function set MYLIST_COMMENT_URL(hug1:String):void
+               {       //MethodID:3098, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._MYLIST_COMMENT_URL = hug1;
+               }
+
+               public function get APPLIBAR_URL():String
+               {       //MethodID:3099, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._APPLIBAR_URL;
+               }
+
+               internal function set APPLIBAR_URL(hug1:*):void
+               {       //MethodID:3100, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._APPLIBAR_URL = hug1;
+               }
+
+               public function get JSCONNECTOR_SWF_URL():String
+               {       //MethodID:3101, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._JSCONNECTOR_SWF_URL;
+               }
+
+               internal function set JSCONNECTOR_SWF_URL(hug1:String):void
+               {       //MethodID:3102, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._JSCONNECTOR_SWF_URL = hug1;
+               }
+
+               public function get GET_PLAYLIST_URL():String
+               {       //MethodID:3103, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._GET_PLAYLIST_URL;
+               }
+
+               internal function set GET_PLAYLIST_URL(hug1:String):void
+               {       //MethodID:3104, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._GET_PLAYLIST_URL = hug1;
+               }
+
+               public function get WATCH_API_URL():String
+               {       //MethodID:3105, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._WATCH_API_URL;
+               }
+
+               internal function set WATCH_API_URL(hug1:String):void
+               {       //MethodID:3106, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._WATCH_API_URL = hug1;
+               }
+
+               public function get PLAYLIST_PAGE_BASE_URL():String
+               {       //MethodID:3107, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._PLAYLIST_PAGE_BASE_URL;
+               }
+
+               internal function set PLAYLIST_PAGE_BASE_URL(hug1:String):void
+               {       //MethodID:3108, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._PLAYLIST_PAGE_BASE_URL = hug1;
+               }
+
+               public function get LEAD_MOBILE_WATCH_API_URL():String
+               {       //MethodID:3109, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._LEAD_MOBILE_WATCH_API_URL;
+               }
+
+               internal function set LEAD_MOBILE_WATCH_API_URL(hug1:String):void
+               {       //MethodID:3110, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._LEAD_MOBILE_WATCH_API_URL = hug1;
+               }
+
+               public function get REMOCON_ALERT_SWF_URL():String
+               {       //MethodID:3111, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._REMOCON_ALERT_SWF_URL;
+               }
+
+               internal function set REMOCON_ALERT_SWF_URL(hug1:String):void
+               {       //MethodID:3112, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._REMOCON_ALERT_SWF_URL = hug1;
+               }
+
+               //constructor
+               public function NicoConfig()
+               {       //MethodID:3113, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script178■
+
+package jp.nicovideo.nicoplayer.remocon{
+
+       import jp.nicovideo.nicoplayer.remocon.method.IRemoconMethod
+
+       //■class(instance)_index:226
+       public interface IRemoconReceiver
+       {
+               //static constructor
+               public static function IRemoconReceiver$cinit()
+               {       //MethodID:3115, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function callMethod(hug1:String, hug2:Object):void;                         //MethodID:3116, dispID:0
+
+               function isDefinedMethod(hug1:String):Boolean;                              //MethodID:3117, dispID:0
+
+               function defineMethod(hug1:String, hug2:Function):IRemoconMethod;           //MethodID:3118, dispID:0
+
+               function get environment():Object;                                          //MethodID:3119, dispID:0
+
+               //constructor
+               public function IRemoconReceiver();                                         //MethodID:3120, dispID:0
+       }
+}
+
+//■script179■
+
+package jp.nicovideo.nicoplayer.remocon{
+
+       import flash.errors.IllegalOperationError
+       import jp.nicovideo.nicoplayer.remocon.method.IRemoconMethod
+       import jp.nicovideo.nicoplayer.remocon.method.RemoconMethod
+
+       //■class(instance)_index:228
+       public class RemoconReceiver extends Object implements IRemoconReceiver
+       {
+               //static constructor
+               public static function RemoconReceiver$cinit()
+               {       //MethodID:3124, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               private static var __instance:RemoconReceiver;                  //slotID:1
+
+               public static function initialize(hug1:Object, hug2:Function):void
+               {       //dispID:3, MethodID:3125, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 47
+                       if(__instance != null) throw new IllegalOperationError("RemoconReceiver.initialize: already initialized.");
+
+                       __instance = new void(new _Guard(), hug1);
+
+                       hug2(instance);
+               }
+
+               public static function get hasInitialized():Boolean
+               {       //dispID:4, MethodID:3126, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 9
+                       return (__instance != null);
+               }
+
+               public static function get instance():RemoconReceiver
+               {       //dispID:5, MethodID:3127, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 25
+                       if(__instance == null) throw new IllegalOperationError("RemoconReceiver.get instance: has not initialized yet.");
+
+                       return __instance;
+               }
+
+               //constructor
+               public function RemoconReceiver(hug1:_Guard, hug2:Object)
+               {       //MethodID:3128, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 40
+                       this._methods = {};
+                       this._env = {};
+
+                       super();
+
+                       if(hug1 == null) throw new ArgumentError("RemoconReceiver.RemoconReceiver: invalid params guard.");
+
+                       this._env = hug2;
+               }
+
+               //variables/etc.
+               private var _methods:Object;                                    //slotID:0
+               private var _env:Object;                                        //slotID:0
+
+               public function callMethod(hug1:String, hug2:Object):void
+               {       //MethodID:3129, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 50
+                       if(!this.isDefinedMethod(hug1)) throw new ArgumentError("RemoconReceiver.callMethod: is not defined method name \"" + hug1 + "\"");
+                       IRemoconMethod(this._methods[hug1]).call(hug2);
+               }
+
+               public function isDefinedMethod(hug1:String):Boolean
+               {       //MethodID:3130, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       return this._methods.hasOwnProperty(hug1);
+               }
+
+               public function defineMethod(hug1:String, hug2:Function):IRemoconMethod
+               {       //MethodID:3131, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 25
+                       var hug3:IRemoconMethod = new RemoconMethod(hug2);
+                       this._methods[hug1] = hug3;
+                       return hug3;
+               }
+
+               public function get environment():Object
+               {       //MethodID:3132, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._env;
+               }
+       }
+}
+
+
+//■class(instance)_index:227
+//private
+class _Guard extends Object
+{
+       //static constructor
+       public static function _Guard$cinit()
+       {       //MethodID:3122, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _Guard()
+       {       //MethodID:3123, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+}
+
+//■script180■
+
+package jp.nicovideo.nicoplayer.models.filter{
+
+       import jp.nicovideo.util.Functions
+
+       //■class(instance)_index:229
+       public interface IDeleteFilter
+       {
+               //static constructor
+               public static function IDeleteFilter$cinit()
+               {       //MethodID:3134, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get onFinishable():Functions;                                      //MethodID:3135, dispID:0
+
+               function finishEdit():void;                                                 //MethodID:3136, dispID:0
+
+               function set onFinishedEdit(hug1:Function):void;                            //MethodID:3137, dispID:0
+
+               function updateDeleteList(hug1:Array, hug2:String):void;                    //MethodID:3138, dispID:0
+
+               //constructor
+               public function IDeleteFilter();                                            //MethodID:3139, dispID:0
+       }
+}
+
+//■script181■
+
+package jp.nicovideo.nicoplayer.models.filter{
+
+       import jp.nicovideo.nicoplayer.models.comment.CommentDeleteStatus
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       import jp.nicovideo.nicoplayer.models.comment.IEditableCommentList
+       import jp.nicovideo.util.Functions
+       import jp.nicovideo.util.events.EventBarrier
+       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:230
+       public class DeleteFilter extends Object implements IDeleteFilter
+       {
+               //static constructor
+               public static function DeleteFilter$cinit()
+               {       //MethodID:3141, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function DeleteFilter(hug1:Object, hug2:Boolean=false)
+               {       //MethodID:3142, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 43
+                       this.originalDeleteList = {};
+                       this.newDeleteList = {};
+                       this.finishedList = [];
+                       this.__onFinishable = new Functions();
+
+                       super();
+
+                       this.__commentListContainer = hug1;
+                       this.__isEditMode = hug2;
+               }
+
+               //variables/etc.
+               private var __isEditMode:Boolean = false;                       //slotID:0
+               private var __onFinishedEdit:Function;                          //slotID:0
+               private var __isFinishable:Boolean = false;                     //slotID:0
+               private var __commentListContainer:Object;                      //slotID:0
+               private var originalDeleteList:Object;                          //slotID:0
+               private var newDeleteList:Object;                               //slotID:0
+               private var finishedList:Array;                                 //slotID:0
+               private var _listName:String;                                   //slotID:0
+               private var __onFinishable:Functions;                           //slotID:0
+               private var _lockedComment:LockedComment;                       //slotID:0
+
+               public function get onFinishable():Functions
+               {       //MethodID:3143, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__onFinishable;
+               }
+
+               public function finishEdit():void
+               {       //MethodID:3146, LocalCount= 6 , MaxScope= 2, MaxStack= 5, CodeLength= 572
+                       internal var barrier:EventBarrier;                              //slotID:1
+                       internal var allSucceeded:Boolean;                              //slotID:2
+                       internal var listName:String;                                   //slotID:3
+                       internal var deleteList:Array;                                  //slotID:4
+                       internal var undeleteList:Array;                                //slotID:5
+                       internal var resNo:uint;                                        //slotID:6
+
+                       allSucceeded = false;
+                       listName = null;
+                       deleteList = null;
+                       undeleteList = null;
+                       resNo = 0;
+
+                       if(!this.__isEditMode) throw new Error("DeleteFilter.finishEdit: is not edit mode.");
+
+                       if(!this.__isFinishable) throw new Error("DeleteFilter.finishEdit: is not able to finish editing.");
+
+                       barrier = new EventBarrier();
+                       allSucceeded = true;
+
+                       for(listName in this.__commentListContainer){
+                               if(!this.__commentListContainer[listName]) break;
+
+                               deleteList = [];
+                               undeleteList = [];
+
+                               if(this.newDeleteList[listName] && (this.newDeleteList[listName].length > 0)){
+                                       for each(resNo in this.newDeleteList[listName]){
+                                               if(this.originalDeleteList[listName]){
+                                                       if(this.originalDeleteList[listName].indexOf(resNo) == (-1)) deleteList.push(resNo);
+                                               }
+                                       }
+                               }
+
+                               if(this.originalDeleteList[listName] && (this.originalDeleteList[listName].length > 0)){
+                                       for each(resNo in this.originalDeleteList[listName]){
+                                               if(this.newDeleteList[listName]){
+                                                       if(this.newDeleteList[listName].indexOf(resNo) == (-1)) undeleteList.push(resNo);
+                                               }
+                                       }
+                               }
+
+                               if((deleteList.length == 0) && (undeleteList.length == 0)){
+                               }else{
+                                       deleteList = this._lockedComment.convertOriginalResNo(listName, deleteList);
+                                       undeleteList = this._lockedComment.convertOriginalResNo(listName, undeleteList);
+
+                                       IEditableCommentList(this.__commentListContainer[listName]).editCommentList(deleteList, undeleteList, barrier.bind(function(hug1:Boolean):void{ //MethodID:3144, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 19
+                                               allSucceeded = (allSucceeded && hug1);
+                                       }));
+                               }
+                       }
+
+                       this._lockedComment.saveLockedComment();
+                       barrier.finish(function():void{ //MethodID:3145, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 14
+                               __onFinishedEdit.apply(null, [allSucceeded]);
+                       });
+               }
+
+               public function set onFinishedEdit(hug1:Function):void
+               {       //MethodID:3147, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 48
+                       if(!this.__isEditMode) throw new Error("DeleteFilter.finishEdit: is not edit mode.");
+
+                       this.__onFinishedEdit = hug1;
+
+                       if(!this.__isFinishable){
+                               this.__isFinishable = true;
+
+                               this.onFinishable.apply();
+                       }
+               }
+
+               public function set lockedComment(hug1:LockedComment):void
+               {       //MethodID:3148, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._lockedComment = hug1;
+               }
+
+               public function updateDeleteList(hug1:Array, hug2:String):void
+               {       //MethodID:3149, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 79
+                       if(!this.__isEditMode) throw new Error("DeleteFilter.updateDeleteList: is not edit-mode.");
+
+                       if(!this.__commentListContainer.hasOwnProperty(hug2)) throw new Error("DeleteFilter.updateDeleteList: invalid listName.");
+
+                       this.newDeleteList[hug2] = (this._lockedComment ? this._lockedComment.filterDeleteComment(hug1, hug2) : hug1);
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdated(hug1:Array, hug2:Array, hug3:Boolean, hug4:String):EventResult
+               {       //MethodID:3151, LocalCount= 8 , MaxScope= 2, MaxStack= 5, CodeLength= 397
+                       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 buf:Array;                                         //slotID:5
+                       internal var comment:IComment;                                  //slotID:6
+                       internal var isLockedComment:Function;                          //slotID:7
+                       internal var locked:Array;                                      //slotID:8
+                       internal var comment4Search:IComment;                           //slotID:9
+
+                       comment = null;
+                       locked = null;
+                       comment4Search = null;
+                       addList = hug1;
+                       removeList = hug2;
+                       allClear = hug3;
+                       listName = hug4;
+                       isLockedComment = function(hug1:IComment):Boolean{      //MethodID:3150, LocalCount= 6 , MaxScope= 0, MaxStack= 2, CodeLength= 57
+                               var hug3:IComment = null;
+                               var hug2:Number = hug1.resNo;
+
+                               for each(hug3 in locked){
+                                       if(hug3.resNo == hug2) return true;
+                               }
+
+                               return false;
+                       };
+
+                       if(this.__isEditMode){
+                               locked = [];
+
+                               if(this._lockedComment) locked = this._lockedComment.getLockedList(listName);
+
+                               if(!this.originalDeleteList[listName]){
+                                       this.originalDeleteList[listName] = [];
+
+                                       for each(comment4Search in addList){
+                                               if((comment4Search.deleted != CommentDeleteStatus.NON) && !isLockedComment(comment4Search)) this.originalDeleteList[listName].push(comment4Search.resNo);
+                                       }
+
+                                       if(this.__onFinishedEdit != null){
+                                               this.__isFinishable = true;
+
+                                               this.onFinishable.apply();
+                                       }
+                               }
+
+                               return EventResult.THROUGH;
+                       }
+
+                       buf = [];
+
+                       for each(comment in addList){
+                               if((comment.deleted == 0) && (comment.isTrunk || !comment.command.patissier)){
+                                       buf.push(comment);
+                               }else{
+                                       removeList.push(comment);
+                               }
+                       }
+
+                       return EventResult.replace([buf, removeList, allClear, listName]);
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get originalDeleteList():Object
+               {       //MethodID:3152, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.originalDeleteList;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get newDeleteList():Object
+               {       //MethodID:3153, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.newDeleteList;
+               }
+       }
+}
+
+//■script182■
+
+package jp.nicovideo.nicoplayer.models.playlist{
+
+       //■class(instance)_index:231
+       public interface IPlaylist
+       {
+               //static constructor
+               public static function IPlaylist$cinit()
+               {       //MethodID:3155, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function getVideoInfo(hug1:String):VideoInfo;                               //MethodID:3156, dispID:0
+
+               function getNextVideoInfo(hug1:String):VideoInfo;                           //MethodID:3157, dispID:0
+
+               function getPrevVideoInfo(hug1:String):VideoInfo;                           //MethodID:3158, dispID:0
+
+               function sort(hug1:uint, hug2:Boolean=false):void;                          //MethodID:3159, dispID:0
+
+               function setErrorInfo(hug1:String, hug2:String):void;                       //MethodID:3160, dispID:0
+
+               function get list():Array;                                                  //MethodID:3161, dispID:0
+
+               function get id():uint;                                                     //MethodID:3162, dispID:0
+
+               function get name():String;                                                 //MethodID:3163, dispID:0
+
+               function get description():String;                                          //MethodID:3164, dispID:0
+
+               function get defaultSort():uint;                                            //MethodID:3165, dispID:0
+
+               function get token():String;                                                //MethodID:3166, dispID:0
+
+               function set token(hug1:String):void;                                       //MethodID:3167, dispID:0
+
+               function get numericSortItems():Array;                                      //MethodID:3168, dispID:0
+
+               function get descendSortItems():Array;                                      //MethodID:3169, dispID:0
+
+               //constructor
+               public function IPlaylist();                                                //MethodID:3170, dispID:0
+       }
+}
+
+//■script183■
+
+package jp.nicovideo.nicoplayer.models.playlist{
+
+       import com.adobe.serialization.json.JSON
+       import jp.nicovideo.nicoplayer.models.SystemMessage
+       import jp.nicovideo.nicoplayer.models.api.InitializeInfo
+       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:232
+       public class Playlist extends Object implements IPlaylist
+       {
+               //static constructor
+               public static function Playlist$cinit()
+               {       //MethodID:3172, LocalCount= 1 , MaxScope= 1, MaxStack= 15, CodeLength= 157
+                       _NUMERIC_SORT_ITEMS = [PlaylistSortConstants.CREATE_TIME_ASCEND, PlaylistSortConstants.CREATE_TIME_DESCEND, PlaylistSortConstants.FIRST_RETREVE_ASCEND, PlaylistSortConstants.FIRST_RETREVE_DESCEND, PlaylistSortConstants.VIEW_COUNTER_ASCEND, PlaylistSortConstants.VIEW_COUNTER_DESCEND, PlaylistSortConstants.UPDATE_TIME_ASCEND, PlaylistSortConstants.UPDATE_TIME_DESCEND, PlaylistSortConstants.NUM_RES_ASCEND, PlaylistSortConstants.NUM_RES_DESCEND, PlaylistSortConstants.MYLIST_COUNTER_ASCEND, PlaylistSortConstants.MYLIST_COUNTER_DESCEND, PlaylistSortConstants.LENGTH_SECONDS_ASCEND, PlaylistSortConstants.LENGTH_SECONDS_DESCEND];
+                       _DESCEND_SORT_ITEMS = [PlaylistSortConstants.CREATE_TIME_DESCEND, PlaylistSortConstants.MYLIST_COMMENT_DESCEND, PlaylistSortConstants.FIRST_RETREVE_DESCEND, PlaylistSortConstants.LENGTH_SECONDS_DESCEND, PlaylistSortConstants.MYLIST_COUNTER_DESCEND, PlaylistSortConstants.NUM_RES_DESCEND, PlaylistSortConstants.TITLE_DESCEND, PlaylistSortConstants.UPDATE_TIME_DESCEND, PlaylistSortConstants.VIEW_COUNTER_DESCEND];
+               }
+
+               //static variables/etc.
+               private static const _NUMERIC_SORT_ITEMS:Array;                 //slotID:1
+               private static const _DESCEND_SORT_ITEMS:Array;                 //slotID:2
+
+               //constructor
+               public function Playlist(hug1:String, hug2:Object, hug3:Number, hug4:Function)
+               {       //MethodID:3175, LocalCount= 6 , MaxScope= 2, MaxStack= 4, CodeLength= 78
+                       internal var apiURL:String;                                     //slotID:1
+                       internal var apiParam:Object;                                   //slotID:2
+                       internal var defaultSort:Number;                                //slotID:3
+                       internal var callbackFunc:Function;                             //slotID:4
+
+                       apiURL = hug1;
+                       apiParam = hug2;
+                       defaultSort = hug3;
+                       callbackFunc = hug4;
+                       this.onPlaylistSorted = new Functions();
+                       this.onPlaylistItemUpdated = new Functions();
+                       this._systemMessage = SystemMessage.instance;
+
+                       super();
+                       HTTPUtils.loadJSON(function(hug1:Object):void{  //MethodID:3174, LocalCount= 5 , MaxScope= 1, MaxStack= 17, CodeLength= 646
+                               internal var obj:Object;                                        //slotID:1
+                               internal var playlistInfo:Object;                               //slotID:2
+                               internal var items:Object;                                      //slotID:3
+                               internal var item:Object;                                       //slotID:4
+                               internal var videoInfo:VideoInfo;                               //slotID:5
+
+                               item = null;
+                               videoInfo = null;
+                               obj = hug1;
+
+                               if(!obj || (obj.status == "ng")){
+                                       callbackFunc(false);
+
+                                       return;
+                               }
+
+                               _initializeInfo = InitializeInfo.init(obj.user_id, obj.nickname, (obj.is_premium == "1"), parseInt(obj.ng_rv, 10), (obj.ng_maintenance == "1"), obj.feedrev, ((obj.rpu != null) ? JSON.decode(obj.rpu) : null));
+                               playlistInfo = obj.playlist;
+                               _id = playlistInfo.id;
+                               _name = playlistInfo.name;
+                               _description = playlistInfo.description;
+
+                               if(obj.playlist && obj.playlist.default_sort) _ownerSort = uint(obj.playlist.default_sort);
+
+                               if(isNaN(defaultSort)){
+                                       _defaultSort = _ownerSort;
+                               }else if(defaultSort || (defaultSort == 0)){
+                                       _defaultSort = uint(defaultSort);
+                               }
+
+                               _token = obj.playlist_token;
+                               items = obj.items;
+                               _list = [];
+
+                               for each(item in items){
+                                       videoInfo = new VideoInfo(item.title, item.description, item.mylist_comment, item.thread_id, item.video_id, item.watch_id, item.thumbnail_url, item.view_counter, item.num_res, item.mylist_counter, item.deleted, new Date(item.item_update_time), new Date(item.first_retrieve), new Date(item.create_time), item.length_seconds);
+
+                                       if(videoInfo.deleted == 8){
+                                               videoInfo.errorMessage = PlaylistErrorManager.VIDEO_ERROR;
+                                       }else if(videoInfo.deleted){
+                                               videoInfo.errorMessage = PlaylistErrorManager.NO_VIDEO;
+                                       }
+
+                                       if(item.thread_id) list.push(videoInfo);
+                               }
+
+                               sort(_ownerSort, true);
+                               _list.forEach(function(hug1:VideoInfo, hug2:int, hug3:Array):void{      //MethodID:3173, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 9
+                                       hug1.ownersIndex = (hug2 + 1);
+                               });
+                               sort(_defaultSort);
+                               callbackFunc(true);
+                       }, apiURL, apiParam);
+               }
+
+               //variables/etc.
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlaylistSorted:Functions;//slotID:0
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_sender) const onPlaylistItemUpdated:Functions;//slotID:0
+               private var _list:Array;                                        //slotID:0
+               private var _id:uint;                                           //slotID:0
+               private var _name:String;                                       //slotID:0
+               private var _description:String;                                //slotID:0
+               private var _defaultSort:uint = 1;                              //slotID:0
+               private var _ownerSort:uint = 1;                                //slotID:0
+               private var _token:String;                                      //slotID:0
+               private var _initializeInfo:InitializeInfo;                     //slotID:0
+               private var _systemMessage:SystemMessage;                       //slotID:0
+
+               public function getVideoInfo(hug1:String):VideoInfo
+               {       //MethodID:3177, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 34
+                       internal var threadID:String;                                   //slotID:1
+                       internal var videoInfo:VideoInfo;                               //slotID:2
+
+                       videoInfo = null;
+                       threadID = hug1;
+
+                       this.list.forEach(function(hug1:VideoInfo, hug2:int, hug3:Array):void{  //MethodID:3176, LocalCount= 4 , MaxScope= 0, MaxStack= 2, CodeLength= 20
+                               if(hug1.threadID == threadID){
+                                       videoInfo = hug1;
+                                       return;
+                               }
+                       });
+
+                       return videoInfo;
+               }
+
+               public function getNextVideoInfo(hug1:String):VideoInfo
+               {       //MethodID:3178, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 53
+                       var hug2:VideoInfo = this.getVideoInfo(hug1);
+                       var hug3:int = (this.list.indexOf(hug2) + 1);
+
+                       if(hug3 >= this.list.length) return null;
+
+                       return VideoInfo(this.list[hug3]);
+               }
+
+               public function getPrevVideoInfo(hug1:String):VideoInfo
+               {       //MethodID:3179, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 46
+                       var hug2:VideoInfo = this.getVideoInfo(hug1);
+                       var hug3:int = (this.list.indexOf(hug2) - 1);
+
+                       if(hug3 < 0) return null;
+
+                       return VideoInfo(this.list[hug3]);
+               }
+
+               public function setErrorInfo(hug1:String, hug2:String):void
+               {       //MethodID:3180, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 43
+                       var hug3:VideoInfo = this.getVideoInfo(hug1);
+                       hug3.errorMessage = hug2;
+
+                       onPlaylistItemUpdated.apply(this._list);
+               }
+
+               public function sort(hug1:uint, hug2:Boolean=false):void
+               {       //MethodID:3181, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 604
+                       var hug3:String = null;
+                       var hug4:uint = ((_NUMERIC_SORT_ITEMS.indexOf(hug1) != (-1)) ? Array.NUMERIC : 0);
+                       var hug5:uint = ((_DESCEND_SORT_ITEMS.indexOf(hug1) != (-1)) ? Array.DESCENDING : 0);
+                       var hug6:uint = hug1;
+
+                       switch(hug6){
+                       case PlaylistSortConstants.CREATE_TIME_ASCEND:
+                       case PlaylistSortConstants.CREATE_TIME_DESCEND:
+                               hug3 = "createTime";
+                               break;
+                       case PlaylistSortConstants.MYLIST_COMMENT_ASCEND:
+                       case PlaylistSortConstants.MYLIST_COMMENT_DESCEND:
+                               hug3 = "mylistComment";
+                               break;
+                       case PlaylistSortConstants.FIRST_RETREVE_ASCEND:
+                       case PlaylistSortConstants.FIRST_RETREVE_DESCEND:
+                               hug3 = "firstRetrieve";
+                               break;
+                       case PlaylistSortConstants.LENGTH_SECONDS_ASCEND:
+                       case PlaylistSortConstants.LENGTH_SECONDS_DESCEND:
+                               hug3 = "lengthSeconds";
+                               break;
+                       case PlaylistSortConstants.MYLIST_COUNTER_ASCEND:
+                       case PlaylistSortConstants.MYLIST_COUNTER_DESCEND:
+                               hug3 = "mylistCounter";
+                               break;
+                       case PlaylistSortConstants.NUM_RES_ASCEND:
+                       case PlaylistSortConstants.NUM_RES_DESCEND:
+                               hug3 = "numRes";
+                               break;
+                       case PlaylistSortConstants.TITLE_ASCEND:
+                       case PlaylistSortConstants.TITLE_DESCEND:
+                               hug3 = "title";
+                               break;
+                       case PlaylistSortConstants.UPDATE_TIME_ASCEND:
+                       case PlaylistSortConstants.UPDATE_TIME_DESCEND:
+                               hug3 = "itemUpdateTime";
+                               break;
+                       case PlaylistSortConstants.VIEW_COUNTER_ASCEND:
+                       case PlaylistSortConstants.VIEW_COUNTER_DESCEND:
+                               hug3 = "viewCounter";
+                               break;
+                       default:
+                               break;
+                       }
+
+                       this._list.sortOn(hug3, (hug4 | hug5));
+
+                       if(!hug2) onPlaylistSorted.apply(this._list);
+               }
+
+               public function get list():Array
+               {       //MethodID:3182, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._list;
+               }
+
+               public function get id():uint
+               {       //MethodID:3183, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._id;
+               }
+
+               public function get name():String
+               {       //MethodID:3184, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._name;
+               }
+
+               public function get description():String
+               {       //MethodID:3185, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._description;
+               }
+
+               public function get defaultSort():uint
+               {       //MethodID:3186, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._defaultSort;
+               }
+
+               public function get token():String
+               {       //MethodID:3187, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._token;
+               }
+
+               public function set token(hug1:String):void
+               {       //MethodID:3188, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._token = hug1;
+               }
+
+               public function get numericSortItems():Array
+               {       //MethodID:3189, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       return _NUMERIC_SORT_ITEMS;
+               }
+
+               public function get descendSortItems():Array
+               {       //MethodID:3190, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       return _DESCEND_SORT_ITEMS;
+               }
+       }
+}
+
+//■script184■
+
+package jp.nicovideo.nicoplayer.tpls.shutter{
+
+       //■class(instance)_index:233
+       public class CommentShutterConstants extends Object
+       {
+               //static constructor
+               public static function CommentShutterConstants$cinit()
+               {       //MethodID:3192, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 332
+                       _END_OF_ENUM = 0;
+                       SHUTTER_INITIALIZING = (_END_OF_ENUM++);
+                       SHUTTER_COMMENT_LOADING = (_END_OF_ENUM++);
+                       SHUTTER_NICOS_COMMENT_DISABLED = (_END_OF_ENUM++);
+                       SHUTTER_NICOS_ATPAUSE = (_END_OF_ENUM++);
+                       SHUTTER_NICOWARI = (_END_OF_ENUM++);
+                       SHUTTER_WAYBACK = (_END_OF_ENUM++);
+                       SHUTTER_MYMEMORY = (_END_OF_ENUM++);
+                       SHUTTER_CHANNEL_COMMUNITY = (_END_OF_ENUM++);
+                       SHUTTER_NOCOMMENT = (_END_OF_ENUM++);
+                       SHUTTER_NOSHAREDOBJECT = (_END_OF_ENUM++);
+                       SHUTTER_LOCKED = (_END_OF_ENUM++);
+                       SHUTTER_OTHER = (_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_INITIALIZING:int;                   //slotID:2
+               public static const SHUTTER_COMMENT_LOADING:int;                //slotID:3
+               public static const SHUTTER_NICOS_COMMENT_DISABLED:int;         //slotID:4
+               public static const SHUTTER_NICOS_ATPAUSE:int;                  //slotID:5
+               public static const SHUTTER_NICOWARI:int;                       //slotID:6
+               public static const SHUTTER_WAYBACK:int;                        //slotID:7
+               public static const SHUTTER_MYMEMORY:int;                       //slotID:8
+               public static const SHUTTER_CHANNEL_COMMUNITY:int;              //slotID:9
+               public static const SHUTTER_NOCOMMENT:int;                      //slotID:10
+               public static const SHUTTER_NOSHAREDOBJECT:int;                 //slotID:11
+               public static const SHUTTER_LOCKED:int;                         //slotID:12
+               public static const SHUTTER_OTHER:int;                          //slotID:13
+               public static const END_OF_ENUM:int;                            //slotID:14
+
+               //constructor
+               public function CommentShutterConstants()
+               {       //MethodID:3193, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script185■
+
+package jp.nicovideo.nicoplayer.remocon{
+
+       import flash.events.Event
+       import flash.events.EventDispatcher
+
+       //■class(instance)_index:234
+       public class RemoconState extends EventDispatcher
+       {
+               //static constructor
+               public static function RemoconState$cinit()
+               {       //MethodID:3195, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 120
+                       MAINTENANCE = "Maintenance";
+                       INITIALIZE = "Initialize";
+                       UNEXECUTABLE = "Unexecutable";
+                       MANY_CONNECTION = "ManyConnection";
+                       MAX_CONNECTION = "MaxConnection";
+                       STANBY = "Standby";
+                       CONNECTION = "Connection";
+                       RECONNECTION = "Reconnection";
+                       SEARCH = "Search";
+                       COMPLETE = "Complete";
+                       ERROR = "Error";
+                       CLOSE = "Close";
+                       _getInstance = function():RemoconState{ //MethodID:3196, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 50
+                               internal var obj:RemoconState;                                  //slotID:1
+
+                               obj = null;
+                               obj = new RemoconState(new _Guard());
+                               _getInstance = function():RemoconState{ //MethodID:3197, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 4
+                                       return obj;
+                               };
+
+                               return _getInstance();
+                       };
+               }
+
+               //static variables/etc.
+               public static const MAINTENANCE:String = "Maintenance";         //slotID:1
+               public static const INITIALIZE:String = "Initialize";           //slotID:2
+               public static const UNEXECUTABLE:String = "Unexecutable";       //slotID:3
+               public static const MANY_CONNECTION:String = "ManyConnection";  //slotID:4
+               public static const MAX_CONNECTION:String = "MaxConnection";    //slotID:5
+               public static const STANBY:String = "Standby";                  //slotID:6
+               public static const CONNECTION:String = "Connection";           //slotID:7
+               public static const RECONNECTION:String = "Reconnection";       //slotID:8
+               public static const SEARCH:String = "Search";                   //slotID:9
+               public static const COMPLETE:String = "Complete";               //slotID:10
+               public static const ERROR:String = "Error";                     //slotID:11
+               public static const CLOSE:String = "Close";                     //slotID:12
+               private static var _getInstance:Function;                       //slotID:13
+
+               public static function get instance():RemoconState
+               {       //dispID:3, MethodID:3198, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return _getInstance();
+               }
+
+               //constructor
+               public function RemoconState(hug1:_Guard)
+               {       //MethodID:3199, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 23
+                       super();
+
+                       if(hug1 == null) throw new ArgumentError("RemoconState.RemoconState: invalid params guard.");
+               }
+
+               //variables/etc.
+               private var _isConnecting:Boolean = false;                      //slotID:0
+
+               public function updateState(hug1:String):void
+               {       //MethodID:3200, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 67
+                       if(hug1 == COMPLETE){
+                               this._isConnecting = true;
+
+                               dispatchEvent(new Event(Event.CONNECT));
+                       }else if(this._isConnecting){
+                               this._isConnecting = false;
+
+                               dispatchEvent(new Event(Event.CLOSE));
+                       }
+               }
+
+               public function get isConnecting():Boolean
+               {       //MethodID:3201, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isConnecting;
+               }
+       }
+}
+
+
+//■class(instance)_index:235
+//private
+class _Guard extends Object
+{
+       //static constructor
+       public static function _Guard$cinit()
+       {       //MethodID:3202, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _Guard()
+       {       //MethodID:3203, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+}
+
+//■script186■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       //■class(instance)_index:236
+       public class CommentListPublicStatus extends Object
+       {
+               //static constructor
+               public static function CommentListPublicStatus$cinit()
+               {       //MethodID:3205, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       ALL_DISABLE = "all_disabled";
+                       ALL_ENABLE = "all_enabled";
+                       MEMBER_ONLY = "member_only";
+               }
+
+               //static variables/etc.
+               public static const ALL_DISABLE:String = "all_disabled";        //slotID:1
+               public static const ALL_ENABLE:String = "all_enabled";          //slotID:2
+               public static const MEMBER_ONLY:String = "member_only";         //slotID:3
+
+               //constructor
+               public function CommentListPublicStatus()
+               {       //MethodID:3206, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script187■
+
+package jp.nicovideo.nicoplayer.models.relation{
+
+       //■class(instance)_index:237
+       public interface IRecommendListOptions
+       {
+               //static constructor
+               public static function IRecommendListOptions$cinit()
+               {       //MethodID:3208, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get page():uint;                                                   //MethodID:3209, dispID:0
+
+               function get order():String;                                                //MethodID:3210, dispID:0
+
+               function get sort():String;                                                 //MethodID:3211, dispID:0
+
+               //constructor
+               public function IRecommendListOptions();                                    //MethodID:3212, dispID:0
+       }
+}
+
+//■script188■
+
+package jp.nicovideo.nicoplayer.models{
+
+       import jp.nicovideo.nicoplayer.models.relation.IVideoenderInfo
+       import jp.nicovideo.util.Functions
+
+       //■class(instance)_index:238
+       public interface IRelatedVideoList
+       {
+               //static constructor
+               public static function IRelatedVideoList$cinit()
+               {       //MethodID:3214, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function loadRecommendedList(hug1:String=null, hug2:String=null, hug3:uint=1):void;//MethodID:3215, dispID:0
+
+               function loadVideoenderInfo():void;                                         //MethodID:3216, dispID:0
+
+               function loadWhole():void;                                                  //MethodID:3217, dispID:0
+
+               function get hasRecommendedListTotaled():Boolean;                           //MethodID:3218, dispID:0
+
+               function get onRecommendedListLoaded():Functions;                           //MethodID:3219, dispID:0
+
+               function get isRecommendeListLoading():Boolean;                             //MethodID:3220, dispID:0
+
+               function get isVideoenderInfoLoading():Boolean;                             //MethodID:3221, dispID:0
+
+               function get onVideoenderInfoLoaded():Functions;                            //MethodID:3222, dispID:0
+
+               function get videoenderInfo():IVideoenderInfo;                              //MethodID:3223, dispID:0
+
+               //constructor
+               public function IRelatedVideoList();                                        //MethodID:3224, dispID:0
+       }
+}
+
+//■script189■
+
+package jp.nicovideo.nicoplayer.models{
+
+       import __AS3__.vec.Vector
+       import flash.errors.IllegalOperationError
+       import jp.nicovideo.nicoplayer.models.api.IGetRelation
+       import jp.nicovideo.nicoplayer.models.api.relation.GetRelationTarget
+       import jp.nicovideo.nicoplayer.models.api.relation.IGetRelationResult
+       import jp.nicovideo.nicoplayer.models.api.relation.IOwnerOtherVideo
+       import jp.nicovideo.nicoplayer.models.relation.IVideoenderInfo
+       import jp.nicovideo.nicoplayer.models.relation.VideoenderInfo
+       import jp.nicovideo.util.Functions
+
+       //■class(instance)_index:239
+       public class RelatedVideoList extends Object implements IRelatedVideoList
+       {
+               //static constructor
+               public static function RelatedVideoList$cinit()
+               {       //MethodID:3226, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function RelatedVideoList(hug1:IGetRelation, hug2:Boolean)
+               {       //MethodID:3227, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 35
+                       this._ON_RECOMMENDED_LIST_LOADED = new Functions();
+                       this._ON_VIDEOENDER_INFO_LOADED = new Functions();
+
+                       super();
+
+                       this._getRelation = hug1;
+                       this._hasRecommendedListTotaled = !hug2;
+               }
+
+               //variables/etc.
+               private const _ON_RECOMMENDED_LIST_LOADED:Functions;            //slotID:0
+               private const _ON_VIDEOENDER_INFO_LOADED:Functions;             //slotID:0
+               private var _hasRecommendedListTotaled:Boolean;                 //slotID:0
+               private var _isRecommendedListLoading:Boolean = false;          //slotID:0
+               private var _isVideoenderInfoLoading:Boolean = false;           //slotID:0
+               private var _nextRecommendedListParameters:_RequestParameters;  //slotID:0
+               private var _getRelation:IGetRelation;                          //slotID:0
+               private var _videoInfo:VideoenderInfo;                          //slotID:0
+               private var _hasRecommendedListLoadCalled:Boolean;              //slotID:0
+
+               public function loadRecommendedList(hug1:String=null, hug2:String=null, hug3:uint=1):void
+               {       //MethodID:3229, LocalCount= 5 , MaxScope= 2, MaxStack= 8, CodeLength= 156
+                       internal var sort:String = null;                                //slotID:1
+                       internal var order:String = null;                               //slotID:2
+                       internal var page:uint = 1;                                     //slotID:3
+                       internal var params:_RequestParameters;                         //slotID:4
+
+                       params = null;
+                       sort = hug1;
+                       order = hug2;
+                       page = hug3;
+
+                       if(!this._hasRecommendedListTotaled) throw new Error("RelatedVideoList.load: has not totaled related videos.");
+
+                       params = new _RequestParameters(sort, order, page);
+
+                       if(this._isRecommendedListLoading){
+                               this._nextRecommendedListParameters = params;
+                               return;
+                       }
+
+                       this._isRecommendedListLoading = true;
+                       this._hasRecommendedListLoadCalled = true;
+
+                       this._getRelation.load(function(hug1:Boolean, hug2:IGetRelationResult):void{    //MethodID:3228, LocalCount= 4 , MaxScope= 0, MaxStack= 4, CodeLength= 81
+                               var hug3:_RequestParameters = null;
+                               _isRecommendedListLoading = false;
+
+                               onRecommendedListLoaded.apply(hug1, (hug1 ? hug2.recommendedVideoList : null), params);
+
+                               if(_nextRecommendedListParameters != null){
+                                       hug3 = _nextRecommendedListParameters;
+                                       _nextRecommendedListParameters = null;
+
+                                       loadRecommendedList(hug3.sort, hug3.order, hug3.page);
+                               }
+                       }, Vector.<String>([GetRelationTarget.RELATED_VIDEO]), null, 0, params.sort, params.order, params.page);
+               }
+
+               public function loadVideoenderInfo():void
+               {       //MethodID:3231, LocalCount= 2 , MaxScope= 2, MaxStack= 8, CodeLength= 100
+                       if(this._isVideoenderInfoLoading) throw new IllegalOperationError("RelatedVideoList.loadVideoenderInfo: now loading.");
+
+                       this._isVideoenderInfoLoading = true;
+
+                       this._getRelation.load(function(hug1:Boolean, hug2:IGetRelationResult):void{    //MethodID:3230, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 29
+                               if(hug1) _setVideoenderInfo(hug2);
+
+                               _isVideoenderInfoLoading = false;
+
+                               onVideoenderInfoLoaded.apply(hug1);
+                       }, Vector.<String>([GetRelationTarget.LIVE_DJ]), Vector.<String>([GetRelationTarget.OWNER_VIDEO, GetRelationTarget.RELATED_VIDEO]), 1, RelatedConstants.SORT_RELATEDPOINT, RelatedConstants.ORDER_DOWN, 1);
+               }
+
+               public function loadWhole():void
+               {       //MethodID:3233, LocalCount= 3 , MaxScope= 2, MaxStack= 8, CodeLength= 221
+                       internal var targets:Vector.<String>;                           //slotID:1
+                       internal var params:_RequestParameters;                         //slotID:2
+
+                       targets = null;
+                       params = null;
+                       targets = Vector.<String>([]);
+
+                       if(this._hasRecommendedListTotaled && !this._hasRecommendedListLoadCalled && !this._isRecommendedListLoading) targets.push(GetRelationTarget.RELATED_VIDEO);
+
+                       if((this._videoInfo == null) && !this._isVideoenderInfoLoading) targets.push(GetRelationTarget.LIVE_DJ, GetRelationTarget.OWNER_VIDEO);
+
+                       if(targets.length == 0) return;
+
+                       this._isRecommendedListLoading = this._isVideoenderInfoLoading = true;
+                       params = new _RequestParameters(RelatedConstants.SORT_RELATEDPOINT, RelatedConstants.ORDER_DOWN, 1);
+
+                       this._getRelation.load(function(hug1:Boolean, hug2:IGetRelationResult):void{    //MethodID:3232, LocalCount= 5 , MaxScope= 3, MaxStack= 4, CodeLength= 169
+                               internal var succeeded:Boolean;                                 //slotID:1
+                               internal var result:IGetRelationResult;                         //slotID:2
+
+                               succeeded = hug1;
+                               result = hug2;
+                               _isRecommendedListLoading = _isVideoenderInfoLoading = false;
+
+                               if(succeeded){
+                                       try{
+                                               if((targets.indexOf(GetRelationTarget.OWNER_VIDEO) != (-1)) && (targets.indexOf(GetRelationTarget.LIVE_DJ) != (-1))) _setVideoenderInfo(result);
+                                       }
+                                       catch(error:ArgumentError){
+                                               succeeded = false;
+                                       }
+                               }
+
+                               onVideoenderInfoLoaded.apply(succeeded);
+                               onRecommendedListLoaded.apply(succeeded, (succeeded ? result.recommendedVideoList : null), params);
+                       }, targets, null, 0, params.sort, params.order, params.page);
+               }
+
+               private function _setVideoenderInfo(hug1:IGetRelationResult):void
+               {       //MethodID:3234, LocalCount= 9 , MaxScope= 1, MaxStack= 9, CodeLength= 229
+                       var hug2:Vector.<IOwnerOtherVideo> = null;
+                       var hug3:String = null;
+                       var hug4:String = null;
+                       var hug5:String = null;
+                       var hug6:String = null;
+                       var hug7:String = null;
+                       var hug8:String = null;
+
+                       if(hug1 == null) throw new ArgumentError("RelatedVideoList._setVideoenderInfo: invalid result.");
+
+                       if((hug1.ownerOtherVideoList != null) && (hug1.ownerOtherVideoList.length > 0)){
+                               hug2 = hug1.ownerOtherVideoList;
+                               hug3 = GetRelationTarget.OWNER_VIDEO;
+                               hug4 = hug1.ownerOtherVideoURL;
+                       }else{
+                               if(hug1.recommendedVideoList != null){
+                                       hug2 = Vector.<IOwnerOtherVideo>(hug1.recommendedVideoList);
+                               }else{
+                                       hug2 = new Vector.<IOwnerOtherVideo>([]);
+                               }
+
+                               hug3 = GetRelationTarget.RELATED_VIDEO;
+                       }
+
+                       if(hug1.liveDJInfo){
+                               hug5 = hug1.liveDJInfo.catategoryName;
+                               hug6 = hug1.liveDJInfo.linkURL;
+                               hug7 = hug1.liveDJInfo.videoTitle;
+                               hug8 = hug1.liveDJInfo.thumbnailURL;
+                       }
+
+                       this._videoInfo = new VideoenderInfo(hug2, hug3, hug4, hug5, hug6, hug7, hug8);
+               }
+
+               public function get onVideoenderInfoLoaded():Functions
+               {       //MethodID:3235, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._ON_VIDEOENDER_INFO_LOADED;
+               }
+
+               public function get videoenderInfo():IVideoenderInfo
+               {       //MethodID:3236, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._videoInfo;
+               }
+
+               public function get onRecommendedListLoaded():Functions
+               {       //MethodID:3237, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._ON_RECOMMENDED_LIST_LOADED;
+               }
+
+               public function get hasRecommendedListTotaled():Boolean
+               {       //MethodID:3238, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._hasRecommendedListTotaled;
+               }
+
+               public function get isRecommendeListLoading():Boolean
+               {       //MethodID:3239, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isRecommendedListLoading;
+               }
+
+               public function get isVideoenderInfoLoading():Boolean
+               {       //MethodID:3240, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isVideoenderInfoLoading;
+               }
+       }
+}
+
+
+//■class(instance)_index:240
+//private
+class _RequestParameters extends Object implements IRecommendListOptions
+{
+       //static constructor
+       public static function _RequestParameters$cinit()
+       {       //MethodID:3241, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _RequestParameters(hug1:String=null, hug2:String=null, hug3:uint=1)
+       {       //MethodID:3242, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+               super();
+
+               this._sort = hug1;
+               this._order = hug2;
+               this._page = hug3;
+       }
+
+       //variables/etc.
+       private var _sort:String;                                       //slotID:0
+       private var _order:String;                                      //slotID:0
+       private var _page:uint;                                         //slotID:0
+
+       public function get page():uint
+       {       //MethodID:3243, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._page;
+       }
+
+       public function get order():String
+       {       //MethodID:3244, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._order;
+       }
+
+       public function get sort():String
+       {       //MethodID:3245, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._sort;
+       }
+}
+
+//■script190■
+
+package jp.nicovideo.nicoplayer.models.flashvars{
+
+       //■class(instance)_index:241
+       public class ThumbFlashVars extends Object
+       {
+               //static constructor
+               public static function ThumbFlashVars$cinit()
+               {       //MethodID:3247, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //variables/etc.
+               private var _isThumbWatch:Boolean;                              //slotID:0
+               private var _playerTimestamp:String;                            //slotID:0
+               private var _thumbImage:String;                                 //slotID:0
+               private var _thumbWidth:Number;                                 //slotID:0
+               private var _thumbHeight:Number;                                //slotID:0
+               private var _thumbPlayKey:String;                               //slotID:0
+               private var _openNewWindow:Boolean;                             //slotID:0
+               private var _transparent:uint;                                  //slotID:0
+               private var _isAutoPlay:Boolean;                                //slotID:0
+               private var _noLogo:Boolean;                                    //slotID:0
+               private var _noJumpMessage:Boolean;                             //slotID:0
+               private var _noComment:Boolean;                                 //slotID:0
+               private var _noCommentButton:Boolean;                           //slotID:0
+               private var _noLink:Boolean;                                    //slotID:0
+               private var _noSound:Boolean;                                   //slotID:0
+               private var _watchRef:String;                                   //slotID:0
+               private var _isP4Mode:Boolean;                                  //slotID:0
+               private var _noController:Boolean;                              //slotID:0
+               private var _thumbComment:Boolean;                              //slotID:0
+               private var _bySwf:Boolean;                                     //slotID:0
+               private var _noAdSense:Boolean;                                 //slotID:0
+               private var _isNoLogin:Boolean;                                 //slotID:0
+               private var _via:String;                                        //slotID:0
+
+               public function get isThumbWatch():Boolean
+               {       //MethodID:3248, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isThumbWatch;
+               }
+
+               internal function set isThumbWatch(hug1:Boolean):void
+               {       //MethodID:3249, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isThumbWatch = hug1;
+               }
+
+               public function get playerTimestamp():String
+               {       //MethodID:3250, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._playerTimestamp;
+               }
+
+               internal function set playerTimestamp(hug1:String):void
+               {       //MethodID:3251, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._playerTimestamp = hug1;
+               }
+
+               public function get thumbImage():String
+               {       //MethodID:3252, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._thumbImage;
+               }
+
+               internal function set thumbImage(hug1:String):void
+               {       //MethodID:3253, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._thumbImage = hug1;
+               }
+
+               public function get thumbWidth():Number
+               {       //MethodID:3254, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._thumbWidth;
+               }
+
+               internal function set thumbWidth(hug1:Number):void
+               {       //MethodID:3255, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._thumbWidth = hug1;
+               }
+
+               public function get thumbHeight():Number
+               {       //MethodID:3256, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._thumbHeight;
+               }
+
+               internal function set thumbHeight(hug1:Number):void
+               {       //MethodID:3257, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._thumbHeight = hug1;
+               }
+
+               public function get thumbPlayKey():String
+               {       //MethodID:3258, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._thumbPlayKey;
+               }
+
+               internal function set thumbPlayKey(hug1:String):void
+               {       //MethodID:3259, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._thumbPlayKey = hug1;
+               }
+
+               public function get openNewWindow():Boolean
+               {       //MethodID:3260, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._openNewWindow;
+               }
+
+               internal function set openNewWindow(hug1:Boolean):void
+               {       //MethodID:3261, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._openNewWindow = hug1;
+               }
+
+               public function get transparent():uint
+               {       //MethodID:3262, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._transparent;
+               }
+
+               internal function set transparent(hug1:uint):void
+               {       //MethodID:3263, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._transparent = hug1;
+               }
+
+               public function get isAutoPlay():Boolean
+               {       //MethodID:3264, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isAutoPlay;
+               }
+
+               internal function set isAutoPlay(hug1:Boolean):void
+               {       //MethodID:3265, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isAutoPlay = hug1;
+               }
+
+               public function get noLogo():Boolean
+               {       //MethodID:3266, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noLogo;
+               }
+
+               internal function set noLogo(hug1:Boolean):void
+               {       //MethodID:3267, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noLogo = hug1;
+               }
+
+               public function get noJumpMessage():Boolean
+               {       //MethodID:3268, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noJumpMessage;
+               }
+
+               internal function set noJumpMessage(hug1:Boolean):void
+               {       //MethodID:3269, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noJumpMessage = hug1;
+               }
+
+               public function get noComment():Boolean
+               {       //MethodID:3270, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noComment;
+               }
+
+               internal function set noComment(hug1:Boolean):void
+               {       //MethodID:3271, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noComment = hug1;
+               }
+
+               public function get noCommentButton():Boolean
+               {       //MethodID:3272, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noCommentButton;
+               }
+
+               internal function set noCommentButton(hug1:Boolean):void
+               {       //MethodID:3273, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noCommentButton = hug1;
+               }
+
+               public function get noLink():Boolean
+               {       //MethodID:3274, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noLink;
+               }
+
+               internal function set noLink(hug1:Boolean):void
+               {       //MethodID:3275, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noLink = hug1;
+               }
+
+               public function get noSound():Boolean
+               {       //MethodID:3276, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noSound;
+               }
+
+               internal function set noSound(hug1:Boolean):void
+               {       //MethodID:3277, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noSound = hug1;
+               }
+
+               public function get watchRef():String
+               {       //MethodID:3278, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._watchRef;
+               }
+
+               internal function set watchRef(hug1:String):void
+               {       //MethodID:3279, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._watchRef = hug1;
+               }
+
+               public function get isP4Mode():Boolean
+               {       //MethodID:3280, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isP4Mode;
+               }
+
+               internal function set isP4Mode(hug1:Boolean):void
+               {       //MethodID:3281, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isP4Mode = hug1;
+               }
+
+               public function get noController():Boolean
+               {       //MethodID:3282, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noController;
+               }
+
+               internal function set noController(hug1:Boolean):void
+               {       //MethodID:3283, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noController = hug1;
+               }
+
+               public function get thumbComment():Boolean
+               {       //MethodID:3284, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._thumbComment;
+               }
+
+               internal function set thumbComment(hug1:Boolean):void
+               {       //MethodID:3285, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._thumbComment = hug1;
+               }
+
+               public function get bySwf():Boolean
+               {       //MethodID:3286, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._bySwf;
+               }
+
+               internal function set bySwf(hug1:Boolean):void
+               {       //MethodID:3287, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._bySwf = hug1;
+               }
+
+               public function get noAdSense():Boolean
+               {       //MethodID:3288, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noAdSense;
+               }
+
+               internal function set noAdSense(hug1:Boolean):void
+               {       //MethodID:3289, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noAdSense = hug1;
+               }
+
+               public function get isNoLogin():Boolean
+               {       //MethodID:3290, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isNoLogin;
+               }
+
+               internal function set isNoLogin(hug1:Boolean):void
+               {       //MethodID:3291, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isNoLogin = hug1;
+               }
+
+               public function get via():String
+               {       //MethodID:3292, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._via;
+               }
+
+               internal function set via(hug1:String):void
+               {       //MethodID:3293, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._via = hug1;
+               }
+
+               //constructor
+               public function ThumbFlashVars()
+               {       //MethodID:3294, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script191■
+
+package jp.nicovideo.nicoplayer.models.flashvars{
+
+       //■class(instance)_index:242
+       public class WatchFlashVars extends Object
+       {
+               //static constructor
+               public static function WatchFlashVars$cinit()
+               {       //MethodID:3296, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       USER_SEX_MALE = "0";
+                       USER_SEX_FEMALE = "1";
+                       USER_SEX_NON = "-1";
+               }
+
+               //static variables/etc.
+               public static const USER_SEX_MALE:String = 0;                   //slotID:1
+               public static const USER_SEX_FEMALE:String = 1;                 //slotID:2
+               public static const USER_SEX_NON:String = -1;                   //slotID:3
+
+               //variables/etc.
+               private var _isEditMode:Boolean;                                //slotID:0
+               private var _isReadOnly:Boolean;                                //slotID:0
+               private var _isOwnerThreadAvailable:Boolean;                    //slotID:0
+               private var _isOwnerThreadEditMode:Boolean;                     //slotID:0
+               private var _userStatus:uint;                                   //slotID:0
+               private var _isPostLocked:Boolean;                              //slotID:0
+               private var _isVideoOwner:Boolean;                              //slotID:0
+               private var _hasEconomyMode:Boolean;                            //slotID:0
+               private var _noPostPlayStats:Boolean;                           //slotID:0
+               private var _noNicotic:Boolean;                                 //slotID:0
+               private var _noAtPizza:Boolean;                                 //slotID:0
+               private var _noHiroba:Boolean;                                  //slotID:0
+               private var _noNicomesse:Boolean;                               //slotID:0
+               private var _forceNicowariOff:Boolean;                          //slotID:0
+               private var _watchVideoID:String;                               //slotID:0
+               private var _gameKey:String;                                    //slotID:0
+               private var _gameTime:String;                                   //slotID:0
+               private var _buttonThreshold:uint;                              //slotID:0
+               private var _jumpVPosPlayFrom:int;                              //slotID:0
+               private var _jumpPlayLength:int;                                //slotID:0
+               private var _jumpReturnVideoID:String;                          //slotID:0
+               private var _jumpVPosReturnTo:int;                              //slotID:0
+               private var _jumpReturnMessage:String;                          //slotID:0
+               private var _isNoBanner:Boolean;                                //slotID:0
+               private var _isNoMarquee:Boolean;                               //slotID:0
+               private var _isNoGetMarquee:Boolean;                            //slotID:0
+               private var _commentListPublicStatus:String;                    //slotID:0
+               private var _isMonetized:Boolean;                               //slotID:0
+               private var _userSex:String;                                    //slotID:0
+               private var _userAge:String;                                    //slotID:0
+               private var _userPrefecture:String;                             //slotID:0
+               private var _marqueeUrl:String;                                 //slotID:0
+               private var _originalThreadId:String;                           //slotID:0
+               private var _channelID:String;                                  //slotID:0
+               private var _channelTopURL:String;                              //slotID:0
+               private var _channelVideoURL:String;                            //slotID:0
+               private var _channelName:String;                                //slotID:0
+               private var _dicArticleURL:String;                              //slotID:0
+               private var _blogEmbedURL:String;                               //slotID:0
+               private var _uadAdvertiseURL:String;                            //slotID:0
+               private var _communityPostURL:String;                           //slotID:0
+               private var _csrfToken:String;                                  //slotID:0
+               private var _useChecklistCache:Boolean;                         //slotID:0
+               private var _isNoMovie:Boolean;                                 //slotID:0
+               private var _thumbImage:String;                                 //slotID:0
+               private var _noDeflistAdd:Boolean;                              //slotID:0
+               private var _isCommentShuttered:Boolean;                        //slotID:0
+               private var _videoUserID:String;                                //slotID:0
+               private var _appliInstalled:Number;                             //slotID:0
+               private var _liveKick:String;                                   //slotID:0
+               private var _liveKickId:String;                                 //slotID:0
+               private var _hoihoiTitle:String;                                //slotID:0
+               private var _hoihoiButton:String;                               //slotID:0
+               private var _hoihoiURL:String;                                  //slotID:0
+               private var _noColor:Boolean;                                   //slotID:0
+               private var _isNoVideoMenu:Boolean;                             //slotID:0
+               private var _isNoAppli:Boolean;                                 //slotID:0
+               private var _bootApp:String;                                    //slotID:0
+               private var _isAppliPromotion:Boolean;                          //slotID:0
+               private var _isOfficialAnime:Boolean;                           //slotID:0
+               private var _useVideoEnder:Boolean = false;                     //slotID:0
+
+               public function get isEditMode():Boolean
+               {       //MethodID:3297, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isEditMode;
+               }
+
+               internal function set isEditMode(hug1:Boolean):void
+               {       //MethodID:3298, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isEditMode = hug1;
+               }
+
+               public function get isReadOnly():Boolean
+               {       //MethodID:3299, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isReadOnly;
+               }
+
+               internal function set isReadOnly(hug1:Boolean):void
+               {       //MethodID:3300, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isReadOnly = hug1;
+               }
+
+               public function get isOwnerThreadAvailable():Boolean
+               {       //MethodID:3301, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isOwnerThreadAvailable;
+               }
+
+               internal function set isOwnerThreadAvailable(hug1:Boolean):void
+               {       //MethodID:3302, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isOwnerThreadAvailable = hug1;
+               }
+
+               public function get isOwnerThreadEditMode():Boolean
+               {       //MethodID:3303, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isOwnerThreadEditMode;
+               }
+
+               internal function set isOwnerThreadEditMode(hug1:Boolean):void
+               {       //MethodID:3304, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isOwnerThreadEditMode = hug1;
+               }
+
+               public function get userStatus():uint
+               {       //MethodID:3305, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._userStatus;
+               }
+
+               internal function set userStatus(hug1:uint):void
+               {       //MethodID:3306, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._userStatus = hug1;
+               }
+
+               public function get isPostLocked():Boolean
+               {       //MethodID:3307, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isPostLocked;
+               }
+
+               internal function set isPostLocked(hug1:Boolean):void
+               {       //MethodID:3308, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isPostLocked = hug1;
+               }
+
+               public function get isCommentShuttered():Boolean
+               {       //MethodID:3309, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isCommentShuttered;
+               }
+
+               internal function set isCommentShuttered(hug1:Boolean):void
+               {       //MethodID:3310, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isCommentShuttered = hug1;
+               }
+
+               public function get isVideoOwner():Boolean
+               {       //MethodID:3311, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isVideoOwner;
+               }
+
+               internal function set isVideoOwner(hug1:Boolean):void
+               {       //MethodID:3312, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isVideoOwner = hug1;
+               }
+
+               public function get hasEconomyMode():Boolean
+               {       //MethodID:3313, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._hasEconomyMode;
+               }
+
+               internal function set hasEconomyMode(hug1:Boolean):void
+               {       //MethodID:3314, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._hasEconomyMode = hug1;
+               }
+
+               public function get noPostPlayStats():Boolean
+               {       //MethodID:3315, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noPostPlayStats;
+               }
+
+               internal function set noPostPlayStats(hug1:Boolean):void
+               {       //MethodID:3316, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noPostPlayStats = hug1;
+               }
+
+               public function get noNicotic():Boolean
+               {       //MethodID:3317, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noNicotic;
+               }
+
+               internal function set noNicotic(hug1:Boolean):void
+               {       //MethodID:3318, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noNicotic = hug1;
+               }
+
+               public function get noAtPizza():Boolean
+               {       //MethodID:3319, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noAtPizza;
+               }
+
+               internal function set noAtPizza(hug1:Boolean):void
+               {       //MethodID:3320, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noAtPizza = hug1;
+               }
+
+               public function get noHiroba():Boolean
+               {       //MethodID:3321, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noHiroba;
+               }
+
+               internal function set noHiroba(hug1:Boolean):void
+               {       //MethodID:3322, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noHiroba = hug1;
+               }
+
+               public function get forceNicowariOff():Boolean
+               {       //MethodID:3323, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._forceNicowariOff;
+               }
+
+               internal function set forceNicowariOff(hug1:Boolean):void
+               {       //MethodID:3324, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._forceNicowariOff = hug1;
+               }
+
+               public function get watchVideoID():String
+               {       //MethodID:3325, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._watchVideoID;
+               }
+
+               internal function set watchVideoID(hug1:String):void
+               {       //MethodID:3326, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._watchVideoID = hug1;
+               }
+
+               public function get gameKey():String
+               {       //MethodID:3327, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._gameKey;
+               }
+
+               internal function set gameKey(hug1:String):void
+               {       //MethodID:3328, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._gameKey = hug1;
+               }
+
+               public function get gameTime():String
+               {       //MethodID:3329, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._gameTime;
+               }
+
+               internal function set gameTime(hug1:String):void
+               {       //MethodID:3330, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._gameTime = hug1;
+               }
+
+               public function get buttonThreshold():uint
+               {       //MethodID:3331, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._buttonThreshold;
+               }
+
+               internal function set buttonThreshold(hug1:uint):void
+               {       //MethodID:3332, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._buttonThreshold = hug1;
+               }
+
+               public function get jumpVPosPlayFrom():int
+               {       //MethodID:3333, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._jumpVPosPlayFrom;
+               }
+
+               internal function set jumpVPosPlayFrom(hug1:int):void
+               {       //MethodID:3334, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._jumpVPosPlayFrom = hug1;
+               }
+
+               public function get jumpPlayLength():int
+               {       //MethodID:3335, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._jumpPlayLength;
+               }
+
+               internal function set jumpPlayLength(hug1:int):void
+               {       //MethodID:3336, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._jumpPlayLength = hug1;
+               }
+
+               public function get jumpReturnVideoID():String
+               {       //MethodID:3337, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._jumpReturnVideoID;
+               }
+
+               internal function set jumpReturnVideoID(hug1:String):void
+               {       //MethodID:3338, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._jumpReturnVideoID = hug1;
+               }
+
+               public function get jumpVPosReturnTo():int
+               {       //MethodID:3339, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._jumpVPosReturnTo;
+               }
+
+               internal function set jumpVPosReturnTo(hug1:int):void
+               {       //MethodID:3340, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._jumpVPosReturnTo = hug1;
+               }
+
+               public function get jumpReturnMessage():String
+               {       //MethodID:3341, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._jumpReturnMessage;
+               }
+
+               internal function set jumpReturnMessage(hug1:String):void
+               {       //MethodID:3342, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._jumpReturnMessage = hug1;
+               }
+
+               public function get isNoBanner():Boolean
+               {       //MethodID:3343, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isNoBanner;
+               }
+
+               internal function set isNoBanner(hug1:Boolean):void
+               {       //MethodID:3344, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isNoBanner = hug1;
+               }
+
+               public function get isNoMarquee():Boolean
+               {       //MethodID:3345, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isNoMarquee;
+               }
+
+               internal function set isNoMarquee(hug1:Boolean):void
+               {       //MethodID:3346, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isNoMarquee = hug1;
+               }
+
+               public function get isNoGetMarquee():Boolean
+               {       //MethodID:3347, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isNoGetMarquee;
+               }
+
+               internal function set isNoGetMarquee(hug1:Boolean):void
+               {       //MethodID:3348, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isNoGetMarquee = hug1;
+               }
+
+               public function get isNoNicomesse():Boolean
+               {       //MethodID:3349, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noNicomesse;
+               }
+
+               internal function set isNoNicomesse(hug1:Boolean):void
+               {       //MethodID:3350, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noNicomesse = hug1;
+               }
+
+               public function get commentListPublicStatus():String
+               {       //MethodID:3351, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._commentListPublicStatus;
+               }
+
+               internal function set commentListPublicStatus(hug1:String):void
+               {       //MethodID:3352, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._commentListPublicStatus = hug1;
+               }
+
+               public function get isMonetized():Boolean
+               {       //MethodID:3353, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isMonetized;
+               }
+
+               internal function set isMonetized(hug1:Boolean):void
+               {       //MethodID:3354, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isMonetized = hug1;
+               }
+
+               public function get userSex():String
+               {       //MethodID:3355, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._userSex;
+               }
+
+               internal function set userSex(hug1:String):void
+               {       //MethodID:3356, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._userSex = hug1;
+               }
+
+               public function get userAge():String
+               {       //MethodID:3357, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._userAge;
+               }
+
+               internal function set userAge(hug1:String):void
+               {       //MethodID:3358, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._userAge = hug1;
+               }
+
+               public function get userPrefecture():String
+               {       //MethodID:3359, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._userPrefecture;
+               }
+
+               internal function set userPrefecture(hug1:String):void
+               {       //MethodID:3360, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._userPrefecture = hug1;
+               }
+
+               public function get marqueeUrl():String
+               {       //MethodID:3361, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._marqueeUrl;
+               }
+
+               internal function set marqueeUrl(hug1:String):void
+               {       //MethodID:3362, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._marqueeUrl = hug1;
+               }
+
+               public function get originalThreadId():String
+               {       //MethodID:3363, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._originalThreadId;
+               }
+
+               internal function set originalThreadId(hug1:String):void
+               {       //MethodID:3364, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._originalThreadId = hug1;
+               }
+
+               public function get channelID():String
+               {       //MethodID:3365, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._channelID;
+               }
+
+               internal function set channelID(hug1:String):void
+               {       //MethodID:3366, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._channelID = hug1;
+               }
+
+               public function get channelName():String
+               {       //MethodID:3367, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._channelName;
+               }
+
+               internal function set channelName(hug1:String):void
+               {       //MethodID:3368, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._channelName = hug1;
+               }
+
+               public function get channelTopURL():String
+               {       //MethodID:3369, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._channelTopURL;
+               }
+
+               internal function set channelTopURL(hug1:String):void
+               {       //MethodID:3370, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._channelTopURL = hug1;
+               }
+
+               public function get channelVideoURL():String
+               {       //MethodID:3371, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._channelVideoURL;
+               }
+
+               internal function set channelVideoURL(hug1:String):void
+               {       //MethodID:3372, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._channelVideoURL = hug1;
+               }
+
+               public function get uadAdvertiseURL():String
+               {       //MethodID:3373, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._uadAdvertiseURL;
+               }
+
+               internal function set uadAdvertiseURL(hug1:String):void
+               {       //MethodID:3374, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._uadAdvertiseURL = hug1;
+               }
+
+               public function get blogEmbedURL():String
+               {       //MethodID:3375, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._blogEmbedURL;
+               }
+
+               internal function set blogEmbedURL(hug1:String):void
+               {       //MethodID:3376, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._blogEmbedURL = hug1;
+               }
+
+               public function get dicArticleURL():String
+               {       //MethodID:3377, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._dicArticleURL;
+               }
+
+               internal function set dicArticleURL(hug1:String):void
+               {       //MethodID:3378, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._dicArticleURL = hug1;
+               }
+
+               public function get communityPostURL():String
+               {       //MethodID:3379, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._communityPostURL;
+               }
+
+               internal function set communityPostURL(hug1:String):void
+               {       //MethodID:3380, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._communityPostURL = hug1;
+               }
+
+               public function get csrfToken():String
+               {       //MethodID:3381, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._csrfToken;
+               }
+
+               internal function set csrfToken(hug1:String):void
+               {       //MethodID:3382, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._csrfToken = hug1;
+               }
+
+               public function get useChecklistCache():Boolean
+               {       //MethodID:3383, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._useChecklistCache;
+               }
+
+               internal function set useChecklistCache(hug1:Boolean):void
+               {       //MethodID:3384, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._useChecklistCache = hug1;
+               }
+
+               public function get noColor():Boolean
+               {       //MethodID:3385, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noColor;
+               }
+
+               internal function set noColor(hug1:Boolean):void
+               {       //MethodID:3386, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noColor = hug1;
+               }
+
+               public function get isNoMovie():Boolean
+               {       //MethodID:3387, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isNoMovie;
+               }
+
+               internal function set isNoMovie(hug1:Boolean):void
+               {       //MethodID:3388, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isNoMovie = hug1;
+               }
+
+               public function get thumbImage():String
+               {       //MethodID:3389, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._thumbImage;
+               }
+
+               internal function set thumbImage(hug1:String):void
+               {       //MethodID:3390, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._thumbImage = hug1;
+               }
+
+               public function get noDeflistAdd():Boolean
+               {       //MethodID:3391, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._noDeflistAdd;
+               }
+
+               internal function set noDeflistAdd(hug1:Boolean):void
+               {       //MethodID:3392, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._noDeflistAdd = hug1;
+               }
+
+               public function get liveKick():String
+               {       //MethodID:3393, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._liveKick;
+               }
+
+               internal function set liveKick(hug1:String):void
+               {       //MethodID:3394, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._liveKick = hug1;
+               }
+
+               public function get liveKickId():String
+               {       //MethodID:3395, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._liveKickId;
+               }
+
+               internal function set liveKickId(hug1:String):void
+               {       //MethodID:3396, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._liveKickId = hug1;
+               }
+
+               public function get hoihoiTitle():String
+               {       //MethodID:3397, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._hoihoiTitle;
+               }
+
+               internal function set hoihoiTitle(hug1:String):void
+               {       //MethodID:3398, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._hoihoiTitle = hug1;
+               }
+
+               public function get hoihoiButton():String
+               {       //MethodID:3399, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._hoihoiButton;
+               }
+
+               internal function set hoihoiButton(hug1:String):void
+               {       //MethodID:3400, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._hoihoiButton = hug1;
+               }
+
+               public function get hoihoiURL():String
+               {       //MethodID:3401, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._hoihoiURL;
+               }
+
+               internal function set hoihoiURL(hug1:String):void
+               {       //MethodID:3402, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._hoihoiURL = hug1;
+               }
+
+               public function get isNoVideoMenu():Boolean
+               {       //MethodID:3403, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isNoVideoMenu;
+               }
+
+               internal function set isNoVideoMenu(hug1:Boolean):void
+               {       //MethodID:3404, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isNoVideoMenu = hug1;
+               }
+
+               public function get isNoAppli():Boolean
+               {       //MethodID:3405, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isNoAppli;
+               }
+
+               internal function set isNoAppli(hug1:Boolean):void
+               {       //MethodID:3406, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isNoAppli = hug1;
+               }
+
+               public function get bootApp():String
+               {       //MethodID:3407, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._bootApp;
+               }
+
+               internal function set bootApp(hug1:String):void
+               {       //MethodID:3408, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._bootApp = hug1;
+               }
+
+               public function get videoUserID():String
+               {       //MethodID:3409, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._videoUserID;
+               }
+
+               internal function set videoUserID(hug1:String):void
+               {       //MethodID:3410, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._videoUserID = hug1;
+               }
+
+               public function get isOfficialAnime():Boolean
+               {       //MethodID:3411, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isOfficialAnime;
+               }
+
+               internal function set isOfficialAnime(hug1:Boolean):void
+               {       //MethodID:3412, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isOfficialAnime = hug1;
+               }
+
+               public function get appliInstalled():Number
+               {       //MethodID:3413, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._appliInstalled;
+               }
+
+               internal function set appliInstalled(hug1:Number):void
+               {       //MethodID:3414, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._appliInstalled = hug1;
+               }
+
+               public function get isAppliPromotion():Boolean
+               {       //MethodID:3415, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isAppliPromotion;
+               }
+
+               internal function set isAppliPromotion(hug1:Boolean):void
+               {       //MethodID:3416, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isAppliPromotion = hug1;
+               }
+
+               public function get useVideoEnder():Boolean
+               {       //MethodID:3417, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._useVideoEnder;
+               }
+
+               internal function set useVideoEnder(hug1:Boolean):void
+               {       //MethodID:3418, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._useVideoEnder = hug1;
+               }
+
+               //constructor
+               public function WatchFlashVars()
+               {       //MethodID:3419, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script192■
+
+package jp.nicovideo.nicoplayer.models.flashvars{
+
+
+       public const nico_flashvars:* = "jp.nicovideo.nicoplayer.models.flashvars:nico_flashvars";//slotID:0
+
+}
+
+//■script193■
+
+package jp.nicovideo.util{
+
+       import flash.utils.Proxy
+       import flash.utils.flash_proxy
+
+       use namespace flash_proxy;
+
+       //■class(instance)_index:243
+       public class ArraySet extends Proxy
+       {
+               //static constructor
+               public static function ArraySet$cinit()
+               {       //MethodID:3422, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function ArraySet()
+               {       //MethodID:3423, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       this.__a = [];
+
+                       super();
+               }
+
+               //variables/etc.
+               private var __a:Array;                                          //slotID:0
+
+               public function add(hug1:*):void
+               {       //MethodID:3424, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       this.__a.push(hug1);
+               }
+
+               public function remove(hug1:*):Boolean
+               {       //MethodID:3425, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 53
+                       var hug2:Number = 0;
+                       var hug3:Boolean = false;
+                       hug2 = this.__a.indexOf(hug1, hug2);
+
+                       while(this.__a.indexOf(hug1, hug2) != (-1)){
+                               this.__a.splice(hug2, 1);
+
+                               hug3 = true;
+                       }
+
+                       return hug3;
+               }
+
+               public function contains(hug1:*):Boolean
+               {       //MethodID:3426, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+                       return (this.__a.indexOf(hug1) != (-1));
+               }
+
+               public function clear():void
+               {       //MethodID:3427, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+                       this.__a.splice(0);
+               }
+
+               override flash_proxy function nextNameIndex(hug1:int):int
+               {       //MethodID:3428, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       return ((hug1 < this.__a.length) ? (hug1 + 1) : 0);
+               }
+
+               override flash_proxy function nextValue(hug1:int):*
+               {       //MethodID:3429, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12
+                       return this.__a[hug1 - 1];
+               }
+       }
+}
+
+//■script194■
+
+package jp.nicovideo.util{
+
+       //■class(instance)_index:244
+       public class Functions extends ArraySet
+       {
+               //static constructor
+               public static function Functions$cinit()
+               {       //MethodID:3431, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function Functions()
+               {       //MethodID:3432, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+
+               //variables/etc.
+               public function apply(... rest):void
+               {       //MethodID:3433, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 44
+                       var hug2:Function = null;
+
+                       for each(hug2 in this){
+                               hug2.apply(null, rest);
+                       }
+               }
+
+               public function collect(... rest):Array
+               {       //MethodID:3434, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 57
+                       var hug3:Function = null;
+                       var hug2:Array = [];
+
+                       for each(hug3 in this){
+                               hug2.push(hug3.apply(null, rest));
+                       }
+
+                       return hug2;
+               }
+       }
+}
+
+//■script195■
+
+package jp.nicovideo.nicoplayer.models.video.swf{
+
+       //■class(instance)_index:245
+       public class SWFVideoType extends Object
+       {
+               //static constructor
+               public static function SWFVideoType$cinit()
+               {       //MethodID:3436, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       INTERRUPT_GAME_RANKING = "interrupt_game_ranking";
+                       INTERRUPT_ENQUETE_RESULT = "interrupt_enquete_result";
+               }
+
+               //static variables/etc.
+               public static const INTERRUPT_GAME_RANKING:String = "interrupt_game_ranking";//slotID:1
+               public static const INTERRUPT_ENQUETE_RESULT:String = "interrupt_enquete_result";//slotID:2
+
+               //constructor
+               public function SWFVideoType()
+               {       //MethodID:3437, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script196■
+
+package jp.nicovideo.util{
+
+
+       public const test:* = "http://www.nicovideo.jp/as3_ns/nicoplayer/util.test";//slotID:0
+
+}
+
+//■script197■
+
+package jp.nicovideo.nicoplayer.models.video.swf{
+
+       //■class(instance)_index:246
+       public interface ISWFVideoContent
+       {
+               //static constructor
+               public static function ISWFVideoContent$cinit()
+               {       //MethodID:3440, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get videoType():String;                                            //MethodID:3441, dispID:0
+
+               function initialize(hug1:*, hug2:Function):void;                            //MethodID:3442, dispID:0
+
+               //constructor
+               public function ISWFVideoContent();                                         //MethodID:3443, dispID:0
+       }
+}
+
+//■script198■
+
+package jp.nicovideo.nicoplayer.models.video{
+
+       //■class(instance)_index:247
+       public class VideoPlayerStatus extends Object
+       {
+               //static constructor
+               public static function VideoPlayerStatus$cinit()
+               {       //MethodID:3445, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 57
+                       END = "end";
+                       LOADING = "load";
+                       PAUSED = "paused";
+                       PLAYING = "playing";
+                       SEEKING = "seeking";
+                       STOPPED = "stopped";
+               }
+
+               //static variables/etc.
+               public static const END:String = "end";                         //slotID:1
+               public static const LOADING:String = "load";                    //slotID:2
+               public static const PAUSED:String = "paused";                   //slotID:3
+               public static const PLAYING:String = "playing";                 //slotID:4
+               public static const SEEKING:String = "seeking";                 //slotID:5
+               public static const STOPPED:String = "stopped";                 //slotID:6
+
+               //constructor
+               public function VideoPlayerStatus()
+               {       //MethodID:3446, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script199■
+
+package org.libspark.utils{
+
+       import flash.display.Loader
+       import flash.events.Event
+       import flash.events.IEventDispatcher
+       import flash.events.IOErrorEvent
+       import flash.events.SecurityErrorEvent
+       import flash.net.URLRequest
+       import flash.net.URLStream
+       import flash.utils.ByteArray
+       import flash.utils.Endian
+
+       //■class(instance)_index:248
+       public class ForcibleLoader extends Object
+       {
+               //static constructor
+               public static function ForcibleLoader$cinit()
+               {       //MethodID:3448, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function ForcibleLoader(hug1:Loader, hug2:IEventDispatcher)
+               {       //MethodID:3449, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 78
+                       super();
+
+                       this.loader = hug1;
+                       this._eventDispatcher = hug2;
+                       this._stream = new URLStream();
+
+                       this._stream.addEventListener(Event.COMPLETE, this.completeHandler);
+                       this._stream.addEventListener(IOErrorEvent.IO_ERROR, this.ioErrorHandler);
+                       this._stream.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.securityErrorHandler);
+               }
+
+               //variables/etc.
+               private var _loader:Loader;                                     //slotID:0
+               private var _stream:URLStream;                                  //slotID:0
+               private var _eventDispatcher:IEventDispatcher;                  //slotID:0
+
+               public function get loader():Loader
+               {       //MethodID:3450, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._loader;
+               }
+
+               public function set loader(hug1:Loader):void
+               {       //MethodID:3451, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._loader = hug1;
+               }
+
+               public function load(hug1:URLRequest):void
+               {       //MethodID:3452, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       this._stream.load(hug1);
+               }
+
+               private function completeHandler(hug1:Event):void
+               {       //MethodID:3453, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 117
+                       var hug2:ByteArray = new ByteArray();
+
+                       this._stream.readBytes(hug2);
+                       this._stream.close();
+
+                       hug2.endian = Endian.LITTLE_ENDIAN;
+
+                       if(this.isCompressed(hug2)) this.uncompress(hug2);
+
+                       var hug3:Number = this.findFileAttributesPosition(this.getBodyPosition(hug2), hug2);
+
+                       if(!isNaN(hug3)){
+                               this.flagSWF9Bit(hug2, hug3);
+                       }else{
+                               this.insertFileAttributesTag(hug2);
+                       }
+
+                       this.updateVersion(hug2, 9);
+                       this.loader.loadBytes(hug2);
+               }
+
+               private function isCompressed(hug1:ByteArray):Boolean
+               {       //MethodID:3454, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       return (hug1[0] == 67);
+               }
+
+               private function uncompress(hug1:ByteArray):void
+               {       //MethodID:3455, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 59
+                       var hug2:ByteArray = new ByteArray();
+
+                       hug2.writeBytes(hug1, 8);
+
+                       hug1.length = 8;
+                       hug1.position = 8;
+
+                       hug2.uncompress();
+                       hug1.writeBytes(hug2);
+
+                       hug1[0] = 70;
+                       hug2.length = 0;
+               }
+
+               private function getBodyPosition(hug1:ByteArray):uint
+               {       //MethodID:3456, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 68
+                       var hug2:uint = 0;
+                       hug2 += 3;
+                       hug2 += 1;
+                       hug2 += 4;
+                       var hug3:uint = (hug1[hug2] >> (3 & 0x1F));
+                       hug2 += ((5 + (hug3 * 4)) / 8);
+                       hug2 += 2;
+                       hug2 += 1;
+                       hug2 += 2;
+                       return hug2;
+               }
+
+               private function findFileAttributesPosition(hug1:uint, hug2:ByteArray):Number
+               {       //MethodID:3457, LocalCount= 5 , MaxScope= 5, MaxStack= 3, CodeLength= 182
+                       internal var offset:uint;                                       //slotID:1
+                       internal var bytes:ByteArray;                                   //slotID:2
+                       internal var byte:uint;                                         //slotID:3
+                       internal var tag:uint;                                          //slotID:4
+                       internal var length:uint;                                       //slotID:5
+
+                       byte = 0;
+                       tag = 0;
+                       length = 0;
+                       offset = hug1;
+                       bytes = hug2;
+                       bytes.position = offset;
+
+                       try{
+                               while(true){
+                                       byte = bytes.readShort();
+                                       tag = (byte >> (6 & 0x1F));
+
+                                       if(tag == 69) return (bytes.position - 2);
+
+                                       length = (byte & 63);
+
+                                       if(length == 63) length = bytes.readInt();
+
+                                       bytes.position += length;
+                               }
+                       }
+                       catch(e:EOFError){
+                       }
+
+                       return NaN;
+               }
+
+               private function flagSWF9Bit(hug1:ByteArray, hug2:uint):void
+               {       //MethodID:3458, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 22
+                       hug1[hug2 + 2] |= 8;
+               }
+
+               private function insertFileAttributesTag(hug1:ByteArray):void
+               {       //MethodID:3459, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 93
+                       var hug2:uint = this.getBodyPosition(hug1);
+                       var hug3:ByteArray = new ByteArray();
+
+                       hug3.writeBytes(hug1, hug2);
+
+                       hug1.length = hug2;
+                       hug1.position = hug2;
+
+                       hug1.writeByte(68);
+                       hug1.writeByte(17);
+                       hug1.writeByte(8);
+                       hug1.writeByte(0);
+                       hug1.writeByte(0);
+                       hug1.writeByte(0);
+                       hug1.writeBytes(hug3);
+
+                       hug3.length = 0;
+               }
+
+               private function updateVersion(hug1:ByteArray, hug2:uint):void
+               {       //MethodID:3460, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 10
+                       hug1[3] = hug2;
+               }
+
+               private function ioErrorHandler(hug1:IOErrorEvent):void
+               {       //MethodID:3461, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 21
+                       this._eventDispatcher.dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR));
+               }
+
+               private function securityErrorHandler(hug1:SecurityErrorEvent):void
+               {       //MethodID:3462, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 21
+                       this._eventDispatcher.dispatchEvent(new SecurityErrorEvent(SecurityErrorEvent.SECURITY_ERROR));
+               }
+       }
+}
+
+//■script200■
+
+package jp.nicovideo.util{
+
+       import flash.utils.getTimer
+
+       //■class(instance)_index:249
+       public final class TimeUtils extends Object
+       {
+               //static constructor
+               public static function TimeUtils$cinit()
+               {       //MethodID:3464, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       __baseTimer = 0;
+               }
+
+               //static variables/etc.
+               private static var __baseTimer:Number = 0.0;                    //slotID:1
+
+               public static function set time(hug1:Number):void
+               {       //dispID:3, MethodID:3465, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 18
+                       __baseTimer = (hug1 - getTimer());
+               }
+
+               public static function get time():Number
+               {       //dispID:4, MethodID:3466, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 33
+                       if(__baseTimer <= 0) return new Date().getTime();
+
+                       return (__baseTimer + getTimer());
+               }
+
+               public static function now():Date
+               {       //dispID:5, MethodID:3467, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 20
+                       var hug1:Date = new Date();
+
+                       hug1.setTime(time);
+
+                       return hug1;
+               }
+
+               //constructor
+               public function TimeUtils()
+               {       //MethodID:3468, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script201■
+
+package jp.nicovideo.util.storage{
+
+       import flash.events.EventDispatcher
+       import flash.net.SharedObject
+       import flash.net.SharedObjectFlushStatus
+
+       //■class(instance)_index:250
+       public class LocalStorage extends EventDispatcher
+       {
+               //static constructor
+               public static function LocalStorage$cinit()
+               {       //MethodID:3470, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function LocalStorage(hug1:SharedObject=null)
+               {       //MethodID:3471, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 17
+                       this._data = {};
+
+                       super();
+
+                       this._so = hug1;
+               }
+
+               //variables/etc.
+               private var _so:SharedObject;                                   //slotID:0
+               private var _data:Object;                                       //slotID:0
+
+               public function flush(hug1:int=0):String
+               {       //MethodID:3472, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 32
+                       return (this._so ? this._so.flush(hug1) : SharedObjectFlushStatus.FLUSHED);
+               }
+
+               public function get data():Object
+               {       //MethodID:3473, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 30
+                       return (this._so ? this._so.data : this._data);
+               }
+
+               public function clear():void
+               {       //MethodID:3474, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 19
+                       if(this._so) this._so.clear();
+               }
+
+               public function close():void
+               {       //MethodID:3475, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 19
+                       if(this._so) this._so.close();
+               }
+
+               public function setDirty(hug1:String):void
+               {       //MethodID:3476, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 20
+                       if(this._so) this._so.setDirty(hug1);
+               }
+
+               override public function addEventListener(hug1:String, hug2:Function, hug3:Boolean=false, hug4:int=0, hug5:Boolean=false):void
+               {       //MethodID:3477, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 26
+                       if(this._so) this._so.addEventListener(hug1, hug2, hug3, hug4, hug5);
+               }
+       }
+}
+
+//■script202■
+
+package jp.nicovideo.util.events{
+
+
+       public const event_receiver:* = "http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver";//slotID:0
+
+}
+
+//■script203■
+//skip components :com.adobe.serialization.json
+//as filename :JSON.as
+
+//■script204■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       //■class(instance)_index:252
+       public interface IComment
+       {
+               //static constructor
+               public static function IComment$cinit()
+               {       //MethodID:3485, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get message():String;                                              //MethodID:3486, dispID:0
+
+               function get resNo():uint;                                                  //MethodID:3487, dispID:0
+
+               function get vpos():Number;                                                 //MethodID:3488, dispID:0
+
+               function get date():Date;                                                   //MethodID:3489, dispID:0
+
+               function get userID():String;                                               //MethodID:3490, dispID:0
+
+               function get userName():String;                                             //MethodID:3491, dispID:0
+
+               function get isOwner():Boolean;                                             //MethodID:3492, dispID:0
+
+               function get deleted():uint;                                                //MethodID:3493, dispID:0
+
+               function get isPremium():Boolean;                                           //MethodID:3494, dispID:0
+
+               function get anonymity():uint;                                              //MethodID:3495, dispID:0
+
+               function get fromLive():uint;                                               //MethodID:3496, dispID:0
+
+               function get fork():uint;                                                   //MethodID:3497, dispID:0
+
+               function get justPosted():Boolean;                                          //MethodID:3498, dispID:0
+
+               function get ng():uint;                                                     //MethodID:3499, dispID:0
+
+               function get command():ICommand;                                            //MethodID:3500, dispID:0
+
+               function get buttonComment():String;                                        //MethodID:3501, dispID:0
+
+               function get clickCount():uint;                                             //MethodID:3502, dispID:0
+
+               function get commentList():ICommentList;                                    //MethodID:3503, dispID:0
+
+               function get isClickable():Boolean;                                         //MethodID:3504, dispID:0
+
+               function get leafID():uint;                                                 //MethodID:3505, dispID:0
+
+               function get isTrunk():Boolean;                                             //MethodID:3506, dispID:0
+
+               //constructor
+               public function IComment();                                                 //MethodID:3507, dispID:0
+       }
+}
+
+//■script205■
+
+package jp.nicovideo.marquee.events{
+
+       import flash.events.Event
+
+       //■class(instance)_index:253
+       public class MarqueeEvent extends Event
+       {
+               //static constructor
+               public static function MarqueeEvent$cinit()
+               {       //MethodID:3509, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 165
+                       COMPLETE_PLAYER = "completed_player";
+                       COMPLETE_SOURCE_MANAGER = "complete_source_manager";
+                       COMPLETE_MARQUEE_SOURCE = "completed_marquee_source";
+                       ERROR_MARQUEE_SOURCE = "error_marquee_source";
+                       ERROR_VIDEO_SOURCE = "error_video_source";
+                       STARTED_MARQUEE = "started_marquee";
+                       ENDED_MARQUEE = "ended_marquee";
+                       SENDED_DATA = "sended_data";
+                       PLAYED_SOURCE = "played_source";
+                       READY_PARADE = "ready_parade";
+                       STARTED_PARADE = "started_parade";
+                       ENDED_PARADE = "ended_parade";
+                       SEND_LOG = "send_log";
+                       CLICK_PLAY_BUTTON = "click_play_button";
+                       TEMPLATE_VERSION_DISAGREEMENT = "template_version_disagreement";
+                       STARTMARQUEE_SCHEDULE = "startmarquee_schedule";
+                       ENDMARQUEE_SCHEDULE = "endmarquee_schedule";
+                       CHANGE_PRIORITY = "change_priority";
+               }
+
+               //static variables/etc.
+               public static const COMPLETE_PLAYER:String = "completed_player";//slotID:1
+               public static const COMPLETE_SOURCE_MANAGER:String = "complete_source_manager";//slotID:2
+               public static const COMPLETE_MARQUEE_SOURCE:String = "completed_marquee_source";//slotID:3
+               public static const ERROR_MARQUEE_SOURCE:String = "error_marquee_source";//slotID:4
+               public static const ERROR_VIDEO_SOURCE:String = "error_video_source";//slotID:5
+               public static const STARTED_MARQUEE:String = "started_marquee"; //slotID:6
+               public static const ENDED_MARQUEE:String = "ended_marquee";     //slotID:7
+               public static const SENDED_DATA:String = "sended_data";         //slotID:8
+               public static const PLAYED_SOURCE:String = "played_source";     //slotID:9
+               public static const READY_PARADE:String = "ready_parade";       //slotID:10
+               public static const STARTED_PARADE:String = "started_parade";   //slotID:11
+               public static const ENDED_PARADE:String = "ended_parade";       //slotID:12
+               public static const SEND_LOG:String = "send_log";               //slotID:13
+               public static const CLICK_PLAY_BUTTON:String = "click_play_button";//slotID:14
+               public static const TEMPLATE_VERSION_DISAGREEMENT:String = "template_version_disagreement";//slotID:15
+               public static const STARTMARQUEE_SCHEDULE:String = "startmarquee_schedule";//slotID:16
+               public static const ENDMARQUEE_SCHEDULE:String = "endmarquee_schedule";//slotID:17
+               public static const CHANGE_PRIORITY:String = "change_priority"; //slotID:18
+
+               //constructor
+               public function MarqueeEvent(hug1:String, hug2:*, hug3:Boolean=false, hug4:Boolean=false)
+               {       //MethodID:3510, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 15
+                       super(hug1, hug3, hug4);
+
+                       this._origin = hug2;
+               }
+
+               //variables/etc.
+               private var _origin:*;                                          //slotID:0
+
+               public function get origin():*
+               {       //MethodID:3511, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._origin;
+               }
+
+               override public function clone():Event
+               {       //MethodID:3512, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 21
+                       return new MarqueeEvent(type, this.origin, bubbles, cancelable);
+               }
+       }
+}
+
+//■script206■
+
+package jp.nicovideo.marquee.events{
+
+       import flash.events.Event
+
+       //■class(instance)_index:254
+       public class MarqueeFullEvent extends MarqueeEvent
+       {
+               //static constructor
+               public static function MarqueeFullEvent$cinit()
+               {       //MethodID:3514, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 39
+                       PLAY_VIDEO = "MarqueeFullEvent.play_video";
+                       PAUSE_VIDEO = "MarqueeFullEvent.pause_video";
+                       CLICK_NICOWARI_PLAY_BUTTON = "click_nicowari_play_button";
+                       CLICK_VIDEO_PLAY_BUTTON = "click_video_play_button";
+               }
+
+               //static variables/etc.
+               public static const PLAY_VIDEO:String = "MarqueeFullEvent.play_video";//slotID:1
+               public static const PAUSE_VIDEO:String = "MarqueeFullEvent.pause_video";//slotID:2
+               public static const CLICK_NICOWARI_PLAY_BUTTON:String = "click_nicowari_play_button";//slotID:3
+               public static const CLICK_VIDEO_PLAY_BUTTON:String = "click_video_play_button";//slotID:4
+
+               //constructor
+               public function MarqueeFullEvent(hug1:String, hug2:*, hug3:Boolean=false, hug4:Boolean=false)
+               {       //MethodID:3515, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 11
+                       super(hug1, hug2, hug3, hug4);
+               }
+
+               //variables/etc.
+               override public function clone():Event
+               {       //MethodID:3516, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 22
+                       return new MarqueeFullEvent(type, origin, bubbles, cancelable);
+               }
+       }
+}
+
+//■script207■
+
+package jp.nicovideo.nicoplayer.models{
+
+       //■class(instance)_index:255
+       public class ScreenMode extends Object
+       {
+               //static constructor
+               public static function ScreenMode$cinit()
+               {       //MethodID:3518, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       NORMAL = 0;
+                       BROWSER_FULL = 1;
+                       DISPLAY_FULL = 2;
+               }
+
+               //static variables/etc.
+               public static const NORMAL:uint = 0;                            //slotID:1
+               public static const BROWSER_FULL:uint = 1;                      //slotID:2
+               public static const DISPLAY_FULL:uint = 2;                      //slotID:3
+
+               //constructor
+               public function ScreenMode()
+               {       //MethodID:3519, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script208■
+
+package jp.nicovideo.marquee.events{
+
+       import flash.events.ErrorEvent
+       import flash.events.Event
+
+       //■class(instance)_index:256
+       public class MarqueeErrorEvent extends ErrorEvent
+       {
+               //static constructor
+               public static function MarqueeErrorEvent$cinit()
+               {       //MethodID:3521, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 65
+                       ERROR = "error";
+                       SENDED_NOAUTH = 100;
+                       SENDED_FAIL = 200;
+                       SENDED_ERROR = 300;
+                       INITIALIZE_XML_FAIL = 400;
+                       INITIALIZE_DOWNLOAD_ERROR = 500;
+                       SENDED_LOG_ERROR = 600;
+               }
+
+               //static variables/etc.
+               public static const ERROR:String = "error";                     //slotID:1
+               public static const SENDED_NOAUTH:int = 100;                    //slotID:2
+               public static const SENDED_FAIL:int = 200;                      //slotID:3
+               public static const SENDED_ERROR:int = 300;                     //slotID:4
+               public static const INITIALIZE_XML_FAIL:int = 400;              //slotID:5
+               public static const INITIALIZE_DOWNLOAD_ERROR:int = 500;        //slotID:6
+               public static const SENDED_LOG_ERROR:int = 600;                 //slotID:7
+
+               //constructor
+               public function MarqueeErrorEvent(hug1:String, hug2:String, hug3:int=0, hug4:Boolean=false, hug5:Boolean=false)
+               {       //MethodID:3522, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 17
+                       super(hug1, hug4, hug5, hug2);
+
+                       this._errorId = hug3;
+               }
+
+               //variables/etc.
+               private var _errorId:int;                                       //slotID:0
+
+               public function get errorId():int
+               {       //MethodID:3523, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._errorId;
+               }
+
+               override public function clone():Event
+               {       //MethodID:3524, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 24
+                       return new MarqueeErrorEvent(type, text, this.errorId, bubbles, cancelable);
+               }
+       }
+}
+
+//■script209■
+
+package jp.nicovideo.marquee.models.info{
+
+       //■class(instance)_index:257
+       public interface IMarqueeInfo
+       {
+               //static constructor
+               public static function IMarqueeInfo$cinit()
+               {       //MethodID:3526, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function end(hug1:Boolean=false):void;                                      //MethodID:3527, dispID:0
+
+               function get priority():uint;                                               //MethodID:3528, dispID:0
+
+               function get pauseVideo():Boolean;                                          //MethodID:3529, dispID:0
+
+               function get jumpToHirobaEnabled():Boolean;                                 //MethodID:3530, dispID:0
+
+               function get enabled():Boolean;                                             //MethodID:3531, dispID:0
+
+               function get isCommentDist():Boolean;                                       //MethodID:3532, dispID:0
+
+               function get isForceEnded():Boolean;                                        //MethodID:3533, dispID:0
+
+               function get hasForceEnd():Boolean;                                         //MethodID:3534, dispID:0
+
+               //constructor
+               public function IMarqueeInfo();                                             //MethodID:3535, dispID:0
+       }
+}
+
+//■script210■
+
+package jp.nicovideo.marquee.models{
+
+       //■class(instance)_index:258
+       public class MarqueeAspectRatio extends Object
+       {
+               //static constructor
+               public static function MarqueeAspectRatio$cinit()
+               {       //MethodID:3537, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 45
+                       NORMAL = 0;
+                       NORMAL_WIDTH = 544;
+                       WIDE = 1;
+                       WIDE_WIDTH = 672;
+                       HEIGHT = 56;
+               }
+
+               //static variables/etc.
+               public static const NORMAL:uint = 0;                            //slotID:1
+               public static const NORMAL_WIDTH:uint = 544;                    //slotID:2
+               public static const WIDE:uint = 1;                              //slotID:3
+               public static const WIDE_WIDTH:uint = 672;                      //slotID:4
+               public static const HEIGHT:uint = 56;                           //slotID:5
+
+               //constructor
+               public function MarqueeAspectRatio()
+               {       //MethodID:3538, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script211■
+
+package jp.nicovideo.marquee{
+
+       //■class(instance)_index:259
+       public interface IMarqueePlayer implements IEventDispatcher
+       {
+               //static constructor
+               public static function IMarqueePlayer$cinit()
+               {       //MethodID:3540, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function initialize(hug1:IMarqueeClient):void;                              //MethodID:3541, dispID:0
+
+               function load(hug1:String):void;                                            //MethodID:3542, dispID:0
+
+               function start():void;                                                      //MethodID:3543, dispID:0
+
+               function setVolume(hug1:Number):void;                                       //MethodID:3544, dispID:0
+
+               function get isCommentDist():Boolean;                                       //MethodID:3545, dispID:0
+
+               function get version():String;                                              //MethodID:3546, dispID:0
+
+               //constructor
+               public function IMarqueePlayer();                                           //MethodID:3547, dispID:0
+       }
+}
+
+//■script212■
+
+package jp.nicovideo.nicoplayer.remocon{
+
+       //■class(instance)_index:260
+       public class RemoconPostCommentErrorStatus extends Object
+       {
+               //static constructor
+               public static function RemoconPostCommentErrorStatus$cinit()
+               {       //MethodID:3549, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       SAME_MESSAGE = "sameMessage";
+                       OTHER = "failure";
+               }
+
+               //static variables/etc.
+               public static const SAME_MESSAGE:String = "sameMessage";        //slotID:1
+               public static const OTHER:String = "failure";                   //slotID:2
+
+               //constructor
+               public function RemoconPostCommentErrorStatus()
+               {       //MethodID:3550, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script213■
+
+package jp.nicovideo.nicoplayer.storages{
+
+       import __AS3__.vec.Vector
+
+       //■class(instance)_index:261
+       public class CommentPostResultStatus extends Object
+       {
+               //static constructor
+               public static function CommentPostResultStatus$cinit()
+               {       //MethodID:3552, LocalCount= 1 , MaxScope= 1, MaxStack= 11, CodeLength= 125
+                       SERVER_RESPONSE_MAP = Vector.<String>([this.SUCCESS, this.FAILURE, this.INVALID_THREAD, this.INVALID_TICKET, this.INVALID_POSTKEY, this.LOCKED, this.READONLY, this.NOT_IMPLEMENTED]);
+                       SUCCESS = "success";
+                       FAILURE = "failure";
+                       INVALID_THREAD = "invalidThread";
+                       INVALID_TICKET = "invalidTicket";
+                       INVALID_POSTKEY = "invalidPostkey";
+                       LOCKED = "locked";
+                       READONLY = "readonly";
+                       NOT_IMPLEMENTED = "notImplemented";
+               }
+
+               //static variables/etc.
+               public static const SERVER_RESPONSE_MAP:Vector.<String>;        //slotID:1
+               public static const SUCCESS:String = "success";                 //slotID:2
+               public static const FAILURE:String = "failure";                 //slotID:3
+               public static const INVALID_THREAD:String = "invalidThread";    //slotID:4
+               public static const INVALID_TICKET:String = "invalidTicket";    //slotID:5
+               public static const INVALID_POSTKEY:String = "invalidPostkey";  //slotID:6
+               public static const LOCKED:String = "locked";                   //slotID:7
+               public static const READONLY:String = "readonly";               //slotID:8
+               public static const NOT_IMPLEMENTED:String = "notImplemented";  //slotID:9
+
+               //constructor
+               public function CommentPostResultStatus()
+               {       //MethodID:3553, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script214■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       import jp.nicovideo.util.ArrayUtils
+
+       //■class(instance)_index:262
+       public class CommentListUtils extends Object
+       {
+               //static constructor
+               public static function CommentListUtils$cinit()
+               {       //MethodID:3555, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function update(hug1:Array, hug2:Array, hug3:Array, hug4:Boolean):Array
+               {       //dispID:3, MethodID:3556, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 53
+                       if(hug4) return hug2.concat();
+
+                       var hug5:Array = hug1.concat();
+
+                       ArrayUtils.subtract(commentAscComparator, hug5, hug3);
+                       ArrayUtils.add(commentAscComparator, hug5, hug2, true);
+
+                       return hug5;
+               }
+
+               public static function add(hug1:Array, hug2:Array):Array
+               {       //dispID:4, MethodID:3557, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 25
+                       var hug3:Array = hug1.concat();
+
+                       ArrayUtils.add(commentAscComparator, hug3, hug2, true);
+
+                       return hug3;
+               }
+
+               public static function remove(hug1:Array, hug2:Array):Array
+               {       //dispID:5, MethodID:3558, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 24
+                       var hug3:Array = hug1.concat();
+
+                       ArrayUtils.subtract(commentAscComparator, hug3, hug2);
+
+                       return hug3;
+               }
+
+               private static function commentAscComparator(hug1:IComment, hug2:IComment):int
+               {       //dispID:6, MethodID:3559, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       return (hug1.resNo - hug2.resNo);
+               }
+
+               //constructor
+               public function CommentListUtils()
+               {       //MethodID:3560, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script215■
+
+package jp.nicovideo.ext.models{
+
+       //■class(instance)_index:263
+       public class ThumbWatchViaName extends Object
+       {
+               //static constructor
+               public static function ThumbWatchViaName$cinit()
+               {       //MethodID:3562, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       YAHOO_TOPICS = "yahoo_topics";
+               }
+
+               //static variables/etc.
+               public static const YAHOO_TOPICS:String = "yahoo_topics";       //slotID:1
+
+               public static function contains(hug1:String):Boolean
+               {       //dispID:3, MethodID:3563, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 27
+                       return (Vector.<String>([YAHOO_TOPICS]).indexOf(hug1) != (-1));
+               }
+
+               //constructor
+               public function ThumbWatchViaName()
+               {       //MethodID:3564, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script216■
+
+package jp.nicovideo.util{
+
+       //■class(instance)_index:264
+       public final class Assert extends Object
+       {
+               //static constructor
+               public static function Assert$cinit()
+               {       //MethodID:3566, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function assert(hug1:*, hug2:String):void
+               {       //dispID:3, MethodID:3567, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 21
+                       if(!hug1) throw new Error("Assert: " + hug2);
+               }
+
+               //constructor
+               public function Assert()
+               {       //MethodID:3568, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script217■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       import jp.nicovideo.nicoplayer.models.filter.NGStatus
+
+       use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test);
+
+       //■class(instance)_index:265
+       public class CommentBuilder extends Object
+       {
+               //static constructor
+               public static function CommentBuilder$cinit()
+               {       //MethodID:3570, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function copyComment(hug1:IComment):IComment
+               {       //dispID:3, MethodID:3571, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 280
+                       var hug2:IComment = new Comment();
+                       comment_builder.anonymity = hug1.anonymity;
+                       comment_builder.fromLive = hug1.fromLive;
+                       comment_builder.command = hug1.command;
+                       comment_builder.message = hug1.message;
+                       comment_builder.date = hug1.date;
+                       comment_builder.deleted = hug1.deleted;
+                       comment_builder.fork = hug1.fork;
+                       comment_builder.isOwner = hug1.isOwner;
+                       comment_builder.isPremium = hug1.isPremium;
+                       comment_builder.justPosted = hug1.justPosted;
+                       comment_builder.ng = hug1.ng;
+                       comment_builder.resNo = hug1.resNo;
+                       comment_builder.userID = hug1.userID;
+                       comment_builder.userName = hug1.userName;
+                       comment_builder.vpos = hug1.vpos;
+                       comment_builder.clickCount = hug1.clickCount;
+                       comment_builder.commentList = hug1.commentList;
+                       comment_builder.leafID = hug1.leafID;
+                       comment_builder.isTrunk = hug1.isTrunk;
+                       return hug2;
+               }
+
+               public static function simplify(hug1:IComment):Object
+               {       //dispID:4, MethodID:3572, LocalCount= 2 , MaxScope= 1, MaxStack= 36, CodeLength= 154
+                       return {message:hug1.message, no:hug1.resNo, vpos:hug1.vpos, date:(hug1.date ? hug1.date.getTime() : 0), userID:hug1.userID, userName:hug1.userName, isOwner:hug1.isOwner, deleted:hug1.deleted, isPremium:hug1.isPremium, anonymity:hug1.anonymity, fromLive:hug1.fromLive, fork:hug1.fork, mail:hug1.command.command, justPosted:hug1.justPosted, ng:hug1.ng, clickCount:hug1.clickCount, leafID:hug1.leafID, isTrunk:hug1.isTrunk};
+               }
+
+               public static function unsimplify(hug1:Object):IComment
+               {       //dispID:5, MethodID:3573, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 175
+                       var hug2:CommentBuilder = new IComment();
+                       hug2.message = hug1.message;
+                       hug2.resNo = hug1.no;
+                       hug2.vpos = hug1.vpos;
+                       hug2.date = new Date(hug1.date);
+                       hug2.userID = hug1.userID;
+                       hug2.userName = hug1.userName;
+                       hug2.isOwner = hug1.isOwner;
+                       hug2.deleted = hug1.deleted;
+                       hug2.isPremium = hug1.isPremium;
+                       hug2.anonymity = hug1.anonymity;
+                       hug2.fromLive = hug1.fromLive;
+                       hug2.fork = hug1.fork;
+                       hug2.command = new Command(hug1.mail, hug1.isPremium);
+                       hug2.justPosted = hug1.justPosted;
+                       hug2.ng = hug1.ng;
+                       hug2.clickCount = hug1.clickCount;
+                       hug2.leafID = hug1.leafID;
+                       hug2.isTrunk = hug1.isTrunk;
+                       return hug2.make();
+               }
+
+               //constructor
+               public function CommentBuilder(hug1:IComment)
+               {       //MethodID:3574, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 32
+                       super();
+
+                       if(hug1){
+                               this._commentBuffer = copyComment(hug1);
+                       }else{
+                               this.reset();
+                       }
+               }
+
+               //variables/etc.
+               private var _commentBuffer:IComment;                            //slotID:0
+
+               public function make():IComment
+               {       //MethodID:3575, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14
+                       return copyComment(this._commentBuffer);
+               }
+
+               public function reset():void
+               {       //MethodID:3577, LocalCount= 2 , MaxScope= 2, MaxStack= 4, CodeLength= 41
+                       this._commentBuffer = new Comment();
+                       this._commentBuffer.command = new Command(function(hug1:ICommand):void{ //MethodID:3576, LocalCount= 2 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+                       });
+               }
+
+               public function set message(hug1:String):void
+               {       //MethodID:3578, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.message = hug1;
+               }
+
+               public function set resNo(hug1:uint):void
+               {       //MethodID:3579, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.resNo = hug1;
+               }
+
+               public function set vpos(hug1:Number):void
+               {       //MethodID:3580, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 30
+                       comment_builder.vpos = (Math.floor(hug1 / 10) * 10);
+               }
+
+               public function set date(hug1:Date):void
+               {       //MethodID:3581, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.date = hug1;
+               }
+
+               public function set command(hug1:ICommand):void
+               {       //MethodID:3582, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.command = hug1;
+               }
+
+               public function set userID(hug1:String):void
+               {       //MethodID:3583, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.userID = hug1;
+               }
+
+               public function set userName(hug1:String):void
+               {       //MethodID:3584, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.userName = hug1;
+               }
+
+               public function set isOwner(hug1:Boolean):void
+               {       //MethodID:3585, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.isOwner = hug1;
+               }
+
+               public function set deleted(hug1:uint):void
+               {       //MethodID:3586, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.deleted = hug1;
+               }
+
+               public function set isPremium(hug1:Boolean):void
+               {       //MethodID:3587, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.isPremium = hug1;
+               }
+
+               public function set anonymity(hug1:Boolean):void
+               {       //MethodID:3588, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.anonymity = hug1;
+               }
+
+               public function set fromLive(hug1:Boolean):void
+               {       //MethodID:3589, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.fromLive = hug1;
+               }
+
+               public function set fork(hug1:uint):void
+               {       //MethodID:3590, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.fork = hug1;
+               }
+
+               public function set justPosted(hug1:Boolean):void
+               {       //MethodID:3591, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.justPosted = hug1;
+               }
+
+               public function set ng(hug1:uint):void
+               {       //MethodID:3592, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 72
+                       if((hug1 == NGStatus.NONE) || (hug1 == NGStatus.INVISIBLE) || (hug1 == NGStatus.REJECT_COMMAND)){
+                               comment_builder.ng = hug1;
+                       }else{
+                               throw new Error("CommentBuilder.set ng: invalid status.");
+                       }
+               }
+
+               public function set commentList(hug1:ICommentList):void
+               {       //MethodID:3593, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.commentList = hug1;
+               }
+
+               public function set clickCount(hug1:uint):void
+               {       //MethodID:3594, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.clickCount = hug1;
+               }
+
+               public function set leafID(hug1:uint):void
+               {       //MethodID:3595, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.leafID = hug1;
+               }
+
+               public function set isTrunk(hug1:Boolean):void
+               {       //MethodID:3596, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 17
+                       comment_builder.isTrunk = hug1;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get command():ICommand
+               {       //MethodID:3597, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._commentBuffer.command;
+               }
+       }
+}
+
+//■script218■
+
+package jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren.WindowChildren{
+
+       //■class(instance)_index:266
+       public class TabContentName extends Object
+       {
+               //static constructor
+               public static function TabContentName$cinit()
+               {       //MethodID:3599, LocalCount= 1 , MaxScope= 1, MaxStack= 7, CodeLength= 83
+                       COMMENT = "comment";
+                       NG = "ng";
+                       RELATION = "relation";
+                       PLAYLIST = "playlist";
+                       OWNERCOMMENT_EDITOR = "ownercomment_editor";
+                       REPLACER = "replacer";
+                       TAB_NAMES = [COMMENT, NG, RELATION, PLAYLIST, OWNERCOMMENT_EDITOR, REPLACER];
+               }
+
+               //static variables/etc.
+               public static const COMMENT:String = "comment";                 //slotID:1
+               public static const NG:String = "ng";                           //slotID:2
+               public static const RELATION:String = "relation";               //slotID:3
+               public static const PLAYLIST:String = "playlist";               //slotID:4
+               public static const OWNERCOMMENT_EDITOR:String = "ownercomment_editor";//slotID:5
+               public static const REPLACER:String = "replacer";               //slotID:6
+               public static const TAB_NAMES:Array;                            //slotID:7
+
+               public static function getIndex(hug1:String):int
+               {       //dispID:3, MethodID:3600, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14
+                       return TabContentName.TAB_NAMES.indexOf(hug1);
+               }
+
+               public static function getNameByIndex(hug1:int):String
+               {       //dispID:4, MethodID:3601, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+                       return TabContentName.TAB_NAMES[hug1];
+               }
+
+               //constructor
+               public function TabContentName()
+               {       //MethodID:3602, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script219■
+
+package jp.nicovideo.hiroba.events{
+
+
+       public const hiroba_setter:* = "http://www.nicovideo.jp/as3_ns/hiroba/events/hiroba_setter";//slotID:0
+
+}
+
+//■script220■
+
+package jp.nicovideo.hiroba.models{
+
+       //■class(instance)_index:267
+       public interface IHirobaComment
+       {
+               //static constructor
+               public static function IHirobaComment$cinit()
+               {       //MethodID:3605, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get message():String;                                              //MethodID:3606, dispID:0
+
+               function get mail():String;                                                 //MethodID:3607, dispID:0
+
+               function get isPremium():Boolean;                                           //MethodID:3608, dispID:0
+
+               function get date():Date;                                                   //MethodID:3609, dispID:0
+
+               function get yourpost():Boolean;                                            //MethodID:3610, dispID:0
+
+               //constructor
+               public function IHirobaComment();                                           //MethodID:3611, dispID:0
+       }
+}
+
+//■script221■
+
+package jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren{
+
+       import jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren.WindowChildren.ITabContent
+       import jp.nicovideo.util.Functions
+
+       //■class(instance)_index:268
+       public interface ITabManager
+       {
+               //static constructor
+               public static function ITabManager$cinit()
+               {       //MethodID:3613, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function register(hug1:String, hug2:ITabContent):Boolean;                   //MethodID:3614, dispID:0
+
+               function append(hug1:String, hug2:Boolean=true):Boolean;                    //MethodID:3615, dispID:0
+
+               function remove(hug1:String):Boolean;                                       //MethodID:3616, dispID:0
+
+               function show(hug1:String):Boolean;                                         //MethodID:3617, dispID:0
+
+               function isRegistered(hug1:String):Boolean;                                 //MethodID:3618, dispID:0
+
+               function isAppended(hug1:String):Boolean;                                   //MethodID:3619, dispID:0
+
+               function isActive(hug1:String):Boolean;                                     //MethodID:3620, dispID:0
+
+               function showMessage(hug1:String, hug2:Boolean=false, hug3:int=-1, hug4:Boolean=true, hug5:Function=null):void;//MethodID:3621, dispID:0
+
+               function hideMessage():void;                                                //MethodID:3622, dispID:0
+
+               function get baseContentWidth():Number;                                     //MethodID:3623, dispID:0
+
+               function get baseContentHeight():Number;                                    //MethodID:3624, dispID:0
+
+               function get onActiveContentUpdated():Functions;                            //MethodID:3625, dispID:0
+
+               function updateWindowHeight(hug1:int):void;                                 //MethodID:3626, dispID:0
+
+               //constructor
+               public function ITabManager();                                              //MethodID:3627, dispID:0
+       }
+}
+
+//■script222■
+
+package jp.nicovideo.nicoplayer.views{
+
+       //■class(instance)_index:269
+       public class SponsorVideoBGType extends Object
+       {
+               //static constructor
+               public static function SponsorVideoBGType$cinit()
+               {       //MethodID:3629, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       DEFAULT = "default";
+                       CAPTURE = "capture";
+                       COLOR = "color";
+               }
+
+               //static variables/etc.
+               public static const DEFAULT:String = "default";                 //slotID:1
+               public static const CAPTURE:String = "capture";                 //slotID:2
+               public static const COLOR:String = "color";                     //slotID:3
+
+               //constructor
+               public function SponsorVideoBGType()
+               {       //MethodID:3630, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script223■
+
+package jp.nicovideo.nicoplayer.views.framerate{
+
+       //■class(instance)_index:270
+       public class FrameRateMode extends Object
+       {
+               //static constructor
+               public static function FrameRateMode$cinit()
+               {       //MethodID:3632, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19
+                       HIGH = 60;
+                       NORMAL = 25;
+               }
+
+               //static variables/etc.
+               public static const HIGH:uint = 60;                             //slotID:1
+               public static const NORMAL:uint = 25;                           //slotID:2
+
+               //constructor
+               public function FrameRateMode()
+               {       //MethodID:3633, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script224■
+
+package jp.nicovideo.nicoplayer.app.view{
+
+       import flash.display.DisplayObjectContainer
+       import jp.nicovideo.app.applibar.IApplibar
+       import jp.nicovideo.util.Functions
+
+       //■class(instance)_index:271
+       public interface IApplibarContainer
+       {
+               //static constructor
+               public static function IApplibarContainer$cinit()
+               {       //MethodID:3635, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get container():DisplayObjectContainer;                            //MethodID:3636, dispID:0
+
+               function get screen():DisplayObjectContainer;                               //MethodID:3637, dispID:0
+
+               function get iconAreaWidth():Number;                                        //MethodID:3638, dispID:0
+
+               function get onResized():Functions;                                         //MethodID:3639, dispID:0
+
+               function onInitApplibar(hug1:IApplibar):void;                               //MethodID:3640, dispID:0
+
+               function onBarBaseSizeUpdate():void;                                        //MethodID:3641, dispID:0
+
+               //constructor
+               public function IApplibarContainer();                                       //MethodID:3642, dispID:0
+       }
+}
+
+//■script225■
+
+package jp.nicovideo.app.applibar.externals{
+
+       import flash.display.DisplayObjectContainer
+       import jp.nicovideo.app.api.IAPIObjectProvider
+
+       //■class(instance)_index:272
+       public interface IApplibarClient implements IEventDispatcher
+       {
+               //static constructor
+               public static function IApplibarClient$cinit()
+               {       //MethodID:3644, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get containerName():String;                                        //MethodID:3645, dispID:0
+
+               function get userID():String;                                               //MethodID:3646, dispID:0
+
+               function get iconAreaWidth():Number;                                        //MethodID:3647, dispID:0
+
+               function get screen():DisplayObjectContainer;                               //MethodID:3648, dispID:0
+
+               function getAPIProvider(hug1:uint):IAPIObjectProvider;                      //MethodID:3649, dispID:0
+
+               function get applibarVisible():Boolean;                                     //MethodID:3650, dispID:0
+
+               function showDialog(hug1:String, hug2:String=null, hug3:String=null, hug4:Function=null, hug5:String=null, hug6:Function=null):void;//MethodID:3651, dispID:0
+
+               //constructor
+               public function IApplibarClient();                                          //MethodID:3652, dispID:0
+       }
+}
+
+//■script226■
+
+package jp.nicovideo.app.applibar.externals{
+
+       //■class(instance)_index:273
+       public interface IVideoApplibarClient implements IApplibarClient
+       {
+               //static constructor
+               public static function IVideoApplibarClient$cinit()
+               {       //MethodID:3654, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get installedCount():Number;                                       //MethodID:3655, dispID:0
+
+               function get isAppliPromotion():Boolean;                                    //MethodID:3656, dispID:0
+
+               //constructor
+               public function IVideoApplibarClient();                                     //MethodID:3657, dispID:0
+       }
+}
+
+//■script227■
+
+package jp.nicovideo.nicoplayer.app{
+
+       import flash.display.DisplayObjectContainer
+       import flash.events.EventDispatcher
+       import jp.nicovideo.app.api.IAPIObjectProvider
+       import jp.nicovideo.app.applibar.externals.ContainerName
+       import jp.nicovideo.app.applibar.externals.events.ApplibarClientEvent
+       import jp.nicovideo.nicoplayer.app.api.APIObjectProviderSwitcher
+       import jp.nicovideo.nicoplayer.app.view.IApplibarContainer
+       import jp.nicovideo.nicoplayer.models.SystemMessage
+
+       //■class(instance)_index:274
+       public class ApplibarClient extends EventDispatcher implements IVideoApplibarClient
+       {
+               //static constructor
+               public static function ApplibarClient$cinit()
+               {       //MethodID:3659, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function ApplibarClient(hug1:IApplibarContainer, hug2:APIObjectProviderSwitcher, hug3:String, hug4:Number, hug5:Boolean)
+               {       //MethodID:3660, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 48
+                       super();
+
+                       this._container = hug1;
+
+                       this._container.onResized.add(this._onResized);
+
+                       this._providerSwitcher = hug2;
+                       this._userID = hug3;
+                       this._appliInstalled = hug4;
+                       this._isAppliPromotion = hug5;
+               }
+
+               //variables/etc.
+               private var _container:IApplibarContainer;                      //slotID:0
+               private var _providerSwitcher:APIObjectProviderSwitcher;        //slotID:0
+               private var _userID:String;                                     //slotID:0
+               private var _appliInstalled:Number;                             //slotID:0
+               private var _isAppliPromotion:Boolean;                          //slotID:0
+
+               private function _onResized():void
+               {       //MethodID:3661, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 45
+                       dispatchEvent(new ApplibarClientEvent(ApplibarClientEvent.CONTAINER_RESIZE, this));
+                       dispatchEvent(new ApplibarClientEvent(ApplibarClientEvent.SCREEN_RESIZE, this));
+               }
+
+               public function get containerName():String
+               {       //MethodID:3662, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9
+                       return ContainerName.NICO_PLAYER;
+               }
+
+               public function get userID():String
+               {       //MethodID:3663, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._userID;
+               }
+
+               public function get iconAreaWidth():Number
+               {       //MethodID:3664, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._container.iconAreaWidth;
+               }
+
+               public function get screen():DisplayObjectContainer
+               {       //MethodID:3665, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._container.screen;
+               }
+
+               public function get applibarVisible():Boolean
+               {       //MethodID:3666, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
+                       return true;
+               }
+
+               public function getAPIProvider(hug1:uint):IAPIObjectProvider
+               {       //MethodID:3667, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       return this._providerSwitcher.getAPIProvider(hug1);
+               }
+
+               public function showDialog(hug1:String, hug2:String=null, hug3:String=null, hug4:Function=null, hug5:String=null, hug6:Function=null, ...args):void
+               {       //MethodID:3668, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 24
+                       SystemMessage.instance.alert.apply(SystemMessage.instance, args);
+               }
+
+               public function get installedCount():Number
+               {       //MethodID:3669, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._appliInstalled;
+               }
+
+               public function get isAppliPromotion():Boolean
+               {       //MethodID:3670, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isAppliPromotion;
+               }
+       }
+}
+
+//■script228■
+
+package jp.nicovideo.app.applibar.externals.events{
+
+       import flash.events.Event
+
+       //■class(instance)_index:275
+       public class ApplibarEvent extends Event
+       {
+               //static constructor
+               public static function ApplibarEvent$cinit()
+               {       //MethodID:3672, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       PAGE_OPEN = "pageOpen";
+               }
+
+               //static variables/etc.
+               public static const PAGE_OPEN:String = "pageOpen";              //slotID:1
+
+               //constructor
+               public function ApplibarEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false)
+               {       //MethodID:3673, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9
+                       super(hug1, hug2, hug3);
+               }
+       }
+}
+
+//■script229■
+
+package jp.nicovideo.nicoplayer.app.api{
+
+       import jp.nicovideo.app.api.APIObjectProvider
+       import jp.nicovideo.app.api.IAPIObjectProvider
+       import jp.nicovideo.nicoplayer.app.api.v1.getPools
+       import jp.nicovideo.nicoplayer.plugin.IPluginClient
+
+       //■class(instance)_index:276
+       public class APIObjectProviderSwitcher extends Object
+       {
+               //static constructor
+               public static function APIObjectProviderSwitcher$cinit()
+               {       //MethodID:3675, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function APIObjectProviderSwitcher(hug1:IPluginClient)
+               {       //MethodID:3676, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 38
+                       this._providers = [null];
+
+                       super();
+                       this._providers.push(new APIObjectProvider(1, getPools(hug1)));
+               }
+
+               //variables/etc.
+               private var _providers:Array;                                   //slotID:0
+
+               public function getAPIProvider(hug1:uint):IAPIObjectProvider
+               {       //MethodID:3677, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       return this._providers[hug1];
+               }
+       }
+}
+
+//■script230■
+
+package jp.nicovideo.app.applibar{
+
+       import jp.nicovideo.app.applibar.externals.IApplibarClient
+       import jp.nicovideo.app.applibar.externals.IBalloonController
+
+       //■class(instance)_index:277
+       public interface IApplibar implements IEventDispatcher
+       {
+               //static constructor
+               public static function IApplibar$cinit()
+               {       //MethodID:3679, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function start(hug1:IApplibarClient, hug2:String=null):void;                //MethodID:3680, dispID:0
+
+               function get balloonController():IBalloonController;                        //MethodID:3681, dispID:0
+
+               function get isOpen():Boolean;                                              //MethodID:3682, dispID:0
+
+               function get baseHeight():Number;                                           //MethodID:3683, dispID:0
+
+               function get baseWidth():Number;                                            //MethodID:3684, dispID:0
+
+               //constructor
+               public function IApplibar();                                                //MethodID:3685, dispID:0
+       }
+}
+
+//■script231■
+
+package jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren{
+
+       //■class(instance)_index:278
+       public class WindowViewConstants extends Object
+       {
+               //static constructor
+               public static function WindowViewConstants$cinit()
+               {       //MethodID:3687, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 58
+                       FRAME_MARGIN = 8;
+                       ELEMENT_MARGIN = 4;
+                       CONTENT_HD_WIDTH = 288;
+                       CONTENT_SD_WIDTH = 416;
+                       CONTENT_HEIGHT_FULL = 424;
+                       CONTENT_LINE_HEIGHT = (22 + ELEMENT_MARGIN);
+               }
+
+               //static variables/etc.
+               public static const FRAME_MARGIN:int = 8;                       //slotID:1
+               public static const ELEMENT_MARGIN:int = 4;                     //slotID:2
+               public static const CONTENT_HD_WIDTH:int = 288;                 //slotID:3
+               public static const CONTENT_SD_WIDTH:int = 416;                 //slotID:4
+               public static const CONTENT_HEIGHT_FULL:int = 424;              //slotID:5
+               public static const CONTENT_LINE_HEIGHT:int = 26;               //slotID:6
+
+               //constructor
+               public function WindowViewConstants()
+               {       //MethodID:3688, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script232■
+
+package jp.nicovideo.nicoplayer.storages.transmitter{
+
+       import jp.nicovideo.util.Functions
+
+       //■class(instance)_index:279
+       public interface ITransmitter
+       {
+               //static constructor
+               public static function ITransmitter$cinit()
+               {       //MethodID:3690, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function connect(hug1:Function):void;                                       //MethodID:3691, dispID:0
+
+               function send(hug1:XML):void;                                               //MethodID:3692, dispID:0
+
+               function disconnect():void;                                                 //MethodID:3693, dispID:0
+
+               function get type():String;                                                 //MethodID:3694, dispID:0
+
+               function get isConnecting():Boolean;                                        //MethodID:3695, dispID:0
+
+               function get connected():Functions;                                         //MethodID:3696, dispID:0
+
+               function get xmlReceived():Functions;                                       //MethodID:3697, dispID:0
+
+               function get errorOccured():Functions;                                      //MethodID:3698, dispID:0
+
+               //constructor
+               public function ITransmitter();                                             //MethodID:3699, dispID:0
+       }
+}
+
+//■script233■
+
+package jp.nicovideo.nicoplayer.storages.transmitter{
+
+       import flash.events.Event
+       import flash.events.IOErrorEvent
+       import flash.events.SecurityErrorEvent
+       import flash.net.URLLoader
+       import flash.net.URLRequest
+       import jp.nicovideo.util.Functions
+       import jp.nicovideo.util.ObjectUtils
+
+       //■class(instance)_index:280
+       public class HTTPTransmitter extends Object implements ITransmitter
+       {
+               //static constructor
+               public static function HTTPTransmitter$cinit()
+               {       //MethodID:3701, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function HTTPTransmitter(hug1:String)
+               {       //MethodID:3702, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 38
+                       this._connected = new Functions();
+                       this._xmlReceived = new Functions();
+                       this._errorOccured = new Functions();
+
+                       super();
+
+                       this._serverURL = hug1;
+               }
+
+               //variables/etc.
+               private const _connected:Functions;                             //slotID:0
+               private const _xmlReceived:Functions;                           //slotID:0
+               private const _errorOccured:Functions;                          //slotID:0
+               private var _serverURL:String = null;                           //slotID:0
+
+               public function get type():String
+               {       //MethodID:3703, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9
+                       return TransmitterType.HTTP;
+               }
+
+               public function connect(hug1:Function):void
+               {       //MethodID:3705, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 22
+                       internal var callbackFunc:Function;                             //slotID:1
+
+                       callbackFunc = hug1;
+
+                       ObjectUtils.callLater(function():void{  //MethodID:3704, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 17
+                               connected.apply();
+                               callbackFunc(true);
+                       });
+               }
+
+               public function send(hug1:XML):void
+               {       //MethodID:3711, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 146
+                       internal var xml:XML;                                           //slotID:1
+                       internal var request:URLRequest;                                //slotID:2
+                       internal var loader:URLLoader;                                  //slotID:3
+
+                       request = null;
+                       loader = null;
+                       xml = hug1;
+                       request = new URLRequest(this._serverURL);
+                       request.method = "POST";
+                       request.contentType = "text/xml";
+
+                       useMsgXML(function():void{      //MethodID:3706, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 14
+                               request.data = xml.toXMLString();
+                       });
+
+                       loader = new URLLoader();
+                       loader.addEventListener(Event.COMPLETE, function(hug1:Event):void{      //MethodID:3708, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 20
+                               internal var event:Event;                                       //slotID:1
+
+                               event = hug1;
+
+                               useMsgXML(function():void{      //MethodID:3707, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 19
+                                       xmlReceived.apply(new XML(loader.data));
+                               });
+                       });
+                       loader.addEventListener(IOErrorEvent.IO_ERROR, function(hug1:IOErrorEvent):void{        //MethodID:3709, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 17
+                               errorOccured.apply("HTTPTransmitter_" + IOErrorEvent.IO_ERROR);
+                       });
+                       loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(hug1:SecurityErrorEvent):void{      //MethodID:3710, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 17
+                               errorOccured.apply("HTTPTransmitter_" + SecurityErrorEvent.SECURITY_ERROR);
+                       });
+                       loader.load(request);
+               }
+
+               public function disconnect():void
+               {       //MethodID:3712, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function get connected():Functions
+               {       //MethodID:3713, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._connected;
+               }
+
+               public function get isConnecting():Boolean
+               {       //MethodID:3714, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
+                       return true;
+               }
+
+               public function get xmlReceived():Functions
+               {       //MethodID:3715, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._xmlReceived;
+               }
+
+               public function get errorOccured():Functions
+               {       //MethodID:3716, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._errorOccured;
+               }
+       }
+}
+
+//■script234■
+
+package jp.nicovideo.nicoplayer.storages.transmitter{
+
+       import flash.events.DataEvent
+       import flash.events.Event
+       import flash.events.IOErrorEvent
+       import flash.events.SecurityErrorEvent
+       import flash.events.TimerEvent
+       import flash.net.XMLSocket
+       import flash.system.Security
+       import flash.utils.Timer
+       import jp.nicovideo.util.Functions
+
+       //■class(instance)_index:281
+       public class XMLSocketTransmitter extends Object implements ITransmitter
+       {
+               //static constructor
+               public static function XMLSocketTransmitter$cinit()
+               {       //MethodID:3718, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function XMLSocketTransmitter(hug1:String, hug2:uint, hug3:Boolean=false)
+               {       //MethodID:3727, LocalCount= 5 , MaxScope= 2, MaxStack= 4, CodeLength= 209
+                       internal var host:String;                                       //slotID:1
+                       internal var port:uint;                                         //slotID:2
+                       internal var isPingEnabled:Boolean = false;                     //slotID:3
+                       internal var callHandler:Function;                              //slotID:4
+
+                       host = hug1;
+                       port = hug2;
+                       isPingEnabled = hug3;
+                       this._connected = new Functions();
+                       this._xmlReceived = new Functions();
+                       this._errorOccured = new Functions();
+                       this.__pingTimer = new Timer(60 * 1000);
+
+                       super();
+
+                       callHandler = function(hug1:Boolean, hug2:String):void{ //MethodID:3719, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 66
+                               if(isPingEnabled){
+                                       if(hug1){
+                                               __pingTimer.start();
+                                       }else if(__pingTimer.running){
+                                               __pingTimer.stop();
+                                       }
+                               }
+
+                               if(__oneTimeConnectionHandler == null) return;
+                               __oneTimeConnectionHandler(hug1, hug2);
+
+                               __oneTimeConnectionHandler = null;
+                       };
+
+                       this.__host = host;
+                       this.__port = port;
+                       this.__socket = new XMLSocket();
+
+                       this.__socket.addEventListener(Event.CONNECT, function(hug1:Event):void{        //MethodID:3720, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 17
+                               connected.apply();
+                               callHandler(true);
+                       });
+                       this.__socket.addEventListener(DataEvent.DATA, function(hug1:DataEvent):void{   //MethodID:3722, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 20
+                               internal var event:DataEvent;                                   //slotID:1
+
+                               event = hug1;
+
+                               useMsgXML(function():void{      //MethodID:3721, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 19
+                                       xmlReceived.apply(new XML(event.data));
+                               });
+                       });
+                       this.__socket.addEventListener(IOErrorEvent.IO_ERROR, function(hug1:Event):void{        //MethodID:3723, LocalCount= 2 , MaxScope= 0, MaxStack= 4, CodeLength= 43
+                               if(__oneTimeConnectionHandler == null) errorOccured.apply("XMLSocketTransmitter_" + IOErrorEvent.IO_ERROR);
+                               callHandler(false, ("XMLSocketTransmitter_" + IOErrorEvent.IO_ERROR));
+                       });
+                       this.__socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(hug1:Event):void{    //MethodID:3724, LocalCount= 2 , MaxScope= 0, MaxStack= 4, CodeLength= 19
+                               callHandler(false, ("XMLSocketTransmitter_" + SecurityErrorEvent.SECURITY_ERROR));
+                       });
+                       this.__socket.addEventListener(Event.CLOSE, function(hug1:Event):void{  //MethodID:3725, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 25
+                               if(__isClosing) return;
+                               errorOccured.apply("XMLSocketTransmitter_" + Event.CLOSE);
+                       });
+
+                       if(isPingEnabled){
+                               this.__pingTimer.addEventListener(TimerEvent.TIMER, function(hug1:TimerEvent):void{     //MethodID:3726, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 23
+                                       if(!isConnecting) return;
+                                       send(new XML("<ping/>"));
+                               });
+                       }
+               }
+
+               //variables/etc.
+               private const _connected:Functions;                             //slotID:0
+               private const _xmlReceived:Functions;                           //slotID:0
+               private const _errorOccured:Functions;                          //slotID:0
+               private var __host:String = null;                               //slotID:0
+               private var __port:uint = 0;                                    //slotID:0
+               private var __socket:XMLSocket = null;                          //slotID:0
+               private var __oneTimeConnectionHandler:Function;                //slotID:0
+               private var __isClosing:Boolean = false;                        //slotID:0
+               private var __pingTimer:Timer;                                  //slotID:0
+
+               public function get type():String
+               {       //MethodID:3728, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9
+                       return TransmitterType.XML_SOCKET;
+               }
+
+               public function connect(hug1:Function):void
+               {       //MethodID:3729, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 48
+                       this.__oneTimeConnectionHandler = hug1;
+
+                       Security.loadPolicyFile("xmlsocket://" + this.__host + ":" + this.__port);
+                       this.__socket.connect(this.__host, this.__port);
+               }
+
+               public function send(hug1:XML):void
+               {       //MethodID:3731, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 22
+                       internal var xml:XML;                                           //slotID:1
+
+                       xml = hug1;
+
+                       useMsgXML(function():void{      //MethodID:3730, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 15
+                               __socket.send(xml.toXMLString());
+                       });
+               }
+
+               public function disconnect():void
+               {       //MethodID:3732, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+                       this.__isClosing = true;
+
+                       this.__socket.close();
+               }
+
+               public function get connected():Functions
+               {       //MethodID:3733, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._connected;
+               }
+
+               public function get xmlReceived():Functions
+               {       //MethodID:3734, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._xmlReceived;
+               }
+
+               public function get isConnecting():Boolean
+               {       //MethodID:3735, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this.__socket.connected;
+               }
+
+               public function get errorOccured():Functions
+               {       //MethodID:3736, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._errorOccured;
+               }
+       }
+}
+
+//■script235■
+
+package jp.nicovideo.nicoplayer.storages.transmitter{
+
+
+       public function useMsgXML(hug1:Function):void
+       {       //dispID:2, MethodID:3738, LocalCount= 5 , MaxScope= 7, MaxStack= 4, CodeLength= 110
+               internal var func:Function;                                     //slotID:1
+               internal var old:Boolean;                                       //slotID:2
+
+               func = hug1;
+               old = XML.ignoreWhitespace;
+               XML.ignoreWhitespace = false;
+
+               try{
+                       func();
+               }
+               finally{
+                       XML.ignoreWhitespace = old;
+               }
+       }
+
+}
+
+//■script236■
+
+package jp.nicovideo.nicoplayer.models.video{
+
+       //■class(instance)_index:282
+       public class VideoConstants extends Object
+       {
+               //static constructor
+               public static function VideoConstants$cinit()
+               {       //MethodID:3740, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 119
+                       ERROR_CONNECTION_LIMIT = "error_connection_limit";
+                       ERROR_AUTHENTICATION = "error_authentication";
+                       ERROR_TIMEOUT = "error_timeout";
+                       VIDEO_TYPE_FLV = "flv";
+                       VIDEO_TYPE_MP4 = "mp4";
+                       VIDEO_TYPE_SWF = "swf";
+                       OPERATION_HIROBA = "operation_hiroba";
+                       OPERATION_NICOWARI = "operation_nicowari";
+                       OPERATION_PLUGIN_PREFIX = "operation_plugin_";
+                       OPERATION_OTHER = "operation_other";
+                       RETRY_LOADING_INTERVAL = 3000;
+                       RETRY_LOADING_COUNT = 1;
+                       USER_SPONSOR_VIDEO_LENGTH = 10000;
+               }
+
+               //static variables/etc.
+               public static const ERROR_CONNECTION_LIMIT:String = "error_connection_limit";//slotID:1
+               public static const ERROR_AUTHENTICATION:String = "error_authentication";//slotID:2
+               public static const ERROR_TIMEOUT:String = "error_timeout";     //slotID:3
+               public static const VIDEO_TYPE_FLV:String = "flv";              //slotID:4
+               public static const VIDEO_TYPE_MP4:String = "mp4";              //slotID:5
+               public static const VIDEO_TYPE_SWF:String = "swf";              //slotID:6
+               public static const OPERATION_HIROBA:String = "operation_hiroba";//slotID:7
+               public static const OPERATION_NICOWARI:String = "operation_nicowari";//slotID:8
+               public static const OPERATION_PLUGIN_PREFIX:String = "operation_plugin_";//slotID:9
+               public static const OPERATION_OTHER:String = "operation_other"; //slotID:10
+               public static const RETRY_LOADING_INTERVAL:Number = 3000.0;     //slotID:11
+               public static const RETRY_LOADING_COUNT:uint = 1;               //slotID:12
+               public static const USER_SPONSOR_VIDEO_LENGTH:Number = 10000.0; //slotID:13
+
+               //constructor
+               public function VideoConstants()
+               {       //MethodID:3741, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script237■
+
+package jp.nicovideo.util.stream.events{
+
+       import flash.events.ErrorEvent
+
+       //■class(instance)_index:283
+       public class StreamErrorEvent extends ErrorEvent
+       {
+               //static constructor
+               public static function StreamErrorEvent$cinit()
+               {       //MethodID:3743, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       ERROR = "StreamErrorEvent.error";
+               }
+
+               //static variables/etc.
+               public static const ERROR:String = "StreamErrorEvent.error";    //slotID:1
+
+               //constructor
+               public function StreamErrorEvent(hug1:String, hug2:Object, hug3:Boolean=false, hug4:Boolean=false, hug5:String=null)
+               {       //MethodID:3744, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 17
+                       super(hug1, hug3, hug4, hug5);
+
+                       this._info = hug2;
+               }
+
+               //variables/etc.
+               private var _info:Object;                                       //slotID:0
+
+               public function get info():Object
+               {       //MethodID:3745, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._info;
+               }
+       }
+}
+
+//■script238■
+
+package jp.nicovideo.util.stream{
+
+       import flash.display.Sprite
+       import flash.events.EventDispatcher
+       import flash.media.SoundTransform
+       import flash.media.Video
+       import flash.net.NetConnection
+       import flash.net.NetStream
+       import jp.nicovideo.util.stream.events.StreamEvent
+
+       //■class(instance)_index:284
+       public class StreamSource extends EventDispatcher
+       {
+               //static constructor
+               public static function StreamSource$cinit()
+               {       //MethodID:3747, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       _DEFAULT_BUFFER_TIME = 100;
+               }
+
+               //static variables/etc.
+               internal static const _DEFAULT_BUFFER_TIME:Number = 100.0;      //slotID:1
+               private static var counter:uint;                                //slotID:2
+
+               //constructor
+               public function StreamSource(hug1:Sprite)
+               {       //MethodID:3748, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 82
+                       this._handlerList = [];
+
+                       super();
+
+                       this._test = (counter++);
+                       this._videoLayer = hug1;
+                       this._video = new Video(this._videoLayer.width, this._videoLayer.height);
+                       this._video.smoothing = true;
+                       this._video.deblocking = 5;
+               }
+
+               //variables/etc.
+               private var _videoLayer:Sprite;                                 //slotID:0
+               public var _video:Video;                                        //slotID:0
+               private var _nc:NetConnection;                                  //slotID:0
+               private var _ns:NetStream;                                      //slotID:0
+               private var _client:AbstractStreamClient;                       //slotID:0
+               private var _metaData:Object;                                   //slotID:0
+               private var _url:String;                                        //slotID:0
+               private var _filename:String;                                   //slotID:0
+               private var _length:Number = -1.0;                              //slotID:0
+               private var _isLoaded:Boolean = false;                          //slotID:0
+               private var _hasLengthFixed:Boolean;                            //slotID:0
+               private var _isConnected:Boolean = false;                       //slotID:0
+               private var _bufferTime:Number = 2000.0;                        //slotID:0
+               private var _handlerList:Array;                                 //slotID:0
+               private var _videoWidth:Number;                                 //slotID:0
+               private var _videoHeight:Number;                                //slotID:0
+               private var _test:uint;                                         //slotID:0
+
+               public function connect(hug1:String, hug2:String, hug3:String):void
+               {       //MethodID:3749, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 50
+                       if(this.isConnected) return;
+
+                       var hug4:Boolean = new RegExp("^[rtmp]").test(hug1);
+
+                       if(hug4){
+                               this.connectRtmp(hug1, hug2, hug3);
+                       }else{
+                               this.connectHttp(hug1);
+                       }
+               }
+
+               private function connectHttp(hug1:String):void
+               {       //MethodID:3750, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 70
+                       this._url = hug1;
+                       this._nc = new NetConnection();
+                       this._client = new HttpClient(this);
+                       this._client.netConnection = this._nc;
+                       this._nc.client = this._client;
+                       this._filename = this._url;
+
+                       this._nc.connect(null);
+               }
+
+               private function connectRtmp(hug1:String, hug2:String, hug3:String):void
+               {       //MethodID:3751, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 126
+                       var hug4:String = null;
+                       var hug5:String = null;
+                       this._url = hug1;
+                       this._filename = hug2;
+
+                       if(hug3 != null){
+                               hug4 = hug3.substr(0, hug3.indexOf(":"));
+                               hug5 = hug3.substr(hug3.indexOf(":") + 1);
+                       }
+
+                       this._nc = new NetConnection();
+                       this._client = new RtmpClient(this);
+                       this._client.netConnection = this._nc;
+                       this._nc.client = this._client;
+
+                       this._nc.connect(this._url, hug5, hug4, hug2);
+               }
+
+               internal function init():void
+               {       //MethodID:3752, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 41
+                       if(!this.isConnected){
+                               this._video.visible = true;
+                               this._isConnected = true;
+
+                               dispatchEvent(new StreamEvent(StreamEvent.CONNECTED));
+                       }
+               }
+
+               internal function setMetaData(hug1:Object):void
+               {       //MethodID:3754, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 77
+                       internal var val:Object;                                        //slotID:1
+                       internal var adjust:Function;                                   //slotID:2
+
+                       val = hug1;
+                       adjust = function():void{       //MethodID:3753, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 75
+                               var hug1:Number = (Number(_metaData.duration) * 1000);
+
+                               if(!_hasLengthFixed && (_length != hug1) && (hug1 > 0)) setLength(hug1);
+                               resize(_videoLayer.width, _videoLayer.height);
+                       };
+
+                       this._metaData = val;
+
+                       if(this._metaData){
+                               adjust();
+
+                               this._ns.bufferTime = (this._bufferTime / 1000);
+
+                               dispatchEvent(new StreamEvent(StreamEvent.INIT_META_INFO));
+                       }
+               }
+
+               internal function setLength(hug1:Number, hug2:Boolean=false):void
+               {       //MethodID:3755, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 30
+                       this._hasLengthFixed = hug2;
+                       this._length = hug1;
+
+                       dispatchEvent(new StreamEvent(StreamEvent.SET_LENGTH));
+               }
+
+               public function resize(hug1:Number, hug2:Number):void
+               {       //MethodID:3756, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 208
+                       if(this._metaData == null) return;
+
+                       var hug3:Number = this._videoLayer.scaleX;
+                       var hug5:int = 1;
+                       this._videoLayer.scaleY = hug5;
+                       this._videoLayer.scaleX = hug5;
+                       this._video.height = hug2;
+                       this._video.width = hug1;
+                       var hug4:Number = (this._metaData.height / this._metaData.width);
+
+                       if(hug4 < (hug2 / hug1)){
+                               this._video.height = ((this._metaData.height / this._metaData.width) * hug1);
+                       }else if(hug4 > (hug2 / hug1)){
+                               this._video.width = ((this._metaData.width / this._metaData.height) * hug2);
+                       }
+
+                       this._video.x = ((hug1 - this._video.width) / 2);
+                       this._video.y = ((hug2 - this._video.height) / 2);
+                       var hug5:Number = hug3;
+                       this._videoLayer.scaleY = hug5;
+                       this._videoLayer.scaleX = hug5;
+               }
+
+               internal function createNetStream():void
+               {       //MethodID:3757, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 131
+                       this._ns = new NetStream(this._nc);
+                       this._client.netSteram = this._ns;
+                       this._ns.client = this._client;
+                       this._ns.bufferTime = (_DEFAULT_BUFFER_TIME / 1000);
+                       this._ns.checkPolicyFile = true;
+
+                       this._video.attachNetStream(this._ns);
+                       this._videoLayer.addChild(this._video);
+
+                       this._video.visible = false;
+                       var hug1:SoundTransform = new SoundTransform();
+                       hug1.volume = 0;
+                       this._ns.soundTransform = hug1;
+
+                       this._ns.play(this._filename);
+               }
+
+               private function clearEventListener():void
+               {       //MethodID:3758, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 57
+                       var hug1:Object = null;
+
+                       for each(hug1 in this._handlerList){
+                               this.removeEventListener(hug1.type, hug1.handler);
+                       }
+
+                       this._handlerList = [];
+               }
+
+               internal function addEventListenerClosure(hug1:String, hug2:Function, hug3:Boolean=false, hug4:int=0, hug5:Boolean=false):void
+               {       //MethodID:3759, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 35
+                       addEventListener(hug1, hug2, hug3, hug4, hug5);
+                       this._handlerList.push({type:hug1, handler:hug2});
+               }
+
+               public function get keyFrame():Object
+               {       //MethodID:3760, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45
+                       var hug1:Object = null;
+
+                       if(this._metaData.seekpoints == undefined){
+                               hug1 = this._metaData.keyframes;
+                       }else{
+                               this._metaData.seekpoints;
+                       }
+
+                       return hug1;
+               }
+
+               public function get length():Number
+               {       //MethodID:3761, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._length;
+               }
+
+               public function set length(hug1:Number):void
+               {       //MethodID:3762, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._length = hug1;
+               }
+
+               public function get loadedLength():Number
+               {       //MethodID:3763, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._client.loadedLength;
+               }
+
+               public function get isConnected():Boolean
+               {       //MethodID:3764, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isConnected;
+               }
+
+               public function get vpos():Number
+               {       //MethodID:3765, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._client.vpos;
+               }
+
+               public function seek(hug1:Number):void
+               {       //MethodID:3766, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 16
+                       this._client.seek(hug1 / 1000);
+               }
+
+               public function play():void
+               {       //MethodID:3767, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
+                       this._client.resume();
+               }
+
+               public function pause():void
+               {       //MethodID:3768, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
+                       this._client.pause();
+               }
+
+               public function close():void
+               {       //MethodID:3769, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 70
+                       this.clearEventListener();
+
+                       this._isConnected = false;
+
+                       if(this._nc) this._nc.close();
+
+                       if(this._ns) this._ns.close();
+
+                       if(this._client) this._client.close();
+                       this._video.attachNetStream(null);
+               }
+
+               public function set volume(hug1:Number):void
+               {       //MethodID:3771, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 239
+                       internal var val:Number;                                        //slotID:1
+                       internal var _sound:SoundTransform;                             //slotID:2
+                       internal var exprMax:Number;                                    //slotID:3
+                       internal var volume:Number;                                     //slotID:4
+                       internal var _getACurb:Function;                                //slotID:5
+
+                       val = hug1;
+                       _getACurb = function(hug1:Number):Number{       //MethodID:3770, LocalCount= 2 , MaxScope= 0, MaxStack= 5, CodeLength= 33
+                               return (((0.6838 * Math.pow(hug1, 3)) - (1.7262 * Math.pow(hug1, 2))) + (2.4252 * hug1));
+                       };
+
+                       val *= 100;
+
+                       if(!this._ns || !this.isConnected) return;
+
+                       _sound = new SoundTransform();
+
+                       if(val == 0){
+                               _sound.volume = 0;
+                               this._ns.soundTransform = _sound;
+                               return;
+                       }
+
+                       if(val == 100){
+                               _sound.volume = 1;
+                               this._ns.soundTransform = _sound;
+                               return;
+                       }
+
+                       val = ((val * (4 / 5)) + 20);
+                       exprMax = _getACurb(100);
+                       volume = (_getACurb(val) * (1 / exprMax));
+
+                       if(volume < 0.01){
+                               _sound.volume = 0.01;
+                               this._ns.soundTransform = _sound;
+                               return;
+                       }
+
+                       _sound.volume = volume;
+                       this._ns.soundTransform = _sound;
+               }
+
+               public function get volume():Number
+               {       //MethodID:3772, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13
+                       return this._ns.soundTransform.volume;
+               }
+
+               public function get bufferTime():Number
+               {       //MethodID:3773, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14
+                       return (this._ns.bufferTime * 1000);
+               }
+
+               public function set bufferTime(hug1:Number):void
+               {       //MethodID:3774, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 15
+                       this._ns.bufferTime = (hug1 / 1000);
+               }
+
+               public function get bytesTotal():Number
+               {       //MethodID:3775, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._ns.bytesTotal;
+               }
+
+               public function get bytesLoaded():Number
+               {       //MethodID:3776, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._ns.bytesLoaded;
+               }
+
+               public function get video():Video
+               {       //MethodID:3777, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._video;
+               }
+
+               public function get isRtmp():Boolean
+               {       //MethodID:3778, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       return (this._client is RtmpClient);
+               }
+       }
+}
+
+//■script239■
+
+package jp.nicovideo.util.stream.events{
+
+       import flash.events.Event
+
+       //■class(instance)_index:285
+       public class StreamEvent extends Event
+       {
+               //static constructor
+               public static function StreamEvent$cinit()
+               {       //MethodID:3780, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 102
+                       PLAYED = "StreamEvent.played";
+                       CONNECTED = "StreamEvent.connected";
+                       PAUSED = "StreamEvent.paused";
+                       ENDED = "StreamEvent.ended";
+                       CLOSE = "StreamEVent.close";
+                       SEEKED = "StreamEvent.seeked";
+                       SET_LENGTH = "StreamEvent.setLength";
+                       START_LOAD = "StreamEvent.start_load";
+                       COMPLETE_LOAD = "StreamEvent.complete_load";
+                       NET_STATUS = "StreamEvent.onNetStream";
+                       INIT_META_INFO = "StreamEvent.initMetaInfo";
+               }
+
+               //static variables/etc.
+               public static const PLAYED:String = "StreamEvent.played";       //slotID:1
+               public static const CONNECTED:String = "StreamEvent.connected"; //slotID:2
+               public static const PAUSED:String = "StreamEvent.paused";       //slotID:3
+               public static const ENDED:String = "StreamEvent.ended";         //slotID:4
+               public static const CLOSE:String = "StreamEVent.close";         //slotID:5
+               public static const SEEKED:String = "StreamEvent.seeked";       //slotID:6
+               public static const SET_LENGTH:String = "StreamEvent.setLength";//slotID:7
+               public static const START_LOAD:String = "StreamEvent.start_load";//slotID:8
+               public static const COMPLETE_LOAD:String = "StreamEvent.complete_load";//slotID:9
+               public static const NET_STATUS:String = "StreamEvent.onNetStream";//slotID:10
+               public static const INIT_META_INFO:String = "StreamEvent.initMetaInfo";//slotID:11
+
+               //constructor
+               public function StreamEvent(hug1:String, hug2:Object=null, hug3:Boolean=false, hug4:Boolean=false)
+               {       //MethodID:3781, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 15
+                       super(hug1, hug3, hug4);
+
+                       this._info = hug2;
+               }
+
+               //variables/etc.
+               private var _info:Object;                                       //slotID:0
+
+               public function get info():Object
+               {       //MethodID:3782, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._info;
+               }
+       }
+}
+
+//■script240■
+
+package jp.nicovideo.nicoplayer.models{
+
+       //■class(instance)_index:286
+       public class StartVposType extends Object
+       {
+               //static constructor
+               public static function StartVposType$cinit()
+               {       //MethodID:3784, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       EXT = "specifiedFromExtJumper";
+                       ATJUMP = "specifiedByAtjumpJumper";
+                       URL = "specifiedByUrlParameter";
+               }
+
+               //static variables/etc.
+               public static const EXT:String = "specifiedFromExtJumper";      //slotID:1
+               public static const ATJUMP:String = "specifiedByAtjumpJumper";  //slotID:2
+               public static const URL:String = "specifiedByUrlParameter";     //slotID:3
+
+               //constructor
+               public function StartVposType()
+               {       //MethodID:3785, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script241■
+
+package jp.nicovideo.nicoplayer.hiroba.models{
+
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+
+       //■class(instance)_index:287
+       public class HirobaComment extends Object implements IHirobaComment
+       {
+               //static constructor
+               public static function HirobaComment$cinit()
+               {       //MethodID:3787, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function HirobaComment(hug1:IComment)
+               {       //MethodID:3788, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 57
+                       super();
+
+                       this._message = hug1.message;
+                       this._mail = hug1.command.command;
+                       this._isPremium = hug1.isPremium;
+                       this._date = new Date(hug1.date.time);
+                       this._yourpost = hug1.justPosted;
+               }
+
+               //variables/etc.
+               private var _message:String;                                    //slotID:0
+               private var _mail:String;                                       //slotID:0
+               private var _isPremium:Boolean;                                 //slotID:0
+               private var _date:Date;                                         //slotID:0
+               private var _yourpost:Boolean;                                  //slotID:0
+
+               public function get message():String
+               {       //MethodID:3789, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._message;
+               }
+
+               public function get mail():String
+               {       //MethodID:3790, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._mail;
+               }
+
+               public function get isPremium():Boolean
+               {       //MethodID:3791, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isPremium;
+               }
+
+               public function get date():Date
+               {       //MethodID:3792, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._date;
+               }
+
+               public function get yourpost():Boolean
+               {       //MethodID:3793, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._yourpost;
+               }
+       }
+}
+
+//■script242■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       //■class(instance)_index:288
+       public interface ICommand
+       {
+               //static constructor
+               public static function ICommand$cinit()
+               {       //MethodID:3795, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get hasCompleted():Boolean;                                        //MethodID:3796, dispID:0
+
+               function completed():void;                                                  //MethodID:3797, dispID:0
+
+               function duplicate(hug1:Function, hug2:Number=Number.NaN):ICommand;         //MethodID:3798, dispID:0
+
+               function get color():String;                                                //MethodID:3799, dispID:0
+
+               function set color(hug1:String):void;                                       //MethodID:3800, dispID:0
+
+               function get posY():String;                                                 //MethodID:3801, dispID:0
+
+               function set posY(hug1:String):void;                                        //MethodID:3802, dispID:0
+
+               function get posX():String;                                                 //MethodID:3803, dispID:0
+
+               function set posX(hug1:String):void;                                        //MethodID:3804, dispID:0
+
+               function get hasButton():Boolean;                                           //MethodID:3805, dispID:0
+
+               function set hasButton(hug1:Boolean):void;                                  //MethodID:3806, dispID:0
+
+               function get size():String;                                                 //MethodID:3807, dispID:0
+
+               function set size(hug1:String):void;                                        //MethodID:3808, dispID:0
+
+               function get anonymity():Boolean;                                           //MethodID:3809, dispID:0
+
+               function set anonymity(hug1:Boolean):void;                                  //MethodID:3810, dispID:0
+
+               function get fromLive():Boolean;                                            //MethodID:3811, dispID:0
+
+               function set fromLive(hug1:Boolean):void;                                   //MethodID:3812, dispID:0
+
+               function get sage():Boolean;                                                //MethodID:3813, dispID:0
+
+               function set sage(hug1:Boolean):void;                                       //MethodID:3814, dispID:0
+
+               function get full():Boolean;                                                //MethodID:3815, dispID:0
+
+               function set full(hug1:Boolean):void;                                       //MethodID:3816, dispID:0
+
+               function get patissier():Boolean;                                           //MethodID:3817, dispID:0
+
+               function set patissier(hug1:Boolean):void;                                  //MethodID:3818, dispID:0
+
+               function set command(hug1:String):void;                                     //MethodID:3819, dispID:0
+
+               function get command():String;                                              //MethodID:3820, dispID:0
+
+               function forEachCommand(hug1:Function):void;                                //MethodID:3821, dispID:0
+
+               function everyCommand(hug1:Function):void;                                  //MethodID:3822, dispID:0
+
+               function hasContained(hug1:String):Boolean;                                 //MethodID:3823, dispID:0
+
+               function get colorCode():uint;                                              //MethodID:3824, dispID:0
+
+               //constructor
+               public function ICommand();                                                 //MethodID:3825, dispID:0
+       }
+}
+
+//■script243■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       import jp.nicovideo.nicoplayer.models.comment.command.CommandSize
+       import jp.nicovideo.util.Assert
+
+       //■class(instance)_index:289
+       public class Command extends Object implements ICommand
+       {
+               //static constructor
+               public static function Command$cinit()
+               {       //MethodID:3827, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function isColorCodeCommand(hug1:String):Boolean
+               {       //dispID:3, MethodID:3828, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 42
+                       if((hug1 == "") || (hug1 == null)) return false;
+
+                       return new RegExp(new RegExp("^#[\da-f]{6}$", "i")).test(hug1);
+               }
+
+               //constructor
+               public function Command(hug1:*, hug2:Boolean=false)
+               {       //MethodID:3829, LocalCount= 6 , MaxScope= 7, MaxStack= 4, CodeLength= 176
+                       internal var src:*;                                             //slotID:1
+                       internal var isPremium:Boolean = false;                         //slotID:2
+
+                       src = hug1;
+                       isPremium = hug2;
+                       this.__commands = [];
+
+                       super();
+
+                       this.__isPremium = isPremium;
+
+                       if(src == undefined) return;
+
+                       try{
+                               if(src is String){
+                                       this.command = src;
+                               }else if(src is Function){
+                                       src(this);
+                               }else{
+                                       Assert.assert(false, "Command.Command: error.");
+                               }
+                       }
+                       finally{
+                               this.completed();
+                       }
+               }
+
+               //variables/etc.
+               private var __completed:Boolean = false;                        //slotID:0
+               private var __hasButton:Boolean = false;                        //slotID:0
+               private var __isPremium:Boolean = false;                        //slotID:0
+               private var __color:String = "";                                //slotID:0
+               private var __color_fromCode:String = "";                       //slotID:0
+               private var __posX:String = "";                                 //slotID:0
+               private var __posY:String = "";                                 //slotID:0
+               private var __size:String = "";                                 //slotID:0
+               private var __anonymity:Boolean = false;                        //slotID:0
+               private var __fromLive:Boolean = false;                         //slotID:0
+               private var __sage:Boolean = false;                             //slotID:0
+               private var _full:Boolean = false;                              //slotID:0
+               private var _patissier:Boolean = false;                         //slotID:0
+               private var __commands:Array;                                   //slotID:0
+               private var __fullCommand_cache:Array;                          //slotID:0
+
+               public function get hasCompleted():Boolean
+               {       //MethodID:3830, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__completed;
+               }
+
+               public function completed():void
+               {       //MethodID:3831, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+
+                       this.__completed = true;
+               }
+
+               public function duplicate(hug1:Function, hug2:Number=Number.NaN):ICommand
+               {       //MethodID:3833, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 76
+                       internal var func:Function;                                     //slotID:1
+                       internal var isPremium:Number = Number.NaN;                     //slotID:2
+
+                       func = hug1;
+                       isPremium = hug2;
+
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       return new Command(function(hug1:Command):void{ //MethodID:3832, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 98
+                               hug1.__commands = __commands;
+                               hug1.__color = ((__color_fromCode != "") ? __color_fromCode : __color);
+                               hug1.__size = __size;
+                               hug1.__posX = __posX;
+                               hug1.__posY = __posY;
+                               hug1.__hasButton = __hasButton;
+                               hug1.__anonymity = __anonymity;
+                               hug1.__fromLive = __fromLive;
+                               hug1._full = _full;
+                               hug1._patissier = _patissier;
+
+                               func(hug1);
+                       }, (isNaN(isPremium) ? this.__isPremium : (!(!isPremium))));
+               }
+
+               public function get color():String
+               {       //MethodID:3834, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 46
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       return ((this.__color_fromCode != "") ? this.__color_fromCode : this.__color);
+               }
+
+               public function set color(hug1:String):void
+               {       //MethodID:3835, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 34
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+                       this.__set_color(hug1);
+                       this.__set_color_fromCode(hug1);
+               }
+
+               private function __set_color(hug1:String):Boolean
+               {       //MethodID:3836, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 62
+                       if(CommandConstants.NORMAL_COLOR_CODES.hasOwnProperty(hug1) || (this.__isPremium && CommandConstants.PREMIUM_COLOR_CODES.hasOwnProperty(hug1))){
+                               this.__color = hug1;
+                               return true;
+                       }
+
+                       this.__color = "";
+                       return false;
+               }
+
+               private function __set_color_fromCode(hug1:String):Boolean
+               {       //MethodID:3837, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 41
+                       if(this.__isPremium && (Command).isColorCodeCommand(hug1)){
+                               this.__color_fromCode = hug1;
+                               return true;
+                       }
+
+                       this.__color_fromCode = "";
+                       return false;
+               }
+
+               public function get posY():String
+               {       //MethodID:3838, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       return this.__posY;
+               }
+
+               public function set posY(hug1:String):void
+               {       //MethodID:3839, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 28
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+                       this.__set_posY(hug1);
+               }
+
+               private function __set_posY(hug1:String):Boolean
+               {       //MethodID:3840, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 105
+                       var hug2:String = hug1;
+
+                       switch(hug2){
+                       case CommandConstants.PLACE_TOP:
+                       case CommandConstants.PLACE_BOTTOM:
+                       case CommandConstants.PLACE_MIDDLE:
+                               this.__posY = hug1;
+                               return true;
+                       default:
+                               break;
+                       }
+
+                       return false;
+               }
+
+               public function get posX():String
+               {       //MethodID:3841, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       return this.__posX;
+               }
+
+               public function set posX(hug1:String):void
+               {       //MethodID:3842, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 28
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+                       this.__set_posX(hug1);
+               }
+
+               private function __set_posX(hug1:String):Boolean
+               {       //MethodID:3843, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 85
+                       var hug2:String = hug1;
+
+                       switch(hug2){
+                       case CommandConstants.PLACE_RIGHT:
+                       case CommandConstants.PLACE_LEFT:
+                               this.__posX = hug1;
+                               return true;
+                       default:
+                               break;
+                       }
+
+                       return false;
+               }
+
+               public function get hasButton():Boolean
+               {       //MethodID:3844, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       return this.__hasButton;
+               }
+
+               public function set hasButton(hug1:Boolean):void
+               {       //MethodID:3845, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+
+                       this.__hasButton = hug1;
+               }
+
+               private function __set_hasButton(hug1:String):Boolean
+               {       //MethodID:3846, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
+                       if(hug1 == CommandConstants.HAS_BUTTON){
+                               this.__hasButton = true;
+                               return true;
+                       }
+
+                       return false;
+               }
+
+               public function get size():String
+               {       //MethodID:3847, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       return this.__size;
+               }
+
+               public function set size(hug1:String):void
+               {       //MethodID:3848, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 28
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+                       this.__set_size(hug1);
+               }
+
+               private function __set_size(hug1:String):Boolean
+               {       //MethodID:3849, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(!CommandSize.SIZES.hasOwnProperty(hug1)) return false;
+
+                       this.__size = hug1;
+                       return true;
+               }
+
+               public function get anonymity():Boolean
+               {       //MethodID:3850, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       return this.__anonymity;
+               }
+
+               public function set anonymity(hug1:Boolean):void
+               {       //MethodID:3851, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+
+                       this.__anonymity = hug1;
+               }
+
+               private function __set_anonymity(hug1:String):Boolean
+               {       //MethodID:3852, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
+                       if(hug1 == CommandConstants.ANONYMITY){
+                               this.__anonymity = true;
+                               return true;
+                       }
+
+                       return false;
+               }
+
+               public function get fromLive():Boolean
+               {       //MethodID:3853, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       return this.__fromLive;
+               }
+
+               public function set fromLive(hug1:Boolean):void
+               {       //MethodID:3854, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+
+                       this.__fromLive = hug1;
+               }
+
+               private function __set_fromLive(hug1:String):Boolean
+               {       //MethodID:3855, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
+                       if(hug1 == CommandConstants.FROMLIVE){
+                               this.__fromLive = true;
+                               return true;
+                       }
+
+                       return false;
+               }
+
+               public function get sage():Boolean
+               {       //MethodID:3856, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       return this.__sage;
+               }
+
+               public function set sage(hug1:Boolean):void
+               {       //MethodID:3857, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+
+                       this.__sage = hug1;
+               }
+
+               private function __set_sage(hug1:String):Boolean
+               {       //MethodID:3858, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
+                       if(hug1 == CommandConstants.SAGE){
+                               this.__sage = true;
+                               return true;
+                       }
+
+                       return false;
+               }
+
+               public function get full():Boolean
+               {       //MethodID:3859, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       return this._full;
+               }
+
+               public function set full(hug1:Boolean):void
+               {       //MethodID:3860, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+
+                       this._full = hug1;
+               }
+
+               public function get patissier():Boolean
+               {       //MethodID:3861, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(!this.__completed) throw new Error("Command.completed; has not completed yet.");
+
+                       return this._patissier;
+               }
+
+               private function _set_full(hug1:String):Boolean
+               {       //MethodID:3862, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 19
+                       this._full = (hug1 == CommandConstants.FULL);
+                       return this._full;
+               }
+
+               public function set patissier(hug1:Boolean):void
+               {       //MethodID:3863, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+
+                       this._patissier = hug1;
+               }
+
+               private function _set_patissier(hug1:String):Boolean
+               {       //MethodID:3864, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 19
+                       this._patissier = (hug1 == CommandConstants.PATISSIER);
+                       return this._patissier;
+               }
+
+               public function set command(hug1:String):void
+               {       //MethodID:3867, LocalCount= 4 , MaxScope= 2, MaxStack= 12, CodeLength= 363
+                       internal var cmdStr:String;                                     //slotID:1
+                       internal var checkSheet:Array;                                  //slotID:2
+                       internal var i:int;                                             //slotID:3
+                       internal var matcher:Function;                                  //slotID:4
+                       internal var j:int;                                             //slotID:5
+
+                       j = 0;
+                       cmdStr = hug1;
+                       matcher = function(hug1:String, hug2:String):Function{  //MethodID:3866, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 18
+                               internal var pattern:String;                                    //slotID:1
+                               internal var id:String;                                         //slotID:2
+
+                               pattern = hug1;
+                               id = hug2;
+                               return function(hug1:String):Boolean{   //MethodID:3865, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 20
+                                       if(hug1 != pattern) return false;
+
+                                       this[id] = true;
+                                       return true;
+                               };
+                       };
+
+                       if(this.__completed) throw new Error("Command.completed: already completed.");
+
+                       this.__commands = cmdStr.replace(new RegExp("^[  ]*(.*?)[  ]*$", "s"), "$1").split(new RegExp("[  ]+"));
+                       this.__color = "";
+                       this.__color_fromCode = "";
+                       this.__size = "";
+                       this.__posX = "";
+                       this.__posY = "";
+                       this.__hasButton = false;
+                       this.__anonymity = false;
+                       this.__fromLive = false;
+                       this.__sage = false;
+                       this._full = false;
+                       this._patissier = false;
+                       checkSheet = [this.__set_size, this.__set_posX, this.__set_posY, this.__set_color, this.__set_color_fromCode, this.__set_hasButton, this.__set_anonymity, this.__set_fromLive, this.__set_sage, this._set_full, this._set_patissier];
+                       i = 0;
+
+                       while((i < this.__commands.length) && (checkSheet.length != 0)){
+                               j = 0;
+
+                               while(j < checkSheet.length){
+                                       var hug3:Array = checkSheet;
+
+                                       if(hug3[j](this.__commands[i])){
+                                               i -= 1;
+
+                                               this.__commands.splice(i, 1);
+
+                                               j -= 1;
+
+                                               checkSheet.splice(j, 1);
+                                               break;
+                                       }
+
+                                       j++;
+                               }
+
+                               i++;
+                       }
+               }
+
+               public function get command():String
+               {       //MethodID:3868, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 34
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       return this.__listing().join(" ");
+               }
+
+               public function forEachCommand(hug1:Function):void
+               {       //MethodID:3869, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 64
+                       var hug2:String = null;
+
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       for each(hug2 in this.__listing()){
+                               hug1(hug2);
+                       }
+               }
+
+               public function everyCommand(hug1:Function):void
+               {       //MethodID:3870, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 71
+                       var hug2:String = null;
+
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       for each(hug2 in this.__listing()){
+                               if(!hug1(hug2)) break;
+                       }
+               }
+
+               public function hasContained(hug1:String):Boolean
+               {       //MethodID:3871, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 67
+                       var hug2:String = null;
+
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       for each(hug2 in this.__listing()){
+                               if(hug1 == hug2) return true;
+                       }
+
+                       return false;
+               }
+
+               private function __listing():Array
+               {       //MethodID:3872, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 244
+                       var hug1:Array = null;
+
+                       if(!this.__fullCommand_cache){
+                               hug1 = this.__commands.concat();
+
+                               if(this.__size != "") hug1.unshift(this.__size);
+
+                               if(this.__color_fromCode != "") hug1.unshift(this.__color_fromCode);
+
+                               if(this.__color != "") hug1.unshift(this.__color);
+
+                               if(this.__posY != "") hug1.unshift(this.__posY);
+
+                               if(this.__posX != "") hug1.unshift(this.__posX);
+
+                               if(this.__hasButton) hug1.unshift(CommandConstants.HAS_BUTTON);
+
+                               if(this.__sage) hug1.unshift(CommandConstants.SAGE);
+
+                               if(this.__anonymity) hug1.unshift(CommandConstants.ANONYMITY);
+
+                               if(this.__fromLive) hug1.unshift(CommandConstants.FROMLIVE);
+
+                               if(this._full) hug1.unshift(CommandConstants.FULL);
+
+                               if(this._patissier) hug1.unshift(CommandConstants.PATISSIER);
+
+                               this.__fullCommand_cache = hug1;
+                       }
+
+                       return this.__fullCommand_cache;
+               }
+
+               public function get colorCode():uint
+               {       //MethodID:3873, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 167
+                       if(!this.__completed) throw new Error("Command.completed: has not completed yet.");
+
+                       var hug1:uint = CommandConstants.NORMAL_COLOR_CODES[CommandConstants.COLOR_WHITE];
+                       var hug2:String = ((this.__color_fromCode != "") ? this.__color_fromCode : this.__color);
+
+                       if(hug2 != ""){
+                               if(CommandConstants.NORMAL_COLOR_CODES.hasOwnProperty(hug2)) hug1 = CommandConstants.NORMAL_COLOR_CODES[hug2];
+
+                               if(this.__isPremium){
+                                       if(CommandConstants.PREMIUM_COLOR_CODES.hasOwnProperty(hug2)) hug1 = CommandConstants.PREMIUM_COLOR_CODES[hug2];
+
+                                       if((Command).isColorCodeCommand(hug2)) hug1 = parseInt(hug2.substr(1, 6), 16);
+                               }
+                       }
+
+                       return hug1;
+               }
+       }
+}
+
+//■script244■
+
+package jp.nicovideo.nicoplayer.hiroba.view{
+
+       import flash.display.Sprite
+       import jp.nicovideo.nicoplayer.models.IPlayerConfig
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       import jp.nicovideo.nicoplayer.views.comment.CommentLayer
+       import jp.nicovideo.nicoplayer.views.comment.CommentLayerView
+       import jp.nicovideo.nicoplayer.views.comment.CommentViewConstants
+       import jp.nicovideo.nicoplayer.views.comment.IDisplayObjectProvider
+       import jp.nicovideo.nicoplayer.views.comment.ViewEntry
+       import jp.nicovideo.nicoplayer.views.comment.elements.ClickableComment
+       import jp.nicovideo.nicoplayer.views.comment.elements.CommentTextField
+       import jp.nicovideo.util.ObjectPool
+       import jp.nicovideo.util.events.event_receiver
+
+       //■class(instance)_index:290
+       public class HirobaCommentPlayer extends Object
+       {
+               //static constructor
+               public static function HirobaCommentPlayer$cinit()
+               {       //MethodID:3875, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function HirobaCommentPlayer(hug1:Sprite, hug2:IPlayerConfig, hug3:Boolean)
+               {       //MethodID:3876, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 56
+                       this._layers = {};
+                       this._textPoolMap = {};
+                       this._buttonPoolMap = {};
+                       this._addedHirobaEntries = [];
+                       this._addedOtherEntries = [];
+
+                       super();
+
+                       this._baseLayer = hug1;
+                       this._playerConfig = hug2;
+                       this._isPremium = hug3;
+
+                       this._constructor();
+               }
+
+               //variables/etc.
+               private var _baseLayer:Sprite;                                  //slotID:0
+               private var _commentLayer:CommentLayer;                         //slotID:0
+               private var _commentLayerView:CommentLayerView;                 //slotID:0
+               private var _layers:Object;                                     //slotID:0
+               private var _playerConfig:IPlayerConfig;                        //slotID:0
+               private var _isPremium:Boolean;                                 //slotID:0
+               private var _textPoolMap:Object;                                //slotID:0
+               private var _buttonPoolMap:Object;                              //slotID:0
+               private var _addedHirobaEntries:Array;                          //slotID:0
+               private var _addedOtherEntries:Array;                           //slotID:0
+
+               private function _constructor():void
+               {       //MethodID:3881, LocalCount= 4 , MaxScope= 2, MaxStack= 7, CodeLength= 323
+                       internal var timeline:_HirobaTimeline;                          //slotID:1
+                       internal var layers:Array;                                      //slotID:2
+                       internal var layerID:String;                                    //slotID:3
+                       internal var createTextFieldFunc:Function;                      //slotID:4
+                       internal var createButtonFunc:Function;                         //slotID:5
+
+                       layerID = null;
+                       createTextFieldFunc = function(hug1:String):Function{   //MethodID:3878, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 23
+                               internal var layerID:String;                                    //slotID:1
+                               internal var f:Function;                                        //slotID:2
+
+                               layerID = hug1;
+                               f = function():CommentTextField{        //MethodID:3877, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 44
+                                       var hug1:CommentTextField = null;
+                                       hug1 = new CommentTextField();
+                                       hug1.displayObject.visible = false;
+
+                                       _commentLayer.getLayer(layerID).addChild(hug1.displayObject);
+
+                                       return hug1;
+                               };
+
+                               return f;
+                       };
+
+                       createButtonFunc = function(hug1:String):Function{      //MethodID:3880, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 23
+                               internal var layerID:String;                                    //slotID:1
+                               internal var f:Function;                                        //slotID:2
+
+                               layerID = hug1;
+                               f = function():ClickableComment{        //MethodID:3879, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 39
+                                       var hug1:ClickableComment = new ClickableComment();
+                                       hug1.displayObject.visible = false;
+
+                                       _commentLayer.getLayer(layerID).addChild(hug1.displayObject);
+
+                                       return hug1;
+                               };
+
+                               return f;
+                       };
+
+                       timeline = new _HirobaTimeline();
+                       this._commentLayerView = new CommentLayerView(this._baseLayer, timeline, this._baseLayer.width, this._baseLayer.height, timeline.length);
+                       this._commentLayer = new CommentLayer(this._baseLayer, this._playerConfig, this._isPremium);
+
+                       this._commentLayer.addLayer(HirobaCommentListName.HIROBA);
+                       this._commentLayer.addLayer(HirobaCommentListName.OTHER_VIDEO, 0);
+                       this._commentLayer.setOptionalLayer(HirobaCommentListName.OTHER_VIDEO);
+
+                       layers = [HirobaCommentListName.HIROBA, HirobaCommentListName.OTHER_VIDEO];
+
+                       for each(layerID in layers){
+                               this._textPoolMap[layerID] = new ObjectPool(createTextFieldFunc(layerID));
+                               this._buttonPoolMap[layerID] = new ObjectPool(createButtonFunc(layerID));
+                       }
+
+                       this._commentLayerView.onVideoPlayed();
+                       this._commentLayer.onVideoStarted();
+                       this._commentLayer.onPlayerConfigCommentVisibleUpdated(false);
+               }
+
+               public function get commentLayerView():CommentLayerView
+               {       //MethodID:3882, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._commentLayerView;
+               }
+
+               public function get commentLayer():CommentLayer
+               {       //MethodID:3883, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._commentLayer;
+               }
+
+               public function addComment(hug1:IComment, hug2:String):void
+               {       //MethodID:3884, LocalCount= 7 , MaxScope= 1, MaxStack= 7, CodeLength= 166
+                       var hug3:String = hug1.command.posY;
+                       var hug4:Number = (hug1.vpos - CommentViewConstants.COMMENT_SHOW_AHEAD);
+                       var hug5:IDisplayObjectProvider = (hug1.command.hasButton ? new _ClickableCommentProvider(this._buttonPoolMap[hug2], hug1) : new _CommentTextFieldProvider(this._textPoolMap[hug2], hug1));
+                       var hug6:ViewEntry = new ViewEntry(hug4, CommentViewConstants.COMMENT_SHOW_EXPIRE, hug3, hug5, 0, hug1.command.full);
+
+                       if(hug2 == HirobaCommentListName.HIROBA){
+                               this._addedHirobaEntries.push(hug6);
+                       }else{
+                               this._addedOtherEntries.push(hug6);
+                       }
+
+                       this._commentLayerView.update(hug2, [hug6], null, false);
+               }
+       }
+}
+
+import flash.display.DisplayObject
+import jp.nicovideo.nicoplayer.models.comment.IComment
+import jp.nicovideo.nicoplayer.views.comment.elements.ClickableComment
+import jp.nicovideo.nicoplayer.views.comment.elements.CommentTextField
+import jp.nicovideo.util.Assert
+import jp.nicovideo.util.ObjectPool
+import jp.nicovideo.util.TimeUtils
+
+//■class(instance)_index:291
+//private
+class _HirobaTimeline extends Object implements ITimeline
+{
+       //static constructor
+       public static function _HirobaTimeline$cinit()
+       {       //MethodID:3885, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //variables/etc.
+       public function get length():Number
+       {       //MethodID:3886, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 5
+               return -1;
+       }
+
+       public function get vpos():Number
+       {       //MethodID:3887, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
+               return (TimeUtils.now().time - 1000);
+       }
+
+       public function get isInitialized():Boolean
+       {       //MethodID:3888, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
+               return true;
+       }
+
+       //constructor
+       public function _HirobaTimeline()
+       {       //MethodID:3889, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+}
+
+//■class(instance)_index:292
+//private
+class _CommentTextFieldProvider extends Object implements IDisplayObjectProvider
+{
+       //static constructor
+       public static function _CommentTextFieldProvider$cinit()
+       {       //MethodID:3890, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _CommentTextFieldProvider(hug1:ObjectPool, hug2:IComment)
+       {       //MethodID:3891, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+               super();
+
+               this._pool = hug1;
+               this._comment = hug2;
+       }
+
+       //variables/etc.
+       private var _pool:ObjectPool;                                   //slotID:0
+       private var _comment:IComment;                                  //slotID:0
+       private var _textComment:CommentTextField;                      //slotID:0
+
+       public function create():DisplayObject
+       {       //MethodID:3892, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 62
+               Assert.assert(!this._textComment, "_CommentTextFieldProvider.create: _textComment is not null");
+
+               this._textComment = this._pool.create();
+
+               this._textComment.reset(this._comment, -1);
+
+               this._textComment.displayObject.visible = true;
+               return this._textComment.displayObject;
+       }
+
+       public function release(hug1:DisplayObject):void
+       {       //MethodID:3893, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 59
+               Assert.assert(this._textComment && (this._textComment.displayObject === hug1));
+
+               this._textComment.displayObject.visible = false;
+
+               this._pool.restore(this._textComment);
+
+               this._textComment = null;
+       }
+
+       public function assignZ(hug1:DisplayObject, hug2:int):void
+       {       //MethodID:3894, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+}
+
+//■class(instance)_index:293
+//private
+class _ClickableCommentProvider extends Object implements IDisplayObjectProvider
+{
+       //static constructor
+       public static function _ClickableCommentProvider$cinit()
+       {       //MethodID:3895, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _ClickableCommentProvider(hug1:ObjectPool, hug2:IComment)
+       {       //MethodID:3896, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+               super();
+
+               this._pool = hug1;
+               this._comment = hug2;
+       }
+
+       //variables/etc.
+       private var _pool:ObjectPool;                                   //slotID:0
+       private var _comment:IComment;                                  //slotID:0
+       private var _clickableComment:ClickableComment;                 //slotID:0
+
+       public function create():DisplayObject
+       {       //MethodID:3897, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 45
+               Assert.assert(!this._clickableComment);
+
+               this._clickableComment = this._pool.create();
+               this._clickableComment.displayObject.visible = true;
+               return this._clickableComment.displayObject;
+       }
+
+       public function release(hug1:DisplayObject):void
+       {       //MethodID:3898, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 59
+               Assert.assert(this._clickableComment && (this._clickableComment.displayObject === hug1));
+
+               this._clickableComment.displayObject.visible = false;
+
+               this._pool.restore(this._clickableComment);
+
+               this._clickableComment = null;
+       }
+
+       public function assignZ(hug1:DisplayObject, hug2:int):void
+       {       //MethodID:3899, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+}
+
+//■script245■
+
+package jp.nicovideo.nicoplayer.hiroba.view{
+
+       //■class(instance)_index:294
+       public class HirobaCommentListName extends Object
+       {
+               //static constructor
+               public static function HirobaCommentListName$cinit()
+               {       //MethodID:3901, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       HIROBA = "cl_name:hiroba";
+                       OTHER_VIDEO = "cl_name:other_video";
+               }
+
+               //static variables/etc.
+               public static const HIROBA:String = "cl_name:hiroba";           //slotID:1
+               public static const OTHER_VIDEO:String = "cl_name:other_video"; //slotID:2
+
+               //constructor
+               public function HirobaCommentListName()
+               {       //MethodID:3902, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script246■
+
+package jp.nicovideo.marquee.models{
+
+       //■class(instance)_index:295
+       public class MarqueePriorityConstants extends Object
+       {
+               //static constructor
+               public static function MarqueePriorityConstants$cinit()
+               {       //MethodID:3904, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 67
+                       USER_NICOWARI = 3;
+                       ADS_LIVE_NICOWARI = 5;
+                       LIVE_ALERT = 6;
+                       JK_ALERT = 6;
+                       UNEI_COMMENT = 8;
+                       OFFICIAL_ANIME_NICOWARI = 11;
+                       PLUGIN_ALERT = 2;
+                       POWER_INFOMATION_INTERRUPT = 2;
+               }
+
+               //static variables/etc.
+               public static const USER_NICOWARI:Number = 3.0;                 //slotID:1
+               public static const ADS_LIVE_NICOWARI:Number = 5.0;             //slotID:2
+               public static const LIVE_ALERT:Number = 6.0;                    //slotID:3
+               public static const JK_ALERT:Number = 6.0;                      //slotID:4
+               public static const UNEI_COMMENT:Number = 8.0;                  //slotID:5
+               public static const OFFICIAL_ANIME_NICOWARI:Number = 11.0;      //slotID:6
+               public static const PLUGIN_ALERT:Number = 2.0;                  //slotID:7
+               public static const POWER_INFOMATION_INTERRUPT:Number = 2.0;    //slotID:8
+
+               //constructor
+               public function MarqueePriorityConstants()
+               {       //MethodID:3905, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script247■
+
+package jp.nicovideo.marquee{
+
+       //■class(instance)_index:296
+       public class MarqueeInterruptType extends Object
+       {
+               //static constructor
+               public static function MarqueeInterruptType$cinit()
+               {       //MethodID:3907, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 75
+                       UNKNOWN = "unknown";
+                       CM = "cm";
+                       LIVE_ALERT = "live_alert";
+                       JK_ALERT = "jk_alert";
+                       UNEI_COMMENT = "unei_comment";
+                       ADS_LIVE = "ads_live";
+                       PLUGIN_ALERT = "plugin_alert";
+                       POWER_INFOMATION = "power_infomation";
+               }
+
+               //static variables/etc.
+               public static const UNKNOWN:String = "unknown";                 //slotID:1
+               public static const CM:String = "cm";                           //slotID:2
+               public static const LIVE_ALERT:String = "live_alert";           //slotID:3
+               public static const JK_ALERT:String = "jk_alert";               //slotID:4
+               public static const UNEI_COMMENT:String = "unei_comment";       //slotID:5
+               public static const ADS_LIVE:String = "ads_live";               //slotID:6
+               public static const PLUGIN_ALERT:String = "plugin_alert";       //slotID:7
+               public static const POWER_INFOMATION:String = "power_infomation";//slotID:8
+
+               //constructor
+               public function MarqueeInterruptType()
+               {       //MethodID:3908, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script248■
+
+package jp.nicovideo.nicoplayer.models.video{
+
+       import flash.display.DisplayObject
+       import flash.display.Sprite
+       import flash.events.TimerEvent
+       import flash.utils.Timer
+       import jp.nicovideo.nicoplayer.views.VideoLayerConstants
+       import jp.nicovideo.util.Functions
+       import jp.nicovideo.util.ObjectUtils
+
+       //■class(instance)_index:298
+       public class DummyVideo extends Object implements IChildVideo
+       {
+               //static constructor
+               public static function DummyVideo$cinit()
+               {       //MethodID:3916, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function DummyVideo(hug1:Number)
+               {       //MethodID:3918, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 192
+                       internal var length:Number;                                     //slotID:1
+
+                       length = hug1;
+                       this._videoTimer = new Timer(this._delayTime);
+                       this._onInitialized = new Functions();
+                       this._onEnded = new Functions();
+                       this._onSeeked = new Functions();
+                       this._onSeeking = new Functions();
+                       this._onPlayed = new Functions();
+                       this._onStopped = new Functions();
+                       this._onVideoLoadComplete = new Functions();
+                       this._onVideoBufferingStarted = new Functions();
+                       this._onVideoError = new Functions();
+                       this._displayObject = new Sprite();
+                       this._video = new Sprite();
+                       this._vposProvider = new _VposProvider();
+
+                       super();
+
+                       if(length < 0) throw new ArgumentError("DummyVideo.DummyVideo: length must be positive number.");
+
+                       this._length = length;
+
+                       this._videoTimer.addEventListener(TimerEvent.TIMER, function(hug1:TimerEvent):void{     //MethodID:3917, LocalCount= 3 , MaxScope= 0, MaxStack= 4, CodeLength= 72
+                               if(_vposProvider.vpos >= length){
+                                       _isEnd = true;
+
+                                       _videoTimer.stop();
+                                       _vposProvider.onStopped();
+
+                                       _vposProvider.lastVpos = length;
+                                       _isPlaying = _isPausing = false;
+
+                                       _onEnded.apply(_isLoop);
+                               }
+                       });
+
+                       this._vposProvider.lastVpos = 0.0;
+               }
+
+               //variables/etc.
+               private const _delayTime:uint = 40;                             //slotID:0
+               private var _videoTimer:Timer;                                  //slotID:0
+               private var _length:uint;                                       //slotID:0
+               private var _isLoop:Boolean;                                    //slotID:0
+               private const _onInitialized:Functions;                         //slotID:0
+               private const _onEnded:Functions;                               //slotID:0
+               private const _onSeeked:Functions;                              //slotID:0
+               private const _onSeeking:Functions;                             //slotID:0
+               private const _onPlayed:Functions;                              //slotID:0
+               private const _onStopped:Functions;                             //slotID:0
+               private const _onVideoLoadComplete:Functions;                   //slotID:0
+               private const _onVideoBufferingStarted:Functions;               //slotID:0
+               private const _onVideoError:Functions;                          //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 _displayObject:DisplayObject;                       //slotID:0
+               private var _video:DisplayObject;                               //slotID:0
+               private var _vposProvider:_VposProvider;                        //slotID:0
+
+               public function initEvent():void
+               {       //MethodID:3920, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 48
+                       this._onStopped.add(this._vposProvider.onStopped);
+                       this._onPlayed.add(this._vposProvider.onPlayed);
+                       this._onEnded.add(function(hug1:Boolean):void{  //MethodID:3919, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 8
+                               _vposProvider.onStopped();
+                       });
+               }
+
+               public function load(hug1:Function):void
+               {       //MethodID:3921, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12
+                       ObjectUtils.callLater(hug1, true);
+               }
+
+               public function play():void
+               {       //MethodID:3922, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 40
+                       this._isEnd = false;
+                       this._isPlaying = true;
+                       this._isPausing = false;
+
+                       this._videoTimer.start();
+                       ObjectUtils.callLater(this._onPlayed.apply);
+               }
+
+               public function stop():void
+               {       //MethodID:3923, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 35
+                       this._isEnd = false;
+                       this._isPausing = true;
+
+                       this._videoTimer.stop();
+                       ObjectUtils.callLater(this._onStopped.apply);
+               }
+
+               public function close():void
+               {       //MethodID:3924, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function seek(hug1:Number):void
+               {       //MethodID:3925, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 31
+                       this._isEnd = false;
+                       this._vposProvider.lastVpos = hug1;
+
+                       ObjectUtils.callLater(this._onSeeked.apply, hug1);
+               }
+
+               public function get length():Number
+               {       //MethodID:3926, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._length;
+               }
+
+               public function get loadedLength():Number
+               {       //MethodID:3927, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._length;
+               }
+
+               public function get vpos():Number
+               {       //MethodID:3928, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._vposProvider.vpos;
+               }
+
+               public function set isLoop(hug1:Boolean):void
+               {       //MethodID:3929, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isLoop = hug1;
+               }
+
+               public function set volume(hug1:Number):void
+               {       //MethodID:3930, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function get isInitialized():Boolean
+               {       //MethodID:3931, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
+                       return true;
+               }
+
+               public function get isControllable():Boolean
+               {       //MethodID:3932, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
+                       return true;
+               }
+
+               public function get isPlaying():Boolean
+               {       //MethodID:3933, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isPlaying;
+               }
+
+               public function get isPausing():Boolean
+               {       //MethodID:3934, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isPausing;
+               }
+
+               public function get isSeeking():Boolean
+               {       //MethodID:3935, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
+                       return false;
+               }
+
+               public function get isEnd():Boolean
+               {       //MethodID:3936, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isEnd;
+               }
+
+               public function get isBuffering():Boolean
+               {       //MethodID:3937, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
+                       return false;
+               }
+
+               public function get onVideoInitialized():Functions
+               {       //MethodID:3938, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._onInitialized;
+               }
+
+               public function get onVideoEnded():Functions
+               {       //MethodID:3939, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._onEnded;
+               }
+
+               public function get onVideoSeeked():Functions
+               {       //MethodID:3940, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._onSeeked;
+               }
+
+               public function get onVideoSeeking():Functions
+               {       //MethodID:3941, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._onSeeking;
+               }
+
+               public function get onVideoPlayed():Functions
+               {       //MethodID:3942, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._onPlayed;
+               }
+
+               public function get onVideoStopped():Functions
+               {       //MethodID:3943, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._onStopped;
+               }
+
+               public function get onVideoError():Functions
+               {       //MethodID:3944, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._onVideoError;
+               }
+
+               public function get layer():DisplayObject
+               {       //MethodID:3945, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._displayObject;
+               }
+
+               public function get source():DisplayObject
+               {       //MethodID:3946, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._video;
+               }
+
+               public function get videoPlayerStatus():String
+               {       //MethodID:3947, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 54
+                       if(this._isEnd) return VideoPlayerStatus.END;
+
+                       if(this._isPlaying){
+                               if(this._isPausing) return VideoPlayerStatus.PAUSED;
+
+                               return VideoPlayerStatus.PLAYING;
+                       }
+
+                       return VideoPlayerStatus.STOPPED;
+               }
+
+               public function get onVideoBufferingStarted():Functions
+               {       //MethodID:3948, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._onVideoBufferingStarted;
+               }
+
+               public function get onVideoLoadComplete():Functions
+               {       //MethodID:3949, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._onVideoLoadComplete;
+               }
+
+               public function resize(hug1:Number, hug2:Number):void
+               {       //MethodID:3950, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function get contentWidth():int
+               {       //MethodID:3951, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9
+                       return VideoLayerConstants.VIDEO_LAYER_SD_WIDTH;
+               }
+
+               public function get contentHeight():int
+               {       //MethodID:3952, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9
+                       return VideoLayerConstants.VIDEO_LAYER_SD_HEIGHT;
+               }
+       }
+}
+
+import jp.nicovideo.util.TimeUtils
+
+//■class(instance)_index:297
+//private
+class _VposProvider extends Object
+{
+       //static constructor
+       public static function _VposProvider$cinit()
+       {       //MethodID:3910, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //variables/etc.
+       private var _startTime:Number;                                  //slotID:0
+       private var _isPausing:Boolean = true;                          //slotID:0
+       private var _lastVpos:Number = 0.0;                             //slotID:0
+
+       public function onPlayed():void
+       {       //MethodID:3911, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
+               this._startTime = TimeUtils.now().time;
+               this._isPausing = false;
+       }
+
+       public function onStopped():void
+       {       //MethodID:3912, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+               this._lastVpos = this.vpos;
+               this._isPausing = true;
+       }
+
+       public function set lastVpos(hug1:Number):void
+       {       //MethodID:3913, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+               this._lastVpos = hug1;
+       }
+
+       public function get vpos():Number
+       {       //MethodID:3914, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 36
+               if(this._isPausing) return this._lastVpos;
+
+               return (this._lastVpos + TimeUtils.now().time - this._startTime);
+       }
+
+       //constructor
+       public function _VposProvider()
+       {       //MethodID:3915, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 20
+               this._startTime = TimeUtils.now().time;
+
+               super();
+       }
+}
+
+//■script249■
+
+package jp.nicovideo.util{
+
+       import flash.events.StatusEvent
+       import flash.net.LocalConnection
+       import flash.system.Security
+       import flash.utils.clearInterval
+       import flash.utils.setInterval
+       import jp.nicovideo.util.net.local.LocalConnectionFactory
+
+       //■class(instance)_index:299
+       public class LC extends Object
+       {
+               //static constructor
+               public static function LC$cinit()
+               {       //MethodID:3954, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       CONNECTION_FAIL = "connectionFail";
+               }
+
+               //static variables/etc.
+               public static const CONNECTION_FAIL:String = "connectionFail";  //slotID:1
+
+               //constructor
+               public function LC(hug1:String)
+               {       //MethodID:3955, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 31
+                       this.onErrorOccured = new Functions();
+                       this._lc = LocalConnectionFactory.create();
+
+                       super();
+
+                       this._domain = hug1;
+               }
+
+               //variables/etc.
+               public const onErrorOccured:Functions;                          //slotID:0
+               public var _domain:String;                                      //slotID:0
+               public var _lc:LocalConnection;                                 //slotID:0
+               private var _client:_LCClient;                                  //slotID:0
+
+               public function get isMaster():Boolean
+               {       //MethodID:3956, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       return (this._client is (_Master));
+               }
+
+               public function join(hug1:Function):void
+               {       //MethodID:3961, LocalCount= 4 , MaxScope= 5, MaxStack= 4, CodeLength= 307
+                       internal var f:Function;                                        //slotID:1
+                       internal var self:LC;                                           //slotID:2
+                       internal var time:Number;                                       //slotID:3
+                       internal var attempts:int;                                      //slotID:4
+                       internal var connectionName:String;                             //slotID:5
+                       internal var timer:Number;                                      //slotID:6
+                       internal var masterize:Function;                                //slotID:7
+
+                       self = null;
+                       connectionName = null;
+                       timer = NaN;
+                       f = hug1;
+                       masterize = function(hug1:LocalConnection):Boolean{     //MethodID:3959, LocalCount= 4 , MaxScope= 3, MaxStack= 4, CodeLength= 105
+                               internal var lc:LocalConnection;                                //slotID:1
+
+                               lc = hug1;
+
+                               try{
+                                       lc.connect(_masterName);
+
+                                       lc.client = _client = new _Master();
+
+                                       lc.addEventListener(StatusEvent.STATUS, function(hug1:StatusEvent):void{        //MethodID:3958, LocalCount= 2 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+                                       });
+                                       _client.setup(self, _masterName);
+                                       f();
+
+                                       return true;
+                               }
+                               catch(e:ArgumentError){
+                               }
+
+                               return false;
+                       };
+
+                       Security.allowDomain("*");
+                       this._lc.allowDomain("*");
+                       this._lc.allowInsecureDomain("*");
+
+                       self = this;
+
+                       if(masterize(this._lc)) return;
+
+                       time = new Date().getTime();
+                       attempts = 3;
+
+                       while(true){
+                               try{
+                                       this._lc.connect("" + time);
+                                       break;
+                               }
+                               catch(e:ArgumentError){
+                               }
+
+                               attempts -= 1;
+
+                               if(0 < (attempts - 1)){
+                                       this.onErrorOccured.apply(CONNECTION_FAIL);
+
+                                       return;
+                               }
+
+                               time += 1;
+                       }
+
+                       connectionName = ("" + time);
+                       this._lc.client = this._client = new _Slave();
+
+                       this._client.setup(this, connectionName);
+                       this._lc.send(this._masterName, "_lc_ping", connectionName);
+
+                       timer = setInterval(function():void{    //MethodID:3957, LocalCount= 1 , MaxScope= 0, MaxStack= 4, CodeLength= 17
+                               _lc.send(_masterName, "_lc_ping", connectionName);
+                       }, 3000);
+                       this._lc.addEventListener(StatusEvent.STATUS, function(hug1:StatusEvent):void{  //MethodID:3960, LocalCount= 4 , MaxScope= 3, MaxStack= 3, CodeLength= 106
+                               internal var event:StatusEvent;                                 //slotID:1
+                               internal var lc:LocalConnection;                                //slotID:2
+
+                               lc = null;
+                               event = hug1;
+
+                               if(event.level == "error"){
+                                       lc = LocalConnectionFactory.create();
+
+                                       if(masterize(lc)){
+                                               try{
+                                                       _lc.close();
+                                               }
+                                               catch(e:ArgumentError){
+                                               }
+
+                                               _lc = lc;
+
+                                               clearInterval(timer);
+                                       }
+                               }
+                       });
+               }
+
+               public function close():void
+               {       //MethodID:3962, LocalCount= 3 , MaxScope= 5, MaxStack= 3, CodeLength= 35
+                       try{
+                               this._lc.close();
+                       }
+                       catch(e:ArgumentError){
+                       }
+               }
+
+               public function send(hug1:Function, hug2:String, hug3:Object):void
+               {       //MethodID:3963, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 14
+                       this._client.send(hug1, hug2, hug3);
+               }
+
+               public function receive(hug1:Function, hug2:String, hug3:Boolean=false):void
+               {       //MethodID:3964, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 14
+                       this._client.receive(hug1, hug2, hug3);
+               }
+
+               public function get _masterName():String
+               {       //MethodID:3965, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       return (this._domain + ".master");
+               }
+       }
+}
+
+import flash.utils.clearTimeout
+import flash.utils.setTimeout
+import jp.nicovideo.util.LC
+import jp.nicovideo.util.ObjectUtils
+
+//■class(instance)_index:300
+//private
+class _LCClient extends Object
+{
+       //static constructor
+       public static function _LCClient$cinit()
+       {       //MethodID:3966, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+               _txIDCounter = 0;
+       }
+
+       //static variables/etc.
+       private static var _txIDCounter:Number = 0.0;                   //slotID:1
+
+       //variables/etc.
+       protected var _parent:LC;                                       //slotID:0
+       protected var _connectionName:String;                           //slotID:0
+       private var _accepters:Object;                                  //slotID:0
+
+       public function setup(hug1:LC, hug2:String):void
+       {       //MethodID:3967, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+               this._parent = hug1;
+               this._connectionName = hug2;
+       }
+
+       public function send(hug1:Function, hug2:String, hug3:Object):void
+       {       //MethodID:3968, LocalCount= 4 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function receive(hug1:Function, hug2:String, hug3:Boolean, hug4:int=0):void
+       {       //MethodID:3970, LocalCount= 7 , MaxScope= 2, MaxStack= 5, CodeLength= 127
+               private var f:Function;                                         //slotID:1
+               private var message:String;                                     //slotID:2
+               private var once:Boolean;                                       //slotID:3
+               private var timeout:int = 0;                                    //slotID:4
+               private var accepter:_Accepter;                                 //slotID:5
+
+               f = hug1;
+               message = hug2;
+               once = hug3;
+               timeout = hug4;
+               this._accepters[message] = new _Accepter();
+               accepter = new _Accepter();
+               accepter.f = f;
+               accepter.once = once;
+
+               if(once && (timeout != 0)){
+                       accepter.timer = setTimeout(function():void{    //MethodID:3969, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 20
+                               f(null);
+                               delete _accepters[message];
+                       }, timeout);
+               }
+       }
+
+       public function _lc_send(hug1:String, hug2:int, hug3:String, hug4:Object):void
+       {       //MethodID:3971, LocalCount= 7 , MaxScope= 1, MaxStack= 5, CodeLength= 99
+               var hug5:_Accepter = this._accepters[hug3];
+
+               if(!hug5) return;
+
+               var hug6:* = hug5.f(hug4);
+
+               if(hug2 != 0) this._send(hug1, null, ("" + hug2), hug6);
+
+               if(hug5.once){
+                       if(!isNaN(hug5.timer)) clearTimeout(hug5.timer);
+                       delete this._accepters[hug3];
+               }
+       }
+
+       protected function _send(hug1:String, hug2:Function, hug3:String, hug4:Object):void
+       {       //MethodID:3972, LocalCount= 8 , MaxScope= 1, MaxStack= 7, CodeLength= 88
+               var hug5:int = 0;
+
+               if(hug2 is Function){
+                       hug5 = (++_txIDCounter);
+
+                       this.receive(hug2, String(++_txIDCounter), true, 3000);
+               }
+
+               this._parent._lc.send(hug1, "_lc_send", this._connectionName, hug5, hug3, hug4);
+       }
+
+       //constructor
+       public function _LCClient()
+       {       //MethodID:3973, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               this._accepters = {};
+
+               super();
+       }
+}
+
+//■class(instance)_index:301
+//private
+class _Accepter extends Object
+{
+       //static constructor
+       public static function _Accepter$cinit()
+       {       //MethodID:3974, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _Accepter()
+       {       //MethodID:3975, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+
+       //variables/etc.
+       public var f:Function;                                          //slotID:0
+       public var once:Boolean;                                        //slotID:0
+       public var timer:Number = Number.NaN;                           //slotID:0
+}
+
+//■class(instance)_index:302
+//private
+class _SlaveInfo extends Object
+{
+       //static constructor
+       public static function _SlaveInfo$cinit()
+       {       //MethodID:3976, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _SlaveInfo()
+       {       //MethodID:3977, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+
+       //variables/etc.
+       public var lastPingTime:Number;                                 //slotID:0
+}
+
+//■class(instance)_index:303
+//private
+class _Master extends _LCClient
+{
+       //static constructor
+       public static function _Master$cinit()
+       {       //MethodID:3978, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //variables/etc.
+       private var _slaves:Object;                                     //slotID:0
+
+       override public function send(hug1:Function, hug2:String, hug3:Object):void
+       {       //MethodID:3979, LocalCount= 7 , MaxScope= 1, MaxStack= 5, CodeLength= 71
+               var hug4:String = null;
+
+               for(hug4 in this._slaves){
+                       _send(hug4, null, hug2, hug3);
+               }
+
+               if(hug1 is Function) ObjectUtils.callLater(hug1, null);
+       }
+
+       public function _lc_ping(hug1:String):void
+       {       //MethodID:3980, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 57
+               var hug2:_SlaveInfo = this._slaves[hug1];
+
+               if(!hug2){
+                       this._slaves[hug1] = new _SlaveInfo();
+                       hug2 = new _SlaveInfo();
+               }
+
+               hug2.lastPingTime = new Date().getTime();
+       }
+
+       //constructor
+       public function _Master()
+       {       //MethodID:3981, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               this._slaves = {};
+
+               super();
+       }
+}
+
+//■class(instance)_index:304
+//private
+class _Slave extends _LCClient
+{
+       //static constructor
+       public static function _Slave$cinit()
+       {       //MethodID:3982, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //variables/etc.
+       override public function send(hug1:Function, hug2:String, hug3:Object):void
+       {       //MethodID:3983, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 19
+               _send(_parent._masterName, hug1, hug2, hug3);
+       }
+
+       //constructor
+       public function _Slave()
+       {       //MethodID:3984, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+}
+
+//■script250■
+
+package jp.nicovideo.nicoplayer.models.api.relation{
+
+       import __AS3__.vec.Vector
+
+       //■class(instance)_index:305
+       public interface IGetRelationResult
+       {
+               //static constructor
+               public static function IGetRelationResult$cinit()
+               {       //MethodID:3986, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get recommendedVideoList():Vector.<RelatedVideo>;                  //MethodID:3987, dispID:0
+
+               function get ownerOtherVideoList():Vector.<IOwnerOtherVideo>;               //MethodID:3988, dispID:0
+
+               function get ownerOtherVideoURL():String;                                   //MethodID:3989, dispID:0
+
+               function get liveDJInfo():ILiveDJInfo;                                      //MethodID:3990, dispID:0
+
+               //constructor
+               public function IGetRelationResult();                                       //MethodID:3991, dispID:0
+       }
+}
+
+//■script251■
+
+package jp.nicovideo.nicoplayer.models.api.relation{
+
+       //■class(instance)_index:306
+       public interface ILiveDJInfo
+       {
+               //static constructor
+               public static function ILiveDJInfo$cinit()
+               {       //MethodID:3993, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get catategoryName():String;                                       //MethodID:3994, dispID:0
+
+               function get linkURL():String;                                              //MethodID:3995, dispID:0
+
+               function get videoTitle():String;                                           //MethodID:3996, dispID:0
+
+               function get thumbnailURL():String;                                         //MethodID:3997, dispID:0
+
+               //constructor
+               public function ILiveDJInfo();                                              //MethodID:3998, dispID:0
+       }
+}
+
+//■script252■
+
+package jp.nicovideo.nicoplayer.models.api.relation{
+
+       import __AS3__.vec.Vector
+       import jp.nicovideo.nicoplayer.models.RelatedVideo
+
+       //■class(instance)_index:307
+       public class GetRelationResultFactory extends Object
+       {
+               //static constructor
+               public static function GetRelationResultFactory$cinit()
+               {       //MethodID:4000, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function createByResponse(hug1:XML, hug2:Vector.<String>, hug3:Vector.<String>, hug4:uint):IGetRelationResult
+               {       //dispID:3, MethodID:4001, LocalCount= 7 , MaxScope= 1, MaxStack= 5, CodeLength= 42
+                       var hug5:Boolean = XML.ignoreWhitespace;
+                       XML.ignoreWhitespace = true;
+                       var hug6:IGetRelationResult = _parseResponse(hug1, hug2, hug3, hug4);
+                       XML.ignoreWhitespace = hug5;
+                       return hug6;
+               }
+
+               public static function createByValues(hug1:Vector.<RelatedVideo>=null, hug2:Vector.<IOwnerOtherVideo>=null, hug3:String=null, hug4:ILiveDJInfo=null):IGetRelationResult
+               {       //dispID:4, MethodID:4002, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 15
+                       return new _GetRelationResult(hug1, hug2, hug3, hug4);
+               }
+
+               private static function _parseResponse(hug1:XML, hug2:Vector.<String>, hug3:Vector.<String>, hug4:uint):IGetRelationResult
+               {       //dispID:5, MethodID:4006, LocalCount= 6 , MaxScope= 2, MaxStack= 5, CodeLength= 273
+                       internal var response:XML;                                      //slotID:1
+                       internal var targets:Vector.<String>;                           //slotID:2
+                       internal var extTargets:Vector.<String>;                        //slotID:3
+                       internal var extTargetCount:uint;                               //slotID:4
+                       internal var recommendedVideoList:Vector.<RelatedVideo>;        //slotID:5
+                       internal var ownerOtherVideoList:Vector.<IOwnerOtherVideo>;     //slotID:6
+                       internal var ownerOtherVideoURL:String;                         //slotID:7
+                       internal var liveDJInfo:ILiveDJInfo;                            //slotID:8
+                       internal var parseXML:Function;                                 //slotID:9
+                       internal var parseRecommendedVideoList:Function;                //slotID:10
+                       internal var isRequired:Function;                               //slotID:11
+
+                       recommendedVideoList = null;
+                       ownerOtherVideoList = null;
+                       ownerOtherVideoURL = null;
+                       liveDJInfo = null;
+                       response = hug1;
+                       targets = hug2;
+                       extTargets = hug3;
+                       extTargetCount = hug4;
+                       parseXML = function(hug1:XML):void{     //MethodID:4003, LocalCount= 8 , MaxScope= 0, MaxStack= 6, CodeLength= 346
+                               var hug2:XML = null;
+                               var hug3:XML = null;
+
+                               for each(hug2 in hug1.children()){
+                                       switch(hug2.localName()){
+                                       case GetRelationTarget.RELATED_VIDEO:
+                                               parseRecommendedVideoList(hug2);
+                                               break;
+                                       case GetRelationTarget.OWNER_VIDEO:
+                                               if(ownerOtherVideoList == null) ownerOtherVideoList = new Vector.<IOwnerOtherVideo>();
+
+                                               for each(hug3 in hug2[_ResponseDefines.TAG_NAME_VIDEO4ITEM]){
+                                                       ownerOtherVideoList.push(_createRelatedVideoByXML(hug3, true));
+                                               }
+
+                                               if(hug2[_ResponseDefines.TAG_NAME_LIST_URL] != null) ownerOtherVideoURL = hug2[_ResponseDefines.TAG_NAME_LIST_URL];
+                                               break;
+                                       case GetRelationTarget.LIVE_DJ:
+                                               liveDJInfo = new _LiveDJInfo(hug2.name, hug2.url, hug2.title, hug2.thumbnail_url);
+                                               break;
+                                       case _ResponseDefines.TAG_NAME_EXT_TARGET:
+                                               parseXML(hug2);
+                                               break;
+                                       default:
+                                               break;
+                                       }
+                               }
+                       };
+
+                       parseRecommendedVideoList = function(hug1:XML):void{    //MethodID:4004, LocalCount= 5 , MaxScope= 0, MaxStack= 3, CodeLength= 83
+                               var hug2:XML = null;
+
+                               if(recommendedVideoList == null) recommendedVideoList = new Vector.<RelatedVideo>();
+
+                               for each(hug2 in hug1[_ResponseDefines.TAG_NAME_VIDEO4ITEM]){
+                                       recommendedVideoList.push(_createRelatedVideoByXML(hug2));
+                               }
+                       };
+
+                       isRequired = function(hug1:String):Boolean{     //MethodID:4005, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 80
+                               if((targets != null) && (targets.indexOf(hug1) != (-1))) return true;
+
+                               if((extTargets != null) && (extTargets.indexOf(hug1) != (-1)) && (extTargets.indexOf(hug1) < extTargetCount)) return true;
+
+                               return false;
+                       };
+
+                       if(response.@status != _ResponseDefines.STATUS_OK) throw new ArgumentError("GetRelationResultFactory._parse: invalid response.");
+
+                       recommendedVideoList = (isRequired(GetRelationTarget.RELATED_VIDEO) ? new Vector.<RelatedVideo>() : null);
+                       ownerOtherVideoList = (isRequired(GetRelationTarget.OWNER_VIDEO) ? new Vector.<IOwnerOtherVideo>() : null);
+
+                       if(response.localName() == GetRelationTarget.RELATED_VIDEO){
+                               parseRecommendedVideoList(response);
+                       }else{
+                               parseXML(response);
+                       }
+
+                       return new _GetRelationResult(recommendedVideoList, ownerOtherVideoList, ownerOtherVideoURL, liveDJInfo);
+               }
+
+               private static function _createRelatedVideoByXML(hug1:XML, hug2:Boolean=false):RelatedVideo
+               {       //dispID:6, MethodID:4007, LocalCount= 3 , MaxScope= 1, MaxStack= 10, CodeLength= 98
+                       if(hug2) return new RelatedVideo(hug1.url, hug1.thumbnail, hug1.title, (Number(hug1.length) * 1000));
+
+                       return new RelatedVideo(hug1.url, hug1.thumbnail, hug1.title, (Number(hug1.length) * 1000), hug1.view, hug1.comment, hug1.mylist, (Number(hug1.time) * 1000));
+               }
+
+               //constructor
+               public function GetRelationResultFactory()
+               {       //MethodID:4008, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+import __AS3__.vec.Vector
+import jp.nicovideo.nicoplayer.models.api.relation.ILiveDJInfo
+
+//■class(instance)_index:308
+//private
+class _ResponseDefines extends Object
+{
+       //static constructor
+       public static function _ResponseDefines$cinit()
+       {       //MethodID:4009, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 39
+               STATUS_OK = "ok";
+               TAG_NAME_VIDEO4ITEM = "video";
+               TAG_NAME_LIST_URL = "list_url";
+               TAG_NAME_EXT_TARGET = "ext_target";
+       }
+
+       //static variables/etc.
+       public static const STATUS_OK:String = "ok";                    //slotID:1
+       public static const TAG_NAME_VIDEO4ITEM:String = "video";       //slotID:2
+       public static const TAG_NAME_LIST_URL:String = "list_url";      //slotID:3
+       public static const TAG_NAME_EXT_TARGET:String = "ext_target";  //slotID:4
+
+       //constructor
+       public function _ResponseDefines()
+       {       //MethodID:4010, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+}
+
+//■class(instance)_index:309
+//private
+class _GetRelationResult extends Object implements IGetRelationResult
+{
+       //static constructor
+       public static function _GetRelationResult$cinit()
+       {       //MethodID:4011, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _GetRelationResult(hug1:Vector.<RelatedVideo>=null, hug2:Vector.<IOwnerOtherVideo>=null, hug3:String=null, hug4:ILiveDJInfo=null)
+       {       //MethodID:4012, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+               super();
+
+               this._recommendedVideoList = hug1;
+               this._ownerOtherVideoList = hug2;
+               this._ownerOtherVideoURL = hug3;
+               this._liveDJInfo = hug4;
+       }
+
+       //variables/etc.
+       private var _recommendedVideoList:Vector.<RelatedVideo>;        //slotID:0
+       private var _ownerOtherVideoList:Vector.<IOwnerOtherVideo>;     //slotID:0
+       private var _videoenderVideoListTarget:String;                  //slotID:0
+       private var _ownerOtherVideoURL:String;                         //slotID:0
+       private var _liveDJInfo:ILiveDJInfo;                            //slotID:0
+
+       public function get recommendedVideoList():Vector.<RelatedVideo>
+       {       //MethodID:4013, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._recommendedVideoList;
+       }
+
+       public function get ownerOtherVideoList():Vector.<IOwnerOtherVideo>
+       {       //MethodID:4014, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._ownerOtherVideoList;
+       }
+
+       public function get ownerOtherVideoURL():String
+       {       //MethodID:4015, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._ownerOtherVideoURL;
+       }
+
+       public function get liveDJInfo():ILiveDJInfo
+       {       //MethodID:4016, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._liveDJInfo;
+       }
+}
+
+//■class(instance)_index:310
+//private
+class _LiveDJInfo extends Object implements ILiveDJInfo
+{
+       //static constructor
+       public static function _LiveDJInfo$cinit()
+       {       //MethodID:4017, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _LiveDJInfo(hug1:String, hug2:String, hug3:String, hug4:String)
+       {       //MethodID:4018, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 56
+               super();
+
+               if(hug1 != "") this._catategoryName = hug1;
+
+               if(hug2 != "") this._linkURL = hug2;
+
+               if(hug3 != "") this._videoTitle = hug3;
+
+               if(hug4 != "") this._thumbnailURL = hug4;
+       }
+
+       //variables/etc.
+       private var _catategoryName:String;                             //slotID:0
+       private var _linkURL:String;                                    //slotID:0
+       private var _videoTitle:String;                                 //slotID:0
+       private var _thumbnailURL:String;                               //slotID:0
+
+       public function get catategoryName():String
+       {       //MethodID:4019, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._catategoryName;
+       }
+
+       public function get linkURL():String
+       {       //MethodID:4020, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._linkURL;
+       }
+
+       public function get videoTitle():String
+       {       //MethodID:4021, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._videoTitle;
+       }
+
+       public function get thumbnailURL():String
+       {       //MethodID:4022, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._thumbnailURL;
+       }
+}
+
+//■script253■
+
+package jp.nicovideo.nicoplayer.models{
+
+       //■class(instance)_index:311
+       public class RelatedConstants extends Object
+       {
+               //static constructor
+               public static function RelatedConstants$cinit()
+               {       //MethodID:4024, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 75
+                       SORT_RELATEDPOINT = "p";
+                       SORT_VIEWCOUNTER = "v";
+                       SORT_ENTRYDATE = "f";
+                       SORT_RESDATE = "n";
+                       SORT_RESNUM = "r";
+                       SORT_MYLISTCOUNTER = "m";
+                       ORDER_UP = "a";
+                       ORDER_DOWN = "d";
+               }
+
+               //static variables/etc.
+               public static const SORT_RELATEDPOINT:String = "p";             //slotID:1
+               public static const SORT_VIEWCOUNTER:String = "v";              //slotID:2
+               public static const SORT_ENTRYDATE:String = "f";                //slotID:3
+               public static const SORT_RESDATE:String = "n";                  //slotID:4
+               public static const SORT_RESNUM:String = "r";                   //slotID:5
+               public static const SORT_MYLISTCOUNTER:String = "m";            //slotID:6
+               public static const ORDER_UP:String = "a";                      //slotID:7
+               public static const ORDER_DOWN:String = "d";                    //slotID:8
+
+               //constructor
+               public function RelatedConstants()
+               {       //MethodID:4025, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script254■
+
+package jp.nicovideo.nicoplayer.models.api.relation{
+
+       //■class(instance)_index:312
+       public class GetRelationTarget extends Object
+       {
+               //static constructor
+               public static function GetRelationTarget$cinit()
+               {       //MethodID:4027, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       RELATED_VIDEO = "related_video";
+                       OWNER_VIDEO = "owner_video";
+                       LIVE_DJ = "dj";
+               }
+
+               //static variables/etc.
+               public static const RELATED_VIDEO:String = "related_video";     //slotID:1
+               public static const OWNER_VIDEO:String = "owner_video";         //slotID:2
+               public static const LIVE_DJ:String = "dj";                      //slotID:3
+
+               //constructor
+               public function GetRelationTarget()
+               {       //MethodID:4028, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script255■
+
+package jp.nicovideo.nicoplayer.models.api.relation{
+
+       //■class(instance)_index:313
+       public interface IOwnerOtherVideo
+       {
+               //static constructor
+               public static function IOwnerOtherVideo$cinit()
+               {       //MethodID:4030, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get videoTitle():String;                                           //MethodID:4031, dispID:0
+
+               function get watchURL():String;                                             //MethodID:4032, dispID:0
+
+               function get thumbnailURL():String;                                         //MethodID:4033, dispID:0
+
+               function get videoLength():Number;                                          //MethodID:4034, dispID:0
+
+               //constructor
+               public function IOwnerOtherVideo();                                         //MethodID:4035, dispID:0
+       }
+}
+
+//■script256■
+
+package jp.nicovideo.nicoplayer.models{
+
+       //■class(instance)_index:314
+       public class RelatedVideo extends Object implements IOwnerOtherVideo
+       {
+               //static constructor
+               public static function RelatedVideo$cinit()
+               {       //MethodID:4037, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function RelatedVideo(hug1:String, hug2:String, hug3:String, hug4:Number=Number.NaN, hug5:Number=Number.NaN, hug6:Number=Number.NaN, hug7:Number=Number.NaN, hug8:Number=Number.NaN)
+               {       //MethodID:4038, LocalCount= 9 , MaxScope= 1, MaxStack= 3, CodeLength= 69
+                       super();
+
+                       this.__watchURL = hug1;
+                       this.__thumbnailURL = hug2;
+                       this.__videoTitle = hug3;
+                       this.__viewCounter = hug5;
+                       this.__resNum = hug6;
+                       this.__mylistCounter = hug7;
+                       this.__videoLength = hug4;
+
+                       if(!isNaN(hug8)) this.__entryDate = new Date(hug8);
+               }
+
+               //variables/etc.
+               private var __watchURL:String;                                  //slotID:0
+               private var __thumbnailURL:String;                              //slotID:0
+               private var __videoTitle:String;                                //slotID:0
+               private var __viewCounter:Number;                               //slotID:0
+               private var __resNum:Number;                                    //slotID:0
+               private var __mylistCounter:Number;                             //slotID:0
+               private var __videoLength:Number;                               //slotID:0
+               private var __entryDate:Date;                                   //slotID:0
+
+               public function get watchURL():String
+               {       //MethodID:4039, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__watchURL;
+               }
+
+               public function get thumbnailURL():String
+               {       //MethodID:4040, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__thumbnailURL;
+               }
+
+               public function get videoTitle():String
+               {       //MethodID:4041, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__videoTitle;
+               }
+
+               public function get viewCounter():Number
+               {       //MethodID:4042, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__viewCounter;
+               }
+
+               public function get resNum():Number
+               {       //MethodID:4043, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__resNum;
+               }
+
+               public function get mylistCounter():Number
+               {       //MethodID:4044, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__mylistCounter;
+               }
+
+               public function get videoLength():Number
+               {       //MethodID:4045, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__videoLength;
+               }
+
+               public function get entryDate():Date
+               {       //MethodID:4046, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__entryDate;
+               }
+       }
+}
+
+//■script257■
+
+package jp.nicovideo.util{
+
+       //■class(instance)_index:315
+       public class JSON extends Object
+       {
+               //static constructor
+               public static function JSON$cinit()
+               {       //MethodID:4048, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 33
+                       __DIGITs = "0123456789";
+                       __HEX_DIGITs = (__DIGITs + "abcdef");
+                       __NULL = {};
+               }
+
+               //static variables/etc.
+               private static const __DIGITs:String = 0123456789;              //slotID:1
+               private static const __HEX_DIGITs:String;                       //slotID:2
+               private static const __NULL:Object;                             //slotID:3
+
+               public static function decode(hug1:String):Object
+               {       //dispID:3, MethodID:4049, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 32
+                       var hug2:* = new Object(hug1).__get_value();
+
+                       if(hug2 === __NULL) __error("Empty string.");
+
+                       return hug2;
+               }
+
+               private static function __error(hug1:String):void
+               {       //dispID:4, MethodID:4050, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 15
+                       throw new Error("JSON parse error: " + hug1);
+               }
+
+               private static function __isDigit(hug1:String):Boolean
+               {       //dispID:5, MethodID:4051, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 19
+                       return (("0" <= hug1) && (hug1 <= "9"));
+               }
+
+               private static function __isIdPart(hug1:String, hug2:Boolean=false):Boolean
+               {       //dispID:6, MethodID:4052, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 64
+                       hug1 = hug1.toLowerCase();
+                       return (((hug1 == "_") || (("a" <= hug1.toLowerCase()) && (hug1 <= "z"))) || (!hug2 && __isDigit(hug1)));
+               }
+
+               //constructor
+               public function JSON(hug1:String)
+               {       //MethodID:4053, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       super();
+
+                       this.__s = hug1;
+               }
+
+               //variables/etc.
+               private var __i:Number = 0.0;                                   //slotID:0
+               private var __s:String;                                         //slotID:0
+
+               public function __blank():void
+               {       //MethodID:4056, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 208
+                       internal var anal:Boolean;                                      //slotID:1
+
+                       anal = false;
+
+                       while(true){
+                               while(" \r\n".indexOf(this.__c) != (-1)){
+                                       this.__i++;
+                               }
+
+                               if(this.__c != "/") break;
+
+                               this.__i++;
+
+                               if(this.__c == "/"){
+                                       this.__clip(function(hug1:String):Boolean{      //MethodID:4054, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 12
+                                               return ("\r\n".indexOf(hug1) == (-1));
+                                       });
+                               }else if(this.__c == "*"){
+                                       anal = false;
+
+                                       this.__clip(function(hug1:String):Boolean{      //MethodID:4055, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 34
+                                               if((hug1 == "/") && anal) return false;
+
+                                               anal = (hug1 == "*");
+                                               return true;
+                                       }, -1, 2);
+
+                                       if((this.__c != "/") || !anal) __error("A comment reaching to end.");
+                               }else{
+                                       __error("Unexpected `/'.");
+                               }
+
+                               this.__i++;
+                       }
+               }
+
+               public function __get_value():*
+               {       //MethodID:4058, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 353
+                       internal var id:String;                                         //slotID:1
+                       internal var val:*;                                             //slotID:2
+                       internal var obj:Object;                                        //slotID:3
+
+                       obj = null;
+
+                       this.__blank();
+
+                       switch(this.__c){
+                       case "{":
+                               this.__i++;
+                               obj = {};
+
+                               this.__csv(function():*{        //MethodID:4057, LocalCount= 4 , MaxScope= 0, MaxStack= 4, CodeLength= 114
+                                       __blank();
+
+                                       var hug1:String = __get_string();
+
+                                       if(hug1 == null) return __NULL;
+                                       __blank();
+
+                                       if(__c != ":") __error("Expected `:' but:" + __c);
+
+                                       __i++;
+                                       obj[hug1] = __get_value();
+
+                                       if(__get_value() === __NULL) __error("Expected VALUE.");
+
+                                       return null;
+                               }, "}");
+
+                               return obj;
+                       case "[":
+                               this.__i++;
+                               return this.__csv(this.__get_value, "]");
+                       default:
+                               break;
+                       }
+
+                       id = this.__get_id();
+
+                       if(id != null){
+                               switch(id){
+                               case "true":
+                                       return true;
+                               case "false":
+                                       return false;
+                               case "null":
+                                       return null;
+                               default:
+                                       __error("Unrecognizable ID:" + id);
+                                       break;
+                               }
+                       }
+
+                       val = this.__get_string();
+                       val = this.__get_number();
+
+                       if((val == null) && isNaN(this.__get_number())) val = __NULL;
+
+                       return val;
+               }
+
+               public function __get_string():String
+               {       //MethodID:4059, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 79
+                       if(this.__c != "\"") return null;
+
+                       this.__i++;
+                       var hug1:String = "";
+
+                       while(this.__c != "\""){
+                               hug1 += this.__unquote();
+                       }
+
+                       this.__i++;
+                       return hug1;
+               }
+
+               private function __unquote():String
+               {       //MethodID:4061, LocalCount= 3 , MaxScope= 2, MaxStack= 6, CodeLength= 240
+                       internal var c:String;                                          //slotID:1
+
+                       c = this.__clip(null);
+
+                       if(c != "\\") return c;
+
+                       c = this.__clip(null);
+
+                       switch(c){
+                       case "b":
+                               return "\b";
+                       case "f":
+                               return "\f";
+                       case "n":
+                               return "\n";
+                       case "r":
+                               return "\r";
+                       case "t":
+                               return "\t";
+                       case "u":
+                               return String.fromCharCode(parseInt(this.__clip(function(hug1:String):Boolean{  //MethodID:4060, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 13
+                                       return (__HEX_DIGITs.indexOf(hug1) != (-1));
+                               }, 4, 4), 16));
+                       default:
+                               break;
+                       }
+
+                       return c;
+               }
+
+               public function __get_number():Number
+               {       //MethodID:4062, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 376
+                       var hug1:Number = this.__i;
+
+                       if(this.__c == "-"){
+                               this.__i++;
+
+                               if(!__isDigit(this.__c)) __error("Expected DIGIT.");
+                       }
+
+                       var hug2:String = "0";
+
+                       if(this.__c == "0"){
+                               this.__i++;
+                       }else{
+                               hug2 = this.__clip(__isDigit, -1, 0);
+
+                               if(this.__clip(__isDigit, -1, 0) == "") return NaN;
+                       }
+
+                       var hug3:Number = 1;
+
+                       while(true){
+                               if((hug3 % 2) && (this.__c == ".")){
+                                       this.__i++;
+                                       this.__clip(__isDigit, -1);
+
+                                       hug3 *= 2;
+                                       continue;
+                               }
+
+                               if((hug3 % 3) && (this.__c.toLowerCase() == "e")){
+                                       this.__i++;
+
+                                       if(!(__isDigit(this.__c) || ("+-".indexOf(this.__c) != (-1)))) __error("Expected DIGIT or `+-'.");
+
+                                       this.__i++;
+                                       this.__clip(__isDigit, -1, 0);
+
+                                       hug3 *= 3;
+                                       continue;
+                               }
+                               break;
+                       }
+
+                       return parseFloat(this.__s.slice(hug1, this.__i));
+               }
+
+               public function __get_id():String
+               {       //MethodID:4063, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 31
+                       if(!__isIdPart(this.__c, true)) return null;
+
+                       return this.__clip(__isIdPart, -1);
+               }
+
+               public function __csv(hug1:Function, hug2:String):Array
+               {       //MethodID:4064, LocalCount= 7 , MaxScope= 1, MaxStack= 3, CodeLength= 140
+                       var hug4:* = undefined;
+                       var hug3:Array = [];
+
+                       while(true){
+                               hug4 = hug1();
+
+                               if(hug4 !== __NULL){
+                                       hug3.push(hug4);
+                                       this.__blank();
+
+                                       if(this.__c == ","){
+                                               this.__i++;
+                                               continue;
+                                       }
+                               }
+                               break;
+                       }
+
+                       if(this.__c != hug2) __error("Expected `" + hug2 + "' but:" + this.__c);
+
+                       this.__i++;
+                       return hug3;
+               }
+
+               public function get __c():String
+               {       //MethodID:4065, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 38
+                       return ((this.__i >= this.__s.length) ? "" : this.__s.charAt(this.__i));
+               }
+
+               private function __clip(hug1:Function, hug2:Number=Number.NaN, hug3:Number=Number.NaN):String
+               {       //MethodID:4067, LocalCount= 7 , MaxScope= 2, MaxStack= 3, CodeLength= 224
+                       internal var f:Function;                                        //slotID:1
+                       internal var max:Number = Number.NaN;                           //slotID:2
+                       internal var min:Number = Number.NaN;                           //slotID:3
+                       internal var i:Number;                                          //slotID:4
+
+                       f = hug1;
+                       max = hug2;
+                       min = hug3;
+
+                       if(!f){
+                               f = function(hug1:String):Boolean{      //MethodID:4066, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 2
+                                       return true;
+                               };
+                       }
+
+                       if(isNaN(max)) max = 1;
+
+                       if(isNaN(min)) min = 1;
+
+                       i = this.__i;
+                       max -= 1;
+
+                       while(((this.__c != "") && (max != 0)) && f(this.__c)){
+                               this.__i++;
+                       }
+
+                       if((this.__i - i) < min) __error("Expected " + min + " chars.");
+
+                       return this.__s.slice(i, this.__i);
+               }
+       }
+}
+
+//■script258■
+
+package jp.nicovideo.nicoplayer.remocon.method{
+
+       //■class(instance)_index:316
+       public class RemoconMethodParamName extends Object
+       {
+               //static constructor
+               public static function RemoconMethodParamName$cinit()
+               {       //MethodID:4069, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 75
+                       VOLUME = "vol";
+                       OFFSET = "offset";
+                       VPOS = "vpos";
+                       TEXT = "text";
+                       COMMAND = "command";
+                       EXPIRE = "expire";
+                       TOKEN = "token";
+                       LEVEL = "level";
+               }
+
+               //static variables/etc.
+               public static const VOLUME:String = "vol";                      //slotID:1
+               public static const OFFSET:String = "offset";                   //slotID:2
+               public static const VPOS:String = "vpos";                       //slotID:3
+               public static const TEXT:String = "text";                       //slotID:4
+               public static const COMMAND:String = "command";                 //slotID:5
+               public static const EXPIRE:String = "expire";                   //slotID:6
+               public static const TOKEN:String = "token";                     //slotID:7
+               public static const LEVEL:String = "level";                     //slotID:8
+
+               //constructor
+               public function RemoconMethodParamName()
+               {       //MethodID:4070, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script259■
+
+package jp.nicovideo.nicoplayer.remocon.method{
+
+       //■class(instance)_index:317
+       public class RemoconMethodName extends Object
+       {
+               //static constructor
+               public static function RemoconMethodName$cinit()
+               {       //MethodID:4072, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 93
+                       SET_VOL = "setVol";
+                       TOGGLE_PLAY = "switchPlay";
+                       TOGGLE_REPEAT = "switchRepeat";
+                       TOGGLE_MUTE = "switchMute";
+                       TOGGLE_FULLSCREEN = "switchFullscreen";
+                       TOGGLE_COMMENT_VISIBLE = "switchShowComment";
+                       POST_COMMENT = "sendComment";
+                       SEEK_TO = "seekTo";
+                       SEEK_PLUS = "seekPlus";
+                       SEEK_TO_ALERT = "seekToAlert";
+               }
+
+               //static variables/etc.
+               public static const SET_VOL:String = "setVol";                  //slotID:1
+               public static const TOGGLE_PLAY:String = "switchPlay";          //slotID:2
+               public static const TOGGLE_REPEAT:String = "switchRepeat";      //slotID:3
+               public static const TOGGLE_MUTE:String = "switchMute";          //slotID:4
+               public static const TOGGLE_FULLSCREEN:String = "switchFullscreen";//slotID:5
+               public static const TOGGLE_COMMENT_VISIBLE:String = "switchShowComment";//slotID:6
+               public static const POST_COMMENT:String = "sendComment";        //slotID:7
+               public static const SEEK_TO:String = "seekTo";                  //slotID:8
+               public static const SEEK_PLUS:String = "seekPlus";              //slotID:9
+               public static const SEEK_TO_ALERT:String = "seekToAlert";       //slotID:10
+
+               //constructor
+               public function RemoconMethodName()
+               {       //MethodID:4073, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script260■
+
+package jp.nicovideo.remocon{
+
+       //■class(instance)_index:318
+       public final class AlertState extends Object
+       {
+               //static constructor
+               public static function AlertState$cinit()
+               {       //MethodID:4075, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 300
+                       VOLUME = "Volume";
+                       PLAY = "Play";
+                       PAUSE = "Pause";
+                       FAST_FOWARD_LV1 = "FastForwardLV1";
+                       FAST_FOWARD_LV2 = "FastForwardLV2";
+                       FAST_FOWARD_LV3 = "FastForwardLV3";
+                       REWIND_LV1 = "Rewind_LV1";
+                       REWIND_LV2 = "Rewind_LV2";
+                       REWIND_LV3 = "Rewind_LV3";
+                       FAST_FOWARD_EX = "FastForwardEX";
+                       REWIND_EX = "Rewind_EX";
+                       COMMENT_POST_COMPLETE = "CommentPostComplete";
+                       COMMENT_POST_ERROR = "CommentPostError";
+                       COMMENT_POST_REJECT = "CommentPostReject";
+                       COMMENT_VISIBLE = "CommentVisible";
+                       COMMENT_INVISIBLE = "CommentInVisible";
+                       FULLSCREEN_ON = "FullScreenOn";
+                       FULLSCREEN_OFF = "FullScreenOff";
+                       MUTE_ON = "MuteOn";
+                       MUTE_OFF = "MuteOff";
+                       REPEAT_ON = "RepeatOn";
+                       REPEAT_OFF = "RepeatOff";
+                       NICODEN_START = "NicodenStart";
+                       NICODEN_COMPLETE = "NicodenComplete";
+                       NICODEN_REJECT = "NicodenReject";
+                       VOTE_START = "VoteStart";
+                       VOTE_COMPLETE = "VoteComplete";
+                       VOTE_REJECT = "VoteReject";
+                       REMOCON_CONNECT = "RemoconConnect";
+                       REMOCON_MAINTENANCE = "RemoconMaintenance";
+                       REMOCON_ERROR = "RemoconError";
+                       REMOCON_HALT = "RemoconHalt";
+                       SEEK_CHANGE = "SeekChange";
+               }
+
+               //static variables/etc.
+               public static const VOLUME:String = "Volume";                   //slotID:1
+               public static const PLAY:String = "Play";                       //slotID:2
+               public static const PAUSE:String = "Pause";                     //slotID:3
+               public static const FAST_FOWARD_LV1:String = "FastForwardLV1";  //slotID:4
+               public static const FAST_FOWARD_LV2:String = "FastForwardLV2";  //slotID:5
+               public static const FAST_FOWARD_LV3:String = "FastForwardLV3";  //slotID:6
+               public static const REWIND_LV1:String = "Rewind_LV1";           //slotID:7
+               public static const REWIND_LV2:String = "Rewind_LV2";           //slotID:8
+               public static const REWIND_LV3:String = "Rewind_LV3";           //slotID:9
+               public static const FAST_FOWARD_EX:String = "FastForwardEX";    //slotID:10
+               public static const REWIND_EX:String = "Rewind_EX";             //slotID:11
+               public static const COMMENT_POST_COMPLETE:String = "CommentPostComplete";//slotID:12
+               public static const COMMENT_POST_ERROR:String = "CommentPostError";//slotID:13
+               public static const COMMENT_POST_REJECT:String = "CommentPostReject";//slotID:14
+               public static const COMMENT_VISIBLE:String = "CommentVisible";  //slotID:15
+               public static const COMMENT_INVISIBLE:String = "CommentInVisible";//slotID:16
+               public static const FULLSCREEN_ON:String = "FullScreenOn";      //slotID:17
+               public static const FULLSCREEN_OFF:String = "FullScreenOff";    //slotID:18
+               public static const MUTE_ON:String = "MuteOn";                  //slotID:19
+               public static const MUTE_OFF:String = "MuteOff";                //slotID:20
+               public static const REPEAT_ON:String = "RepeatOn";              //slotID:21
+               public static const REPEAT_OFF:String = "RepeatOff";            //slotID:22
+               public static const NICODEN_START:String = "NicodenStart";      //slotID:23
+               public static const NICODEN_COMPLETE:String = "NicodenComplete";//slotID:24
+               public static const NICODEN_REJECT:String = "NicodenReject";    //slotID:25
+               public static const VOTE_START:String = "VoteStart";            //slotID:26
+               public static const VOTE_COMPLETE:String = "VoteComplete";      //slotID:27
+               public static const VOTE_REJECT:String = "VoteReject";          //slotID:28
+               public static const REMOCON_CONNECT:String = "RemoconConnect";  //slotID:29
+               public static const REMOCON_MAINTENANCE:String = "RemoconMaintenance";//slotID:30
+               public static const REMOCON_ERROR:String = "RemoconError";      //slotID:31
+               public static const REMOCON_HALT:String = "RemoconHalt";        //slotID:32
+               public static const SEEK_CHANGE:String = "SeekChange";          //slotID:33
+
+               //constructor
+               public function AlertState()
+               {       //MethodID:4076, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script261■
+
+package jp.nicovideo.nicoplayer.remocon.method{
+
+       //■class(instance)_index:319
+       public class RemoconSystemMethodName extends Object
+       {
+               //static constructor
+               public static function RemoconSystemMethodName$cinit()
+               {       //MethodID:4078, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       INITIALIZE = "__initialize";
+                       CHANGE_STATUS = "__changeStatus";
+               }
+
+               //static variables/etc.
+               public static const INITIALIZE:String = "__initialize";         //slotID:1
+               public static const CHANGE_STATUS:String = "__changeStatus";    //slotID:2
+
+               //constructor
+               public function RemoconSystemMethodName()
+               {       //MethodID:4079, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script262■
+//skip components :com.adobe.crypto
+//as filename :MD5.as
+
+//■script263■
+
+package jp.nicovideo.util{
+
+       //■class(instance)_index:321
+       public final class ArrayUtils extends Object
+       {
+               //static constructor
+               public static function ArrayUtils$cinit()
+               {       //MethodID:4097, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function lowerBoundIndex(hug1:Function, hug2:*, hug3:Array):int
+               {       //dispID:3, MethodID:4098, LocalCount= 9 , MaxScope= 1, MaxStack= 5, CodeLength= 157
+                       var hug7:int = 0;
+                       var hug4:int = -1;
+                       var hug5:int = hug3.length;
+                       var hug6:Number = -1;
+
+                       while((hug5 - hug4) > 1){
+                               hug7 = ((hug4 + hug5) / 2);
+
+                               if(!hug3[hug7]){
+                                       hug5 = hug7;
+                                       continue;
+                               }
+
+                               var hug8:hug3[hug7] = hug1(hug2, hug3[hug7]);
+                               hug6 = hug8;
+
+                               if(hug8 <= 0){
+                                       hug5 = hug7;
+                                       continue;
+                               }
+
+                               hug4 = hug7;
+                       }
+
+                       return ((hug5 == hug3.length) ? (hug5 - 1) : ((hug1(hug2, hug3[hug5]) == 0) ? hug5 : hug4));
+               }
+
+               public static function subtract(hug1:Function, hug2:Array, hug3:Array):void
+               {       //dispID:4, MethodID:4099, LocalCount= 7 , MaxScope= 1, MaxStack= 5, CodeLength= 99
+                       var hug6:Number = NaN;
+                       var hug4:int = 0;
+                       var hug5:int = 0;
+
+                       while((hug4 < hug2.length) && (hug5 < hug3.length)){
+                               hug6 = hug1(hug2[hug4], hug3[hug5]);
+
+                               if(hug6 == 0){
+                                       hug2.splice(hug4, 1);
+                                       continue;
+                               }
+
+                               if(hug6 > 0){
+                                       hug5++;
+                                       continue;
+                               }
+
+                               hug4++;
+                       }
+               }
+
+               public static function add(hug1:Function, hug2:Array, hug3:Array, hug4:Boolean=false):void
+               {       //dispID:5, MethodID:4100, LocalCount= 8 , MaxScope= 1, MaxStack= 6, CodeLength= 155
+                       var hug7:Number = NaN;
+                       var hug5:int = 0;
+                       var hug6:int = 0;
+
+                       while((hug5 < hug2.length) && (hug6 < hug3.length)){
+                               hug7 = hug1(hug2[hug5], hug3[hug6]);
+
+                               if(hug7 == 0){
+                                       if(hug4) hug2[hug5] = hug3[hug6];
+
+                                       hug5++;
+                                       hug6++;
+                                       continue;
+                               }
+
+                               if(hug7 > 0){
+                                       hug2.splice(hug5, 0, hug3[hug6++]);
+                                       continue;
+                               }
+
+                               hug5++;
+                       }
+
+                       if(hug6 < hug3.length) hug2.push.apply(hug2, hug3.slice(hug6));
+               }
+
+               public static function fold(hug1:Function, hug2:*, hug3:Array):*
+               {       //dispID:6, MethodID:4101, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 49
+                       var hug4:* = undefined;
+
+                       for each(hug4 in hug3){
+                               hug2 = hug1(hug2, hug4);
+                       }
+
+                       return hug2;
+               }
+
+               public static function copy(hug1:Array, hug2:Array, hug3:uint=0, hug4:uint=0, hug5:int=-1):void
+               {       //dispID:7, MethodID:4102, LocalCount= 7 , MaxScope= 1, MaxStack= 5, CodeLength= 64
+                       if(hug5 < 0) hug5 = (hug1.length - hug3);
+
+                       while(0 < (hug5--)){
+                               var hug6:Number = (hug3++);
+                               hug1[hug6] = hug2[hug4++];
+                       }
+               }
+
+               public static function zip(hug1:Function, ...rest):void
+               {       //dispID:8, MethodID:4103, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 100
+                       var hug4:Array = null;
+                       var hug5:Array = null;
+                       var hug3:uint = 0;
+
+                       while(true){
+                               hug4 = [];
+
+                               for each(hug5 in rest){
+                                       if(hug3 >= hug5.length) return;
+                                       hug4.push(hug5[hug3]);
+                               }
+
+                               hug1.apply(null, hug4);
+
+                               hug3++;
+                       }
+               }
+
+               //constructor
+               public function ArrayUtils()
+               {       //MethodID:4104, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script264■
+
+package jp.nicovideo.nicoplayer.config{
+
+
+       public const nico_config:* = "jp.nicovideo.nicoplayer.config:nico_config";//slotID:1
+
+}
+
+//■script265■
+
+package jp.nicovideo.nicoplayer.views.comment{
+
+       //■class(instance)_index:322
+       public interface ISlot
+       {
+               //static constructor
+               public static function ISlot$cinit()
+               {       //MethodID:4107, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get vpos():Number;                                                 //MethodID:4108, dispID:0
+
+               function get vend():Number;                                                 //MethodID:4109, dispID:0
+
+               function get y():Number;                                                    //MethodID:4110, dispID:0
+
+               function get width():Number;                                                //MethodID:4111, dispID:0
+
+               function get height():Number;                                               //MethodID:4112, dispID:0
+
+               function get type():String;                                                 //MethodID:4113, dispID:0
+
+               function get isFullWidth():Boolean;                                         //MethodID:4114, dispID:0
+
+               //constructor
+               public function ISlot();                                                    //MethodID:4115, dispID:0
+       }
+}
+
+//■script266■
+
+package jp.nicovideo.nicoplayer.views.comment{
+
+       import flash.display.DisplayObject
+       import flash.utils.Dictionary
+       import jp.nicovideo.nicoplayer.models.comment.CommandConstants
+       import jp.nicovideo.nicoplayer.views.VideoLayerConstants
+       import jp.nicovideo.util.Assert
+       import jp.nicovideo.util.ObjectUtils
+
+       //■class(instance)_index:323
+       public class CommentSlotList extends Object
+       {
+               //static constructor
+               public static function CommentSlotList$cinit()
+               {       //MethodID:4117, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function CommentSlotList(hug1:CommentPositioner, hug2:Number)
+               {       //MethodID:4118, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 78
+                       this.__slots = [];
+                       this.__original = new Dictionary();
+                       this.__sortedEntries = [];
+
+                       super();
+
+                       this.__positioner = hug1;
+                       this.__originalVideoLength = this.__videoLength = hug2;
+                       var hug3:int = 0;
+
+                       while(hug3 < this.__COMMENT_SLOT_LIMIT){
+                               this.__slots.push(null);
+
+                               hug3++;
+                       }
+               }
+
+               //variables/etc.
+               private const __COMMENT_SLOT_LIMIT:uint = 40;                   //slotID:0
+               private var __slots:Array;                                      //slotID:0
+               private var __nextIndex:uint = 0;                               //slotID:0
+               private var __original:Dictionary;                              //slotID:0
+               private var __sortedEntries:Array;                              //slotID:0
+               private var __positioner:CommentPositioner;                     //slotID:0
+               private var __reverse:Boolean = false;                          //slotID:0
+               private var __videoLength:Number;                               //slotID:0
+               private var __originalVideoLength:Number;                       //slotID:0
+               private var __hasSponsor:Boolean;                               //slotID:0
+
+               public function get isReverseMode():Boolean
+               {       //MethodID:4119, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__reverse;
+               }
+
+               public function set isReverseMode(hug1:Boolean):void
+               {       //MethodID:4120, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this.__reverse = hug1;
+               }
+
+               public function update(hug1:Array, hug2:Array, hug3:Boolean):void
+               {       //MethodID:4121, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 158
+                       var hug4:ViewEntry = null;
+
+                       if(((!hug1 || (hug1.length == 0)) && (!hug2 || (hug2.length == 0))) && !hug3) return;
+
+                       if(this.__videoLength != (-1)){
+                               this.__update_0(hug1, hug2, hug3);
+
+                               return;
+                       }
+
+                       Assert.assert((hug2 == null) && (hug3 == false));
+
+                       for each(hug4 in hug1){
+                               this.__sortedEntries.push(new _SlotEntry(hug4, this.__videoLength));
+                       }
+
+                       this.__sortEntries();
+               }
+
+               public function updateVideoLength(hug1:Number, hug2:Boolean=false):void
+               {       //MethodID:4122, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 77
+                       var hug4:* = undefined;
+                       this.__videoLength = hug1;
+
+                       if(hug2) this.__hasSponsor = true;
+
+                       var hug3:Array = [];
+
+                       for(hug4 in this.__original){
+                               hug3.push(hug4);
+                       }
+
+                       this.__update_0(hug3, null, true);
+               }
+
+               private function _clear():void
+               {       //MethodID:4123, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 64
+                       var hug1:int = 0;
+
+                       while(hug1 < this.__slots.length){
+                               if(this.__slots[hug1]){
+                                       this.__slots[hug1].release();
+
+                                       this.__slots[hug1] = null;
+                               }
+
+                               hug1++;
+                       }
+
+                       this.__nextIndex = 0;
+               }
+
+               public function refresh(hug1:Number, hug2:Boolean):void
+               {       //MethodID:4124, LocalCount= 12 , MaxScope= 1, MaxStack= 4, CodeLength= 670
+                       var hug3:_SlotEntry = null;
+                       var hug5:int = 0;
+                       var hug6:Number = NaN;
+                       var hug7:DisplayObject = null;
+                       var hug8:int = 0;
+                       var hug9:int = 0;
+                       var hug10:int = 0;
+
+                       if(hug2){
+                               this._clear();
+                       }else{
+                               hug5 = 0;
+
+                               while(hug5 < this.__slots.length){
+                                       hug3 = this.__slots[hug5];
+
+                                       if(hug3){
+                                               hug6 = ((CommandConstants.PLACE_MIDDLE == hug3.type) ? 1000 : 0);
+
+                                               if((hug3.vpos > (hug1 + hug6)) || ((hug3.vend + hug6) <= hug1)){
+                                                       hug3.release();
+
+                                                       this.__slots[hug5] = null;
+                                               }
+                                       }
+
+                                       hug5++;
+                               }
+                       }
+
+                       var hug4:int = this.__nextIndex;
+
+                       while(hug4 < this.__sortedEntries.length){
+                               hug3 = this.__sortedEntries[hug4];
+
+                               if(!isNaN(hug3.vend)){
+                                       hug6 = ((CommandConstants.PLACE_MIDDLE == hug3.type) ? 1000 : 0);
+
+                                       if(((hug3.vend + hug6) < hug1) || (!this.__hasSponsor && hug3.forSponsorVideo)){
+                                               hug4++;
+                                               continue;
+                                       }
+
+                                       if(hug3.vpos > (hug1 + hug6)) break;
+                               }
+
+                               hug7 = hug3.viewEntry.provider.create();
+
+                               if(!hug7){
+                               }else{
+                                       hug3.displayObject = hug7;
+                                       var hug11:int = 1;
+                                       hug7.scaleY = hug11;
+                                       hug7.scaleX = hug11;
+
+                                       if(hug7.height > (VideoLayerConstants.VIDEO_LAYER_SD_HEIGHT / 3)){
+                                               var hug11:Number = 0.5;
+                                               hug7.scaleY = hug11;
+                                               hug7.scaleX = hug11;
+                                       }
+
+                                       if(hug3.type != CommandConstants.PLACE_MIDDLE){
+                                               hug10 = (hug3.isFullWidth ? VideoLayerConstants.VIDEO_LAYER_HD_WIDTH : VideoLayerConstants.VIDEO_LAYER_SD_WIDTH);
+
+                                               if(hug7.width > hug10){
+                                                       var hug11:Number = (hug10 / hug7.width);
+                                                       hug7.scaleY = hug11;
+                                                       hug7.scaleX = hug11;
+                                               }
+                                       }
+
+                                       hug8 = 0;
+                                       hug9 = 0;
+
+                                       while(hug9 < this.__slots.length){
+                                               if(this.__slots[hug9]){
+                                                       if(this.__slots[hug9].vend < this.__slots[hug8].vend) hug8 = hug9;
+                                               }else{
+                                                       hug8 = hug9;
+                                                       break;
+                                               }
+
+                                               hug9++;
+                                       }
+
+                                       if(this.__slots[hug8]){
+                                               this.__slots[hug8].release();
+
+                                               this.__slots[hug8] = null;
+                                       }
+
+                                       this.__slots[hug8] = hug3;
+
+                                       hug3.viewEntry.provider.assignZ(hug7, hug8);
+
+                                       hug7.y = this.__positioner.getY(hug8, this.__slots);
+
+                                       this.__setX(hug3, hug1);
+                               }
+
+                               hug4++;
+                       }
+
+                       if(this.__videoLength == (-1)){
+                               this.__sortedEntries.splice(0, hug4);
+                       }else{
+                               this.__nextIndex = hug4;
+                       }
+               }
+
+               public function move(hug1:Number):void
+               {       //MethodID:4125, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 54
+                       var hug2:_SlotEntry = null;
+
+                       for each(hug2 in this.__slots){
+                               if(hug2) this.__setX(hug2, hug1);
+                       }
+               }
+
+               private function __update_0(hug1:Array, hug2:Array, hug3:Boolean):void
+               {       //MethodID:4126, LocalCount= 9 , MaxScope= 1, MaxStack= 7, CodeLength= 230
+                       var hug4:ViewEntry = null;
+                       var hug5:_SlotEntry = null;
+                       var hug6:ViewEntry = null;
+
+                       if(hug3){
+                               this.__original = new Dictionary();
+                       }else if(hug2 && (hug2.length != 0)){
+                               for each(hug4 in hug2){
+                                       hug5 = this.__original[hug4];
+
+                                       hug5.release();
+                                       delete this.__original[hug4];
+                               }
+                       }
+
+                       if(hug1 && (hug1.length != 0)){
+                               for each(hug6 in hug1){
+                                       this.__original[hug6] = new _SlotEntry(hug6, this.__videoLength, (hug6.vpos > this.__originalVideoLength));
+                               }
+                       }
+
+                       this.__sortedEntries = ObjectUtils.values(this.__original);
+
+                       this.__sortEntries();
+               }
+
+               private function __sortEntries():void
+               {       //MethodID:4128, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 18
+                       this.__sortedEntries.sort(function(hug1:_SlotEntry, hug2:_SlotEntry):Number{    //MethodID:4127, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 7
+                               return hug1.compare(hug2);
+                       });
+               }
+
+               private function __setX(hug1:_SlotEntry, hug2:Number):void
+               {       //MethodID:4129, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 65
+                       var hug3:Number = this.__positioner.getX(hug1, hug2);
+
+                       if(this.__reverse && (hug1.type == CommandConstants.PLACE_MIDDLE)) hug3 = (-hug3 - hug1.width + VideoLayerConstants.VIDEO_LAYER_SD_WIDTH);
+
+                       hug1.displayObject.x = hug3;
+               }
+       }
+}
+
+import flash.display.DisplayObject
+import jp.nicovideo.nicoplayer.views.comment.ViewEntry
+
+//■class(instance)_index:324
+//private
+class _SlotEntry extends Object implements ISlot
+{
+       //static constructor
+       public static function _SlotEntry$cinit()
+       {       //MethodID:4130, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _SlotEntry(hug1:ViewEntry, hug2:Number, hug3:Boolean=false):void
+       {       //MethodID:4131, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 81
+               super();
+
+               this.viewEntry = hug1;
+               this.__vstart = hug1.vpos;
+               this.__vend = hug1.vend;
+               this.__forSponsorVideo = hug3;
+
+               if(hug2 == (-1)) return;
+
+               var hug4:Number = (this.__vend - hug2);
+
+               if(hug4 > 0){
+                       this.__vstart = Math.max((this.__vstart - hug4), 0);
+                       this.__vend = hug2;
+               }
+       }
+
+       //variables/etc.
+       public var viewEntry:ViewEntry;                                 //slotID:0
+       public var displayObject:DisplayObject;                         //slotID:0
+       private var __vstart:Number;                                    //slotID:0
+       private var __vend:Number;                                      //slotID:0
+       private var __forSponsorVideo:Boolean;                          //slotID:0
+
+       public function release():void
+       {       //MethodID:4132, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 31
+               if(this.displayObject){
+                       this.viewEntry.provider.release(this.displayObject);
+
+                       this.displayObject = null;
+               }
+       }
+
+       public function compare(hug1:_SlotEntry):Number
+       {       //MethodID:4133, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 41
+               return ((this.viewEntry.vpos - hug1.viewEntry.vpos) || (this.viewEntry.order - hug1.viewEntry.order));
+       }
+
+       public function get forSponsorVideo():Boolean
+       {       //MethodID:4134, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this.__forSponsorVideo;
+       }
+
+       public function get vpos():Number
+       {       //MethodID:4135, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this.__vstart;
+       }
+
+       public function get vend():Number
+       {       //MethodID:4136, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this.__vend;
+       }
+
+       public function get y():Number
+       {       //MethodID:4137, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+               return this.displayObject.y;
+       }
+
+       public function get width():Number
+       {       //MethodID:4138, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+               return this.displayObject.width;
+       }
+
+       public function get height():Number
+       {       //MethodID:4139, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+               return this.displayObject.height;
+       }
+
+       public function get type():String
+       {       //MethodID:4140, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+               return this.viewEntry.type;
+       }
+
+       public function get isFullWidth():Boolean
+       {       //MethodID:4141, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+               return this.viewEntry.isFullWidth;
+       }
+}
+
+//■script267■
+
+package jp.nicovideo.nicoplayer.views.comment{
+
+       import jp.nicovideo.nicoplayer.models.comment.CommandConstants
+
+       //■class(instance)_index:325
+       public class CommentPositioner extends Object
+       {
+               //static constructor
+               public static function CommentPositioner$cinit()
+               {       //MethodID:4143, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function CommentPositioner(hug1:Number, hug2:Number)
+               {       //MethodID:4144, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+                       super();
+
+                       this._layerWidth = hug1;
+                       this._layerHeight = hug2;
+               }
+
+               //variables/etc.
+               private var _layerWidth:Number;                                 //slotID:0
+               private var _layerHeight:Number;                                //slotID:0
+
+               public function getX(hug1:ISlot, hug2:Number):Number
+               {       //MethodID:4145, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 69
+                       if(hug1.type != CommandConstants.PLACE_MIDDLE) return ((this._layerWidth - hug1.width) / 2);
+
+                       var hug3:Number = (hug2 - hug1.vpos);
+                       var hug4:Number = ((this._layerWidth + hug1.width) / (hug1.vend - hug1.vpos));
+                       return (this._layerWidth - (hug3 * hug4));
+               }
+
+               public function getY(hug1:uint, hug2:Array):Number
+               {       //MethodID:4146, LocalCount= 14 , MaxScope= 1, MaxStack= 3, CodeLength= 486
+                       var hug5:Boolean = false;
+                       var hug6:uint = 0;
+                       var hug7:ISlot = null;
+                       var hug8:Number = NaN;
+                       var hug9:Number = NaN;
+                       var hug10:Number = NaN;
+                       var hug11:Number = NaN;
+                       var hug12:Number = NaN;
+                       var hug13:Number = NaN;
+                       var hug3:ISlot = hug2[hug1];
+                       var hug4:Number = 0;
+
+                       if(hug3.type == CommandConstants.PLACE_BOTTOM) hug4 = (this._layerHeight - hug3.height);
+
+                       do{
+                               hug5 = false;
+                               hug6 = 0;
+
+                               while(hug6 < hug2.length){
+                                       hug7 = hug2[hug6];
+
+                                       if(!hug7 || (hug7 === hug3)){
+                                       }else if(hug3.type != hug7.type){
+                                       }else if((hug7.y + hug7.height) <= hug4){
+                                       }else if((hug4 + hug3.height) <= hug7.y){
+                                       }else{
+                                               hug8 = Math.max(hug3.vpos, hug7.vpos);
+                                               hug9 = Math.min(hug3.vend, hug7.vend);
+                                               hug10 = this.getX(hug3, hug8);
+                                               hug11 = this.getX(hug3, hug9);
+                                               hug12 = this.getX(hug7, hug8);
+                                               hug13 = this.getX(hug7, hug9);
+
+                                               if(((hug10 <= (hug12 + hug7.width)) && (hug12 <= (hug10 + hug3.width))) || ((hug11 <= (hug13 + hug7.width)) && (hug13 <= (hug11 + hug3.width)))){
+                                                       if(hug3.type == CommandConstants.PLACE_BOTTOM){
+                                                               hug4 = (hug7.y - hug3.height - 1);
+
+                                                               if(hug4 < 0){
+                                                                       hug4 = (Math.random() * (this._layerHeight - hug3.height));
+                                                                       break;
+                                                               }
+                                                       }else{
+                                                               hug4 = (hug7.y + hug7.height + 1);
+
+                                                               if((hug4 + Math.floor(hug3.height)) > this._layerHeight){
+                                                                       hug4 = (Math.random() * (this._layerHeight - hug3.height));
+                                                                       break;
+                                                               }
+                                                       }
+
+                                                       hug5 = true;
+                                                       break;
+                                               }
+                                       }
+
+                                       hug6++;
+                               }
+
+                       }while(hug5);
+
+                       return hug4;
+               }
+       }
+}
+
+//■script268■
+
+package jp.nicovideo.nicoplayer.models.filter{
+
+       //■class(instance)_index:326
+       public class NGStatus extends Object
+       {
+               //static constructor
+               public static function NGStatus$cinit()
+               {       //MethodID:4148, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       NONE = 0;
+                       INVISIBLE = 1;
+                       REJECT_COMMAND = 2;
+               }
+
+               //static variables/etc.
+               public static const NONE:uint = 0;                              //slotID:1
+               public static const INVISIBLE:uint = 1;                         //slotID:2
+               public static const REJECT_COMMAND:uint = 2;                    //slotID:3
+
+               //constructor
+               public function NGStatus()
+               {       //MethodID:4149, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script269■
+
+package jp.nicovideo.nicoplayer.models.filter{
+
+       //■class(instance)_index:327
+       public class ReplacerConstants extends Object
+       {
+               //static constructor
+               public static function ReplacerConstants$cinit()
+               {       //MethodID:4151, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 46
+                       MAX_COUNT = 20;
+                       WHOLE_REPLACE_PREFIX = "*";
+                       WHOLE_REPLACE_REGEXP = new RegExp("^\*");
+                       CHECK_ORIGINAL_VARS_REGEXP = new RegExp("(\*?)(.+)");
+               }
+
+               //static variables/etc.
+               public static const MAX_COUNT:uint = 20;                        //slotID:1
+               public static const WHOLE_REPLACE_PREFIX:String = "*";          //slotID:2
+               public static const WHOLE_REPLACE_REGEXP:RegExp;                //slotID:3
+               public static const CHECK_ORIGINAL_VARS_REGEXP:RegExp;          //slotID:4
+
+               //constructor
+               public function ReplacerConstants()
+               {       //MethodID:4152, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script270■
+//skip components :com.adobe.crypto
+//as filename :SHA1.as
+
+//■script271■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       //■class(instance)_index:329
+       public class CommentDeleteStatus extends Object
+       {
+               //static constructor
+               public static function CommentDeleteStatus$cinit()
+               {       //MethodID:4165, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       NON = 0;
+                       OWNER = 1;
+                       OFFICIAL = 2;
+               }
+
+               //static variables/etc.
+               public static const NON:int = 0;                                //slotID:1
+               public static const OWNER:int = 1;                              //slotID:2
+               public static const OFFICIAL:int = 2;                           //slotID:3
+
+               //constructor
+               public function CommentDeleteStatus()
+               {       //MethodID:4166, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script272■
+
+package jp.nicovideo.nicoplayer.models.log.elements{
+
+       import __AS3__.vec.Vector
+
+       //■class(instance)_index:330
+       public interface ILogElement implements IEventDispatcher
+       {
+               //static constructor
+               public static function ILogElement$cinit()
+               {       //MethodID:4168, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function clearLocalStorage(hug1:Boolean=true):void;                         //MethodID:4169, dispID:0
+
+               function reset(hug1:Function=null):void;                                    //MethodID:4170, dispID:0
+
+               function addData(hug1:Object):void;                                         //MethodID:4171, dispID:0
+
+               function updateData(hug1:Object, hug2:uint):void;                           //MethodID:4172, dispID:0
+
+               function onLogSent():void;                                                  //MethodID:4173, dispID:0
+
+               function get name():String;                                                 //MethodID:4174, dispID:0
+
+               function get isInitialized():Boolean;                                       //MethodID:4175, dispID:0
+
+               function get sendType():String;                                             //MethodID:4176, dispID:0
+
+               function get isSendable():Boolean;                                          //MethodID:4177, dispID:0
+
+               function set isSendable(hug1:Boolean):void;                                 //MethodID:4178, dispID:0
+
+               function get isExpired():Boolean;                                           //MethodID:4179, dispID:0
+
+               function get logObjects():Vector.<Object>;                                  //MethodID:4180, dispID:0
+
+               //constructor
+               public function ILogElement();                                              //MethodID:4181, dispID:0
+       }
+}
+
+//■script273■
+
+package jp.nicovideo.nicoplayer.models.log{
+
+       //■class(instance)_index:331
+       public interface ILogEventObservable
+       {
+               //static constructor
+               public static function ILogEventObservable$cinit()
+               {       //MethodID:4183, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function onWatchReloaded(hug1:String, hug2:Boolean):void;                   //MethodID:4184, dispID:0
+
+               function onVideoLoadStarted():void;                                         //MethodID:4185, dispID:0
+
+               function onVideoLoadCompleted(hug1:uint):void;                              //MethodID:4186, dispID:0
+
+               function onVideoLoadErrorOccurred():void;                                   //MethodID:4187, dispID:0
+
+               function onVideoBufferingStarted():void;                                    //MethodID:4188, dispID:0
+
+               function storeLoadingIdle(hug1:uint):void;                                  //MethodID:4189, dispID:0
+
+               function onThreadLoadStarted():void;                                        //MethodID:4190, dispID:0
+
+               function onThreadLoadCompleted(hug1:Boolean):void;                          //MethodID:4191, dispID:0
+
+               function onNGCommentInitialized(hug1:int, hug2:int):void;                   //MethodID:4192, dispID:0
+
+               function onHirobaInitializeStarted():void;                                  //MethodID:4193, dispID:0
+
+               function onHirobaInitializeAborted():void;                                  //MethodID:4194, dispID:0
+
+               function onHirobaConnected(hug1:Boolean, hug2:String, hug3:String, hug4:String):void;//MethodID:4195, dispID:0
+
+               function onHirobaDisconnected(hug1:String, hug2:String, hug3:String):void;  //MethodID:4196, dispID:0
+
+               function onPremleadOnSliderDisplayed():void;                                //MethodID:4197, dispID:0
+
+               function onPremleadOnSliderClicked():void;                                  //MethodID:4198, dispID:0
+
+               function onVideoMenuOpened(hug1:String):void;                               //MethodID:4199, dispID:0
+
+               function onVideoenderOpened(hug1:String):void;                              //MethodID:4200, dispID:0
+
+               function onVideoenderContentDisplayed(hug1:String):void;                    //MethodID:4201, dispID:0
+
+               function onVideoenderContentUsed(hug1:String):void;                         //MethodID:4202, dispID:0
+
+               function onVideoenderErrorOccured(hug1:String):void;                        //MethodID:4203, dispID:0
+
+               //constructor
+               public function ILogEventObservable();                                      //MethodID:4204, dispID:0
+       }
+}
+
+//■script274■
+
+package jp.nicovideo.nicoplayer.models.log.elements{
+
+       import flash.display.Sprite
+       import flash.events.Event
+       import flash.events.EventDispatcher
+       import flash.events.IOErrorEvent
+       import flash.events.KeyboardEvent
+       import flash.events.MouseEvent
+       import flash.events.TimerEvent
+       import flash.net.SharedObject
+       import flash.net.URLLoader
+       import flash.net.URLRequest
+       import flash.net.URLRequestMethod
+       import flash.net.URLVariables
+       import flash.utils.Timer
+       import jp.nicovideo.nicoplayer.config.DebugMode
+       import jp.nicovideo.nicoplayer.config.getDebugMode
+       import jp.nicovideo.nicoplayer.models.api.IInitializeInfo
+       import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars
+       import jp.nicovideo.nicoplayer.models.video.VideoPlayerStatus
+       import jp.nicovideo.nicoplayer.models.video.VideoWrapper
+       import jp.nicovideo.util.CrossSharedObject
+       import jp.nicovideo.util.TimeUtils
+
+       use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test);
+
+       //■class(instance)_index:332
+       public class Playlen extends EventDispatcher
+       {
+               //static constructor
+               public static function Playlen$cinit()
+               {       //MethodID:4206, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function Playlen()
+               {       //MethodID:4207, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 122
+                       this.DEBUG = (getDebugMode() == DebugMode.DEV);
+                       this.PLAYLEN_INTERVAL = (this.DEBUG ? 8000 : 30000);
+                       this.PLAYLEN_THRESHOLD = (this.DEBUG ? 20000 : 0x1B7740);
+                       this.PLAYLEN_MAX = (this.DEBUG ? (1000 * 60 * 1) : (1000 * 60 * 60 * 2));
+
+                       super();
+
+                       this._SO = CrossSharedObject.getSharedObject("jp.nicovideo.nicoplayer.models.api.playlen");
+               }
+
+               //variables/etc.
+               private var DEBUG:Boolean;                                      //slotID:0
+               private const PLAYLEN_INTERVAL:int;                             //slotID:0
+               private const PLAYLEN_THRESHOLD:int;                            //slotID:0
+               private const PLAYLEN_MAX:int;                                  //slotID:0
+               private var _started:Boolean = false;                           //slotID:0
+               private var _rate:Timer;                                        //slotID:0
+               private var _initializeInfo:IInitializeInfo;                    //slotID:0
+               private var _vars:NicoFlashVars;                                //slotID:0
+               private var _video:VideoWrapper;                                //slotID:0
+               private var _url:String;                                        //slotID:0
+               private var _isThumbWatch:Boolean;                              //slotID:0
+               private var _result:URLVariables;                               //slotID:0
+               private var _SO:SharedObject;                                   //slotID:0
+               private var _isSend:Boolean = false;                            //slotID:0
+               private var _root:Sprite;                                       //slotID:0
+               private var _lastActionTime:Number;                             //slotID:0
+               private var _lastVideoStopTime:Number;                          //slotID:0
+
+               private function start():void
+               {       //MethodID:4208, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 221
+                       if(!this._started) this._lastVideoStopTime = TimeUtils.time;
+
+                       this._started = true;
+
+                       if(!this._rate.running){
+                               this._rate.start();
+
+                               if(isNaN(this._lastActionTime)) this._lastActionTime = TimeUtils.time;
+
+                               this._SO.data.time.s = TimeUtils.time;
+                               this._SO.data.time.v = this._vars.originalVideoID;
+
+                               if(this._vars.isChannel && this._vars.isCommunityThread){
+                                       this._SO.data.time.is_channel = "1";
+                               }else if(this._vars.isCommunityThread){
+                                       this._SO.data.time.is_community = "1";
+                               }else if(this._vars.isChannel){
+                                       this._SO.data.time.is_channel = "1";
+                               }
+
+                               this._SO.flush();
+                       }
+               }
+
+               private function setPlaylen(hug1:Event):void
+               {       //MethodID:4210, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 309
+                       internal var event:Event;                                       //slotID:1
+                       internal var isEndPlaylen:Boolean;                              //slotID:2
+                       internal var send:Function;                                     //slotID:3
+
+                       event = hug1;
+                       send = function(hug1:Number):void{      //MethodID:4209, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 28
+                               _SO.data.time.e = hug1;
+
+                               _SO.flush();
+                               sendToAPI();
+                       };
+
+                       if(this._isThumbWatch){
+                               this._rate.stop();
+                               this._rate.removeEventListener(TimerEvent.TIMER, this.setPlaylen);
+
+                               return;
+                       }
+
+                       if(!this._initializeInfo.userID || ((Number(this._initializeInfo.userID) % 10) != 1)){
+                               if(!this.DEBUG){
+                                       this._rate.stop();
+                                       this._rate.removeEventListener(TimerEvent.TIMER, this.setPlaylen);
+
+                                       return;
+                               }
+                       }
+
+                       isEndPlaylen = false;
+
+                       if(this._video.videoPlayerStatus == VideoPlayerStatus.PLAYING){
+                               if(this.PLAYLEN_MAX < (TimeUtils.time - this._lastActionTime)){
+                                       isEndPlaylen = true;
+
+                                       send(TimeUtils.time);
+
+                                       return;
+                               }
+                       }else{
+                               if(isNaN(this._lastVideoStopTime)) this._lastVideoStopTime = TimeUtils.time;
+
+                               if(this.PLAYLEN_THRESHOLD < (TimeUtils.time - this._lastActionTime)){
+                                       isEndPlaylen = true;
+
+                                       send((this._lastVideoStopTime > this._lastActionTime) ? this._lastVideoStopTime : this._lastActionTime);
+
+                                       return;
+                               }else{
+                                       return;
+                               }
+                       }
+
+                       this._SO.data.time.e = TimeUtils.time;
+
+                       this._SO.flush();
+               }
+
+               private function sendToAPI():void
+               {       //MethodID:4214, LocalCount= 2 , MaxScope= 2, MaxStack= 4, CodeLength= 451
+                       internal var reset:Function;                                    //slotID:1
+                       internal var vari:URLVariables;                                 //slotID:2
+                       internal var req:URLRequest;                                    //slotID:3
+                       internal var loader:URLLoader;                                  //slotID:4
+
+                       vari = null;
+                       req = null;
+                       loader = null;
+                       reset = function():void{        //MethodID:4211, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 19
+                               _SO.data.time = {};
+
+                               _SO.flush();
+                       };
+
+                       if(this._SO.data.time == undefined) this._SO.data.time = {};
+
+                       if(this._SO.data.time.s && this._SO.data.time.e && this._SO.data.time.v){
+                               if((this._SO.data.time.e - this._SO.data.time.s) < this.PLAYLEN_INTERVAL){
+                                       this._SO.data.time.e = undefined;
+
+                                       this._SO.flush();
+
+                                       return;
+                               }
+
+                               if(this._rate) this._rate.stop();
+
+                               vari = new URLVariables();
+                               req = new URLRequest(this._url);
+                               req.method = URLRequestMethod.POST;
+                               vari.s = Math.floor(this._SO.data.time.s / 1000);
+                               vari.e = Math.floor(this._SO.data.time.e / 1000);
+                               vari.v = this._SO.data.time.v;
+
+                               if(this._SO.data.time.is_channel == "1") vari.is_channel = "1";
+
+                               if(this._SO.data.time.is_community == "1") vari.is_community = "1";
+
+                               req.data = vari;
+                               loader = new URLLoader();
+
+                               loader.addEventListener(Event.COMPLETE, function(hug1:Event):void{      //MethodID:4212, LocalCount= 4 , MaxScope= 3, MaxStack= 3, CodeLength= 75
+                                       internal var event:Event;                                       //slotID:1
+
+                                       event = hug1;
+
+                                       try{
+                                               _result = new URLVariables(event.target.data);
+                                       }
+                                       catch(e:Error){
+                                               _result = null;
+                                       }
+
+                                       reset();
+                                       dispatchEvent(event);
+                               });
+                               loader.addEventListener(IOErrorEvent.IO_ERROR, function(hug1:Event):void{       //MethodID:4213, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 9
+                                       reset();
+                               });
+                               loader.load(req);
+                       }
+               }
+
+               public function onLoadVideo():void
+               {       //MethodID:4215, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+                       this.start();
+               }
+
+               public function onVideoEnded():void
+               {       //MethodID:4216, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+                       this._lastVideoStopTime = TimeUtils.time;
+               }
+
+               public function onVideoStopped():void
+               {       //MethodID:4217, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+                       this._lastVideoStopTime = TimeUtils.time;
+               }
+
+               public function onVideoPlayed():void
+               {       //MethodID:4218, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
+                       this._lastVideoStopTime = NaN;
+               }
+
+               public function initialize(hug1:String, hug2:VideoWrapper, hug3:NicoFlashVars, hug4:IInitializeInfo, hug5:Boolean, hug6:Sprite):void
+               {       //MethodID:4221, LocalCount= 8 , MaxScope= 2, MaxStack= 3, CodeLength= 219
+                       internal var url:String;                                        //slotID:1
+                       internal var video:VideoWrapper;                                //slotID:2
+                       internal var vars:NicoFlashVars;                                //slotID:3
+                       internal var initializeInfo:IInitializeInfo;                    //slotID:4
+                       internal var isThumbWatch:Boolean;                              //slotID:5
+                       internal var root:Sprite;                                       //slotID:6
+
+                       url = hug1;
+                       video = hug2;
+                       vars = hug3;
+                       initializeInfo = hug4;
+                       isThumbWatch = hug5;
+                       root = hug6;
+                       this._video = VideoWrapper(video);
+                       this._vars = vars;
+                       this._initializeInfo = initializeInfo;
+                       this._url = url;
+                       this._isThumbWatch = isThumbWatch;
+
+                       if(!this._root && root){
+                               this._root = root;
+
+                               this._root.addEventListener(MouseEvent.MOUSE_MOVE, function(hug1:MouseEvent):void{      //MethodID:4219, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 41
+                                       _lastActionTime = TimeUtils.time;
+
+                                       if(!_rate.running && _started) start();
+                               });
+                               this._root.addEventListener(KeyboardEvent.KEY_UP, function(hug1:KeyboardEvent):void{    //MethodID:4220, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 41
+                                       _lastActionTime = TimeUtils.time;
+
+                                       if(!_rate.running && _started) start();
+                               });
+                       }
+
+                       this.sendToAPI();
+
+                       if(!this._rate){
+                               this._rate = new Timer(this.PLAYLEN_INTERVAL);
+
+                               this._rate.addEventListener(TimerEvent.TIMER, this.setPlaylen);
+                       }else{
+                               this._rate.stop();
+                               this._rate.addEventListener(TimerEvent.TIMER, this.setPlaylen);
+                       }
+               }
+
+               public function get result():URLVariables
+               {       //MethodID:4222, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._result;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function sendToAPI():void
+               {       //MethodID:4223, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 87
+                       this._rate.reset();
+
+                       this._SO.data.time.s = Math.floor(TimeUtils.time + ((60 * 10) * 1000));
+                       this._SO.data.time.e = Math.floor(TimeUtils.time + ((60 * 60) * 1000));
+
+                       this.sendToAPI();
+               }
+       }
+}
+
+//■script275■
+
+package jp.nicovideo.nicoplayer.models.log.elements{
+
+       import __AS3__.vec.Vector
+       import flash.events.EventDispatcher
+       import jp.nicovideo.nicoplayer.models.log.LogElementSendType
+       import jp.nicovideo.nicoplayer.models.log.events.LogEvent
+       import jp.nicovideo.util.CrossSharedObject
+       import jp.nicovideo.util.TimeUtils
+       import jp.nicovideo.util.storage.LocalStorage
+
+       //■class(instance)_index:333
+       public class AbstractLogElement extends EventDispatcher implements ILogElement
+       {
+               //static constructor
+               public static function AbstractLogElement$cinit()
+               {       //MethodID:4225, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function AbstractLogElement(hug1:Function, hug2:String, hug3:String)
+               {       //MethodID:4226, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 64
+                       super();
+
+                       this._localStorage = hug1(hug2);
+                       this._name = hug2;
+                       this._sendType = hug3;
+
+                       if(this._localStorage.data[this._PRIVATE_KEY_LOG_OBJECTS] == undefined) this.clearLocalStorage();
+
+                       if(this.isExpired) this.clearLocalStorage();
+               }
+
+               //variables/etc.
+               private const _PRIVATE_KEY_LOG_OBJECTS:String = "_logObjects";  //slotID:0
+               private const _PRIVATE_KEY_IS_SENDABLE:String = "_isSendable";  //slotID:0
+               private const _PRIVATE_KEY_EXPIRE_TIME:String = "_expireTime";  //slotID:0
+               private var _localStorage:LocalStorage;                         //slotID:0
+               private var _name:String;                                       //slotID:0
+               private var _sendType:String;                                   //slotID:0
+               protected var _cacheStorage:LocalStorage;                       //slotID:0
+               private var _isInitialized:Boolean = false;                     //slotID:0
+
+               protected function _onInitialized():void
+               {       //MethodID:4227, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 32
+                       this._isInitialized = true;
+
+                       dispatchEvent(new LogEvent(LogEvent.INITIALIZED, this.name));
+               }
+
+               public function clearLocalStorage(hug1:Boolean=true):void
+               {       //MethodID:4228, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 99
+                       this._localStorage.clear();
+
+                       this._localStorage.data[this._PRIVATE_KEY_EXPIRE_TIME] = NaN;
+                       this._localStorage.data[this._PRIVATE_KEY_IS_SENDABLE] = false;
+                       this._localStorage.data[this._PRIVATE_KEY_LOG_OBJECTS] = new Vector.<Object>();
+
+                       this._localStorage.flush();
+
+                       if(hug1 && this._cacheStorage) this._cacheStorage.clear();
+               }
+
+               public function reset(hug1:Function=null):void
+               {       //MethodID:4229, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 19
+                       this._isInitialized = false;
+
+                       if(hug1 != null) hug1.apply();
+               }
+
+               public function addData(hug1:Object):void
+               {       //MethodID:4230, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 30
+                       Vector.<Object>(this.logObjects).push(hug1);
+                       this._localStorage.flush();
+               }
+
+               public function updateData(hug1:Object, hug2:uint):void
+               {       //MethodID:4231, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 20
+                       this.logObjects[hug2] = hug1;
+
+                       this._localStorage.flush();
+               }
+
+               protected function _initializeCacheStorage(hug1:String, hug2:String=null, hug3:Boolean=false):void
+               {       //MethodID:4232, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 17
+                       this._cacheStorage = CrossSharedObject.getStorage(hug1, hug2, hug3);
+               }
+
+               public function onLogSent():void
+               {       //MethodID:4233, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function get isInitialized():Boolean
+               {       //MethodID:4234, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isInitialized;
+               }
+
+               public function get name():String
+               {       //MethodID:4235, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._name;
+               }
+
+               public function get sendType():String
+               {       //MethodID:4236, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._sendType;
+               }
+
+               public function get isSendable():Boolean
+               {       //MethodID:4237, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 22
+                       return Boolean(this._localStorage.data[this._PRIVATE_KEY_IS_SENDABLE]);
+               }
+
+               public function set isSendable(hug1:Boolean):void
+               {       //MethodID:4238, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 73
+                       this._localStorage.data[this._PRIVATE_KEY_IS_SENDABLE] = hug1;
+
+                       this._localStorage.flush();
+
+                       if(hug1 && (this.sendType == LogElementSendType.IMMEDIATE)) dispatchEvent(new LogEvent(LogEvent.PREPARED, this.name));
+               }
+
+               public function get isExpired():Boolean
+               {       //MethodID:4239, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 62
+                       var hug1:Number = Number(this._localStorage.data[this._PRIVATE_KEY_EXPIRE_TIME]);
+
+                       if(isNaN(hug1) || !isFinite(hug1)) return false;
+
+                       return (TimeUtils.time > hug1);
+               }
+
+               protected function set _expireTime(hug1:Number):void
+               {       //MethodID:4240, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 26
+                       this._localStorage.data[this._PRIVATE_KEY_EXPIRE_TIME] = hug1;
+
+                       this._localStorage.flush();
+               }
+
+               public function get logObjects():Vector.<Object>
+               {       //MethodID:4241, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
+                       return this._localStorage.data[this._PRIVATE_KEY_LOG_OBJECTS];
+               }
+       }
+}
+
+//■script276■
+
+package jp.nicovideo.nicoplayer.models.log.elements{
+
+       import flash.utils.clearTimeout
+       import flash.utils.getTimer
+       import flash.utils.setTimeout
+       import jp.nicovideo.nicoplayer.models.PlayerInfo
+       import jp.nicovideo.nicoplayer.models.api.IGetFLV
+       import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars
+       import jp.nicovideo.nicoplayer.models.log.LogElementName
+       import jp.nicovideo.nicoplayer.models.log.LogElementSendType
+       import jp.nicovideo.util.TimeUtils
+
+       use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test);
+
+       //■class(instance)_index:334
+       public class PlayStats extends AbstractLogElement
+       {
+               //static constructor
+               public static function PlayStats$cinit()
+               {       //MethodID:4243, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function PlayStats(hug1:Function)
+               {       //MethodID:4244, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 91
+                       this._intervalList = {};
+                       this._functions = [];
+
+                       this._functions.push(this.initialize);
+                       this._functions.push(this.onVideoLoadCompleted);
+                       this._functions.push(this.onVideoLoadErrorOccurred);
+                       this._functions.push(this.onThreadLoadCompleted);
+                       this._functions.push(this.onHirobaConnected);
+                       super(hug1, LogElementName.PLAY_STATS, LogElementSendType.IMMEDIATE);
+               }
+
+               //variables/etc.
+               private const _VIDEO_CONNECTED_TIME:String = "videoConnectedTime";//slotID:0
+               private const _VIDEO_BUFFERFULL_TIME:String = "videoBufferFullTime";//slotID:0
+               private const _THREAD_CONNECTED:String = "threadConnected";     //slotID:0
+               private const _PRIVATE_KEY_HIROBA_COUNT:String = "_hirobaCount";//slotID:0
+               private const _HIROBA_TIMEOUT:Number = 30000.0;                 //slotID:0
+               private const _DEFAULT_STOCK_COUNT:int = 10;                    //slotID:0
+               private var _intervalList:Object;                               //slotID:0
+               private var _functions:Array;                                   //slotID:0
+               private var _getFLV:IGetFLV;                                    //slotID:0
+               private var _flashvars:NicoFlashVars;                           //slotID:0
+               private var _bytesTotal:uint = 0;                               //slotID:0
+               private var _initCount:int = 0;                                 //slotID:0
+               private var __hirobaCount:Number = Number.NaN;                  //slotID:0
+               private var _stockCount:int = 10;                               //slotID:0
+               private var _hirobaTimeoutID:int = -1;                          //slotID:0
+               private var _hasSetHirobaCount:Boolean = false;                 //slotID:0
+
+               public function initialize(hug1:Boolean, hug2:IGetFLV, hug3:NicoFlashVars, hug4:PlayerInfo, hug5:Boolean, ...args):void
+               {       //MethodID:4246, LocalCount= 8 , MaxScope= 2, MaxStack= 4, CodeLength= 261
+                       internal var enabled:Boolean;                                   //slotID:1
+                       internal var getFLV:IGetFLV;                                    //slotID:2
+                       internal var flashvars:NicoFlashVars;                           //slotID:3
+                       internal var playerInfo:PlayerInfo;                             //slotID:4
+                       internal var isNoHiroba:Boolean;                                //slotID:5
+                       internal var arguments:Array;                                   //slotID:6
+
+                       enabled = hug1;
+                       getFLV = hug2;
+                       flashvars = hug3;
+                       playerInfo = hug4;
+                       isNoHiroba = hug5;
+                       internal var arguments:Object = args;
+
+                       super.reset(function():void{    //MethodID:4245, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 15
+                               if(_cacheStorage) _cacheStorage.close();
+                       });
+
+                       this._getFLV = getFLV;
+                       this._flashvars = flashvars;
+                       this._stockCount = (isNaN(playerInfo.playStatsCount) ? this._DEFAULT_STOCK_COUNT : playerInfo.playStatsCount);
+
+                       if(!enabled) return;
+                       _initializeCacheStorage("jp.nicovideo.nicoplayer.models.log.elements._PlayStatsLog", "/");
+
+                       if(_cacheStorage.data[this._PRIVATE_KEY_HIROBA_COUNT] == undefined){
+                               _cacheStorage.data[this._PRIVATE_KEY_HIROBA_COUNT] = 0;
+
+                               _cacheStorage.flush();
+                       }
+
+                       if(this._hasSetHirobaCount){
+                               _cacheStorage.data[this._PRIVATE_KEY_HIROBA_COUNT] += this.__hirobaCount;
+
+                               _cacheStorage.flush();
+                       }
+
+                       if(isNoHiroba || isInitialized){
+                               this.onHirobaConnectorLoadStarted();
+                               this.onHirobaConnected(false);
+                       }
+
+                       super._onInitialized();
+                       this._checkAndCreate(arguments.callee);
+               }
+
+               private function dateFormater(hug1:Date):String
+               {       //MethodID:4248, LocalCount= 3 , MaxScope= 2, MaxStack= 6, CodeLength= 141
+                       internal var d:Date;                                            //slotID:1
+                       internal var string:String;                                     //slotID:2
+                       internal var convertToString:Function;                          //slotID:3
+
+                       d = hug1;
+                       convertToString = function(hug1:int):String{    //MethodID:4247, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 30
+                               return ((hug1 >= 10) ? String(hug1) : ("0" + String(hug1)));
+                       };
+
+                       string = ((((((d.getFullYear() + "-") + convertToString(d.getMonth() + 1) + "-") + convertToString(d.getDate()) + "T") + convertToString(d.getHours()) + ":") + convertToString(d.getMinutes()) + ":") + convertToString(d.getSeconds()));
+                       return string;
+               }
+
+               private function _getIntervalObject(hug1:String):_Interval
+               {       //MethodID:4249, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 38
+                       if(!this._intervalList[hug1]) this._intervalList[hug1] = new _Interval();
+
+                       return this._intervalList[hug1];
+               }
+
+               public function setBeginTime(hug1:String):void
+               {       //MethodID:4250, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 19
+                       this._getIntervalObject(hug1).begin = getTimer();
+               }
+
+               public function setEndTime(hug1:String, hug2:Boolean=false):void
+               {       //MethodID:4251, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 29
+                       this._getIntervalObject(hug1).end = getTimer();
+                       this._getIntervalObject(hug1).error = hug2;
+               }
+
+               private function _getInterval(hug1:String):String
+               {       //MethodID:4252, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       if(this._intervalList[hug1]) return this._intervalList[hug1].intervel;
+
+                       return "0";
+               }
+
+               private function _checkAndCreate(hug1:Function):Boolean
+               {       //MethodID:4253, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 57
+                       if(this._functions.indexOf(hug1) + 1){
+                               if((++this._initCount) == (this._functions.length - 1)){
+                                       this._create();
+
+                                       return true;
+                               }
+                       }
+
+                       return false;
+               }
+
+               private function _create():void
+               {       //MethodID:4254, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 74
+                       if(!isInitialized) return;
+
+                       var hug1:Object = {};
+
+                       this._setVideoStatus(hug1);
+                       this._setThreadStatus(hug1);
+                       this._setHirobaStatus(hug1);
+                       addData(hug1);
+
+                       if(logObjects.length >= this._stockCount) isSendable = true;
+
+                       this._hirobaCount = 0;
+                       this._hasSetHirobaCount = false;
+               }
+
+               private function _setVideoStatus(hug1:Object):void
+               {       //MethodID:4255, LocalCount= 7 , MaxScope= 1, MaxStack= 5, CodeLength= 290
+                       var hug2:String = this._getFLV.videoURL;
+                       var hug3:Number = hug2.indexOf("//");
+
+                       if(hug3 >= 0) hug2 = hug2.substr(hug3 + 2);
+
+                       var hug4:String = hug2;
+                       hug3 = hug4.indexOf("/");
+
+                       if(hug3 >= 0) hug4 = hug4.substr(0, hug3);
+
+                       var hug5:Number = Number(this._getInterval(this._VIDEO_BUFFERFULL_TIME));
+                       hug5 = ((hug5 > 0) ? hug5 : 0);
+                       var hug6:String = (isNaN(Math.floor(this._bytesTotal / hug5)) ? "0" : String(Math.floor(this._bytesTotal / hug5)));
+                       hug1["date"] = (this.dateFormater(TimeUtils.now()) + "+09:00");
+                       hug1["host"] = hug4;
+                       hug1["video"] = this._flashvars.originalVideoID;
+                       hug1["deleted"] = this._getFLV.deleted;
+                       hug1["t1"] = this._getInterval(this._VIDEO_CONNECTED_TIME);
+                       hug1["t2"] = this._getInterval(this._VIDEO_BUFFERFULL_TIME);
+                       hug1["r"] = String((hug5 == 0) ? this._bytesTotal : hug6);
+               }
+
+               private function _setThreadStatus(hug1:Object):void
+               {       //MethodID:4256, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 19
+                       hug1["frq"] = this._getInterval(this._THREAD_CONNECTED);
+               }
+
+               private function _setHirobaStatus(hug1:Object):void
+               {       //MethodID:4257, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 67
+                       if(!_cacheStorage || (_cacheStorage.data[this._PRIVATE_KEY_HIROBA_COUNT] == undefined)){
+                               hug1["hiroba"] = 0;
+                       }else{
+                               hug1["hiroba"] = _cacheStorage.data[this._PRIVATE_KEY_HIROBA_COUNT];
+                       }
+               }
+
+               private function get _hirobaCount():Number
+               {       //MethodID:4258, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 33
+                       if(_cacheStorage) return Number(_cacheStorage.data[this._PRIVATE_KEY_HIROBA_COUNT]);
+
+                       return this.__hirobaCount;
+               }
+
+               private function set _hirobaCount(hug1:Number):void
+               {       //MethodID:4259, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 44
+                       this._hasSetHirobaCount = true;
+                       this.__hirobaCount = hug1;
+
+                       if(_cacheStorage){
+                               _cacheStorage.data[this._PRIVATE_KEY_HIROBA_COUNT] = this.__hirobaCount;
+
+                               _cacheStorage.flush();
+                       }
+               }
+
+               public function onVideoLoadStarted():void
+               {       //MethodID:4260, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       this.setBeginTime(this._VIDEO_CONNECTED_TIME);
+               }
+
+               public function onVideoBufferingStarted():void
+               {       //MethodID:4261, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       this.setEndTime(this._VIDEO_CONNECTED_TIME);
+                       this.setBeginTime(this._VIDEO_BUFFERFULL_TIME);
+               }
+
+               public function onVideoLoadCompleted(hug1:uint, ...args):void
+               {       //MethodID:4262, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 41
+                       this._bytesTotal = ((hug1 > 0) ? hug1 : 0);
+
+                       this.setEndTime(this._VIDEO_BUFFERFULL_TIME);
+                       this._checkAndCreate(args.callee);
+               }
+
+               public function onVideoLoadErrorOccurred(... args):void
+               {       //MethodID:4263, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       this.setEndTime(this._VIDEO_CONNECTED_TIME);
+                       this._checkAndCreate(args.callee);
+               }
+
+               public function onThreadLoadStarted():void
+               {       //MethodID:4264, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       this.setBeginTime(this._THREAD_CONNECTED);
+               }
+
+               public function onThreadLoadCompleted(hug1:Boolean, ...args):void
+               {       //MethodID:4265, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 23
+                       this.setEndTime(this._THREAD_CONNECTED, !hug1);
+                       this._checkAndCreate(args.callee);
+               }
+
+               public function onHirobaConnectorLoadStarted():void
+               {       //MethodID:4266, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 23
+                       this._hirobaTimeoutID = setTimeout(this.onHirobaConnected, this._HIROBA_TIMEOUT, false);
+               }
+
+               public function onHirobaConnected(hug1:Boolean, ...args):void
+               {       //MethodID:4267, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 95
+                       var hug3:Number = NaN;
+
+                       if(hug1 && (this._hirobaTimeoutID > (-1))){
+                               hug3 = this._hirobaCount;
+
+                               if(isNaN(hug3)){
+                                       hug3 = 0;
+                               }else{
+                                       hug3++;
+                               }
+
+                               this._hirobaCount = hug3;
+                       }
+
+                       if(this._hirobaTimeoutID > (-1)) this._checkAndCreate(args.callee);
+                       clearTimeout(this._hirobaTimeoutID);
+
+                       this._hirobaTimeoutID = -1;
+               }
+
+               public function onPlaylistTargetUpdated():void
+               {       //MethodID:4268, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 9
+                       this._initCount = 0;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function setVideoStatus(hug1:Object):void
+               {       //MethodID:4269, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9
+                       this._setVideoStatus(hug1);
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function getThreadStats(hug1:Object):void
+               {       //MethodID:4270, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9
+                       this._setThreadStatus(hug1);
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function logCount():int
+               {       //MethodID:4271, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9
+                       return logObjects.length;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function _getInterval(hug1:String):String
+               {       //MethodID:4272, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9
+                       return this._getInterval(hug1);
+               }
+       }
+}
+
+
+//■class(instance)_index:335
+//private
+class _Interval extends Object
+{
+       //static constructor
+       public static function _Interval$cinit()
+       {       //MethodID:4273, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _Interval()
+       {       //MethodID:4274, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+
+       //variables/etc.
+       public var begin:Number = 0.0;                                  //slotID:0
+       public var end:Number = 0.0;                                    //slotID:0
+       public var error:Boolean = false;                               //slotID:0
+
+       public function get intervel():String
+       {       //MethodID:4275, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 41
+               var hug1:Number = Math.max((this.end - this.begin), 0);
+
+               if(this.error) hug1 = -1;
+
+               return String(hug1);
+       }
+}
+
+//■script277■
+
+package jp.nicovideo.nicoplayer.models.log.elements{
+
+       import flash.system.Capabilities
+       import jp.nicovideo.nicoplayer.models.log.LogElementName
+       import jp.nicovideo.nicoplayer.models.log.LogElementSendType
+
+       //■class(instance)_index:336
+       public class PremiumLeadOnSliderLog extends AbstractLogElement
+       {
+               //static constructor
+               public static function PremiumLeadOnSliderLog$cinit()
+               {       //MethodID:4277, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function PremiumLeadOnSliderLog(hug1:Function)
+               {       //MethodID:4278, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 19
+                       super(hug1, LogElementName.PREMIUM_LEAD_ON_SLIDER, LogElementSendType.PLAYER_START_UP);
+               }
+
+               //variables/etc.
+               private var _displayed:int = 0;                                 //slotID:0
+               private var _clicked:int = 0;                                   //slotID:0
+               private var _hasDisplayed:Boolean;                              //slotID:0
+
+               public function initialize(hug1:Boolean):void
+               {       //MethodID:4279, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 19
+                       super.reset();
+
+                       if(!hug1) return;
+                       super._onInitialized();
+               }
+
+               public function onPremleadOnSliderDisplayed():void
+               {       //MethodID:4280, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 38
+                       this._hasDisplayed = true;
+                       this._displayed++;
+
+                       if(!isInitialized) return;
+                       this._updateLogData();
+               }
+
+               public function onPremleadOnSliderClicked():void
+               {       //MethodID:4281, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 45
+                       this._clicked++;
+
+                       if(!isInitialized || !this._hasDisplayed) return;
+                       this._updateLogData();
+               }
+
+               private function _updateLogData():void
+               {       //MethodID:4282, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 129
+                       var hug1:Object = null;
+
+                       if(!isInitialized) return;
+
+                       if(this._displayed > 0){
+                               hug1 = {};
+
+                               if(logObjects.length > 0){
+                                       hug1 = logObjects[0];
+                               }else{
+                                       addData(hug1);
+                               }
+
+                               hug1["displayed"] = this._displayed;
+                               hug1["clicked"] = this._clicked;
+                               hug1["is64bit"] = (Boolean(Capabilities.supports64BitProcesses) ? 1 : 0);
+
+                               updateData(hug1, 0);
+                       }
+               }
+       }
+}
+
+//■script278■
+
+package jp.nicovideo.nicoplayer.models.log.elements{
+
+       import flash.system.Capabilities
+       import jp.nicovideo.nicoplayer.models.log.LogElementName
+       import jp.nicovideo.nicoplayer.models.log.LogElementSendType
+       import jp.nicovideo.util.TimeUtils
+
+       //■class(instance)_index:337
+       public class CapabilitiesLog extends AbstractLogElement
+       {
+               //static constructor
+               public static function CapabilitiesLog$cinit()
+               {       //MethodID:4284, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function CapabilitiesLog(hug1:Function)
+               {       //MethodID:4285, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 19
+                       super(hug1, LogElementName.CAPABILITIES, LogElementSendType.IMMEDIATE);
+               }
+
+               //variables/etc.
+               private const _CACHE_NAME:String = "jp.nicovideo.nicoplayer.models.log.elements._CapabilitiesLog";//slotID:0
+               private const _EXPIRE_TIME_PROPERTY_NAME:String = "expire_property_name";//slotID:0
+               private const _EXPIRE:Number = 0x5265C00;                       //slotID:0
+
+               public function initialize(hug1:Boolean):void
+               {       //MethodID:4286, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 262
+                       super.reset();
+
+                       if(!hug1) return;
+                       _initializeCacheStorage(this._CACHE_NAME, "/");
+
+                       var hug2:Number = parseInt(_cacheStorage.data[this._EXPIRE_TIME_PROPERTY_NAME]);
+
+                       if((hug2 + this._EXPIRE) > TimeUtils.time) return;
+                       super._onInitialized();
+
+                       var hug3:Object = {};
+                       hug3["is64"] = (Capabilities.supports64BitProcesses ? "1" : "0");
+                       hug3["os"] = (new RegExp("^[a-zA-Z0-9\-_\., ]+$").test(Capabilities.os) ? Capabilities.os : "other");
+                       hug3["isDebugger"] = (Capabilities.isDebugger ? "1" : "0");
+                       hug3["version"] = (new RegExp("^[a-zA-Z0-9, ]+$").test(Capabilities.version) ? Capabilities.version : "other");
+
+                       addData(hug3);
+
+                       isSendable = true;
+                       _cacheStorage.data[this._EXPIRE_TIME_PROPERTY_NAME] = TimeUtils.time;
+
+                       _cacheStorage.flush();
+               }
+
+               override public function clearLocalStorage(hug1:Boolean=true):void
+               {       //MethodID:4287, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9
+                       super.clearLocalStorage(false);
+               }
+       }
+}
+
+//■script279■
+
+package jp.nicovideo.nicoplayer.models.log.elements{
+
+       import flash.utils.getTimer
+       import jp.nicovideo.nicoplayer.models.log.LogElementName
+       import jp.nicovideo.nicoplayer.models.log.LogElementSendType
+       import jp.nicovideo.util.TimeUtils
+
+       //■class(instance)_index:338
+       public class LoadingFailLog extends AbstractLogElement
+       {
+               //static constructor
+               public static function LoadingFailLog$cinit()
+               {       //MethodID:4289, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function LoadingFailLog(hug1:Function)
+               {       //MethodID:4290, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 19
+                       super(hug1, LogElementName.LOADING_FAIL, LogElementSendType.IMMEDIATE);
+               }
+
+               //variables/etc.
+               private const _ERROR_CODE_UNKNOWN:String = "unknown";           //slotID:0
+               private var _videoId:String = "";                               //slotID:0
+               private var _videoServer:String = "";                           //slotID:0
+               private var _startTimeStamp:Number = Number.NaN;                //slotID:0
+               private var _startTime:Number = Number.NaN;                     //slotID:0
+
+               public function initialize(hug1:String, hug2:String):void
+               {       //MethodID:4292, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 59
+                       internal var watchVideoID:String;                               //slotID:1
+                       internal var videoURL:String;                                   //slotID:2
+                       internal var getServerName:Function;                            //slotID:3
+
+                       watchVideoID = hug1;
+                       videoURL = hug2;
+                       getServerName = function(hug1:String):String{   //MethodID:4291, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 60
+                               var hug2:Number = hug1.indexOf("//");
+
+                               if(hug2 >= 0) hug1 = hug1.substr(hug2 + 2);
+
+                               var hug3:String = hug1;
+                               hug2 = hug3.indexOf(".");
+
+                               if(hug2 >= 0) hug3 = hug3.substr(0, hug2);
+
+                               return hug3;
+                       };
+
+                       super.reset();
+
+                       this._videoId = watchVideoID;
+                       this._videoServer = getServerName(videoURL);
+
+                       super._onInitialized();
+               }
+
+               public function onVideoLoadStarted():void
+               {       //MethodID:4293, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24
+                       this._startTimeStamp = TimeUtils.time;
+                       this._startTime = getTimer();
+               }
+
+               public function onVideoLoadErrorOccurred():void
+               {       //MethodID:4294, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 94
+                       if(!isInitialized) return;
+
+                       var hug1:Object = {};
+                       hug1["video_id"] = this._videoId;
+                       hug1["video_server"] = this._videoServer;
+                       hug1["start_time"] = this._startTimeStamp;
+                       hug1["loading_time"] = (getTimer() - this._startTime);
+                       hug1["status"] = this._ERROR_CODE_UNKNOWN;
+
+                       addData(hug1);
+
+                       isSendable = true;
+               }
+       }
+}
+
+//■script280■
+
+package jp.nicovideo.nicoplayer.models.log{
+
+       //■class(instance)_index:339
+       public class LogElementSendType extends Object
+       {
+               //static constructor
+               public static function LogElementSendType$cinit()
+               {       //MethodID:4296, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 39
+                       IMMEDIATE = "immediate";
+                       PLAYER_START_UP = "playerStartUp";
+                       LOG_INITIALIZE = "logInitialize";
+                       WITH_OTHER_LOGS = "withOtherLogs";
+               }
+
+               //static variables/etc.
+               public static const IMMEDIATE:String = "immediate";             //slotID:1
+               public static const PLAYER_START_UP:String = "playerStartUp";   //slotID:2
+               public static const LOG_INITIALIZE:String = "logInitialize";    //slotID:3
+               public static const WITH_OTHER_LOGS:String = "withOtherLogs";   //slotID:4
+
+               //constructor
+               public function LogElementSendType()
+               {       //MethodID:4297, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script281■
+
+package jp.nicovideo.nicoplayer.models.log.events{
+
+       import flash.events.Event
+
+       //■class(instance)_index:340
+       public class LogEvent extends Event
+       {
+               //static constructor
+               public static function LogEvent$cinit()
+               {       //MethodID:4299, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 39
+                       INITIALIZED = "initialized";
+                       SEND = "send";
+                       SEND_COMPLETE = "send_complete";
+                       PREPARED = "prepared";
+               }
+
+               //static variables/etc.
+               public static const INITIALIZED:String = "initialized";         //slotID:1
+               public static const SEND:String = "send";                       //slotID:2
+               public static const SEND_COMPLETE:String = "send_complete";     //slotID:3
+               public static const PREPARED:String = "prepared";               //slotID:4
+
+               //constructor
+               public function LogEvent(hug1:String, hug2:String, hug3:Boolean=false, hug4:Boolean=false)
+               {       //MethodID:4300, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 15
+                       this._name = hug2;
+
+                       super(hug1, hug3, hug4);
+               }
+
+               //variables/etc.
+               private var _name:String;                                       //slotID:0
+
+               public function get name():String
+               {       //MethodID:4301, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._name;
+               }
+       }
+}
+
+//■script282■
+
+package jp.nicovideo.nicoplayer.models.log{
+
+       //■class(instance)_index:341
+       public class LogElementName extends Object
+       {
+               //static constructor
+               public static function LogElementName$cinit()
+               {       //MethodID:4303, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 147
+                       NON_SHAREDOBJECT_COUNT = "non_sharedobject_count";
+                       PLAY_LEN = "playlen";
+                       PLAY_STATS = "playstats";
+                       PLAYER_IDLE = "fms_idle_time";
+                       PLAYER_CONF = "player_conf";
+                       COMMENT_UPDATE_COUNT = "comment_update_count";
+                       WATCH_RELOAD = "watch_reload";
+                       HIRROBA_CONNECTION_FAIL = "hiroba_connection_fail";
+                       HIRROBA_DISCONNECTED = "hiroba_disconnected";
+                       LOADING_FAIL = "loading_fail";
+                       LOADING_IDLE = "loading_idle";
+                       PLAYLIST_INTERRUPTED = "playlist_interrupt";
+                       PREMIUM_LEAD_ON_SLIDER = "premlead_on_slider";
+                       VIDEO_MENU = "videomenu_count";
+                       CAPABILITIES = "capabilities";
+                       VIDEOENDER = "videoender";
+               }
+
+               //static variables/etc.
+               public static const NON_SHAREDOBJECT_COUNT:String = "non_sharedobject_count";//slotID:1
+               public static const PLAY_LEN:String = "playlen";                //slotID:2
+               public static const PLAY_STATS:String = "playstats";            //slotID:3
+               public static const PLAYER_IDLE:String = "fms_idle_time";       //slotID:4
+               public static const PLAYER_CONF:String = "player_conf";         //slotID:5
+               public static const COMMENT_UPDATE_COUNT:String = "comment_update_count";//slotID:6
+               public static const WATCH_RELOAD:String = "watch_reload";       //slotID:7
+               public static const HIRROBA_CONNECTION_FAIL:String = "hiroba_connection_fail";//slotID:8
+               public static const HIRROBA_DISCONNECTED:String = "hiroba_disconnected";//slotID:9
+               public static const LOADING_FAIL:String = "loading_fail";       //slotID:10
+               public static const LOADING_IDLE:String = "loading_idle";       //slotID:11
+               public static const PLAYLIST_INTERRUPTED:String = "playlist_interrupt";//slotID:12
+               public static const PREMIUM_LEAD_ON_SLIDER:String = "premlead_on_slider";//slotID:13
+               public static const VIDEO_MENU:String = "videomenu_count";      //slotID:14
+               public static const CAPABILITIES:String = "capabilities";       //slotID:15
+               public static const VIDEOENDER:String = "videoender";           //slotID:16
+
+               //constructor
+               public function LogElementName()
+               {       //MethodID:4304, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script283■
+
+package jp.nicovideo.nicoplayer.models.log.elements{
+
+       import __AS3__.vec.Vector
+       import flash.errors.IllegalOperationError
+       import jp.nicovideo.nicoplayer.models.log.LogElementName
+       import jp.nicovideo.nicoplayer.models.log.LogElementSendType
+       import jp.nicovideo.nicoplayer.models.log.elements.videoMenu.VideoenderContentType
+       import jp.nicovideo.nicoplayer.models.log.elements.videoMenu.VideoenderTorrigerType
+       import jp.nicovideo.nicoplayer.videoender.IVideoenderTesterConfig
+       import jp.nicovideo.util.TimeUtils
+
+       //■class(instance)_index:342
+       public class VideoenderLog extends AbstractLogElement
+       {
+               //static constructor
+               public static function VideoenderLog$cinit()
+               {       //MethodID:4306, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               private static function _createSendableLogObject(hug1:_VideoenderLogData):Object
+               {       //dispID:3, MethodID:4312, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 338
+                       internal var data:_VideoenderLogData;                           //slotID:1
+                       internal var object:Object;                                     //slotID:2
+
+                       data = hug1;
+                       object = {};
+                       object["is_tester"] = function():int{   //MethodID:4307, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 29
+                               if(data.isTester) return 1;
+
+                               if(data.isTestable) return 2;
+
+                               return 0;
+                       }();
+
+                       object["video_ended"] = (data.hasVideoEnded ? 1 : 0);
+                       object["displayed"] = (data.hasDisplayed ? 1 : 0);
+                       object["menu_clicked"] = (data.hasMenuButtonClicked ? 1 : 0);
+                       object["related_video_type"] = function():int{  //MethodID:4308, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 54
+                               if(data.isGetRelationError) return 3;
+
+                               if(data.relatedVideoType == VideoenderContentType.RELATED_VIDEO) return 2;
+
+                               if(data.relatedVideoType == VideoenderContentType.OWNER_VIDEO) return 1;
+
+                               return 0;
+                       }();
+
+                       object["related_video_jumped"] = (data.hasRelatedVideoClicked ? 1 : 0);
+                       object["live_dj_displayed"] = (data.hasLiveDJDisplayed ? 1 : 0);
+                       object["live_dj_jumped"] = (data.hasLiveDJClicked ? 1 : 0);
+                       object["owner_video_page_link"] = function():int{       //MethodID:4309, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 29
+                               if(data.hasOwnerVideoPageLinkClicked) return 2;
+
+                               if(data.hasOwnerVideoPageLinkDisplayed) return 1;
+
+                               return 0;
+                       }();
+
+                       object["mobile_clicked"] = (data.hasMobileBtnClicked ? 1 : 0);
+                       object["mylist_form"] = function():int{ //MethodID:4310, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 29
+                               if(data.hasMylistAdded) return 2;
+
+                               if(data.hasMylistAddDisplayed) return 1;
+
+                               return 0;
+                       }();
+
+                       object["mylist_jumped"] = function():int{       //MethodID:4311, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 41
+                               if(data.mylistPageJumpedType == VideoenderContentType.JUST_ADDED_MYLIST_LINK) return 2;
+
+                               if(data.mylistPageJumpedType == VideoenderContentType.ALREADY_ADDED_MYLIST_LINK) return 1;
+
+                               return 0;
+                       }();
+
+                       object["date"] = data.date;
+                       return object;
+               }
+
+               public static function _createDate():String
+               {       //dispID:4, MethodID:4314, LocalCount= 2 , MaxScope= 2, MaxStack= 4, CodeLength= 203
+                       internal var now:Date;                                          //slotID:1
+                       internal var m:String;                                          //slotID:2
+                       internal var d:String;                                          //slotID:3
+                       internal var h:String;                                          //slotID:4
+                       internal var min:String;                                        //slotID:5
+                       internal var doublize:Function;                                 //slotID:6
+
+                       doublize = function(hug1:String):String{        //MethodID:4313, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 19
+                               if(hug1.length < 2) hug1 = ("0" + hug1);
+
+                               return hug1;
+                       };
+
+                       now = new Date();
+
+                       now.setTime(TimeUtils.time);
+
+                       m = (now.month + 1).toString();
+                       d = now.date.toString();
+                       h = now.hours.toString();
+                       min = now.minutes.toString();
+                       m = doublize(m);
+                       d = doublize(d);
+                       h = doublize(h);
+                       min = doublize(min);
+                       return (m + "." + d + "." + h + "." + min);
+               }
+
+               //constructor
+               public function VideoenderLog(hug1:Function)
+               {       //MethodID:4315, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 19
+                       super(hug1, LogElementName.VIDEOENDER, LogElementSendType.IMMEDIATE);
+               }
+
+               //variables/etc.
+               private var _hasInitialized:Boolean = false;                    //slotID:0
+               private var _currentData:_VideoenderLogData;                    //slotID:0
+               private var _reserver:_VideoenderLogDataReserver;               //slotID:0
+
+               public function initialize(hug1:Boolean, hug2:IVideoenderTesterConfig):void
+               {       //MethodID:4317, LocalCount= 4 , MaxScope= 2, MaxStack= 5, CodeLength= 114
+                       internal var enabled:Boolean;                                   //slotID:1
+                       internal var testerConfig:IVideoenderTesterConfig;              //slotID:2
+
+                       enabled = hug1;
+                       testerConfig = hug2;
+
+                       super.reset();
+
+                       if(!enabled) return;
+                       super._onInitialized();
+
+                       this._currentData = new _VideoenderLogData(testerConfig.isTester, testerConfig.isTestable, _createDate());
+                       this._reserver = new _VideoenderLogDataReserver();
+
+                       this._reserver.addEventListener(_SendableLogDataEvent.SENDABLE, function(hug1:_SendableLogDataEvent):void{      //MethodID:4316, LocalCount= 5 , MaxScope= 0, MaxStack= 3, CodeLength= 65
+                               var hug4:Object = null;
+                               var hug2:Vector.<_VideoenderLogData> = hug1.datas;
+                               var hug3:int = 0;
+
+                               while(hug3 < hug2.length){
+                                       hug4 = _createSendableLogObject(hug2[hug3]);
+
+                                       addData(hug4);
+
+                                       hug3++;
+                               }
+
+                               isSendable = true;
+                       });
+                       this._reserver.initialize();
+                       this._reserveCurrentData();
+
+                       this._hasInitialized = true;
+               }
+
+               public function onVideoEnded():void
+               {       //MethodID:4318, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 25
+                       if(!this._hasInitialized) return;
+
+                       this._currentData.hasVideoEnded = true;
+
+                       this._reserveCurrentData();
+               }
+
+               public function onOpened(hug1:String):void
+               {       //MethodID:4319, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 67
+                       if(!this._hasInitialized) return;
+
+                       this._currentData.hasDisplayed = true;
+
+                       if(hug1 == VideoenderTorrigerType.END){
+                               this._currentData.hasVideoEnded = true;
+                       }else if(hug1 == VideoenderTorrigerType.BUTTON_CLICK){
+                               this._currentData.hasMenuButtonClicked = true;
+                       }
+
+                       this._reserveCurrentData();
+               }
+
+               public function onContentDisplayed(hug1:String):void
+               {       //MethodID:4320, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 156
+                       if(!this._hasInitialized) return;
+
+                       if((hug1 == VideoenderContentType.OWNER_VIDEO) || (hug1 == VideoenderContentType.RELATED_VIDEO)){
+                               if(this._currentData.isGetRelationError) this._currentData.isGetRelationError = false;
+
+                               this._currentData.relatedVideoType = hug1;
+                       }else if(hug1 == VideoenderContentType.LIVE_DJ){
+                               this._currentData.hasLiveDJDisplayed = true;
+                       }else if(hug1 == VideoenderContentType.OWNER_VIDEO_LIST_PAGE_LINK){
+                               this._currentData.hasOwnerVideoPageLinkDisplayed = true;
+                       }else if(hug1 == VideoenderContentType.ADD_MYLIST){
+                               this._currentData.hasMylistAddDisplayed = true;
+                       }else{
+                               if(hug1 == VideoenderContentType.MOBILE_LEAD) return;
+
+                               return;
+                       }
+
+                       this._reserveCurrentData();
+               }
+
+               public function onContentUsed(hug1:String):void
+               {       //MethodID:4321, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 253
+                       if(!this._hasInitialized) return;
+
+                       if(hug1 == VideoenderContentType.ADD_MYLIST){
+                               this._currentData.hasMylistAdded = true;
+                       }else if(hug1 == VideoenderContentType.MOBILE_LEAD){
+                               this._currentData.hasMobileBtnClicked = true;
+                       }else if((hug1 == VideoenderContentType.OWNER_VIDEO) || (hug1 == VideoenderContentType.RELATED_VIDEO)){
+                               if(this._currentData.relatedVideoType == null) throw new IllegalOperationError("VideoenderLog.onLinkJumped: OWNER_VIDEO has not displayed, but clicked.");
+
+                               this._currentData.hasRelatedVideoClicked = true;
+                       }else if(hug1 == VideoenderContentType.LIVE_DJ){
+                               if(!this._currentData.hasLiveDJDisplayed) throw new IllegalOperationError("VideoenderLog.onLinkJumped: LIVE_DJ has not displayed, but clicked.");
+
+                               this._currentData.hasLiveDJClicked = true;
+                       }else if((hug1 == VideoenderContentType.ALREADY_ADDED_MYLIST_LINK) || (hug1 == VideoenderContentType.JUST_ADDED_MYLIST_LINK)){
+                               this._currentData.mylistPageJumpedType = hug1;
+                       }else if(hug1 == VideoenderContentType.OWNER_VIDEO_LIST_PAGE_LINK){
+                               if(!this._currentData.hasOwnerVideoPageLinkDisplayed) throw new IllegalOperationError("VideoenderLog.onLinkJumped: OWNER_VIDEO_LIST_PAGE_LINK has not displayed, but clicked.");
+
+                               this._currentData.hasOwnerVideoPageLinkClicked = true;
+                       }else{
+                               return;
+                       }
+
+                       this._reserveCurrentData();
+               }
+
+               public function onErrorOccured(hug1:String):void
+               {       //MethodID:4322, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 41
+                       if(!this._hasInitialized) return;
+
+                       if(hug1 == VideoenderContentType.GET_RELATION_VIDEOS){
+                               this._currentData.isGetRelationError = true;
+                       }else{
+                               return;
+                       }
+
+                       this._reserveCurrentData();
+               }
+
+               private function _reserveCurrentData():void
+               {       //MethodID:4323, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 29
+                       this._currentData.date = _createDate();
+
+                       this._reserver.reserveCurrentData(this._currentData);
+               }
+       }
+}
+
+import __AS3__.vec.Vector
+import flash.errors.IllegalOperationError
+import flash.events.DataEvent
+import flash.events.Event
+import flash.events.EventDispatcher
+import flash.events.TimerEvent
+import flash.utils.Timer
+import jp.nicovideo.util.CrossSharedObject
+import jp.nicovideo.util.net.local.LocalSession
+import jp.nicovideo.util.net.local.LocalSessionEvent
+import jp.nicovideo.util.storage.LocalStorage
+
+//■class(instance)_index:343
+//private
+class _VideoenderLogData extends Object
+{
+       //static constructor
+       public static function _VideoenderLogData$cinit()
+       {       //MethodID:4324, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //static variables/etc.
+       public static function createByObject(hug1:Object):_VideoenderLogData
+       {       //dispID:3, MethodID:4325, LocalCount= 4 , MaxScope= 5, MaxStack= 5, CodeLength= 273
+               private var obj:Object;                                         //slotID:1
+               private var data:_VideoenderLogData;                            //slotID:2
+
+               data = null;
+               obj = hug1;
+
+               try{
+                       data = new _VideoenderLogData(obj.isTester, obj.isTestable, obj.date);
+                       data.hasVideoEnded = obj.hasVideoEnded;
+                       data.hasDisplayed = obj.hasDisplayed;
+                       data.hasMenuButtonClicked = obj.hasMenuButtonClicked;
+                       data.relatedVideoType = obj.relatedVideoType;
+                       data.isGetRelationError = obj.isGetRelationError;
+                       data.hasRelatedVideoClicked = obj.hasRelatedVideoClicked;
+                       data.hasLiveDJDisplayed = obj.hasLiveDJDisplayed;
+                       data.hasLiveDJClicked = obj.hasLiveDJClicked;
+                       data.hasOwnerVideoPageLinkDisplayed = obj.hasOwnerVideoPageLinkDisplayed;
+                       data.hasOwnerVideoPageLinkClicked = obj.hasOwnerVideoPageLinkClicked;
+                       data.hasMobileBtnClicked = obj.hasMobileBtnClicked;
+                       data.hasMylistAddDisplayed = obj.hasMylistAddDisplayed;
+                       data.hasMylistAdded = obj.hasMylistAdded;
+                       data.mylistPageJumpedType = obj.mylistPageJumpedType;
+               }
+               catch(e:*){
+                       return null;
+               }
+
+               return data;
+       }
+
+       //constructor
+       public function _VideoenderLogData(hug1:Boolean, hug2:Boolean, hug3:String):void
+       {       //MethodID:4326, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+               super();
+
+               this.isTester = hug1;
+               this.isTestable = hug2;
+               this.date = hug3;
+       }
+
+       //variables/etc.
+       public var isTester:Boolean;                                    //slotID:0
+       public var isTestable:Boolean;                                  //slotID:0
+       public var date:String;                                         //slotID:0
+       public var hasVideoEnded:Boolean = false;                       //slotID:0
+       public var hasDisplayed:Boolean = false;                        //slotID:0
+       public var hasMenuButtonClicked:Boolean = false;                //slotID:0
+       public var relatedVideoType:String = null;                      //slotID:0
+       public var isGetRelationError:Boolean = false;                  //slotID:0
+       public var hasRelatedVideoClicked:Boolean = false;              //slotID:0
+       public var hasLiveDJDisplayed:Boolean = false;                  //slotID:0
+       public var hasLiveDJClicked:Boolean = false;                    //slotID:0
+       public var hasOwnerVideoPageLinkDisplayed:Boolean = false;      //slotID:0
+       public var hasOwnerVideoPageLinkClicked:Boolean = false;        //slotID:0
+       public var hasMobileBtnClicked:Boolean = false;                 //slotID:0
+       public var hasMylistAddDisplayed:Boolean = false;               //slotID:0
+       public var hasMylistAdded:Boolean = false;                      //slotID:0
+       public var mylistPageJumpedType:String = null;                  //slotID:0
+}
+
+//■class(instance)_index:344
+//private
+class _VideoenderLogDataReserver extends EventDispatcher
+{
+       //static constructor
+       public static function _VideoenderLogDataReserver$cinit()
+       {       //MethodID:4327, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 33
+               _SLAVE_CHECK_INTERVAL = (10 * 1000);
+               _SO_NAME = "jp.nicovideo.nicoplayer.models.log.elements.VideoenderLog._DatasReserver";
+               _SESSION_DOMAIN = "jp.nicovideo.nicoplayer.models.log.elements.VideoenderLog._DatasReserver";
+       }
+
+       //static variables/etc.
+       private static const _SLAVE_CHECK_INTERVAL:Number = 10000.0;    //slotID:1
+       private static const _SO_NAME:String = "jp.nicovideo.nicoplayer.models.log.elements.VideoenderLog._DatasReserver";//slotID:2
+       private static const _SESSION_DOMAIN:String = "jp.nicovideo.nicoplayer.models.log.elements.VideoenderLog._DatasReserver";//slotID:3
+
+       //constructor
+       public function _VideoenderLogDataReserver():void
+       {       //MethodID:4328, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+
+       //variables/etc.
+       private var _session:LocalSession;                              //slotID:0
+       private var _hasInitialized:Boolean = false;                    //slotID:0
+
+       public function initialize():void
+       {       //MethodID:4332, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 83
+               private var initializeAsMaster:Function;                        //slotID:1
+
+               initializeAsMaster = function():void{   //MethodID:4330, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 66
+                       private var slaveCheckTimer:Timer;                              //slotID:1
+                       _dispatchSendableDatas();
+                       _session.addEventListener(DataEvent.DATA, _dispatchSendableDatas);
+
+                       slaveCheckTimer = new Timer(_SLAVE_CHECK_INTERVAL);
+
+                       slaveCheckTimer.addEventListener(TimerEvent.TIMER, function(hug1:TimerEvent):void{      //MethodID:4329, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 12
+                               _session.sendAll("dummy_check", null);
+                       });
+                       slaveCheckTimer.start();
+               };
+
+               this._session = new LocalSession(_SESSION_DOMAIN);
+
+               this._session.join();
+
+               if(this._session.isMaster){
+                       initializeAsMaster();
+               }else{
+                       this._session.addEventListener(LocalSessionEvent.MASTERIZE, function(hug1:LocalSessionEvent):void{      //MethodID:4331, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 9
+                               initializeAsMaster();
+                       });
+               }
+
+               this._hasInitialized = true;
+       }
+
+       private function _dispatchSendableDatas(hug1:Event=null):void
+       {       //MethodID:4333, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 43
+               var hug2:Vector.<_VideoenderLogData> = this._getSendableDatas();
+
+               if(hug2.length > 0) dispatchEvent(new _SendableLogDataEvent(hug2, _SendableLogDataEvent.SENDABLE));
+       }
+
+       public function reserveCurrentData(hug1:_VideoenderLogData):void
+       {       //MethodID:4334, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 58
+               if(!this._hasInitialized) throw new IllegalOperationError("VideoenderLog._DatasReserver.reserveCurrentData: has not initialized.");
+
+               var hug2:LocalStorage = CrossSharedObject.getStorage(_SO_NAME, "/");
+               hug2.data[this._session.connectionName] = hug1;
+
+               hug2.flush();
+       }
+
+       private function _getSendableDatas():Vector.<_VideoenderLogData>
+       {       //MethodID:4335, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 224
+               var hug4:String = null;
+               var hug5:_VideoenderLogData = null;
+
+               if(!this._session.isMaster) throw new IllegalOperationError("VideoenderLog$_VideoenderLogDataReserver._getSendableDatas: not master. _session.isMaster=" + this._session.isMaster);
+
+               var hug1:LocalStorage = CrossSharedObject.getStorage(_SO_NAME, "/");
+               var hug2:Vector.<_VideoenderLogData> = new Vector.<_VideoenderLogData>();
+               var hug3:int = 0;
+
+               for(hug4 in hug1.data){
+                       hug3++;
+
+                       if((this._session.slaveNames.indexOf(hug4) < 0) && (this._session.maseterConnectionName != hug4)){
+                               hug5 = _VideoenderLogData.createByObject(hug1.data[hug4]);
+
+                               if(hug5 != null) hug2.push(hug5);
+                               delete hug1.data[hug4];
+                       }
+               }
+
+               if(hug2.length == hug3) hug1.clear();
+
+               if(hug2.length > 0) hug1.flush();
+
+               return hug2;
+       }
+}
+
+//■class(instance)_index:345
+//private
+class _SendableLogDataEvent extends Event
+{
+       //static constructor
+       public static function _SendableLogDataEvent$cinit()
+       {       //MethodID:4336, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               SENDABLE = "sendable";
+       }
+
+       //static variables/etc.
+       public static const SENDABLE:String = "sendable";               //slotID:1
+
+       //constructor
+       public function _SendableLogDataEvent(hug1:Vector.<_VideoenderLogData>, hug2:String, hug3:Boolean=false, hug4:Boolean=false)
+       {       //MethodID:4337, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 15
+               super(hug2, hug3, hug4);
+
+               this._sendableDatas = hug1;
+       }
+
+       //variables/etc.
+       private var _sendableDatas:Vector.<_VideoenderLogData>;         //slotID:0
+
+       public function get datas():Vector.<_VideoenderLogData>
+       {       //MethodID:4338, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._sendableDatas;
+       }
+}
+
+//■script284■
+
+package jp.nicovideo.nicoplayer.models.log{
+
+       import jp.nicovideo.nicoplayer.models.log.elements.Playlen
+
+       //■class(instance)_index:346
+       public class LogEventObserverFactory extends Object
+       {
+               //static constructor
+               public static function LogEventObserverFactory$cinit()
+               {       //MethodID:4340, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function create(hug1:Function=null, hug2:Playlen=null):ILogEventObservable
+               {       //dispID:3, MethodID:4341, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 26
+                       if(hug1 != null) return new _Observer(hug1, hug2);
+
+                       return new _DummyObserver();
+               }
+
+               //constructor
+               public function LogEventObserverFactory()
+               {       //MethodID:4342, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+import jp.nicovideo.nicoplayer.models.log.LogElementName
+import jp.nicovideo.nicoplayer.models.log.elements.LoadingFailLog
+import jp.nicovideo.nicoplayer.models.log.elements.PlayStats
+import jp.nicovideo.nicoplayer.models.log.elements.PlayerIdleLog
+import jp.nicovideo.nicoplayer.models.log.elements.Playlen
+import jp.nicovideo.nicoplayer.models.log.elements.PremiumLeadOnSliderLog
+import jp.nicovideo.nicoplayer.models.log.elements.VideoenderLog
+import jp.nicovideo.nicoplayer.models.playlist.VideoInfo
+import jp.nicovideo.util.events.EventResult
+
+use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver);
+
+//■class(instance)_index:347
+//private
+class _Observer extends Object implements ILogEventObservable
+{
+       //static constructor
+       public static function _Observer$cinit()
+       {       //MethodID:4343, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _Observer(hug1:Function, hug2:Playlen)
+       {       //MethodID:4344, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 116
+               super();
+
+               this._playlen = hug2;
+               this._playStats = PlayStats(hug1(LogElementName.PLAY_STATS));
+               this._playerIdleLog = PlayerIdleLog(hug1(LogElementName.PLAYER_IDLE));
+               this._loadingFailLog = LoadingFailLog(hug1(LogElementName.LOADING_FAIL));
+               this._premiumLeadOnSliderLog = PremiumLeadOnSliderLog(hug1(LogElementName.PREMIUM_LEAD_ON_SLIDER));
+               this._videoenderLog = VideoenderLog(hug1(LogElementName.VIDEOENDER));
+       }
+
+       //variables/etc.
+       private var _playlen:Playlen;                                   //slotID:0
+       private var _playStats:PlayStats;                               //slotID:0
+       private var _playerIdleLog:PlayerIdleLog;                       //slotID:0
+       private var _loadingFailLog:LoadingFailLog;                     //slotID:0
+       private var _premiumLeadOnSliderLog:PremiumLeadOnSliderLog;     //slotID:0
+       private var _videoenderLog:VideoenderLog;                       //slotID:0
+
+       public function onWatchReloaded(hug1:String, hug2:Boolean):void
+       {       //MethodID:4345, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onVideoLoadStarted():void
+       {       //MethodID:4346, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 27
+               this._playlen.onLoadVideo();
+               this._playStats.onVideoLoadStarted();
+               this._loadingFailLog.onVideoLoadStarted();
+       }
+
+       public function onVideoLoadCompleted(hug1:uint):void
+       {       //MethodID:4347, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               this._playStats.onVideoLoadCompleted(hug1);
+       }
+
+       public function onVideoLoadErrorOccurred():void
+       {       //MethodID:4348, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 19
+               this._playStats.onVideoLoadErrorOccurred();
+               this._loadingFailLog.onVideoLoadErrorOccurred();
+       }
+
+       public function onVideoBufferingStarted():void
+       {       //MethodID:4349, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
+               this._playStats.onVideoBufferingStarted();
+       }
+
+       public function storeLoadingIdle(hug1:uint):void
+       {       //MethodID:4350, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onThreadLoadStarted():void
+       {       //MethodID:4351, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
+               this._playStats.onThreadLoadStarted();
+       }
+
+       public function onThreadLoadCompleted(hug1:Boolean):void
+       {       //MethodID:4352, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               this._playStats.onThreadLoadCompleted(hug1);
+       }
+
+       public function onNGCommentInitialized(hug1:int, hug2:int):void
+       {       //MethodID:4353, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onHirobaInitializeStarted():void
+       {       //MethodID:4354, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
+               this._playStats.onHirobaConnectorLoadStarted();
+       }
+
+       public function onHirobaInitializeAborted():void
+       {       //MethodID:4355, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               this._playStats.onHirobaConnected(false);
+       }
+
+       public function onHirobaConnected(hug1:Boolean, hug2:String, hug3:String, hug4:String):void
+       {       //MethodID:4356, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               this._playStats.onHirobaConnected(hug1);
+       }
+
+       public function onHirobaDisconnected(hug1:String, hug2:String, hug3:String):void
+       {       //MethodID:4357, LocalCount= 4 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onPremleadOnSliderDisplayed():void
+       {       //MethodID:4358, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
+               this._premiumLeadOnSliderLog.onPremleadOnSliderDisplayed();
+       }
+
+       public function onPremleadOnSliderClicked():void
+       {       //MethodID:4359, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
+               this._premiumLeadOnSliderLog.onPremleadOnSliderClicked();
+       }
+
+       public function onVideoMenuOpened(hug1:String):void
+       {       //MethodID:4360, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onVideoenderOpened(hug1:String):void
+       {       //MethodID:4361, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               this._videoenderLog.onOpened(hug1);
+       }
+
+       public function onVideoenderContentDisplayed(hug1:String):void
+       {       //MethodID:4362, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               this._videoenderLog.onContentDisplayed(hug1);
+       }
+
+       public function onVideoenderContentUsed(hug1:String):void
+       {       //MethodID:4363, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               this._videoenderLog.onContentUsed(hug1);
+       }
+
+       public function onVideoenderErrorOccured(hug1:String):void
+       {       //MethodID:4364, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+               this._videoenderLog.onErrorOccured(hug1);
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoStarted():EventResult
+       {       //MethodID:4365, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 16
+               this._playerIdleLog.onVideoStarted();
+
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoPlayed():EventResult
+       {       //MethodID:4366, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 24
+               this._playlen.onVideoPlayed();
+               this._playerIdleLog.onVideoPlayed();
+
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoStopped():EventResult
+       {       //MethodID:4367, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 24
+               this._playlen.onVideoStopped();
+               this._playerIdleLog.onVideoStopped();
+
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoEnded(hug1:Boolean):EventResult
+       {       //MethodID:4368, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 34
+               if(!hug1) this._playlen.onVideoEnded();
+
+               if(!hug1) this._videoenderLog.onVideoEnded();
+
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigAutomaticLoadingUpdated(hug1:Boolean):EventResult
+       {       //MethodID:4369, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdateTried():EventResult
+       {       //MethodID:4370, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdateCompleted(hug1:Boolean):EventResult
+       {       //MethodID:4371, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlaylistTargetUpdated(hug1:VideoInfo):EventResult
+       {       //MethodID:4372, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 16
+               this._playStats.onPlaylistTargetUpdated();
+
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlaylistInterrupted():EventResult
+       {       //MethodID:4373, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+}
+
+//■class(instance)_index:348
+//private
+class _DummyObserver extends Object implements ILogEventObservable
+{
+       //static constructor
+       public static function _DummyObserver$cinit()
+       {       //MethodID:4374, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _DummyObserver()
+       {       //MethodID:4375, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+
+       //variables/etc.
+       public function onWatchReloaded(hug1:String, hug2:Boolean):void
+       {       //MethodID:4376, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onVideoLoadStarted():void
+       {       //MethodID:4377, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onVideoLoadCompleted(hug1:uint):void
+       {       //MethodID:4378, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onVideoLoadErrorOccurred():void
+       {       //MethodID:4379, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onVideoBufferingStarted():void
+       {       //MethodID:4380, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function storeLoadingIdle(hug1:uint):void
+       {       //MethodID:4381, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onThreadLoadStarted():void
+       {       //MethodID:4382, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onThreadLoadCompleted(hug1:Boolean):void
+       {       //MethodID:4383, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onNGCommentInitialized(hug1:int, hug2:int):void
+       {       //MethodID:4384, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onHirobaInitializeStarted():void
+       {       //MethodID:4385, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onHirobaInitializeAborted():void
+       {       //MethodID:4386, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onHirobaConnected(hug1:Boolean, hug2:String, hug3:String, hug4:String):void
+       {       //MethodID:4387, LocalCount= 5 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onHirobaDisconnected(hug1:String, hug2:String, hug3:String):void
+       {       //MethodID:4388, LocalCount= 4 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onVideoMenuOpened(hug1:String):void
+       {       //MethodID:4389, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onVideoenderOpened(hug1:String):void
+       {       //MethodID:4390, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onVideoenderContentDisplayed(hug1:String):void
+       {       //MethodID:4391, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onVideoenderContentUsed(hug1:String):void
+       {       //MethodID:4392, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onVideoenderErrorOccured(hug1:String):void
+       {       //MethodID:4393, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onPremleadOnSliderDisplayed():void
+       {       //MethodID:4394, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       public function onPremleadOnSliderClicked():void
+       {       //MethodID:4395, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoStarted():EventResult
+       {       //MethodID:4396, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoPlayed():EventResult
+       {       //MethodID:4397, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoStopped():EventResult
+       {       //MethodID:4398, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onVideoEnded(hug1:Boolean):EventResult
+       {       //MethodID:4399, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlayerConfigAutomaticLoadingUpdated(hug1:Boolean):EventResult
+       {       //MethodID:4400, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdateTried():EventResult
+       {       //MethodID:4401, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onCommentListUpdateCompleted(hug1:Boolean):EventResult
+       {       //MethodID:4402, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlaylistTargetUpdated(hug1:VideoInfo):EventResult
+       {       //MethodID:4403, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+
+       (http://www.nicovideo.jp/as3_ns/nicoplayer/util.event.EventPipe.event_receiver) function onPlaylistInterrupted():EventResult
+       {       //MethodID:4404, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+               return EventResult.THROUGH;
+       }
+}
+
+//■script285■
+
+package jp.nicovideo.nicoplayer.models{
+
+       //■class(instance)_index:349
+       public class PremiumLeadOnSliderTarget extends Object
+       {
+               //static constructor
+               public static function PremiumLeadOnSliderTarget$cinit()
+               {       //MethodID:4406, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function isTargetUser(hug1:String, hug2:Boolean=false):Boolean
+               {       //dispID:3, MethodID:4407, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 17
+                       var hug3:Boolean = ((int(hug1) % 10) == 2);
+                       return hug3;
+               }
+
+               //constructor
+               public function PremiumLeadOnSliderTarget()
+               {       //MethodID:4408, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script286■
+
+package jp.nicovideo.nicoplayer.models.log.elements{
+
+       import __AS3__.vec.Vector
+       import flash.events.TimerEvent
+       import flash.utils.Timer
+       import jp.nicovideo.nicoplayer.models.log.LogElementName
+       import jp.nicovideo.nicoplayer.models.log.LogElementSendType
+
+       //■class(instance)_index:350
+       public class PlayerIdleLog extends AbstractLogElement
+       {
+               //static constructor
+               public static function PlayerIdleLog$cinit()
+               {       //MethodID:4410, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function PlayerIdleLog(hug1:Function)
+               {       //MethodID:4411, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 19
+                       super(hug1, LogElementName.PLAYER_IDLE, LogElementSendType.WITH_OTHER_LOGS);
+               }
+
+               //variables/etc.
+               private const _PLAYER_IDLE_INTERVAL:int = 30000;                //slotID:0
+               private const _STOCK_COUNT:int = 3;                             //slotID:0
+               private const _PRIVATE_KEY_CHANNEL_ID:String = "channelID";     //slotID:0
+               private const _PRIVATE_KEY_VIDEO_ID:String = "videoID";         //slotID:0
+               private const _PRIVATE_KEY_IDLE_TIMES:String = "idleTimes";     //slotID:0
+               private var _timer:Timer;                                       //slotID:0
+               private var _idleTime:int;                                      //slotID:0
+               private var _isChannel:Boolean = false;                         //slotID:0
+
+               public function initialize(hug1:Boolean, hug2:Boolean, hug3:String, hug4:String):void
+               {       //MethodID:4413, LocalCount= 6 , MaxScope= 2, MaxStack= 4, CodeLength= 286
+                       internal var enabled:Boolean;                                   //slotID:1
+                       internal var isChannel:Boolean;                                 //slotID:2
+                       internal var channelID:String;                                  //slotID:3
+                       internal var videoID:String;                                    //slotID:4
+
+                       enabled = hug1;
+                       isChannel = hug2;
+                       channelID = hug3;
+                       videoID = hug4;
+
+                       reset(function():void{  //MethodID:4412, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 15
+                               if(_cacheStorage) _cacheStorage.close();
+                       });
+
+                       this._isChannel = isChannel;
+
+                       if(!enabled) return;
+                       _initializeCacheStorage("jp.nicovideo.nicoplayer.models.log.elements._PlayerIdleLog", "/");
+
+                       if((_cacheStorage.data[this._PRIVATE_KEY_CHANNEL_ID] != null) && (_cacheStorage.data[this._PRIVATE_KEY_CHANNEL_ID] != undefined) && (_cacheStorage.data[this._PRIVATE_KEY_VIDEO_ID] != null) && (_cacheStorage.data[this._PRIVATE_KEY_VIDEO_ID] != undefined) && (_cacheStorage.data[this._PRIVATE_KEY_IDLE_TIMES] != null) && (_cacheStorage.data[this._PRIVATE_KEY_IDLE_TIMES] != undefined)) this._create();
+
+                       if(this._isChannel){
+                               _cacheStorage.data[this._PRIVATE_KEY_CHANNEL_ID] = channelID;
+                               _cacheStorage.data[this._PRIVATE_KEY_VIDEO_ID] = videoID;
+                               _cacheStorage.data[this._PRIVATE_KEY_IDLE_TIMES] = new Vector.<int>();
+
+                               _cacheStorage.flush();
+                       }
+
+                       super._onInitialized();
+               }
+
+               private function _create():void
+               {       //MethodID:4414, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 102
+                       if(this.idleTimes.length <= 0) return;
+
+                       var hug1:Object = {};
+                       hug1["cid"] = _cacheStorage.data[this._PRIVATE_KEY_CHANNEL_ID];
+                       hug1["vid"] = _cacheStorage.data[this._PRIVATE_KEY_VIDEO_ID];
+                       hug1["times"] = this._formatTimeString;
+
+                       addData(hug1);
+
+                       if(logObjects.length >= this._STOCK_COUNT) isSendable = true;
+               }
+
+               public function onVideoStarted():void
+               {       //MethodID:4415, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 66
+                       if((this._timer == null) && isInitialized && this._isChannel){
+                               this._timer = new Timer(this._PLAYER_IDLE_INTERVAL, 0);
+
+                               this._timer.addEventListener(TimerEvent.TIMER, this.onIdleIntervalHandler);
+                       }
+               }
+
+               private function onIdleIntervalHandler(hug1:TimerEvent):void
+               {       //MethodID:4416, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 20
+                       this._idleTime += (this._PLAYER_IDLE_INTERVAL / 1000);
+               }
+
+               public function onVideoPlayed():void
+               {       //MethodID:4417, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 55
+                       if(this._timer != null){
+                               this._timer.stop();
+
+                               if(this._idleTime >= (this._PLAYER_IDLE_INTERVAL / 1000)){
+                                       this.idleTimes.push(this._idleTime);
+                                       _cacheStorage.flush();
+                               }
+                       }
+               }
+
+               public function onVideoStopped():void
+               {       //MethodID:4418, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(this._timer != null){
+                               this._idleTime = 0;
+
+                               this._timer.start();
+                       }
+               }
+
+               private function get idleTimes():Vector.<int>
+               {       //MethodID:4419, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 80
+                       if((_cacheStorage.data[this._PRIVATE_KEY_IDLE_TIMES] == null) || (_cacheStorage.data[this._PRIVATE_KEY_IDLE_TIMES] == undefined)) _cacheStorage.data[this._PRIVATE_KEY_IDLE_TIMES] = new Vector.<int>();
+
+                       return _cacheStorage.data[this._PRIVATE_KEY_IDLE_TIMES];
+               }
+
+               private function set idleTimes(hug1:Vector.<int>):void
+               {       //MethodID:4420, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 24
+                       _cacheStorage.data[this._PRIVATE_KEY_IDLE_TIMES] = hug1;
+
+                       _cacheStorage.flush();
+               }
+
+               private function get _formatTimeString():String
+               {       //MethodID:4421, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 22
+                       return ("[" + this.idleTimes.join(",") + "]");
+               }
+       }
+}
+
+//■script287■
+
+package jp.nicovideo.nicoplayer.models.log.elements{
+
+       import jp.nicovideo.nicoplayer.models.log.LogElementName
+       import jp.nicovideo.nicoplayer.models.log.LogElementSendType
+
+       //■class(instance)_index:351
+       public class NonSharedObjectCountLog extends AbstractLogElement
+       {
+               //static constructor
+               public static function NonSharedObjectCountLog$cinit()
+               {       //MethodID:4423, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function NonSharedObjectCountLog(hug1:Function)
+               {       //MethodID:4424, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 19
+                       super(hug1, LogElementName.NON_SHAREDOBJECT_COUNT, LogElementSendType.IMMEDIATE);
+               }
+
+               //variables/etc.
+               public function initialize():void
+               {       //MethodID:4425, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 33
+                       super.reset();
+
+                       var hug1:Object = {};
+
+                       addData(hug1);
+
+                       isSendable = true;
+
+                       super._onInitialized();
+               }
+       }
+}
+
+//■script288■
+
+package jp.nicovideo.nicoplayer.views.comment{
+
+       //■class(instance)_index:352
+       public class CommentViewConstants extends Object
+       {
+               //static constructor
+               public static function CommentViewConstants$cinit()
+               {       //MethodID:4427, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 29
+                       COMMENT_SHOW_EXPIRE = 3000;
+                       COMMENT_SHOW_AHEAD = 1000;
+                       COMMENT_SHOW_AHEAD_POSY = 0;
+               }
+
+               //static variables/etc.
+               public static const COMMENT_SHOW_EXPIRE:uint = 3000;            //slotID:1
+               public static const COMMENT_SHOW_AHEAD:uint = 1000;             //slotID:2
+               public static const COMMENT_SHOW_AHEAD_POSY:uint = 0;           //slotID:3
+
+               //constructor
+               public function CommentViewConstants()
+               {       //MethodID:4428, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script289■
+
+package jp.nicovideo.nicoplayer.views.comment.elements{
+
+       import flash.display.DisplayObject
+       import flash.text.TextFormat
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       import jp.nicovideo.nicoplayer.models.comment.command.CommandSize
+       import jp.nicovideo.util.Assert
+
+       //■class(instance)_index:353
+       public class ClickableComment extends Object
+       {
+               //static constructor
+               public static function ClickableComment$cinit()
+               {       //MethodID:4430, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function ClickableComment()
+               {       //MethodID:4431, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
+                       super();
+
+                       this._buttonContainer = new ButtonContainer();
+               }
+
+               //variables/etc.
+               private var _buttonContainer:ButtonContainer;                   //slotID:0
+
+               public function get displayObject():DisplayObject
+               {       //MethodID:4432, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._buttonContainer;
+               }
+
+               public function reset(hug1:IComment):void
+               {       //MethodID:4434, LocalCount= 4 , MaxScope= 2, MaxStack= 4, CodeLength= 677
+                       internal var comment:IComment;                                  //slotID:1
+                       internal var result:Object;                                     //slotID:2
+                       internal var _fieldFormat:TextFormat;                           //slotID:3
+                       internal var copyTextFormat:Function;                           //slotID:4
+                       internal var _countFormat:TextFormat;                           //slotID:5
+                       internal var _preCountFormat:TextFormat;                        //slotID:6
+
+                       _countFormat = null;
+                       _preCountFormat = null;
+                       comment = hug1;
+                       copyTextFormat = function(hug1:TextFormat):TextFormat{  //MethodID:4433, LocalCount= 2 , MaxScope= 0, MaxStack= 14, CodeLength= 60
+                               return new TextFormat(hug1.font, hug1.size, hug1.color, hug1.bold, hug1.italic, hug1.underline, hug1.url, hug1.target, hug1.align, hug1.leftMargin, hug1.rightMargin, hug1.indent, hug1.leading);
+                       };
+
+                       result = new RegExp("^(.*?)\[(.*)\](.*)", "s").exec(comment.buttonComment);
+
+                       Assert.assert(result, ("comment.buttonComment=" + comment.buttonComment));
+
+                       this._buttonContainer.button.field.text = ((result[2] == "") ? " " : result[2]);
+                       this._buttonContainer.prefix.text = result[1];
+                       this._buttonContainer.postfix.text = result[3];
+
+                       if(comment.clickCount == 0){
+                               this._buttonContainer.button.counter.visible = false;
+                       }else{
+                               this._buttonContainer.button.counter.visible = true;
+                               this._buttonContainer.button.counter.text = (" ×" + comment.clickCount);
+                       }
+
+                       _fieldFormat = copyTextFormat(CommentTextField.BASE_TEXTFORMAT);
+                       _fieldFormat.color = comment.command.colorCode;
+
+                       switch(comment.command.size){
+                       case CommandSize.BIG:
+                               _fieldFormat.size = CommentTextField.TEXT_FONTSIZE_BIG;
+                               break;
+                       case CommandSize.SMALL:
+                               _fieldFormat.size = CommentTextField.TEXT_FONTSIZE_SMALL;
+                               break;
+                       default:
+                               _fieldFormat.size = CommentTextField.TEXT_FONTSIZE_MEDIUM;
+                               break;
+                       }
+
+                       this._buttonContainer.button.field.setTextFormat(_fieldFormat);
+                       this._buttonContainer.prefix.setTextFormat(_fieldFormat);
+                       this._buttonContainer.postfix.setTextFormat(_fieldFormat);
+
+                       if(this._buttonContainer.button.counter.visible){
+                               _countFormat = copyTextFormat(_fieldFormat);
+                               _preCountFormat = copyTextFormat(_fieldFormat);
+                               var hug3:int = 0xFFFF00;
+                               _preCountFormat.color = hug3;
+                               _countFormat.color = hug3;
+
+                               this._buttonContainer.button.counter.setTextFormat(_countFormat);
+
+                               _preCountFormat.size = (Number(_countFormat.size) * 0.6);
+
+                               this._buttonContainer.button.counter.setTextFormat(_preCountFormat, 1, 2);
+                       }
+
+                       if(_fieldFormat.color == 0){
+                               var hug3:Array = [CommentTextField.BEVELFILTER_BLACK];
+                               this._buttonContainer.postfix.filters = hug3;
+                               this._buttonContainer.prefix.filters = hug3;
+                       }
+
+                       this._buttonContainer.setupBoard();
+
+                       if(comment.isClickable) this._buttonContainer.initMouseHandler(comment);
+
+                       this._buttonContainer.visible = true;
+               }
+       }
+}
+
+//■script290■
+
+package jp.nicovideo.util{
+
+       import flash.display.DisplayObject
+       import flash.display.DisplayObjectContainer
+       import flash.utils.Dictionary
+
+       //■class(instance)_index:354
+       public class ZIndexManager extends Object
+       {
+               //static constructor
+               public static function ZIndexManager$cinit()
+               {       //MethodID:4436, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function ZIndexManager(hug1:DisplayObjectContainer)
+               {       //MethodID:4438, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 36
+                       this.__mapping = new Dictionary();
+                       this.__children = new SortedArray(function(hug1:Number, hug2:_Pair):Number{     //MethodID:4437, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 7
+                               return (hug1 - hug2._zIndex);
+                       });
+                       super();
+
+                       this.__container = hug1;
+               }
+
+               //variables/etc.
+               private var __container:DisplayObjectContainer;                 //slotID:0
+               private var __mapping:Dictionary;                               //slotID:0
+               private var __children:SortedArray;                             //slotID:0
+
+               public function setZIndex(hug1:DisplayObject, hug2:Number):void
+               {       //MethodID:4439, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 92
+                       var hug3:_Pair = this.__mapping[hug1];
+
+                       if(!hug3){
+                               this.__mapping[hug1] = new _Pair(hug1, hug2);
+                               hug3 = new _Pair(hug1, hug2);
+                       }else{
+                               if(hug3._zIndex == hug2) return;
+                               this.__remove_0(hug3);
+                       }
+
+                       var hug4:int = this.__children.add(hug2, hug3);
+
+                       this.__container.addChildAt(hug1, hug4);
+               }
+
+               public function remove(hug1:DisplayObject):void
+               {       //MethodID:4440, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 36
+                       var hug2:_Pair = this.__mapping[hug1];
+
+                       if(!hug2) return;
+                       this.__remove_0(hug2);
+                       delete this.__mapping[hug1];
+               }
+
+               private function __remove_0(hug1:_Pair):void
+               {       //MethodID:4442, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 30
+                       internal var pair:_Pair;                                        //slotID:1
+
+                       pair = hug1;
+
+                       this.__children.select(function(hug1:int, hug2:_Pair):uint{     //MethodID:4441, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 33
+                               if(hug2 !== pair) return 0;
+                               __container.removeChildAt(hug1);
+
+                               return (SortedArray.BREAK | SortedArray.REMOVE);
+                       }, pair._zIndex);
+               }
+       }
+}
+
+import flash.display.DisplayObject
+
+//■class(instance)_index:355
+//private
+class _Pair extends Object
+{
+       //static constructor
+       public static function _Pair$cinit()
+       {       //MethodID:4443, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _Pair(hug1:DisplayObject, hug2:Number)
+       {       //MethodID:4444, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+               super();
+
+               this._dObj = hug1;
+               this._zIndex = hug2;
+       }
+
+       //variables/etc.
+       public var _dObj:DisplayObject;                                 //slotID:0
+       public var _zIndex:Number;                                      //slotID:0
+}
+
+//■script291■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       //■class(instance)_index:356
+       public class CommandConstants extends Object
+       {
+               //static constructor
+               public static function CommandConstants$cinit()
+               {       //MethodID:4446, LocalCount= 1 , MaxScope= 1, MaxStack= 35, CodeLength= 487
+                       PLACE_TOP = "ue";
+                       PLACE_BOTTOM = "shita";
+                       PLACE_MIDDLE = "naka";
+                       PLACE_RIGHT = "migi";
+                       PLACE_LEFT = "hidari";
+                       COLOR_WHITE = "white";
+                       COLOR_RED = "red";
+                       COLOR_PINK = "pink";
+                       COLOR_ORANGE = "orange";
+                       COLOR_YELLOW = "yellow";
+                       COLOR_GREEN = "green";
+                       COLOR_CYAN = "cyan";
+                       COLOR_BLUE = "blue";
+                       COLOR_PURPLE = "purple";
+                       COLOR_BLACK = "black";
+                       COLOR_WHITE2 = "white2";
+                       COLOR_RED2 = "red2";
+                       COLOR_PINK2 = "pink2";
+                       COLOR_ORANGE2 = "orange2";
+                       COLOR_YELLOW2 = "yellow2";
+                       COLOR_GREEN2 = "green2";
+                       COLOR_CYAN2 = "cyan2";
+                       COLOR_BLUE2 = "blue2";
+                       COLOR_PURPLE2 = "purple2";
+                       COLOR_BLACK2 = "black2";
+                       HAS_BUTTON = "is_button";
+                       SAGE = "sage";
+                       ANONYMITY = "184";
+                       FULL = "full";
+                       FROMLIVE = "_live";
+                       PATISSIER = "patissier";
+                       PLACE_X = [PLACE_RIGHT, PLACE_LEFT];
+                       PLACE_Y = [PLACE_TOP, PLACE_BOTTOM, PLACE_MIDDLE];
+                       NORMAL_COLOR_CODES = {white:0xFFFFFF, red:0xFF0000, pink:0xFF8080, orange:0xFFC000, yellow:0xFFFF00, green:0xFF00, cyan:0xFFFF, blue:255, purple:0xC000FF, black:0};
+                       PREMIUM_COLOR_CODES = {white2:0xCCCC99, niconicowhite:0xCCCC99, red2:0xCC0033, truered:0xCC0033, pink2:0xFF33CC, orange2:0xFF6600, passionorange:0xFF6600, yellow2:0x999900, madyellow:0x999900, green2:0xCC66, elementalgreen:0xCC66, cyan2:0xCCCC, blue2:0x3399FF, marineblue:0x3399FF, purple2:0x6633CC, nobleviolet:0x6633CC, black2:0x666666};
+               }
+
+               //static variables/etc.
+               public static const PLACE_TOP:String = "ue";                    //slotID:1
+               public static const PLACE_BOTTOM:String = "shita";              //slotID:2
+               public static const PLACE_MIDDLE:String = "naka";               //slotID:3
+               public static const PLACE_RIGHT:String = "migi";                //slotID:4
+               public static const PLACE_LEFT:String = "hidari";               //slotID:5
+               public static const COLOR_WHITE:String = "white";               //slotID:6
+               public static const COLOR_RED:String = "red";                   //slotID:7
+               public static const COLOR_PINK:String = "pink";                 //slotID:8
+               public static const COLOR_ORANGE:String = "orange";             //slotID:9
+               public static const COLOR_YELLOW:String = "yellow";             //slotID:10
+               public static const COLOR_GREEN:String = "green";               //slotID:11
+               public static const COLOR_CYAN:String = "cyan";                 //slotID:12
+               public static const COLOR_BLUE:String = "blue";                 //slotID:13
+               public static const COLOR_PURPLE:String = "purple";             //slotID:14
+               public static const COLOR_BLACK:String = "black";               //slotID:15
+               public static const COLOR_WHITE2:String = "white2";             //slotID:16
+               public static const COLOR_RED2:String = "red2";                 //slotID:17
+               public static const COLOR_PINK2:String = "pink2";               //slotID:18
+               public static const COLOR_ORANGE2:String = "orange2";           //slotID:19
+               public static const COLOR_YELLOW2:String = "yellow2";           //slotID:20
+               public static const COLOR_GREEN2:String = "green2";             //slotID:21
+               public static const COLOR_CYAN2:String = "cyan2";               //slotID:22
+               public static const COLOR_BLUE2:String = "blue2";               //slotID:23
+               public static const COLOR_PURPLE2:String = "purple2";           //slotID:24
+               public static const COLOR_BLACK2:String = "black2";             //slotID:25
+               public static const HAS_BUTTON:String = "is_button";            //slotID:26
+               public static const SAGE:String = "sage";                       //slotID:27
+               public static const ANONYMITY:String = 184;                     //slotID:28
+               public static const FULL:String = "full";                       //slotID:29
+               public static const FROMLIVE:String = "_live";                  //slotID:30
+               public static const PATISSIER:String = "patissier";             //slotID:31
+               public static const PLACE_X:Array;                              //slotID:32
+               public static const PLACE_Y:Array;                              //slotID:33
+               public static const NORMAL_COLOR_CODES:Object;                  //slotID:34
+               public static const PREMIUM_COLOR_CODES:Object;                 //slotID:35
+
+               //constructor
+               public function CommandConstants()
+               {       //MethodID:4447, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script292■
+
+package jp.nicovideo.nicoplayer.views.comment.elements{
+
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+
+       //■class(instance)_index:357
+       public interface ICommentDisplayObject
+       {
+               //static constructor
+               public static function ICommentDisplayObject$cinit()
+               {       //MethodID:4449, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get comment():IComment;                                            //MethodID:4450, dispID:0
+
+               function set comment(hug1:IComment):void;                                   //MethodID:4451, dispID:0
+
+               //constructor
+               public function ICommentDisplayObject();                                    //MethodID:4452, dispID:0
+       }
+}
+
+//■script293■
+
+package jp.nicovideo.nicoplayer.views.comment.elements{
+
+       import flash.display.DisplayObject
+       import flash.filters.BevelFilter
+       import flash.text.TextFieldAutoSize
+       import flash.text.TextFormat
+       import jp.nicovideo.nicoplayer.models.comment.CommentConstants
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       import jp.nicovideo.nicoplayer.models.comment.command.CommandSize
+
+       //■class(instance)_index:358
+       public class CommentTextField extends Object
+       {
+               //static constructor
+               public static function CommentTextField$cinit()
+               {       //MethodID:4454, LocalCount= 1 , MaxScope= 1, MaxStack= 13, CodeLength= 126
+                       TEXT_FONTSIZE_MEDIUM = (16 * 1.5);
+                       TEXT_FONTSIZE_BIG = (26 * 1.5);
+                       TEXT_FONTSIZE_SMALL = (10 * 1.5);
+                       BASE_TEXTFORMAT = new TextFormat("Arial", TEXT_FONTSIZE_MEDIUM, 0xFFFFFF, true);
+                       BEVELFILTER_NORMAL = new BevelFilter(1, 45, 0, 1, 0, 1, 2, 2, 1, 1, "outer");
+                       BEVELFILTER_BLACK = new BevelFilter(1, 45, 0xFFFFFF, 1, 0, 1, 2, 2, 1, 1, "outer");
+               }
+
+               //static variables/etc.
+               public static const TEXT_FONTSIZE_MEDIUM:Number = 24.0;         //slotID:1
+               public static const TEXT_FONTSIZE_BIG:Number = 39.0;            //slotID:2
+               public static const TEXT_FONTSIZE_SMALL:Number = 15.0;          //slotID:3
+               public static const BASE_TEXTFORMAT:TextFormat;                 //slotID:4
+               public static const BEVELFILTER_NORMAL:BevelFilter;             //slotID:5
+               public static const BEVELFILTER_BLACK:BevelFilter;              //slotID:6
+
+               public static function getCommentFontSize(hug1:String):Number
+               {       //dispID:3, MethodID:4455, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 89
+                       var hug2:String = hug1;
+
+                       switch(hug2){
+                       case CommandSize.BIG:
+                               return TEXT_FONTSIZE_BIG;
+                       case CommandSize.SMALL:
+                               return TEXT_FONTSIZE_SMALL;
+                       default:
+                               return TEXT_FONTSIZE_MEDIUM;
+                               break;
+                       }
+               }
+
+               //constructor
+               public function CommentTextField()
+               {       //MethodID:4456, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 46
+                       super();
+
+                       this._textField = new CommentText();
+                       this._textField.autoSize = TextFieldAutoSize.CENTER;
+                       this._textField.selectable = false;
+                       this._textField.multiline = true;
+               }
+
+               //variables/etc.
+               private var _textField:CommentText;                             //slotID:0
+
+               public function get displayObject():DisplayObject
+               {       //MethodID:4457, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._textField;
+               }
+
+               public function reset(hug1:IComment, hug2:int):void
+               {       //MethodID:4458, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 280
+                       var hug4:Number = NaN;
+                       var hug5:String = null;
+                       this._textField.comment = hug1;
+                       this._textField.text = hug1.message;
+                       var hug3:TextFormat = BASE_TEXTFORMAT;
+                       hug3.color = hug1.command.colorCode;
+                       hug3.size = getCommentFontSize(hug1.command.size);
+
+                       this._textField.setTextFormat(hug3);
+
+                       if(hug3.color == 0){
+                               this._textField.filters = [BEVELFILTER_BLACK];
+                       }else{
+                               this._textField.filters = [BEVELFILTER_NORMAL];
+                       }
+
+                       if(hug1.justPosted){
+                               this._textField.border = true;
+                               hug4 = 0xFFFF00;
+
+                               if(hug1.commentList){
+                                       hug5 = hug1.commentList.name;
+
+                                       if(hug5 == CommentConstants.CL_NICOS){
+                                               hug4 = 0xFF00;
+                                       }else if(hug5 == CommentConstants.CL_LOCAL){
+                                               hug4 = 255;
+                                       }
+                               }
+
+                               this._textField.borderColor = hug4;
+                               this._textField.alpha = 1;
+                       }else{
+                               this._textField.border = false;
+
+                               if(hug2 == (-1)){
+                                       this._textField.alpha = 1;
+                               }else{
+                                       this._textField.alpha = (0.6 + ((hug1.resNo / hug2) * 0.4));
+                               }
+                       }
+
+                       if(hug1.command.fromLive) this._textField.alpha = 0.5;
+               }
+       }
+}
+
+import flash.text.TextField
+import jp.nicovideo.nicoplayer.models.comment.IComment
+
+//■class(instance)_index:359
+//private
+class CommentText extends TextField implements ICommentDisplayObject
+{
+       //static constructor
+       public static function CommentText$cinit()
+       {       //MethodID:4459, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function CommentText()
+       {       //MethodID:4460, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+
+       //variables/etc.
+       private var _comment:IComment;                                  //slotID:0
+
+       public function get comment():IComment
+       {       //MethodID:4461, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._comment;
+       }
+
+       public function set comment(hug1:IComment):void
+       {       //MethodID:4462, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+               this._comment = hug1;
+       }
+}
+
+//■script294■
+
+package jp.nicovideo.util{
+
+       //■class(instance)_index:360
+       public interface IObjectPool
+       {
+               //static constructor
+               public static function IObjectPool$cinit()
+               {       //MethodID:4464, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function create(... rest):*;                                                //MethodID:4465, dispID:0
+
+               function restore(hug1:*):void;                                              //MethodID:4466, dispID:0
+
+               //constructor
+               public function IObjectPool();                                              //MethodID:4467, dispID:0
+       }
+}
+
+//■script295■
+
+package jp.nicovideo.util{
+
+       //■class(instance)_index:361
+       public class ObjectPool extends Object implements IObjectPool
+       {
+               //static constructor
+               public static function ObjectPool$cinit()
+               {       //MethodID:4469, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function ObjectPool(hug1:Function, hug2:uint=0xFFFFFFFF, hug3:Function=null)
+               {       //MethodID:4470, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       this._pool = [];
+
+                       super();
+
+                       this._create = hug1;
+                       this._reset = hug3;
+                       this._limit = hug2;
+               }
+
+               //variables/etc.
+               private var _create:Function;                                   //slotID:0
+               private var _reset:Function;                                    //slotID:0
+               private var _limit:uint;                                        //slotID:0
+               private var _pool:Array;                                        //slotID:0
+
+               public function create(... rest):*
+               {       //MethodID:4471, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 105
+                       var hug2:* = undefined;
+
+                       if(this._pool.length != 0){
+                               hug2 = this._pool.pop();
+
+                               if(this._reset != null) hug2 = this._reset.apply(null, [hug2].concat(rest));
+                       }else if(this._limit > 0){
+                               this._limit--;
+                               hug2 = this._create.apply(null, rest);
+                       }
+
+                       return hug2;
+               }
+
+               public function restore(hug1:*):void
+               {       //MethodID:4472, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       this._pool.push(hug1);
+               }
+       }
+}
+
+//■script296■
+
+package jp.nicovideo.nicoplayer.views.comment{
+
+       import flash.errors.IllegalOperationError
+       import jp.nicovideo.nicoplayer.models.comment.CommandConstants
+
+       //■class(instance)_index:362
+       public class ViewEntry extends Object
+       {
+               //static constructor
+               public static function ViewEntry$cinit()
+               {       //MethodID:4474, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function ViewEntry(hug1:Number, hug2:uint, hug3:String, hug4:IDisplayObjectProvider, hug5:Number, hug6:Boolean)
+               {       //MethodID:4475, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 44
+                       super();
+
+                       this.__vpos = hug1;
+                       this.__duration = hug2;
+                       this.__type = hug3;
+                       this.__provider = hug4;
+                       this.__order = hug5;
+                       this.type = hug3;
+                       this._isFullWidth = hug6;
+               }
+
+               //variables/etc.
+               private var __vpos:Number;                                      //slotID:0
+               private var __duration:uint;                                    //slotID:0
+               private var __type:String;                                      //slotID:0
+               private var __provider:IDisplayObjectProvider;                  //slotID:0
+               private var __order:Number;                                     //slotID:0
+               private var _isFullWidth:Boolean = false;                       //slotID:0
+
+               public function get vpos():Number
+               {       //MethodID:4476, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__vpos;
+               }
+
+               public function get type():String
+               {       //MethodID:4477, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__type;
+               }
+
+               public function set type(hug1:String):void
+               {       //MethodID:4478, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 133
+                       if(hug1 == ""){
+                               this.__type = CommandConstants.PLACE_MIDDLE;
+                               return;
+                       }
+
+                       var hug2:String = hug1;
+
+                       switch(hug2){
+                       case CommandConstants.PLACE_BOTTOM:
+                       case CommandConstants.PLACE_MIDDLE:
+                       case CommandConstants.PLACE_TOP:
+                               break;
+                       default:
+                               throw new IllegalOperationError("type=" + hug1);
+                       }
+
+                       this.__type = hug1;
+               }
+
+               public function get provider():IDisplayObjectProvider
+               {       //MethodID:4479, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__provider;
+               }
+
+               public function get vend():Number
+               {       //MethodID:4480, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       return (this.__vpos + this.__duration);
+               }
+
+               public function get order():Number
+               {       //MethodID:4481, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__order;
+               }
+
+               public function get isFullWidth():Boolean
+               {       //MethodID:4482, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isFullWidth;
+               }
+       }
+}
+
+//■script297■
+
+package jp.nicovideo.nicoscript.macro.parsers{
+
+       import jp.nicovideo.nicoscript.macro.NicoScriptError
+       import jp.nicovideo.util.loka.__MSG__
+
+       //■class(instance)_index:363
+       public class MacroParser extends Object
+       {
+               //static constructor
+               public static function MacroParser$cinit()
+               {       //MethodID:4484, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function findMacroName(hug1:String):String
+               {       //dispID:3, MethodID:4485, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       return _Parser.findMacroName(hug1);
+               }
+
+               public static function parse(hug1:String):IMacroParserResult
+               {       //dispID:4, MethodID:4486, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 56
+                       var hug2:Object = _Parser.parse(hug1);
+
+                       if(!hug2) throw new NicoScriptError(__MSG__("ニコスクリプトが含まれていません。文法を確認してください。"));
+
+                       return new _MacroParserResult(hug2.macroName, hug2.label, hug2.args);
+               }
+
+               //constructor
+               public function MacroParser()
+               {       //MethodID:4487, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+
+//■class(instance)_index:364
+//private
+class _Parser extends Object
+{
+       //static constructor
+       public static function _Parser$cinit()
+       {       //MethodID:4488, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 619
+               SPACE_CHAR = "  ";
+               SPACE = ("[" + SPACE_CHAR + "]");
+               SOME_SPACES = (SPACE + "+");
+               ANY_SPACES = (SPACE + "*");
+               LABEL_SYMBOL_CHAR = "::";
+               LABEL_SYMBOL = ("[" + LABEL_SYMBOL_CHAR + "]");
+               LABEL_NAME_CHAR = ("[^" + SPACE_CHAR + "]");
+               LABEL_NAME = ("(?P<label>" + LABEL_NAME_CHAR + "+)");
+               LABEL = ("(?:" + LABEL_SYMBOL + LABEL_NAME + ")");
+               MACRO_SYMBOL_CHAR = "@@";
+               MACRO_SYMBOL = ("[" + MACRO_SYMBOL_CHAR + "]");
+               MACRO_NAME_CHAR = ("[^" + LABEL_SYMBOL_CHAR + SPACE_CHAR + "]");
+               MACRO_NAME = ("(?P<macroName>" + MACRO_NAME_CHAR + "+)");
+               MACRO = ("(?:" + MACRO_SYMBOL + MACRO_NAME + ")");
+               ARG_VALUE_SEP_CHAR = ",、,、";
+               ARG_VALUE_SEP = ("[" + ARG_VALUE_SEP_CHAR + "]");
+               VALUE_QUOTES = ["''", "\"\"", "「」", "‘’", "“”"];
+               QUOTED_VALUE = _buildQuotedValuePattern(VALUE_QUOTES, false);
+               NAKED_VALUE = ("[^" + SPACE_CHAR + ARG_VALUE_SEP_CHAR + "]+");
+               ARG_VALUE = ("(?:" + QUOTED_VALUE + "|" + NAKED_VALUE + ")");
+               ARG = (ARG_VALUE + "(?:" + ARG_VALUE_SEP + ARG_VALUE + ")*");
+               ARG_SEP = SOME_SPACES;
+               ARG_LIST = (ARG + "(?:" + ARG_SEP + ARG + ")*");
+               ARGS = ("(?:" + SOME_SPACES + "(?P<args>" + ARG_LIST + ")" + ")");
+               FIND_MACRO_NAME = new RegExp(("^" + ANY_SPACES + MACRO), "x");
+               SOURCE_PARSER = new RegExp(("^" + ANY_SPACES + MACRO + LABEL + "?" + ARGS + "?" + ANY_SPACES + "$"), "x");
+               ARG_SCANNER = new RegExp(("(?:" + "^" + ANY_SPACES + "|" + ARG_SEP + ")" + "(?P<arg>" + ARG + ")"), "xg");
+               QUOTED_VALUE_TESTER = new RegExp("^(?:" + _buildQuotedValuePattern(VALUE_QUOTES, true) + ")$");
+               ARG_VALUE_SCANNER = new RegExp(("(?:" + "^" + "|" + ARG_VALUE_SEP + ")" + "(?P<value>" + ARG_VALUE + ")"), "xg");
+       }
+
+       //static variables/etc.
+       private static const SPACE_CHAR:String = "  ";                 //slotID:1
+       private static const SPACE:String;                              //slotID:2
+       private static const SOME_SPACES:String;                        //slotID:3
+       private static const ANY_SPACES:String;                         //slotID:4
+       private static const LABEL_SYMBOL_CHAR:String = "::";          //slotID:5
+       private static const LABEL_SYMBOL:String;                       //slotID:6
+       private static const LABEL_NAME_CHAR:String;                    //slotID:7
+       private static const LABEL_NAME:String;                         //slotID:8
+       private static const LABEL:String;                              //slotID:9
+       private static const MACRO_SYMBOL_CHAR:String = "@@";          //slotID:10
+       private static const MACRO_SYMBOL:String;                       //slotID:11
+       private static const MACRO_NAME_CHAR:String;                    //slotID:12
+       private static const MACRO_NAME:String;                         //slotID:13
+       private static const MACRO:String;                              //slotID:14
+       private static const ARG_VALUE_SEP_CHAR:String = ",、,、";      //slotID:15
+       private static const ARG_VALUE_SEP:String;                      //slotID:16
+       private static const VALUE_QUOTES:Array;                        //slotID:17
+       private static const QUOTED_VALUE:String;                       //slotID:18
+       private static const NAKED_VALUE:String;                        //slotID:19
+       private static const ARG_VALUE:String;                          //slotID:20
+       private static const ARG:String;                                //slotID:21
+       private static const ARG_SEP:String;                            //slotID:22
+       private static const ARG_LIST:String;                           //slotID:23
+       private static const ARGS:String;                               //slotID:24
+       private static const FIND_MACRO_NAME:RegExp;                    //slotID:25
+       private static const SOURCE_PARSER:RegExp;                      //slotID:26
+       private static const ARG_SCANNER:RegExp;                        //slotID:27
+       private static const QUOTED_VALUE_TESTER:RegExp;                //slotID:28
+       private static const ARG_VALUE_SCANNER:RegExp;                  //slotID:29
+
+       public static function findMacroName(hug1:String):String
+       {       //dispID:3, MethodID:4489, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+               var hug2:Object = FIND_MACRO_NAME.exec(hug1);
+               return (hug2 ? hug2.macroName : null);
+       }
+
+       public static function parse(hug1:String):Object
+       {       //dispID:4, MethodID:4490, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 100
+               var hug4:Object = null;
+               var hug2:Object = SOURCE_PARSER.exec(hug1);
+
+               if(!hug2) return null;
+
+               var hug3:Array = [];
+               ARG_SCANNER.lastIndex = 0;
+               hug4 = ARG_SCANNER.exec(hug2.args);
+
+               while(ARG_SCANNER.exec(hug2.args)){
+                       hug3.push(hug4.arg);
+               }
+
+               return {macroName:hug2.macroName, label:hug2.label, args:hug3};
+       }
+
+       public static function unquote(hug1:String):String
+       {       //dispID:5, MethodID:4491, LocalCount= 8 , MaxScope= 1, MaxStack= 4, CodeLength= 125
+               var hug4:String = null;
+               var hug5:String = null;
+               var hug2:Object = QUOTED_VALUE_TESTER.exec(hug1);
+
+               if(!hug2) return hug1;
+
+               var hug3:int = 1;
+
+               for each(hug4 in VALUE_QUOTES){
+                       if(hug2[hug3] !== undefined){
+                               hug5 = hug4.charAt(1);
+                               return hug2[hug3].replace(new RegExp(("\\" + hug5 + "\\" + hug5), "g"), hug5);
+                       }
+
+                       hug3++;
+               }
+
+               return hug1;
+       }
+
+       public static function splitArgs(hug1:String):Array
+       {       //dispID:6, MethodID:4492, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 64
+               var hug3:Object = null;
+               var hug2:Array = [];
+               ARG_VALUE_SCANNER.lastIndex = 0;
+               hug3 = ARG_VALUE_SCANNER.exec(hug1);
+
+               while(ARG_VALUE_SCANNER.exec(hug1)){
+                       hug2.push(unquote(hug3.value));
+               }
+
+               return hug2;
+       }
+
+       private static function _buildQuotedValuePattern(hug1:Array, hug2:Boolean):String
+       {       //dispID:7, MethodID:4493, LocalCount= 9 , MaxScope= 1, MaxStack= 3, CodeLength= 146
+               var hug4:String = null;
+               var hug5:String = null;
+               var hug6:String = null;
+               var hug3:Array = [];
+
+               for each(hug6 in hug1){
+                       hug4 = hug6.charAt(0);
+                       hug5 = hug6.charAt(1);
+
+                       hug3.push(hug4 + (hug2 ? "(" : "") + "(?:[^" + hug5 + "]|" + hug5 + hug5 + ")*" + (hug2 ? ")" : "") + hug5);
+               }
+
+               return hug3.join("|");
+       }
+
+       //constructor
+       public function _Parser()
+       {       //MethodID:4494, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+}
+
+//■class(instance)_index:365
+//private
+class _MacroParserResult extends Object implements IMacroParserResult
+{
+       //static constructor
+       public static function _MacroParserResult$cinit()
+       {       //MethodID:4495, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _MacroParserResult(hug1:String, hug2:String, hug3:Array)
+       {       //MethodID:4496, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+               super();
+
+               this._macroName = hug1;
+               this._label = hug2;
+               this._args = hug3;
+               this._cachedArgs = {};
+       }
+
+       //variables/etc.
+       private var _macroName:String;                                  //slotID:0
+       private var _label:String;                                      //slotID:0
+       private var _args:Array;                                        //slotID:0
+       private var _cachedArgs:Object;                                 //slotID:0
+
+       public function get macroName():String
+       {       //MethodID:4497, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._macroName;
+       }
+
+       public function get label():String
+       {       //MethodID:4498, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._label;
+       }
+
+       public function get argLength():int
+       {       //MethodID:4499, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+               return this._args.length;
+       }
+
+       public function arg(hug1:int, hug2:String=null):String
+       {       //MethodID:4500, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 64
+               if(hug1 in this._cachedArgs) return this._cachedArgs[hug1];
+
+               if(this._args.length <= hug1) return hug2;
+
+               this._cachedArgs[hug1] = _Parser.unquote(this._args[hug1]);
+               return _Parser.unquote(this._args[hug1]);
+       }
+
+       public function argArray(hug1:int, hug2:Array=null):Array
+       {       //MethodID:4501, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 76
+               if(("a" + hug1) in this._cachedArgs) return this._cachedArgs["a" + hug1];
+
+               if(this._args.length <= hug1) return hug2;
+
+               this._cachedArgs["a" + hug1] = _Parser.splitArgs(this._args[hug1]);
+               return _Parser.splitArgs(this._args[hug1]);
+       }
+}
+
+//■script298■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage{
+
+       import flash.events.TimerEvent
+       import flash.utils.Timer
+
+       //■class(instance)_index:366
+       public class Poller extends Object
+       {
+               //static constructor
+               public static function Poller$cinit()
+               {       //MethodID:4503, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function Poller(hug1:Function)
+               {       //MethodID:4505, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 60
+                       internal var poller:Function;                                   //slotID:1
+
+                       poller = hug1;
+                       this.__timer = new Timer(1000 * 30);
+                       this.__callback_Q = [];
+
+                       super();
+
+                       this.__poller = poller;
+
+                       this.__timer.addEventListener(TimerEvent.TIMER, function(hug1:TimerEvent):void{ //MethodID:4504, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 9
+                               __doPoll(false);
+                       });
+               }
+
+               //variables/etc.
+               private var __poller:Function;                                  //slotID:0
+               private var __enabled:Boolean;                                  //slotID:0
+               private var __waiting:Boolean;                                  //slotID:0
+               private var __timer:Timer;                                      //slotID:0
+               private var __callback_Q:Array;                                 //slotID:0
+
+               public function get interval():int
+               {       //MethodID:4506, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this.__timer.delay;
+               }
+
+               public function set interval(hug1:int):void
+               {       //MethodID:4507, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       this.__timer.delay = hug1;
+               }
+
+               public function resume():void
+               {       //MethodID:4508, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 23
+                       if(this.__enabled) return;
+
+                       this.__enabled = true;
+
+                       this.__resetPoller(false);
+               }
+
+               public function suspend():void
+               {       //MethodID:4509, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 25
+                       if(!this.__enabled) return;
+
+                       this.__enabled = false;
+
+                       this.__timer.stop();
+               }
+
+               public function pollImmediately(hug1:Function=null):void
+               {       //MethodID:4510, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 24
+                       if(hug1 != null) this.__callback_Q.push(hug1);
+                       this.__resetPoller(true);
+               }
+
+               private function __resetPoller(hug1:Boolean):void
+               {       //MethodID:4511, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 43
+                       if(this.__waiting) return;
+                       this.__timer.stop();
+
+                       if(hug1){
+                               this.__doPoll(true);
+                       }else{
+                               this.__timer.start();
+                       }
+               }
+
+               private function __doPoll(hug1:Boolean):void
+               {       //MethodID:4514, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 25
+                       internal var force:Boolean;                                     //slotID:1
+
+                       force = hug1;
+                       this.__waiting = true;
+
+                       this.__poller(function(hug1:Function):Function{ //MethodID:4513, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+                               internal var f:Function;                                        //slotID:1
+
+                               f = hug1;
+                               return function(... rest):void{ //MethodID:4512, LocalCount= 5 , MaxScope= 0, MaxStack= 3, CodeLength= 97
+                                       var hug2:* = undefined;
+                                       __waiting = false;
+
+                                       if(__enabled || force){
+                                               if(__enabled) __resetPoller(false);
+                                               f.apply(null, rest);
+                                       }
+
+                                       for each(hug2 in __callback_Q){
+                                               hug2();
+                                       }
+
+                                       __callback_Q = [];
+                               };
+                       });
+               }
+       }
+}
+
+//■script299■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage{
+
+       import flash.errors.IllegalOperationError
+       import jp.nicovideo.nicoplayer.storages.MessageServerClient
+       import jp.nicovideo.util.ObjectUtils
+
+       use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test);
+
+       //■class(instance)_index:367
+       public class RequestDispatcher extends Object
+       {
+               //static constructor
+               public static function RequestDispatcher$cinit()
+               {       //MethodID:4516, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function RequestDispatcher(hug1:Boolean)
+               {       //MethodID:4517, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 29
+                       this.__request_Q = [];
+                       this.__actives = [];
+                       this.__passives = [];
+
+                       super();
+
+                       this.__useChunk = hug1;
+               }
+
+               //variables/etc.
+               private var __useChunk:Boolean = false;                         //slotID:0
+               private var __request_Q:Array;                                  //slotID:0
+               private var __actives:Array;                                    //slotID:0
+               private var __passives:Array;                                   //slotID:0
+               private var __sendRequest_Q:Array = null;                       //slotID:0
+               private var __proceeding:Boolean;                               //slotID:0
+
+               public function addRequest(hug1:Request):void
+               {       //MethodID:4519, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 20
+                       internal var req:Request;                                       //slotID:1
+
+                       req = hug1;
+
+                       this.__proceed(function():void{ //MethodID:4518, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 49
+                               if(__butting(req, __actives)){
+                                       __request_Q.push(req);
+
+                                       return;
+                               }
+
+                               __actives.push(req);
+                               __proceedRequest(req);
+                       });
+               }
+
+               public function addPassiveRequest(hug1:Request):void
+               {       //MethodID:4521, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 20
+                       internal var req:Request;                                       //slotID:1
+
+                       req = hug1;
+
+                       this.__proceed(function():void{ //MethodID:4520, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 21
+                               __passives.push(req);
+                               __proceedRequest(req);
+                       });
+               }
+
+               private function __butting(hug1:Request, hug2:Array):Boolean
+               {       //MethodID:4522, LocalCount= 12 , MaxScope= 1, MaxStack= 2, CodeLength= 142
+                       var hug3:Request = null;
+                       var hug4:LockDesc = null;
+                       var hug5:LockDesc = null;
+
+                       for each(hug3 in hug2){
+                               for each(hug4 in hug1.locks){
+                                       for each(hug5 in hug3.locks){
+                                               if(hug4.buttingWith(hug5)) return true;
+                                       }
+                               }
+                       }
+
+                       return false;
+               }
+
+               private function __proceedRequest(hug1:Request):void
+               {       //MethodID:4525, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 80
+                       internal var req:Request;                                       //slotID:1
+
+                       req = hug1;
+
+                       if(!req.transactor) return;
+
+                       if(!this.__useChunk){
+                               req.transactor.start();
+
+                               return;
+                       }
+
+                       if(!this.__sendRequest_Q){
+                               this.__sendRequest_Q = [];
+
+                               ObjectUtils.callLater(function():void{  //MethodID:4524, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 78
+                                       if(__sendRequest_Q.length == 1){
+                                               Request(__sendRequest_Q[0]).transactor.start();
+                                       }else{
+                                               Request(__sendRequest_Q[0]).parent.__client.chunk(function(hug1:MessageServerClient):void{      //MethodID:4523, LocalCount= 5 , MaxScope= 0, MaxStack= 2, CodeLength= 47
+                                                       var hug2:Request = null;
+
+                                                       for each(hug2 in __sendRequest_Q){
+                                                               hug2.transactor.start();
+                                                       }
+                                               });
+                                       }
+
+                                       __sendRequest_Q = null;
+                               });
+                       }
+
+                       this.__sendRequest_Q.push(req);
+               }
+
+               public function receive(hug1:String, hug2:Array):Boolean
+               {       //MethodID:4527, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 26
+                       internal var name:String;                                       //slotID:1
+                       internal var args:Array;                                        //slotID:2
+
+                       name = hug1;
+                       args = hug2;
+                       return this.__proceed(function():Boolean{       //MethodID:4526, LocalCount= 3 , MaxScope= 0, MaxStack= 4, CodeLength= 158
+                               var hug2:* = undefined;
+                               var hug1:* = (__forEachMatchedRequest(__actives, name, args) || __forEachMatchedRequest(__passives, name, args) && -1);
+
+                               if(hug1 == 0) return false;
+
+                               if(hug1 != (-1)){
+                                       hug2 = 0;
+
+                                       while(hug2 < __request_Q.length){
+                                               if(!__butting(__request_Q[hug2], __actives)){
+                                                       __actives.push(__request_Q[hug2]);
+                                                       __proceedRequest(__request_Q.splice((hug2--), 1)[0]);
+                                               }
+
+                                               hug2++;
+                                       }
+                               }
+
+                               return true;
+                       }, true);
+               }
+
+               public function spoil():void
+               {       //MethodID:4530, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 25
+                       internal var spoil_0:Function;                                  //slotID:1
+
+                       spoil_0 = function(hug1:Array):void{    //MethodID:4528, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 58
+                               var hug3:Request = null;
+                               var hug2:int = 0;
+
+                               while(hug2 < hug1.length){
+                                       hug3 = hug1[hug2];
+
+                                       hug3.onDisconnect();
+
+                                       if(!hug3.indomitable) hug1.splice((hug2--), 1);
+
+                                       hug2++;
+                               }
+                       };
+
+                       this.__proceed(function():void{ //MethodID:4529, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 23
+                               spoil_0(__actives);
+                               spoil_0(__passives);
+                       }, true);
+               }
+
+               private function __forEachMatchedRequest(hug1:Array, hug2:String, hug3:Array):int
+               {       //MethodID:4531, LocalCount= 7 , MaxScope= 5, MaxStack= 4, CodeLength= 617
+                       internal var requests:Array;                                    //slotID:1
+                       internal var name:String;                                       //slotID:2
+                       internal var args:Array;                                        //slotID:3
+                       internal var j:int;                                             //slotID:4
+                       internal var req:Request;                                       //slotID:5
+                       internal var i:int;                                             //slotID:6
+                       internal var lock:LockDesc;                                     //slotID:7
+                       internal var found:Boolean;                                     //slotID:8
+                       internal var key:String;                                        //slotID:9
+                       internal var select:String;                                     //slotID:10
+
+                       j = 0;
+                       req = null;
+                       i = 0;
+                       lock = null;
+                       found = false;
+                       key = null;
+                       select = null;
+                       requests = hug1;
+                       name = hug2;
+                       args = hug3;
+                       j = 0;
+
+                       while(j < requests.length){
+                               req = requests[j];
+                               i = 0;
+
+                               while(i < req.locks.length){
+                                       lock = req.locks[i];
+
+                                       if(lock._name != name){
+                                       }else{
+                                               found = false;
+
+                                               for(key in lock._pattern){
+                                                       if(lock._pattern[key] != args[int(key)]){
+                                                               found = true;
+                                                               break;
+                                                       }
+                                               }
+
+                                               if(found) break;
+
+                                               try{
+                                                       select = req.transactor.proceed(name, args);
+                                               }
+                                               catch(error:TransactorError){
+                                                       req.onErrorOccured.apply(null, error.args);
+                                                       requests.splice(j, 1);
+
+                                                       return 1;
+                                               }
+
+                                               switch(select){
+                                               case AbstractTransactor.MSG_COMPLETE:
+                                                       req.locks.splice(i, 1);
+
+                                                       if(req.locks.length != 0) return 1;
+
+                                               case AbstractTransactor.MSG_QUIT:
+                                               case AbstractTransactor.MSG_REJECT_TO_QUIT:
+                                                       requests.splice(j, 1);
+                                                       req.onQuit();
+
+                                                       if(select == AbstractTransactor.MSG_REJECT_TO_QUIT) break;
+
+                                                       return 1;
+                                               case AbstractTransactor.MSG_CONTINUE:
+                                                       return -1;
+                                               case AbstractTransactor.MSG_REJECT:
+                                                       break;
+                                               default:
+                                                       break;
+                                               }
+                                       }
+
+                                       i++;
+                               }
+
+                               j++;
+                       }
+
+                       return 0;
+               }
+
+               private function __proceed(hug1:Function, hug2:Boolean=false):*
+               {       //MethodID:4532, LocalCount= 6 , MaxScope= 7, MaxStack= 4, CodeLength= 170
+                       internal var f:Function;                                        //slotID:1
+                       internal var ensureImmediatelyCalling:Boolean = false;          //slotID:2
+
+                       f = hug1;
+                       ensureImmediatelyCalling = hug2;
+
+                       if(this.__proceeding){
+                               if(ensureImmediatelyCalling) throw new IllegalOperationError("RequestDispatcher.__proceed: OMG.");
+                               ObjectUtils.callLater(this.__proceed, f);
+
+                               return undefined;
+                       }
+
+                       try{
+                               this.__proceeding = true;
+                               var hug4:* = f();
+                               return hug4;
+                       }
+                       finally{
+                               this.__proceeding = false;
+                       }
+
+                       return undefined;
+               }
+
+               private function __dumpLocks(hug1:String, hug2:Array):void
+               {       //MethodID:4533, LocalCount= 9 , MaxScope= 1, MaxStack= 4, CodeLength= 141
+                       var hug3:LockDesc = null;
+                       var hug4:String = null;
+
+                       if(hug2.length == 0) return;
+                       trace(hug1);
+
+                       for each(hug3 in hug2){
+                               trace("\tlock:" + hug3._name);
+
+                               for(hug4 in hug3._pattern){
+                                       trace(("\t\t*" + hug4 + "=") + hug3._pattern[hug4]);
+                               }
+                       }
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get actives():Array
+               {       //MethodID:4534, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__actives;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get request_Q():Array
+               {       //MethodID:4535, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this.__request_Q;
+               }
+       }
+}
+
+//■script300■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage{
+
+       import jp.nicovideo.nicoplayer.storages.CommentStorage
+
+       //■class(instance)_index:368
+       public final class Request extends Object
+       {
+               //static constructor
+               public static function Request$cinit()
+               {       //MethodID:4537, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       __DUMMY_FUNC = function(... rest):void{ //MethodID:4538, LocalCount= 2 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+                       };
+               }
+
+               //static variables/etc.
+               private static const __DUMMY_FUNC:Function;                     //slotID:1
+
+               //constructor
+               public function Request(hug1:Array, hug2:String="[?]")
+               {       //MethodID:4539, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 37
+                       this.onErrorOccured = __DUMMY_FUNC;
+                       this.onQuit = __DUMMY_FUNC;
+                       this.onDisconnect = __DUMMY_FUNC;
+
+                       super();
+
+                       this.locks = hug1;
+                       this.id = hug2;
+               }
+
+               //variables/etc.
+               public var id:String;                                           //slotID:0
+               public var parent:CommentStorage;                               //slotID:0
+               public var locks:Array;                                         //slotID:0
+               public var transactor:AbstractTransactor;                       //slotID:0
+               public var indomitable:Boolean = false;                         //slotID:0
+               public var onErrorOccured:Function;                             //slotID:0
+               public var onQuit:Function;                                     //slotID:0
+               public var onDisconnect:Function;                               //slotID:0
+       }
+}
+
+//■script301■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage{
+
+       //■class(instance)_index:369
+       public final class LockDesc extends Object
+       {
+               //static constructor
+               public static function LockDesc$cinit()
+               {       //MethodID:4541, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function LockDesc(hug1:String, hug2:Object=null)
+               {       //MethodID:4542, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+                       super();
+
+                       this._name = hug1;
+                       this._pattern = hug2;
+               }
+
+               //variables/etc.
+               public var _name:String;                                        //slotID:0
+               public var _pattern:Object;                                     //slotID:0
+
+               public function buttingWith(hug1:LockDesc):Boolean
+               {       //MethodID:4543, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 119
+                       var hug2:String = null;
+                       var hug3:* = undefined;
+
+                       if(this._name != hug1._name) return false;
+
+                       if(!(this._pattern && hug1._pattern)) return true;
+
+                       for(hug2 in this._pattern){
+                               hug3 = hug1._pattern[hug2];
+
+                               if((hug3 !== undefined) && (this._pattern[hug2] != hug3)) return false;
+                       }
+
+                       return true;
+               }
+       }
+}
+
+//■script302■
+
+package jp.nicovideo.nicoplayer.storages.transmitter{
+
+       //■class(instance)_index:370
+       public class TransmitterType extends Object
+       {
+               //static constructor
+               public static function TransmitterType$cinit()
+               {       //MethodID:4545, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 20
+                       XML_SOCKET = "xmlSocket";
+                       HTTP = "http";
+               }
+
+               //static variables/etc.
+               public static const XML_SOCKET:String = "xmlSocket";            //slotID:1
+               public static const HTTP:String = "http";                       //slotID:2
+
+               //constructor
+               public function TransmitterType()
+               {       //MethodID:4546, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script303■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage{
+
+       import jp.nicovideo.nicoplayer.storages.MessageServerClient
+
+       //■class(instance)_index:371
+       public class AbstractTransactor extends Object
+       {
+               //static constructor
+               public static function AbstractTransactor$cinit()
+               {       //MethodID:4548, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 48
+                       MSG_REJECT = "REJECT";
+                       MSG_CONTINUE = "CONTINUE";
+                       MSG_COMPLETE = "COMPLETE";
+                       MSG_QUIT = "QUIT";
+                       MSG_REJECT_TO_QUIT = "REJECT_TO_QUIT";
+               }
+
+               //static variables/etc.
+               public static const MSG_REJECT:String = "REJECT";               //slotID:1
+               public static const MSG_CONTINUE:String = "CONTINUE";           //slotID:2
+               public static const MSG_COMPLETE:String = "COMPLETE";           //slotID:3
+               public static const MSG_QUIT:String = "QUIT";                   //slotID:4
+               public static const MSG_REJECT_TO_QUIT:String = "REJECT_TO_QUIT";//slotID:5
+
+               //constructor
+               public function AbstractTransactor()
+               {       //MethodID:4549, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+
+               //variables/etc.
+               public var client:MessageServerClient;                          //slotID:0
+
+               public function start():void
+               {       //MethodID:4550, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function proceed(hug1:String, hug2:Array):String
+               {       //MethodID:4551, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 18
+                       return this["onCMsg" + hug1].apply(this, hug2);
+               }
+
+               public function error(... rest):void
+               {       //MethodID:4552, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       throw new TransactorError(rest);
+               }
+       }
+}
+
+//■script304■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage.transactor{
+
+       import flash.errors.IllegalOperationError
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       import jp.nicovideo.nicoplayer.storages.MessageServerClient
+       import jp.nicovideo.nicoplayer.storages.commentStorage.AbstractTransactor
+
+       //■class(instance)_index:372
+       public class CommentPoster extends AbstractTransactor
+       {
+               //static constructor
+               public static function CommentPoster$cinit()
+               {       //MethodID:4554, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function CommentPoster()
+               {       //MethodID:4555, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+
+               //variables/etc.
+               public var comment:IComment;                                    //slotID:0
+               public var threadID:int;                                        //slotID:0
+               public var ticket:String;                                       //slotID:0
+               public var userID:String;                                       //slotID:0
+               public var postkey:String;                                      //slotID:0
+               public var yugi:Boolean = false;                                //slotID:0
+               public var premium:Boolean = false;                             //slotID:0
+               public var no:int;                                              //slotID:0
+
+               override public function start():void
+               {       //MethodID:4556, LocalCount= 1 , MaxScope= 1, MaxStack= 12, CodeLength= 127
+                       if(!this.comment) throw new IllegalOperationError("_CommentPoster.start: comment が設定されていません。");
+                       client.sendCMsgPostChat(this.comment.message, this.threadID, (this.comment.vpos / 10), this.comment.command.command, null, this.ticket, (this.comment.command.sage ? 1 : 0), this.userID, this.postkey, (this.premium ? 1 : 0), (this.yugi ? 1 : 0));
+               }
+
+               public function onCMsgPostChatResult(hug1:int, hug2:int, hug3:int, hug4:int):String
+               {       //MethodID:4557, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       this.no = hug3;
+
+                       if(hug2 != MessageServerClient.POST_SUCCESS) error(hug2);
+
+                       return MSG_QUIT;
+               }
+       }
+}
+
+//■script305■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage.transactor{
+
+       import jp.nicovideo.nicoplayer.storages.commentStorage.AbstractTransactor
+
+       //■class(instance)_index:373
+       public class SimpleTransactor extends AbstractTransactor
+       {
+               //static constructor
+               public static function SimpleTransactor$cinit()
+               {       //MethodID:4559, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function SimpleTransactor(hug1:Function)
+               {       //MethodID:4560, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       super();
+
+                       this.__f = hug1;
+               }
+
+               //variables/etc.
+               private var __f:Function;                                       //slotID:0
+
+               override public function proceed(hug1:String, hug2:Array):String
+               {       //MethodID:4561, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 16
+                       this.__f.apply(null, hug2);
+
+                       return MSG_CONTINUE;
+               }
+       }
+}
+
+//■script306■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage.transactor{
+
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       import jp.nicovideo.nicoplayer.storages.MessageServerClient
+       import jp.nicovideo.nicoplayer.storages.commentStorage.AbstractTransactor
+
+       //■class(instance)_index:374
+       public class ThreadUpdater extends AbstractTransactor
+       {
+               //static constructor
+               public static function ThreadUpdater$cinit()
+               {       //MethodID:4563, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function ThreadUpdater()
+               {       //MethodID:4564, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       this.comments = [];
+
+                       super();
+               }
+
+               //variables/etc.
+               public var threadID:String;                                     //slotID:0
+               public var userID:String;                                       //slotID:0
+               public var ticket:String;                                       //slotID:0
+               public var updatekey:String;                                    //slotID:0
+               public var isPremium:Boolean;                                   //slotID:0
+               public var comments:Array;                                      //slotID:0
+
+               override public function start():void
+               {       //MethodID:4566, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 17
+                       client.chunk(function():void{   //MethodID:4565, LocalCount= 4 , MaxScope= 0, MaxStack= 7, CodeLength= 107
+                               var hug1:IComment = null;
+
+                               for each(hug1 in comments){
+                                       client.sendCMsgAddThreadItem(hug1.message, (hug1.vpos / 10), hug1.command.command, "");
+                               }
+
+                               client.sendCMsgUpdateThread(int(threadID), userID, comments.length, ticket, updatekey, (isPremium ? 1 : 0));
+                       });
+               }
+
+               public function onCMsgUpdateThreadResult(hug1:int, hug2:String):String
+               {       //MethodID:4567, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       if(hug1 != MessageServerClient.UPDATE_SUCCESS) error(hug1);
+
+                       this.ticket = hug2;
+                       return MSG_COMPLETE;
+               }
+       }
+}
+
+//■script307■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage.transactor{
+
+       import jp.nicovideo.nicoplayer.models.comment.Command
+       import jp.nicovideo.nicoplayer.models.comment.CommentBuilder
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       import jp.nicovideo.nicoplayer.models.comment.ILeaf
+       import jp.nicovideo.nicoplayer.models.comment.Leaf
+       import jp.nicovideo.nicoplayer.models.video.VideoConstants
+       import jp.nicovideo.nicoplayer.storages.MessageServerClient
+       import jp.nicovideo.nicoplayer.storages.commentStorage.AbstractTransactor
+       import jp.nicovideo.util.ArrayUtils
+
+       //■class(instance)_index:375
+       public class ThreadLoader extends AbstractTransactor
+       {
+               //static constructor
+               public static function ThreadLoader$cinit()
+               {       //MethodID:4569, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function commentMaker(hug1:String, hug2:int, hug3:int, hug4:int, hug5:int, hug6:String, hug7:String, hug8:Boolean, hug9:String, hug10:String, hug11:int, hug12:int, hug13:int, hug14:int, hug15:String, hug16:int):IComment
+               {       //dispID:3, MethodID:4571, LocalCount= 18 , MaxScope= 2, MaxStack= 4, CodeLength= 313
+                       internal var message:String;                                    //slotID:1
+                       internal var thread_id:int;                                     //slotID:2
+                       internal var no:int;                                            //slotID:3
+                       internal var vpos:int;                                          //slotID:4
+                       internal var date:int;                                          //slotID:5
+                       internal var mail:String;                                       //slotID:6
+                       internal var name:String;                                       //slotID:7
+                       internal var yourpost:Boolean;                                  //slotID:8
+                       internal var user_id:String;                                    //slotID:9
+                       internal var raw_user_id:String;                                //slotID:10
+                       internal var deleted:int;                                       //slotID:11
+                       internal var premium:int;                                       //slotID:12
+                       internal var anonymity:int;                                     //slotID:13
+                       internal var fork:int;                                          //slotID:14
+                       internal var remote:String;                                     //slotID:15
+                       internal var leafID:int;                                        //slotID:16
+                       internal var builder:CommentBuilder;                            //slotID:17
+                       internal var isPremium:Boolean;                                 //slotID:18
+
+                       message = hug1;
+                       thread_id = hug2;
+                       no = hug3;
+                       vpos = hug4;
+                       date = hug5;
+                       mail = hug6;
+                       name = hug7;
+                       yourpost = hug8;
+                       user_id = hug9;
+                       raw_user_id = hug10;
+                       deleted = hug11;
+                       premium = hug12;
+                       anonymity = hug13;
+                       fork = hug14;
+                       remote = hug15;
+                       leafID = hug16;
+                       builder = new CommentBuilder();
+                       builder.message = message;
+                       builder.resNo = no;
+                       builder.vpos = (vpos * 10);
+                       builder.date = new Date(date * 1000);
+                       isPremium = (premium == 1);
+                       builder.command = new Command(function(hug1:Command):void{      //MethodID:4570, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 8
+                               hug1.command = mail;
+                       }, isPremium);
+
+                       builder.isPremium = isPremium;
+                       builder.justPosted = yourpost;
+                       builder.userID = user_id;
+                       builder.userName = name;
+                       builder.deleted = deleted;
+                       builder.anonymity = anonymity;
+                       builder.fork = fork;
+                       builder.isOwner = (fork == 1);
+                       builder.leafID = leafID;
+                       return builder.make();
+               }
+
+               //constructor
+               public function ThreadLoader()
+               {       //MethodID:4573, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24
+                       this.num_click = {};
+                       this.comments = [];
+                       this.leaves = [];
+
+                       super();
+               }
+
+               //variables/etc.
+               public var threadID:String;                                     //slotID:0
+               public var resFrom:int = 0;                                     //slotID:0
+               public var waybackkey:String;                                   //slotID:0
+               public var when:int = 0;                                        //slotID:0
+               public var userID:String;                                       //slotID:0
+               public var noCompress:Boolean = false;                          //slotID:0
+               public var fork:int = 0;                                        //slotID:0
+               public var threadkey:String;                                    //slotID:0
+               public var force184:int = 0;                                    //slotID:0
+               public var forceLeafMode:Boolean = false;                       //slotID:0
+               public var requestVersion:String = 20061206;                    //slotID:0
+               public var duration:int = 0;                                    //slotID:0
+               public var lastRes:int = -1;                                    //slotID:0
+               public var ticket:String;                                       //slotID:0
+               public var revision:int = -1;                                   //slotID:0
+               public var resOffset:int;                                       //slotID:0
+               public var serverTime:int;                                      //slotID:0
+               public var clickRevision:int = -1;                              //slotID:0
+               public var clicks:int = -1;                                     //slotID:0
+               public var num_click:Object;                                    //slotID:0
+               public var comments:Array;                                      //slotID:0
+               public var leaves:Array;                                        //slotID:0
+               public var leaf_get_num:int = 100;                              //slotID:0
+               public var requestNum:int = 1;                                  //slotID:0
+               public var resBefore:int = 0;                                   //slotID:0
+               public var onServerTime:Function;                               //slotID:0
+
+               public function leafMaker(hug1:int, hug2:int, hug3:int):ILeaf
+               {       //MethodID:4572, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 19
+                       var hug4:ILeaf = new Leaf(hug1, hug2, hug3);
+                       return hug4;
+               }
+
+               public function isLeaf():Boolean
+               {       //MethodID:4574, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 34
+                       return (this.forceLeafMode && (this.fork == 0) && (this.resFrom <= 0));
+               }
+
+               override public function start():void
+               {       //MethodID:4576, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 51
+                       if(this.forceLeafMode){
+                               this.requestVersion = MessageServerClient.NIWAVIDE_PACKET_LEAF_VERSION;
+
+                               if(this.resFrom <= 0) this.resFrom = 0;
+                       }
+
+                       client.chunk(function():void{   //MethodID:4575, LocalCount= 1 , MaxScope= 0, MaxStack= 13, CodeLength= 129
+                               client.sendCMsgGetThread(int(threadID), requestVersion, resFrom, waybackkey, when, userID, (noCompress ? 1 : 0), fork, null, clickRevision, threadkey, force184);
+
+                               if(isLeaf()) client.sendCMsgGetThreadLeaves(_generateLeafExpression(leaf_get_num, true), int(threadID), waybackkey, when, userID, (noCompress ? 1 : 0), threadkey, force184, resBefore);
+                       });
+               }
+
+               public function onCMsgGetThreadResult(hug1:uint, hug2:int, hug3:int, hug4:String, hug5:String, hug6:int, hug7:int, hug8:int, hug9:int, hug10:int, hug11:int, hug12:int, hug13:int):String
+               {       //MethodID:4577, LocalCount= 14 , MaxScope= 1, MaxStack= 2, CodeLength= 115
+                       if(this.onServerTime is Function) this.onServerTime(hug10);
+
+                       if(hug1 != MessageServerClient.THREAD_FOUND) error(hug1);
+
+                       this.lastRes = hug3;
+                       this.ticket = hug4;
+                       this.revision = hug7;
+                       this.resOffset = hug8;
+                       this.serverTime = hug10;
+                       this.clickRevision = hug12;
+
+                       if(this.isLeaf() && this.num_click){
+                               this.clicks = hug13;
+                       }else{
+                               this.clicks = 0;
+                       }
+
+                       return MSG_CONTINUE;
+               }
+
+               public function onCMsgLeaf(... rest):String
+               {       //MethodID:4578, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 29
+                       var hug2:ILeaf = this.leafMaker.apply(null, rest);
+
+                       this.leaves.push(hug2);
+
+                       return MSG_CONTINUE;
+               }
+
+               public function onCMsgChat(... rest):String
+               {       //MethodID:4579, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 149
+                       var hug2:IComment = commentMaker.apply(null, rest);
+                       var hug3:CommentBuilder = new CommentBuilder(hug2);
+
+                       if((this.lastRes == (-1)) || (this.lastRes < hug2.resNo)) return MSG_REJECT;
+
+                       if(this.num_click && this.num_click[hug2.resNo]){
+                               hug3.clickCount = this.num_click[hug2.resNo];
+                               hug2 = hug3.make();
+                       }
+
+                       if((this.lastRes - hug2.resNo) < this._union){
+                               hug3.isTrunk = true;
+                               hug2 = hug3.make();
+                       }
+
+                       this.comments.push(hug2);
+
+                       return MSG_CONTINUE;
+               }
+
+               public function onCMsgNumberOfClick(hug1:int, hug2:int, hug3:int):String
+               {       //MethodID:4581, LocalCount= 7 , MaxScope= 2, MaxStack= 5, CodeLength= 221
+                       internal var thread_id:int;                                     //slotID:1
+                       internal var no:int;                                            //slotID:2
+                       internal var click:int;                                         //slotID:3
+                       internal var i:int;                                             //slotID:4
+                       internal var comment:IComment;                                  //slotID:5
+                       internal var builder:CommentBuilder;                            //slotID:6
+
+                       i = 0;
+                       comment = null;
+                       builder = null;
+                       thread_id = hug1;
+                       no = hug2;
+                       click = hug3;
+                       this.clicks--;
+                       this.num_click[no] = click;
+
+                       if(this.comments.length > 0){
+                               i = ArrayUtils.lowerBoundIndex(function(hug1:int, hug2:IComment):Number{        //MethodID:4580, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 7
+                                       return (hug1 - hug2.resNo);
+                               }, no, this.comments);
+
+                               comment = this.comments[i];
+
+                               if((i == (-1)) || (this.comments[i].resNo != no)) return MSG_CONTINUE;
+
+                               builder = new CommentBuilder(comment);
+                               builder.clickCount = click;
+                               this.comments[i] = builder.make();
+                       }
+
+                       return MSG_CONTINUE;
+               }
+
+               public function onCMsgClose(hug1:int, hug2:int):String
+               {       //MethodID:4582, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 45
+                       this.requestNum--;
+                       return ((this.requestNum > 0) ? MSG_CONTINUE : MSG_QUIT);
+               }
+
+               private function _generateLeafExpression(hug1:uint, hug2:Boolean):String
+               {       //MethodID:4583, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 103
+                       var hug3:String = "";
+                       var hug4:uint = Math.ceil((this.duration + VideoConstants.USER_SPONSOR_VIDEO_LENGTH) / (60 * 1000));
+
+                       if(hug4 > 720) hug1 = Math.ceil((hug1 * 720) / hug4);
+
+                       hug3 = (("0-" + hug4.toString() + ":") + hug1.toString());
+
+                       if(hug2) hug3 += ("," + this._union.toString());
+
+                       return hug3;
+               }
+
+               private function get _union():uint
+               {       //MethodID:4584, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 78
+                       return ((this.duration >= ((10 * 60) * 1000)) ? 1000 : ((this.duration >= ((5 * 60) * 1000)) ? 500 : ((this.duration >= (60 * 1000)) ? 250 : 100)));
+               }
+       }
+}
+
+//■script308■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage.transactor{
+
+       import jp.nicovideo.nicoplayer.storages.MessageServerClient
+       import jp.nicovideo.nicoplayer.storages.commentStorage.AbstractTransactor
+
+       //■class(instance)_index:376
+       public class Clicker extends AbstractTransactor
+       {
+               //static constructor
+               public static function Clicker$cinit()
+               {       //MethodID:4586, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function Clicker()
+               {       //MethodID:4587, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+
+               //variables/etc.
+               public var threadID:int;                                        //slotID:0
+               public var no:int;                                              //slotID:0
+               public var userID:String;                                       //slotID:0
+               public var clickkey:String;                                     //slotID:0
+
+               override public function start():void
+               {       //MethodID:4588, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 26
+                       client.sendCMsgClick(this.threadID, this.no, this.userID, this.clickkey);
+               }
+
+               public function onCMsgClickResult(hug1:int):String
+               {       //MethodID:4589, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 25
+                       if(hug1 != MessageServerClient.CLICK_SUCCESS) error(hug1);
+
+                       return MSG_QUIT;
+               }
+       }
+}
+
+//■script309■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage.transactor{
+
+       import jp.nicovideo.nicoplayer.storages.MessageServerClient
+       import jp.nicovideo.nicoplayer.storages.commentStorage.AbstractTransactor
+
+       //■class(instance)_index:377
+       public class CommentDeleter extends AbstractTransactor
+       {
+               //static constructor
+               public static function CommentDeleter$cinit()
+               {       //MethodID:4591, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function CommentDeleter()
+               {       //MethodID:4592, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+
+               //variables/etc.
+               public var threadID:int;                                        //slotID:0
+               public var userID:String;                                       //slotID:0
+               public var deletekey:String;                                    //slotID:0
+               public var list:String;                                         //slotID:0
+               public var undelete:Boolean = false;                            //slotID:0
+               public var revision:int;                                        //slotID:0
+
+               override public function start():void
+               {       //MethodID:4593, LocalCount= 1 , MaxScope= 1, MaxStack= 8, CodeLength= 48
+                       client.sendCMsgDeleteComments(this.threadID, this.userID, this.deletekey, this.list, (this.undelete ? 1 : 0), this.revision, 0);
+               }
+
+               public function onCMsgDeleteCommentsResult(hug1:int, hug2:int, hug3:int, hug4:int):String
+               {       //MethodID:4594, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       if(hug2 != MessageServerClient.DELETE_SUCCESS) error(hug2);
+
+                       this.revision = hug3;
+                       return MSG_QUIT;
+               }
+       }
+}
+
+//■script310■
+
+package jp.nicovideo.nicoplayer.remocon.method{
+
+       //■class(instance)_index:378
+       public interface IRemoconMethod
+       {
+               //static constructor
+               public static function IRemoconMethod$cinit()
+               {       //MethodID:4596, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function call(hug1:Object):void;                                            //MethodID:4597, dispID:0
+
+               //constructor
+               public function IRemoconMethod();                                           //MethodID:4598, dispID:0
+       }
+}
+
+//■script311■
+
+package jp.nicovideo.nicoplayer.remocon.method{
+
+       import jp.nicovideo.nicoplayer.remocon.RemoconReceiver
+
+       //■class(instance)_index:379
+       public class RemoconMethod extends Object implements IRemoconMethod
+       {
+               //static constructor
+               public static function RemoconMethod$cinit()
+               {       //MethodID:4600, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function RemoconMethod(hug1:Function)
+               {       //MethodID:4601, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       super();
+
+                       this._function = hug1;
+               }
+
+               //variables/etc.
+               private var _function:Function;                                 //slotID:0
+
+               public function call(hug1:Object):void
+               {       //MethodID:4602, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 23
+                       this._function.apply(RemoconReceiver.instance.environment, [hug1]);
+               }
+       }
+}
+
+//■script312■
+
+package jp.nicovideo.nicoplayer.models.playlist{
+
+       //■class(instance)_index:380
+       public class PlaylistSortConstants extends Object
+       {
+               //static constructor
+               public static function PlaylistSortConstants$cinit()
+               {       //MethodID:4604, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 147
+                       CREATE_TIME_ASCEND = 0;
+                       CREATE_TIME_DESCEND = 1;
+                       MYLIST_COMMENT_ASCEND = 2;
+                       MYLIST_COMMENT_DESCEND = 3;
+                       TITLE_ASCEND = 4;
+                       TITLE_DESCEND = 5;
+                       FIRST_RETREVE_DESCEND = 6;
+                       FIRST_RETREVE_ASCEND = 7;
+                       VIEW_COUNTER_DESCEND = 8;
+                       VIEW_COUNTER_ASCEND = 9;
+                       UPDATE_TIME_DESCEND = 10;
+                       UPDATE_TIME_ASCEND = 11;
+                       NUM_RES_DESCEND = 12;
+                       NUM_RES_ASCEND = 13;
+                       MYLIST_COUNTER_DESCEND = 14;
+                       MYLIST_COUNTER_ASCEND = 15;
+                       LENGTH_SECONDS_DESCEND = 16;
+                       LENGTH_SECONDS_ASCEND = 17;
+               }
+
+               //static variables/etc.
+               public static const CREATE_TIME_ASCEND:uint = 0;                //slotID:1
+               public static const CREATE_TIME_DESCEND:uint = 1;               //slotID:2
+               public static const MYLIST_COMMENT_ASCEND:uint = 2;             //slotID:3
+               public static const MYLIST_COMMENT_DESCEND:uint = 3;            //slotID:4
+               public static const TITLE_ASCEND:uint = 4;                      //slotID:5
+               public static const TITLE_DESCEND:uint = 5;                     //slotID:6
+               public static const FIRST_RETREVE_DESCEND:uint = 6;             //slotID:7
+               public static const FIRST_RETREVE_ASCEND:uint = 7;              //slotID:8
+               public static const VIEW_COUNTER_DESCEND:uint = 8;              //slotID:9
+               public static const VIEW_COUNTER_ASCEND:uint = 9;               //slotID:10
+               public static const UPDATE_TIME_DESCEND:uint = 10;              //slotID:11
+               public static const UPDATE_TIME_ASCEND:uint = 11;               //slotID:12
+               public static const NUM_RES_DESCEND:uint = 12;                  //slotID:13
+               public static const NUM_RES_ASCEND:uint = 13;                   //slotID:14
+               public static const MYLIST_COUNTER_DESCEND:uint = 14;           //slotID:15
+               public static const MYLIST_COUNTER_ASCEND:uint = 15;            //slotID:16
+               public static const LENGTH_SECONDS_DESCEND:uint = 16;           //slotID:17
+               public static const LENGTH_SECONDS_ASCEND:uint = 17;            //slotID:18
+
+               //constructor
+               public function PlaylistSortConstants()
+               {       //MethodID:4605, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script313■
+
+package jp.nicovideo.nicoplayer.models.relation{
+
+       import __AS3__.vec.Vector
+
+       //■class(instance)_index:381
+       public interface IVideoenderInfo
+       {
+               //static constructor
+               public static function IVideoenderInfo$cinit()
+               {       //MethodID:4607, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get liveDJCatategoryName():String;                                 //MethodID:4608, dispID:0
+
+               function get liveDJLinkURL():String;                                        //MethodID:4609, dispID:0
+
+               function get liveDJThumbnailURL():String;                                   //MethodID:4610, dispID:0
+
+               function get liveDJVideoTitle():String;                                     //MethodID:4611, dispID:0
+
+               function get relatedListTarget():String;                                    //MethodID:4612, dispID:0
+
+               function get relatedList():Vector.<IOwnerOtherVideo>;                       //MethodID:4613, dispID:0
+
+               function get ownerVideoListURL():String;                                    //MethodID:4614, dispID:0
+
+               //constructor
+               public function IVideoenderInfo();                                          //MethodID:4615, dispID:0
+       }
+}
+
+//■script314■
+
+package jp.nicovideo.nicoplayer.models.relation{
+
+       import __AS3__.vec.Vector
+
+       //■class(instance)_index:382
+       public class VideoenderInfo extends Object implements IVideoenderInfo
+       {
+               //static constructor
+               public static function VideoenderInfo$cinit()
+               {       //MethodID:4617, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function VideoenderInfo(hug1:Vector.<IOwnerOtherVideo>, hug2:String, hug3:String=null, hug4:String=null, hug5:String=null, hug6:String=null, hug7:String=null)
+               {       //MethodID:4618, LocalCount= 8 , MaxScope= 1, MaxStack= 2, CodeLength= 45
+                       super();
+
+                       this._liveDJCategoryName = hug4;
+                       this._liveDJLinkURL = hug5;
+                       this._liveDJVideoTitle = hug6;
+                       this._liveDJThumbnailURL = hug7;
+                       this._relatedListTarget = hug2;
+                       this._relatedList = hug1;
+                       this._ownerVideoListURL = hug3;
+               }
+
+               //variables/etc.
+               private var _liveDJCategoryName:String;                         //slotID:0
+               private var _liveDJLinkURL:String;                              //slotID:0
+               private var _liveDJThumbnailURL:String;                         //slotID:0
+               private var _liveDJVideoTitle:String;                           //slotID:0
+               private var _relatedListTarget:String;                          //slotID:0
+               private var _relatedList:Vector.<IOwnerOtherVideo>;             //slotID:0
+               private var _ownerVideoListURL:String;                          //slotID:0
+
+               public function get liveDJCatategoryName():String
+               {       //MethodID:4619, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._liveDJCategoryName;
+               }
+
+               public function get liveDJLinkURL():String
+               {       //MethodID:4620, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._liveDJLinkURL;
+               }
+
+               public function get liveDJThumbnailURL():String
+               {       //MethodID:4621, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._liveDJThumbnailURL;
+               }
+
+               public function get liveDJVideoTitle():String
+               {       //MethodID:4622, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._liveDJVideoTitle;
+               }
+
+               public function get relatedListTarget():String
+               {       //MethodID:4623, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._relatedListTarget;
+               }
+
+               public function get relatedList():Vector.<IOwnerOtherVideo>
+               {       //MethodID:4624, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._relatedList;
+               }
+
+               public function get ownerVideoListURL():String
+               {       //MethodID:4625, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._ownerVideoListURL;
+               }
+       }
+}
+
+//■script315■
+//skip components :com.adobe.serialization.json
+//as filename :JSONEncoder.as
+
+//■script316■
+//skip components :com.adobe.serialization.json
+//as filename :JSONDecoder.as
+
+//■script317■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       //■class(instance)_index:385
+       public class Comment extends Object implements IComment
+       {
+               //static constructor
+               public static function Comment$cinit()
+               {       //MethodID:4643, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function Comment()
+               {       //MethodID:4644, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+
+               //variables/etc.
+               private var _commentList:ICommentList;                          //slotID:0
+               private var _comment:String = "";                               //slotID:0
+               private var _buttonComment:String;                              //slotID:0
+               private var _resNo:uint;                                        //slotID:0
+               private var _vpos:Number = 0.0;                                 //slotID:0
+               private var _date:Date;                                         //slotID:0
+               private var _userID:String;                                     //slotID:0
+               private var _userName:String;                                   //slotID:0
+               private var _isOwner:Boolean = false;                           //slotID:0
+               private var _deleted:uint = 0;                                  //slotID:0
+               private var _isPremium:Boolean = false;                         //slotID:0
+               private var _anonymity:uint = 0;                                //slotID:0
+               private var _fromLive:uint = 0;                                 //slotID:0
+               private var _fork:uint = 0;                                     //slotID:0
+               private var _command:ICommand;                                  //slotID:0
+               private var _justPosted:Boolean = false;                        //slotID:0
+               private var _ng:uint = 0;                                       //slotID:0
+               private var _clickCount:uint = 0;                               //slotID:0
+               private var _leafID:uint = 0;                                   //slotID:0
+               private var _isTrunk:Boolean = false;                           //slotID:0
+
+               public function get message():String
+               {       //MethodID:4645, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._comment;
+               }
+
+               internal function set message(hug1:String):void
+               {       //MethodID:4646, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 36
+                       this._comment = hug1;
+
+                       if(this._command && this._command.hasButton) this._initButton();
+               }
+
+               public function get resNo():uint
+               {       //MethodID:4647, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._resNo;
+               }
+
+               internal function set resNo(hug1:uint):void
+               {       //MethodID:4648, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._resNo = hug1;
+               }
+
+               public function get vpos():Number
+               {       //MethodID:4649, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._vpos;
+               }
+
+               internal function set vpos(hug1:Number):void
+               {       //MethodID:4650, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 31
+                       if((hug1 % 10) != 0) throw new ArgumentError("Commentのvpos値の精度は10e-2秒以上である必要があります。vpos=" + hug1);
+
+                       this._vpos = hug1;
+               }
+
+               public function get date():Date
+               {       //MethodID:4651, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._date;
+               }
+
+               internal function set date(hug1:Date):void
+               {       //MethodID:4652, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._date = hug1;
+               }
+
+               public function get userID():String
+               {       //MethodID:4653, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._userID;
+               }
+
+               internal function set userID(hug1:String):void
+               {       //MethodID:4654, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._userID = hug1;
+               }
+
+               public function get userName():String
+               {       //MethodID:4655, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._userName;
+               }
+
+               internal function set userName(hug1:String):void
+               {       //MethodID:4656, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._userName = hug1;
+               }
+
+               public function get isOwner():Boolean
+               {       //MethodID:4657, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isOwner;
+               }
+
+               internal function set isOwner(hug1:Boolean):void
+               {       //MethodID:4658, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isOwner = hug1;
+               }
+
+               public function get deleted():uint
+               {       //MethodID:4659, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._deleted;
+               }
+
+               internal function set deleted(hug1:uint):void
+               {       //MethodID:4660, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._deleted = hug1;
+               }
+
+               public function get isPremium():Boolean
+               {       //MethodID:4661, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isPremium;
+               }
+
+               internal function set isPremium(hug1:Boolean):void
+               {       //MethodID:4662, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isPremium = hug1;
+               }
+
+               public function get anonymity():uint
+               {       //MethodID:4663, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._anonymity;
+               }
+
+               internal function set anonymity(hug1:uint):void
+               {       //MethodID:4664, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._anonymity = hug1;
+               }
+
+               public function get fromLive():uint
+               {       //MethodID:4665, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._fromLive;
+               }
+
+               internal function set fromLive(hug1:uint):void
+               {       //MethodID:4666, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._fromLive = hug1;
+               }
+
+               public function get fork():uint
+               {       //MethodID:4667, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._fork;
+               }
+
+               internal function set fork(hug1:uint):void
+               {       //MethodID:4668, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._fork = hug1;
+               }
+
+               public function get justPosted():Boolean
+               {       //MethodID:4669, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._justPosted;
+               }
+
+               internal function set justPosted(hug1:Boolean):void
+               {       //MethodID:4670, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._justPosted = hug1;
+               }
+
+               public function get ng():uint
+               {       //MethodID:4671, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._ng;
+               }
+
+               internal function set ng(hug1:uint):void
+               {       //MethodID:4672, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._ng = hug1;
+               }
+
+               internal function set clickCount(hug1:uint):void
+               {       //MethodID:4673, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._clickCount = hug1;
+               }
+
+               public function get clickCount():uint
+               {       //MethodID:4674, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._clickCount;
+               }
+
+               public function get command():ICommand
+               {       //MethodID:4675, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._command;
+               }
+
+               internal function set command(hug1:ICommand):void
+               {       //MethodID:4676, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 24
+                       this._command = hug1;
+
+                       if(this._command.hasButton) this._initButton();
+               }
+
+               public function get isClickable():Boolean
+               {       //MethodID:4677, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 35
+                       if(!this.command.hasButton) return false;
+
+                       if(this.commentList) return this.commentList.isClickable(this);
+
+                       return false;
+               }
+
+               private function _initButton():void
+               {       //MethodID:4678, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 188
+                       var hug2:int = 0;
+                       var hug3:int = 0;
+                       var hug4:int = 0;
+                       var hug5:int = 0;
+                       var hug1:RegExp = new RegExp("^(.*?)(\[)(.*)(\])(.*)", "s");
+                       this._buttonComment = this._comment;
+
+                       if(!hug1.test(this._comment)){
+                               hug2 = this._comment.indexOf("[");
+                               hug3 = this._comment.indexOf("]");
+                               hug4 = this._comment.lastIndexOf("[");
+                               hug5 = this._comment.lastIndexOf("]");
+
+                               if((hug2 == (-1)) || ((hug3 != (-1)) && (hug2 > hug3))) this._buttonComment = ("[" + this._comment);
+
+                               if((hug3 == (-1)) || ((hug4 != (-1)) && (hug4 > hug5))) this._buttonComment += "]";
+                       }
+               }
+
+               public function get buttonComment():String
+               {       //MethodID:4679, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 20
+                       if(!this._buttonComment) this._initButton();
+
+                       return this._buttonComment;
+               }
+
+               public function get leafID():uint
+               {       //MethodID:4680, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._leafID;
+               }
+
+               internal function set leafID(hug1:uint):void
+               {       //MethodID:4681, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._leafID = hug1;
+               }
+
+               public function get isTrunk():Boolean
+               {       //MethodID:4682, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isTrunk;
+               }
+
+               internal function set isTrunk(hug1:Boolean):void
+               {       //MethodID:4683, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isTrunk = hug1;
+               }
+
+               public function get commentList():ICommentList
+               {       //MethodID:4684, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._commentList;
+               }
+
+               internal function set commentList(hug1:ICommentList):void
+               {       //MethodID:4685, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._commentList = hug1;
+               }
+       }
+}
+
+//■script318■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+
+       public const comment_builder:* = "jp.nicovideo.nicoplayer.models.comment:comment_builder";//slotID:0
+
+}
+
+//■script319■
+
+package jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren.WindowChildren{
+
+       import flash.display.MovieClip
+
+       //■class(instance)_index:386
+       public interface ITabContent
+       {
+               //static constructor
+               public static function ITabContent$cinit()
+               {       //MethodID:4688, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get tab():Tab;                                                     //MethodID:4689, dispID:0
+
+               function get content():MovieClip;                                           //MethodID:4690, dispID:0
+
+               function onShowingContent():void;                                           //MethodID:4691, dispID:0
+
+               function onHidingContent():void;                                            //MethodID:4692, dispID:0
+
+               //constructor
+               public function ITabContent();                                              //MethodID:4693, dispID:0
+       }
+}
+
+//■script320■
+
+package jp.nicovideo.app.applibar.externals.events{
+
+       import flash.events.Event
+       import jp.nicovideo.app.applibar.externals.IApplibarClient
+
+       //■class(instance)_index:387
+       public class ApplibarClientEvent extends Event
+       {
+               //static constructor
+               public static function ApplibarClientEvent$cinit()
+               {       //MethodID:4695, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       CONTAINER_RESIZE = "containerResize";
+                       SCREEN_RESIZE = "screenResize";
+                       APPLIBAR_VISIBLE_UPDATE = "applibarVisibleUpdate";
+               }
+
+               //static variables/etc.
+               public static const CONTAINER_RESIZE:String = "containerResize";//slotID:1
+               public static const SCREEN_RESIZE:String = "screenResize";      //slotID:2
+               public static const APPLIBAR_VISIBLE_UPDATE:String = "applibarVisibleUpdate";//slotID:3
+
+               //constructor
+               public function ApplibarClientEvent(hug1:String, hug2:IApplibarClient, hug3:Boolean=false, hug4:Boolean=false)
+               {       //MethodID:4696, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 10
+                       super(hug1, hug3, hug4);
+               }
+
+               //variables/etc.
+               private var _client:IApplibarClient;                            //slotID:0
+
+               public function get client():IApplibarClient
+               {       //MethodID:4697, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._client;
+               }
+       }
+}
+
+//■script321■
+
+package jp.nicovideo.app.api{
+
+       import jp.nicovideo.app.info.IAppliInfo
+
+       //■class(instance)_index:388
+       public interface IAPIObjectProvider
+       {
+               //static constructor
+               public static function IAPIObjectProvider$cinit()
+               {       //MethodID:4699, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get majorVersion():uint;                                           //MethodID:4700, dispID:0
+
+               function getObject(hug1:String, hug2:IAppliInfo):*;                         //MethodID:4701, dispID:0
+
+               function putObject(hug1:String, hug2:*):void;                               //MethodID:4702, dispID:0
+
+               function hasSet(hug1:String):Boolean;                                       //MethodID:4703, dispID:0
+
+               //constructor
+               public function IAPIObjectProvider();                                       //MethodID:4704, dispID:0
+       }
+}
+
+//■script322■
+
+package jp.nicovideo.app.applibar.externals{
+
+       //■class(instance)_index:389
+       public class ContainerName extends Object
+       {
+               //static constructor
+               public static function ContainerName$cinit()
+               {       //MethodID:4706, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 39
+                       NICO_PLAYER = "nicoPlayer";
+                       LIVE_PLAYER = "livePlayer";
+                       CANVAS = "canvas";
+                       PLAYWATCHER = "playwatcher";
+               }
+
+               //static variables/etc.
+               public static const NICO_PLAYER:String = "nicoPlayer";          //slotID:1
+               public static const LIVE_PLAYER:String = "livePlayer";          //slotID:2
+               public static const CANVAS:String = "canvas";                   //slotID:3
+               public static const PLAYWATCHER:String = "playwatcher";         //slotID:4
+
+               //constructor
+               public function ContainerName()
+               {       //MethodID:4707, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script323■
+
+package jp.nicovideo.nicoplayer.app.api.v1{
+
+       import jp.nicovideo.app.api.SoloObjectPool
+       import jp.nicovideo.app.api.api_system
+       import jp.nicovideo.app.conf.AppliConstants
+       import jp.nicovideo.app.info.IAppliInfo
+       import jp.nicovideo.nicoplayer.app.api.v1.plugin.common.Marquee
+       import jp.nicovideo.nicoplayer.app.api.v1.plugin.common.NGFilter
+       import jp.nicovideo.nicoplayer.app.api.v1.plugin.www.CommentServerClient
+       import jp.nicovideo.nicoplayer.app.api.v1.plugin.www.NicoThread
+       import jp.nicovideo.nicoplayer.app.api.v1.plugin.www.PlayerConfig
+       import jp.nicovideo.nicoplayer.app.api.v1.plugin.www.VideoInfo
+       import jp.nicovideo.nicoplayer.app.api.v1.plugin.www.VideoPlayer
+       import jp.nicovideo.nicoplayer.plugin.IPluginClient
+       import jp.nicovideo.util.ObjectPool
+
+
+       public function getPools(hug1:IPluginClient):Object
+       {       //dispID:3, MethodID:4718, LocalCount= 3 , MaxScope= 2, MaxStack= 6, CodeLength= 210
+               internal var client:IPluginClient;                              //slotID:1
+               internal var ret:*;                                             //slotID:2
+               internal var marquee:Marquee;                                   //slotID:3
+
+               marquee = null;
+               client = hug1;
+               ret = {};
+               ret["jp.nicovideo.app.plugin.www.VideoInfo"] = new SoloObjectPool(function():VideoInfo{ //MethodID:4709, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 20
+                       return new VideoInfo(client.videoDetail, client.flashVars);
+               });
+
+               ret["jp.nicovideo.app.plugin.www.VideoPlayer"] = new ObjectPool(function(hug1:IAppliInfo):VideoPlayer{  //MethodID:4710, LocalCount= 4 , MaxScope= 0, MaxStack= 4, CodeLength= 51
+                       var hug2:* = new VideoPlayer(client.videoController, client.playerConfig, client.audioShutter);
+                       var hug3:* = hug2;
+
+                       hug3.reset(hug1.id);
+
+                       return hug2;
+               }, AppliConstants.INSTALL_MAX_NUM, function(hug1:VideoPlayer, hug2:IAppliInfo):VideoPlayer{     //MethodID:4711, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 24
+                       var hug3:VideoPlayer = hug1;
+
+                       hug3.reset(hug2.id);
+
+                       return hug1;
+               });
+
+               ret["jp.nicovideo.app.plugin.www.CommentServerClient"] = new ObjectPool(function(hug1:IAppliInfo):CommentServerClient{  //MethodID:4712, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 20
+                       return new CommentServerClient(client.commentListContainer, client.filteredCommentPoolContainer);
+               });
+
+               ret["jp.nicovideo.app.plugin.www.NicoThread"] = new SoloObjectPool(function():NicoThread{       //MethodID:4713, LocalCount= 1 , MaxScope= 0, MaxStack= 4, CodeLength= 35
+                       return new NicoThread(client.getFLV.threadID, client.flashVars.isMymemory, client.getFLV.optionalThreadID);
+               });
+
+               ret["jp.nicovideo.app.plugin.www.PlayerConfig"] = new SoloObjectPool(function():PlayerConfig{   //MethodID:4714, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 14
+                       return new PlayerConfig(client.playerConfig);
+               });
+
+               ret["jp.nicovideo.app.plugin.common.NGFilter"] = new SoloObjectPool(function():NGFilter{        //MethodID:4715, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 14
+                       return new NGFilter(client.ngFilter);
+               });
+
+               marquee = new Marquee();
+
+               client.addInitListener(["marqueeClient"], function():void{      //MethodID:4716, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 14
+                       marquee.init(client.marqueeClient);
+               });
+
+               ret["jp.nicovideo.app.plugin.common.Marquee"] = new SoloObjectPool(function():Marquee{  //MethodID:4717, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 4
+                       return marquee;
+               });
+
+               return ret;
+       }
+
+}
+
+//■script324■
+
+package jp.nicovideo.app.api{
+
+       import jp.nicovideo.app.info.IAppliInfo
+       import jp.nicovideo.util.IObjectPool
+
+       //■class(instance)_index:390
+       public class APIObjectProvider extends Object implements IAPIObjectProvider
+       {
+               //static constructor
+               public static function APIObjectProvider$cinit()
+               {       //MethodID:4720, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function APIObjectProvider(hug1:uint, hug2:Object)
+               {       //MethodID:4721, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+                       super();
+
+                       this._majorVersion = hug1;
+                       this._pools = hug2;
+               }
+
+               //variables/etc.
+               private var _majorVersion:uint;                                 //slotID:0
+               private var _pools:Object;                                      //slotID:0
+
+               public function get majorVersion():uint
+               {       //MethodID:4722, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._majorVersion;
+               }
+
+               public function getObject(hug1:String, hug2:IAppliInfo):*
+               {       //MethodID:4723, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 41
+                       if(!this.hasSet(hug1)) throw new ArgumentError("APIObjectProvider.putObject: name has not been set.");
+
+                       return (this._pools[hug1] as IObjectPool).create(hug2);
+               }
+
+               public function putObject(hug1:String, hug2:*):void
+               {       //MethodID:4724, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 42
+                       if(!this.hasSet(hug1)) throw new ArgumentError("APIObjectProvider.putObject: name has not been set.");
+
+                       var hug3:IObjectPool = this._pools[hug1];
+
+                       hug3.restore(hug2);
+               }
+
+               public function hasSet(hug1:String):Boolean
+               {       //MethodID:4725, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       return this._pools.hasOwnProperty(hug1);
+               }
+       }
+}
+
+//■script325■
+
+package jp.nicovideo.app.applibar.externals{
+
+       //■class(instance)_index:391
+       public interface IBalloonController implements IEventDispatcher
+       {
+               //static constructor
+               public static function IBalloonController$cinit()
+               {       //MethodID:4727, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get isShowing():Boolean;                                           //MethodID:4728, dispID:0
+
+               function get containerWidth():Number;                                       //MethodID:4729, dispID:0
+
+               function get containerHeight():Number;                                      //MethodID:4730, dispID:0
+
+               function close():void;                                                      //MethodID:4731, dispID:0
+
+               //constructor
+               public function IBalloonController();                                       //MethodID:4732, dispID:0
+       }
+}
+
+//■script326■
+
+package jp.nicovideo.util.stream{
+
+       import flash.events.AsyncErrorEvent
+       import flash.events.ErrorEvent
+       import flash.events.Event
+       import flash.events.EventDispatcher
+       import flash.events.NetStatusEvent
+       import flash.events.SecurityErrorEvent
+       import flash.events.TimerEvent
+       import flash.net.NetConnection
+       import flash.net.NetStream
+       import flash.utils.Timer
+       import jp.nicovideo.util.events.EventBarrier
+       import jp.nicovideo.util.stream.events.StreamErrorEvent
+       import jp.nicovideo.util.stream.events.StreamEvent
+
+       //■class(instance)_index:392
+       public class AbstractStreamClient extends EventDispatcher
+       {
+               //static constructor
+               public static function AbstractStreamClient$cinit()
+               {       //MethodID:4734, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function AbstractStreamClient(hug1:StreamSource)
+               {       //MethodID:4737, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 103
+                       internal var stream:StreamSource;                               //slotID:1
+
+                       stream = hug1;
+
+                       super();
+
+                       this._stream = stream;
+                       this._metaDataDelayTimer = new Timer(StreamSource._DEFAULT_BUFFER_TIME, 1);
+
+                       this._metaDataDelayTimer.addEventListener(TimerEvent.TIMER, this._onMetaDataDelayHandler);
+
+                       this._completeBarrier = new EventBarrier();
+
+                       this._stream.addEventListenerClosure(StreamEvent.PAUSED, this._completeBarrier.bind(function(hug1:Event):void{  //MethodID:4735, LocalCount= 2 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+                       }));
+                       this._completeBarrier.finish(function():void{   //MethodID:4736, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 8
+                               _stream.init();
+                       });
+               }
+
+               //variables/etc.
+               protected var _metaDataDelayTimer:Timer;                        //slotID:0
+               protected var _stream:StreamSource;                             //slotID:0
+               private var _metaData:Object;                                   //slotID:0
+               protected var _ns:NetStream;                                    //slotID:0
+               protected var _nc:NetConnection;                                //slotID:0
+               private var _vposWatcher:Timer;                                 //slotID:0
+               protected var _completeBarrier:EventBarrier;                    //slotID:0
+
+               public function seek(hug1:Number):void
+               {       //MethodID:4738, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function resume():void
+               {       //MethodID:4739, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function pause():void
+               {       //MethodID:4740, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function close():void
+               {       //MethodID:4741, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 44
+                       if(this._vposWatcher) this._vposWatcher.stop();
+
+                       if(this._metaDataDelayTimer) this._metaDataDelayTimer.removeEventListener(TimerEvent.TIMER, this._onMetaDataDelayHandler);
+               }
+
+               public function end():void
+               {       //MethodID:4742, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21
+                       this._stream.dispatchEvent(new StreamEvent(StreamEvent.ENDED));
+               }
+
+               public function get loadedLength():Number
+               {       //MethodID:4743, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 5
+                       return 0;
+               }
+
+               public function get vpos():Number
+               {       //MethodID:4744, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 5
+                       return 0;
+               }
+
+               public function set netSteram(hug1:NetStream):void
+               {       //MethodID:4745, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 89
+                       if(this._ns) return;
+
+                       this._ns = hug1;
+
+                       this._ns.removeEventListener(NetStatusEvent.NET_STATUS, this._onNetStatus);
+                       this._ns.removeEventListener(AsyncErrorEvent.ASYNC_ERROR, this._onError);
+                       this._ns.addEventListener(NetStatusEvent.NET_STATUS, this._onNetStatus);
+                       this._ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, this._onError);
+               }
+
+               public function set netConnection(hug1:NetConnection):void
+               {       //MethodID:4746, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 87
+                       if(this._nc) return;
+
+                       this._nc = hug1;
+
+                       this._nc.removeEventListener(NetStatusEvent.NET_STATUS, this._onNetStatus);
+                       this._nc.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this._onError);
+                       this._nc.addEventListener(NetStatusEvent.NET_STATUS, this._onNetStatus);
+                       this._nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this._onError);
+               }
+
+               private function _onMetaDataDelayHandler(hug1:TimerEvent):void
+               {       //MethodID:4747, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 47
+                       this._metaDataDelayTimer.stop();
+
+                       if(this._metaData) this._stream.setMetaData(this._metaData);
+
+                       if(!this._stream.isConnected) this._onInit();
+               }
+
+               protected function _onInit():void
+               {       //MethodID:4748, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
+                       this.pause();
+               }
+
+               protected function _onSuccess():void
+               {       //MethodID:4754, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 32
+                       internal var catchEnd:Function;                                 //slotID:1
+
+                       catchEnd = function():void{     //MethodID:4753, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 91
+                               internal var lastTime:Number;                                   //slotID:1
+
+                               lastTime = NaN;
+                               lastTime = 0;
+                               _vposWatcher = new Timer(250);
+
+                               _vposWatcher.addEventListener(TimerEvent.TIMER, function(hug1:TimerEvent):void{ //MethodID:4749, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 105
+                                       var hug2:Number = NaN;
+
+                                       if(_stream.length == (-1)) return;
+
+                                       if((_stream.vpos >= (_stream.length - 2000)) && (lastTime == _ns.time)){
+                                               hug2 = (lastTime * 1000);
+
+                                               if(hug2 != _stream.length) _stream.setLength(hug2, true);
+                                               end();
+                                       }
+
+                                       lastTime = _ns.time.valueOf();
+                               });
+                               _stream.addEventListenerClosure(StreamEvent.PLAYED, function(hug1:StreamEvent):void{    //MethodID:4750, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 8
+                                       _vposWatcher.start();
+                               });
+                               _stream.addEventListenerClosure(StreamEvent.PAUSED, function(hug1:StreamEvent):void{    //MethodID:4751, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 8
+                                       _vposWatcher.stop();
+                               });
+                               _stream.addEventListenerClosure(StreamEvent.ENDED, function(hug1:StreamEvent):void{     //MethodID:4752, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 8
+                                       _vposWatcher.stop();
+                               });
+                       };
+
+                       this._stream.createNetStream();
+                       catchEnd();
+               }
+
+               private function _onNetStatus(hug1:NetStatusEvent):void
+               {       //MethodID:4755, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 170
+                       switch(hug1.info.level){
+                       case "status":
+                               this._onNormalNetStatus(hug1);
+                               this._stream.dispatchEvent(new StreamEvent(StreamEvent.NET_STATUS, hug1.info));
+                               break;
+                       case "warning":
+                               this._onWarningNetStatus(hug1);
+                               this._stream.dispatchEvent(new StreamEvent(StreamEvent.NET_STATUS, hug1.info));
+                               break;
+                       case "error":
+                               this._onErrorNetStatus(hug1);
+                               break;
+                       default:
+                               break;
+                       }
+               }
+
+               protected function _onNormalNetStatus(hug1:NetStatusEvent):void
+               {       //MethodID:4756, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 114
+                       switch(hug1.info.code){
+                       case "NetConnection.Connect.Success":
+                               this._onSuccess();
+                               break;
+                       case "NetConnection.Connect.Closed":
+                               this.close();
+                               this._stream.dispatchEvent(new StreamEvent(StreamEvent.CLOSE));
+                               break;
+                       default:
+                               break;
+                       }
+               }
+
+               protected function _onErrorNetStatus(hug1:NetStatusEvent):void
+               {       //MethodID:4757, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 91
+                       switch(hug1.info.code){
+                       case "NetStream.Play.StreamNotFound":
+                               this.close();
+                               break;
+                       default:
+                               break;
+                       }
+
+                       this._stream.dispatchEvent(new StreamErrorEvent(StreamErrorEvent.ERROR, hug1.info));
+               }
+
+               protected function _onWarningNetStatus(hug1:NetStatusEvent):void
+               {       //MethodID:4758, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               protected function _onError(hug1:ErrorEvent):void
+               {       //MethodID:4759, LocalCount= 2 , MaxScope= 1, MaxStack= 7, CodeLength= 37
+                       this._stream.dispatchEvent(new StreamErrorEvent(StreamErrorEvent.ERROR, {code:hug1.type, description:hug1.text}));
+               }
+
+               public function onMetaData(hug1:Object, ...rest):void
+               {       //MethodID:4760, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 69
+                       if(!this._metaData){
+                               this._metaData = hug1;
+
+                               if(!this._metaDataDelayTimer.running){
+                                       this._metaDataDelayTimer.removeEventListener(TimerEvent.TIMER, this._onMetaDataDelayHandler);
+                                       this._metaDataDelayTimer.addEventListener(TimerEvent.TIMER, this._onMetaDataDelayHandler);
+                                       this._metaDataDelayTimer.start();
+                               }
+                       }
+               }
+
+               public function onPlayStatus(hug1:Object):void
+               {       //MethodID:4761, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function onXMPData(hug1:Object):void
+               {       //MethodID:4762, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function onImageData(hug1:Object):void
+               {       //MethodID:4763, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function onTextData(hug1:Object):void
+               {       //MethodID:4764, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function onCuePoint(hug1:Object):void
+               {       //MethodID:4765, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function onLastSecond(hug1:Object):void
+               {       //MethodID:4766, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+       }
+}
+
+//■script327■
+
+package jp.nicovideo.util.stream{
+
+       import flash.events.NetStatusEvent
+       import flash.utils.setTimeout
+       import jp.nicovideo.util.stream.events.StreamEvent
+
+       //■class(instance)_index:393
+       public class RtmpClient extends AbstractStreamClient
+       {
+               //static constructor
+               public static function RtmpClient$cinit()
+               {       //MethodID:4768, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function RtmpClient(hug1:StreamSource)
+               {       //MethodID:4769, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 7
+                       super(hug1);
+               }
+
+               //variables/etc.
+               private var _hasSetTimeout4NoMetaData:Boolean = false;          //slotID:0
+               private var _sending:Boolean = false;                           //slotID:0
+
+               override protected function _onSuccess():void
+               {       //MethodID:4771, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 72
+                       super._onSuccess();
+                       _stream.dispatchEvent(new StreamEvent(StreamEvent.START_LOAD));
+                       _stream.dispatchEvent(new StreamEvent(StreamEvent.COMPLETE_LOAD));
+
+                       if(!this._hasSetTimeout4NoMetaData){
+                               setTimeout(function():void{     //MethodID:4770, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 18
+                                       if(!_stream.isConnected) _metaDataDelayTimer.start();
+                               }, 3000);
+
+                               this._hasSetTimeout4NoMetaData = true;
+                       }
+               }
+
+               override public function get loadedLength():Number
+               {       //MethodID:4772, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9
+                       return _stream.length;
+               }
+
+               override public function seek(hug1:Number):void
+               {       //MethodID:4773, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+                       _ns.seek(hug1);
+
+                       this._sending = true;
+               }
+
+               override public function resume():void
+               {       //MethodID:4774, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15
+                       _ns.resume();
+
+                       this._sending = true;
+               }
+
+               override public function pause():void
+               {       //MethodID:4775, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15
+                       _ns.pause();
+
+                       this._sending = true;
+               }
+
+               override public function get vpos():Number
+               {       //MethodID:4776, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+                       return (_ns.time * 1000);
+               }
+
+               override protected function _onNormalNetStatus(hug1:NetStatusEvent):void
+               {       //MethodID:4780, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 204
+                       internal var event:NetStatusEvent;                              //slotID:1
+
+                       event = hug1;
+
+                       super._onNormalNetStatus(event);
+
+                       switch(event.info.code){
+                       case "NetStream.Unpause.Notify":
+                               setTimeout(function():void{     //MethodID:4777, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 25
+                                       _sending = false;
+
+                                       _stream.dispatchEvent(new StreamEvent(StreamEvent.PLAYED));
+                               }, 0);
+                               break;
+                       case "NetStream.Pause.Notify":
+                               setTimeout(function():void{     //MethodID:4778, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 25
+                                       _sending = false;
+
+                                       _stream.dispatchEvent(new StreamEvent(StreamEvent.PAUSED));
+                               }, 0);
+                               break;
+                       case "NetStream.Seek.Notify":
+                               setTimeout(function():void{     //MethodID:4779, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 25
+                                       _sending = false;
+
+                                       _stream.dispatchEvent(new StreamEvent(StreamEvent.SEEKED));
+                               }, 100);
+                               break;
+                       case "NetStream.Buffer.Flush":
+                       case "NetStream.Buffer.Full":
+                               break;
+                       default:
+                               break;
+                       }
+               }
+
+               override protected function _onErrorNetStatus(hug1:NetStatusEvent):void
+               {       //MethodID:4781, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14
+                       super._onErrorNetStatus(hug1);
+
+                       this._sending = false;
+               }
+
+               override public function onPlayStatus(hug1:Object):void
+               {       //MethodID:4782, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 74
+                       super.onPlayStatus(hug1);
+
+                       switch(hug1.code){
+                       case "NetStream.Play.Complete":
+                               end();
+                               break;
+                       default:
+                               break;
+                       }
+               }
+
+               public function onBWDone(... rest):void
+               {       //MethodID:4783, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               public function onBWCheck(... rest):void
+               {       //MethodID:4784, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+       }
+}
+
+import flash.events.EventDispatcher
+import flash.utils.setTimeout
+import jp.nicovideo.util.stream.events.StreamEvent
+
+//■class(instance)_index:394
+//private
+class AsynchronousMethods extends Object
+{
+       //static constructor
+       public static function AsynchronousMethods$cinit()
+       {       //MethodID:4785, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function AsynchronousMethods(hug1:EventDispatcher)
+       {       //MethodID:4786, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 17
+               this._processes = [];
+
+               super();
+
+               this._dispatcher = hug1;
+       }
+
+       //variables/etc.
+       private var _processed:Boolean = false;                         //slotID:0
+       private var _dispatcher:EventDispatcher;                        //slotID:0
+       private var _doEvent:String;                                    //slotID:0
+       private var _processes:Array;                                   //slotID:0
+
+       public function send(hug1:Function, hug2:String):void
+       {       //MethodID:4787, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 74
+               if(!this.processed){
+                       this._doEvent = hug2;
+
+                       this._processes.push({type:hug2.toString(), method:hug1});
+                       hug1();
+               }else{
+                       this._doEvent = hug2;
+
+                       this._processes.push({type:hug2.toString(), method:hug1});
+               }
+       }
+
+       public function reset():void
+       {       //MethodID:4788, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 20
+               this._doEvent = "";
+               this._processed = false;
+               this._processes = [];
+       }
+
+       public function get processed():Boolean
+       {       //MethodID:4789, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14
+               return (this._processes.length != 0);
+       }
+
+       public function recieve(hug1:String):void
+       {       //MethodID:4791, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 50
+               private var type:String;                                        //slotID:1
+
+               type = hug1;
+               this._processes = this._processes.filter(function(hug1:*, hug2:Number, hug3:Array):Boolean{     //MethodID:4790, LocalCount= 4 , MaxScope= 0, MaxStack= 3, CodeLength= 28
+                       if(hug1.type != type){
+                               setTimeout(hug1.method, 0);
+
+                               return true;
+                       }
+
+                       return false;
+               });
+               this._doEvent = type;
+               this._processed = (this._processes.length != 0);
+       }
+
+       public function dispatchDoEvent():void
+       {       //MethodID:4792, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 51
+               if((this._doEvent != "") && (this._doEvent != null)){
+                       this._dispatcher.dispatchEvent(new StreamEvent(this._doEvent));
+
+                       this._doEvent = "";
+               }
+       }
+}
+
+//■script328■
+
+package jp.nicovideo.util.stream{
+
+       import flash.events.Event
+       import flash.events.NetStatusEvent
+       import flash.events.TimerEvent
+       import flash.utils.Timer
+       import flash.utils.setTimeout
+       import jp.nicovideo.util.stream.events.StreamEvent
+
+       //■class(instance)_index:395
+       public class HttpClient extends AbstractStreamClient
+       {
+               //static constructor
+               public static function HttpClient$cinit()
+               {       //MethodID:4794, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function HttpClient(hug1:StreamSource)
+               {       //MethodID:4796, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 41
+                       internal var stream:StreamSource;                               //slotID:1
+
+                       stream = hug1;
+
+                       super(stream);
+                       _stream.addEventListenerClosure(StreamEvent.SEEKED, _completeBarrier.bind(function(hug1:Event):void{    //MethodID:4795, LocalCount= 2 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+                       }));
+               }
+
+               //variables/etc.
+               private var _progressTimer:Timer;                               //slotID:0
+               private var _hasSetTimeout4NoMetaData:Boolean = false;          //slotID:0
+
+               override protected function _onSuccess():void
+               {       //MethodID:4800, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 29
+                       internal var caetchLoaded:Function;                             //slotID:1
+
+                       caetchLoaded = function():void{ //MethodID:4799, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 50
+                               internal var _isLoadStarted:Boolean;                            //slotID:1
+
+                               _isLoadStarted = false;
+                               _isLoadStarted = false;
+                               _progressTimer = new Timer(40);
+
+                               _progressTimer.addEventListener(TimerEvent.TIMER, function(hug1:TimerEvent):void{       //MethodID:4798, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 121
+                                       internal var event:TimerEvent;                                  //slotID:1
+
+                                       event = hug1;
+
+                                       if(_ns.bytesLoaded <= 0) return;
+
+                                       if(!_isLoadStarted){
+                                               _stream.dispatchEvent(new StreamEvent(StreamEvent.START_LOAD));
+
+                                               _isLoadStarted = true;
+                                       }
+
+                                       if(!_hasSetTimeout4NoMetaData){
+                                               setTimeout(function():void{     //MethodID:4797, LocalCount= 1 , MaxScope= 0, MaxStack= 1, CodeLength= 18
+                                                       if(!_stream.isConnected) _metaDataDelayTimer.start();
+                                               }, 3000);
+
+                                               _hasSetTimeout4NoMetaData = true;
+                                       }
+
+                                       if(_ns.bytesLoaded >= _ns.bytesTotal){
+                                               _stream.dispatchEvent(new StreamEvent(StreamEvent.COMPLETE_LOAD));
+                                               _progressTimer.stop();
+                                       }
+                               });
+                               _progressTimer.start();
+                       };
+
+                       super._onSuccess();
+                       caetchLoaded();
+               }
+
+               override protected function _onInit():void
+               {       //MethodID:4801, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15
+                       this.seek(0);
+                       super._onInit();
+               }
+
+               override public function resume():void
+               {       //MethodID:4803, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 26
+                       _ns.resume();
+                       setTimeout(function():void{     //MethodID:4802, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 18
+                               _stream.dispatchEvent(new StreamEvent(StreamEvent.PLAYED));
+                       }, 0);
+               }
+
+               override public function pause():void
+               {       //MethodID:4805, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 26
+                       _ns.pause();
+                       setTimeout(function():void{     //MethodID:4804, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 18
+                               _stream.dispatchEvent(new StreamEvent(StreamEvent.PAUSED));
+                       }, 0);
+               }
+
+               override public function seek(hug1:Number):void
+               {       //MethodID:4806, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       _ns.seek(hug1);
+               }
+
+               override public function get vpos():Number
+               {       //MethodID:4807, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+                       return (_ns.time * 1000);
+               }
+
+               override protected function _onNormalNetStatus(hug1:NetStatusEvent):void
+               {       //MethodID:4809, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 97
+                       internal var event:NetStatusEvent;                              //slotID:1
+
+                       event = hug1;
+
+                       super._onNormalNetStatus(event);
+
+                       switch(event.info.code){
+                       case "NetStream.Seek.Notify":
+                               setTimeout(function():void{     //MethodID:4808, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 18
+                                       _stream.dispatchEvent(new StreamEvent(StreamEvent.SEEKED));
+                               }, 0);
+                               break;
+                       default:
+                               break;
+                       }
+               }
+
+               override public function close():void
+               {       //MethodID:4810, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 16
+                       super.close();
+                       this._progressTimer.stop();
+               }
+
+               override protected function _onErrorNetStatus(hug1:NetStatusEvent):void
+               {       //MethodID:4811, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 70
+                       switch(hug1.info.code){
+                       case "NetStream.Seek.InvalidTime":
+                               break;
+                       default:
+                               break;
+                       }
+
+                       super._onErrorNetStatus(hug1);
+               }
+
+               override public function get loadedLength():Number
+               {       //MethodID:4812, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 38
+                       return ((Number(_ns.bytesLoaded) / Number(_ns.bytesTotal)) * Number(_stream.length));
+               }
+       }
+}
+
+//■script329■
+
+package jp.nicovideo.nicoplayer.models.comment.command{
+
+       //■class(instance)_index:396
+       public class CommandSize extends Object
+       {
+               //static constructor
+               public static function CommandSize$cinit()
+               {       //MethodID:4814, LocalCount= 1 , MaxScope= 1, MaxStack= 7, CodeLength= 89
+                       BIG = "big";
+                       BIG_SIZE = (26 * 1.5);
+                       SMALL = "small";
+                       SMALL_SIZE = (10 * 1.5);
+                       MEDIUM = "medium";
+                       MEDIUM_SIZE = (16 * 1.5);
+                       SIZES = {big:BIG_SIZE, small:SMALL_SIZE, medium:MEDIUM_SIZE};
+               }
+
+               //static variables/etc.
+               public static const BIG:String = "big";                         //slotID:1
+               public static const BIG_SIZE:Number = 39.0;                     //slotID:2
+               public static const SMALL:String = "small";                     //slotID:3
+               public static const SMALL_SIZE:Number = 15.0;                   //slotID:4
+               public static const MEDIUM:String = "medium";                   //slotID:5
+               public static const MEDIUM_SIZE:Number = 24.0;                  //slotID:6
+               public static const SIZES:Object;                               //slotID:7
+
+               //constructor
+               public function CommandSize()
+               {       //MethodID:4815, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script330■
+
+package jp.nicovideo.util.net.local{
+
+       import flash.events.SecurityErrorEvent
+       import flash.net.LocalConnection
+
+       //■class(instance)_index:397
+       public class LocalConnectionFactory extends Object
+       {
+               //static constructor
+               public static function LocalConnectionFactory$cinit()
+               {       //MethodID:4817, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function create():LocalConnection
+               {       //dispID:3, MethodID:4819, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 41
+                       internal var lc:LocalConnection;                                //slotID:1
+
+                       lc = new LocalConnection();
+
+                       lc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(hug1:SecurityErrorEvent):void{  //MethodID:4818, LocalCount= 2 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+                       });
+
+                       return lc;
+               }
+
+               //constructor
+               public function LocalConnectionFactory()
+               {       //MethodID:4820, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script331■
+//skip components :com.adobe.utils
+//as filename :IntUtil.as
+
+//■script332■
+//skip components :mx.utils
+//as filename :Base64Encoder.as
+
+//■script333■
+
+package jp.nicovideo.nicoplayer.models.log.elements.videoMenu{
+
+       //■class(instance)_index:400
+       public class VideoenderContentType extends Object
+       {
+               //static constructor
+               public static function VideoenderContentType$cinit()
+               {       //MethodID:4839, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 84
+                       RELATED_VIDEO = "relatedVideo";
+                       OWNER_VIDEO = "ownerVideo";
+                       LIVE_DJ = "liveDJ";
+                       OWNER_VIDEO_LIST_PAGE_LINK = "ownerVideoListPageLink";
+                       MOBILE_LEAD = "mobileLead";
+                       ADD_MYLIST = "addMylist";
+                       ALREADY_ADDED_MYLIST_LINK = "alreadyAddedMylistLink";
+                       JUST_ADDED_MYLIST_LINK = "justAddedMylistLink";
+                       GET_RELATION_VIDEOS = "getRelationVideos";
+               }
+
+               //static variables/etc.
+               public static const RELATED_VIDEO:String = "relatedVideo";      //slotID:1
+               public static const OWNER_VIDEO:String = "ownerVideo";          //slotID:2
+               public static const LIVE_DJ:String = "liveDJ";                  //slotID:3
+               public static const OWNER_VIDEO_LIST_PAGE_LINK:String = "ownerVideoListPageLink";//slotID:4
+               public static const MOBILE_LEAD:String = "mobileLead";          //slotID:5
+               public static const ADD_MYLIST:String = "addMylist";            //slotID:6
+               public static const ALREADY_ADDED_MYLIST_LINK:String = "alreadyAddedMylistLink";//slotID:7
+               public static const JUST_ADDED_MYLIST_LINK:String = "justAddedMylistLink";//slotID:8
+               public static const GET_RELATION_VIDEOS:String = "getRelationVideos";//slotID:9
+
+               //constructor
+               public function VideoenderContentType()
+               {       //MethodID:4840, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script334■
+
+package jp.nicovideo.nicoplayer.models.log.elements.videoMenu{
+
+       //■class(instance)_index:401
+       public class VideoenderTorrigerType extends Object
+       {
+               //static constructor
+               public static function VideoenderTorrigerType$cinit()
+               {       //MethodID:4842, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       BUTTON_CLICK = "buttonClick";
+                       END = "end";
+               }
+
+               //static variables/etc.
+               public static const BUTTON_CLICK:String = "buttonClick";        //slotID:1
+               public static const END:String = "end";                         //slotID:2
+
+               //constructor
+               public function VideoenderTorrigerType()
+               {       //MethodID:4843, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script335■
+
+package jp.nicovideo.util.net.local{
+
+       import flash.events.DataEvent
+       import flash.events.Event
+       import flash.events.EventDispatcher
+
+       use namespace (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test);
+
+       //■class(instance)_index:402
+       public class LocalSession extends EventDispatcher
+       {
+               //static constructor
+               public static function LocalSession$cinit()
+               {       //MethodID:4845, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       SLAVE_PING_INTERVAL = 1000;
+               }
+
+               //static variables/etc.
+               internal static const SLAVE_PING_INTERVAL:Number = 1000.0;      //slotID:1
+
+               //constructor
+               public function LocalSession(hug1:String)
+               {       //MethodID:4846, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 163
+                       this._receiver = {};
+                       this._slaveNames = [];
+
+                       super();
+
+                       this._master = new LocalSessionMaster(hug1);
+                       this._slave = new LocalSessionSlave(this._master);
+
+                       this._slave.addEventListener(Event.INIT, dispatchEvent);
+                       this._slave.addEventListener(DataEvent.DATA, dispatchEvent);
+                       this._slave.addEventListener(LocalSessionEvent.SEND_SUCCEEDED, dispatchEvent);
+                       this._slave.addEventListener(LocalSessionEvent.SEND_FAILURE, dispatchEvent);
+                       this._master.addEventListener(LocalSessionEvent.MASTERIZE, dispatchEvent);
+                       this._master.addEventListener(LocalSessionEvent.MASTER_PRESENCE, dispatchEvent);
+                       this._slave.addEventListener(LocalSessionEvent.MASTER_ABSENCE, dispatchEvent);
+               }
+
+               //variables/etc.
+               private var _receiver:Object;                                   //slotID:0
+               private var _slaveNames:Array;                                  //slotID:0
+               private var _hasJoined:Boolean = false;                         //slotID:0
+               private var _slave:LocalSessionSlave;                           //slotID:0
+               private var _master:LocalSessionMaster;                         //slotID:0
+
+               public function get hasJoined():Boolean
+               {       //MethodID:4847, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._hasJoined;
+               }
+
+               public function join():void
+               {       //MethodID:4848, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       this._master.masterize([]);
+                       this._slave.join();
+               }
+
+               public function setReceiver(hug1:String, hug2:Function=null):void
+               {       //MethodID:4849, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 13
+                       this._slave.setReceiver(hug1, hug2);
+               }
+
+               public function get slaveNames():Array
+               {       //MethodID:4850, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._slave.slaveNames;
+               }
+
+               public function get connectionName():String
+               {       //MethodID:4851, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._slave.name;
+               }
+
+               public function send(hug1:String, hug2:String, hug3:*):void
+               {       //MethodID:4852, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 14
+                       this._slave.send(hug1, hug2, hug3);
+               }
+
+               public function sendAll(hug1:String, hug2:*):void
+               {       //MethodID:4853, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 13
+                       this._slave.sendAll(hug1, hug2);
+               }
+
+               public function ping(hug1:String):void
+               {       //MethodID:4854, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       this._slave.ping(hug1);
+               }
+
+               public function close():void
+               {       //MethodID:4855, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 36
+                       this._slave.close();
+                       this._master.close();
+                       dispatchEvent(new Event(Event.CLOSE));
+               }
+
+               public function get maseterConnectionName():String
+               {       //MethodID:4856, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._master.masterName;
+               }
+
+               public function get isMaster():Boolean
+               {       //MethodID:4857, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._master.isMaster;
+               }
+
+               public function get hasInitialized():Boolean
+               {       //MethodID:4858, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._slave.hasInitialized;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get master():LocalSessionMaster
+               {       //MethodID:4859, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._master;
+               }
+
+               (http://www.nicovideo.jp/as3_ns/nicoplayer/util.test) function get slave():LocalSessionSlave
+               {       //MethodID:4860, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._slave;
+               }
+       }
+}
+
+//■script336■
+
+package jp.nicovideo.util.net.local{
+
+       import flash.events.Event
+
+       //■class(instance)_index:403
+       public class LocalSessionEvent extends Event
+       {
+               //static constructor
+               public static function LocalSessionEvent$cinit()
+               {       //MethodID:4862, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 48
+                       MASTERIZE = "masterize";
+                       MASTER_ABSENCE = "masterAbsense";
+                       MASTER_PRESENCE = "masterPresense";
+                       SEND_SUCCEEDED = "sendSucceeded";
+                       SEND_FAILURE = "sendFailure";
+               }
+
+               //static variables/etc.
+               public static const MASTERIZE:String = "masterize";             //slotID:1
+               public static const MASTER_ABSENCE:String = "masterAbsense";    //slotID:2
+               public static const MASTER_PRESENCE:String = "masterPresense";  //slotID:3
+               public static const SEND_SUCCEEDED:String = "sendSucceeded";    //slotID:4
+               public static const SEND_FAILURE:String = "sendFailure";        //slotID:5
+
+               //constructor
+               public function LocalSessionEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false, hug4:String=null)
+               {       //MethodID:4863, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 15
+                       super(hug1, hug2, hug3);
+
+                       this._connectionName = hug4;
+               }
+
+               //variables/etc.
+               private var _connectionName:String;                             //slotID:0
+
+               public function get connectionName():String
+               {       //MethodID:4864, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._connectionName;
+               }
+
+               override public function clone():Event
+               {       //MethodID:4865, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 23
+                       return new LocalSessionEvent(type, bubbles, cancelable, this.connectionName);
+               }
+       }
+}
+
+//■script337■
+
+package jp.nicovideo.nicoplayer.views.comment.elements{
+
+       import flash.display.MovieClip
+       import flash.events.MouseEvent
+       import flash.filters.GlowFilter
+       import flash.text.TextField
+       import flash.text.TextFieldAutoSize
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+
+       //■class(instance)_index:404
+       public class ButtonContainer extends MovieClip
+       {
+               //static constructor
+               public static function ButtonContainer$cinit()
+               {       //MethodID:4867, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function ButtonContainer()
+               {       //MethodID:4868, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 135
+                       this._prefix = new TextField();
+                       this._postfix = new TextField();
+                       this._button = new UserButton();
+
+                       super();
+
+                       this._postfix.autoSize = TextFieldAutoSize.LEFT;
+                       this._prefix.autoSize = TextFieldAutoSize.LEFT;
+                       var hug2:Boolean = false;
+                       this._postfix.selectable = hug2;
+                       this._prefix.selectable = hug2;
+                       var hug2:Boolean = true;
+                       this._postfix.multiline = hug2;
+                       this._prefix.multiline = hug2;
+                       var hug1:Array = [CommentTextField.BEVELFILTER_NORMAL];
+                       var hug2:Array = hug1;
+                       this._postfix.filters = hug2;
+                       this._prefix.filters = hug2;
+               }
+
+               //variables/etc.
+               private var _comment:IComment;                                  //slotID:0
+               private var _prefix:TextField;                                  //slotID:0
+               private var _postfix:TextField;                                 //slotID:0
+               private var _button:UserButton;                                 //slotID:0
+
+               public function setupBoard():void
+               {       //MethodID:4869, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 396
+                       this._button.baseCenter.width = this._button.field.width;
+
+                       if(this._button.counter.visible) this._button.baseCenter.width += this._button.counter.width;
+
+                       this._button.baseRight.height = this._button.field.height;
+                       this._button.baseCenter.height = this._button.field.height;
+                       this._button.baseLeft.height = this._button.field.height;
+                       var hug1:int = 0;
+                       this._button.y = hug1;
+                       this._postfix.y = hug1;
+                       this._prefix.y = hug1;
+
+                       if(this._prefix.text != ""){
+                               this._prefix.x = 0;
+                               this._button.baseLeft.x = (this._prefix.x + this._prefix.width);
+
+                               addChild(this._prefix);
+                       }else{
+                               this._button.baseLeft.x = 0;
+                       }
+
+                       this._button.field.x = (this._button.baseLeft.x + this._button.baseLeft.width);
+                       this._button.baseCenter.x = (this._button.baseLeft.x + this._button.baseLeft.width);
+                       this._button.counter.x = (this._button.field.x + this._button.field.width);
+                       this._button.baseRight.x = (this._button.baseCenter.x + this._button.baseCenter.width);
+
+                       if(this._postfix.text != ""){
+                               this._postfix.x = (this._button.baseRight.x + this._button.baseRight.width);
+
+                               addChild(this._postfix);
+                       }
+
+                       addChild(this._button);
+               }
+
+               public function initMouseHandler(hug1:IComment):void
+               {       //MethodID:4870, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 87
+                       this._button.mouseChildren = false;
+                       var hug2:Boolean = true;
+                       this._button.buttonMode = hug2;
+                       this._button.useHandCursor = hug2;
+
+                       this._button.addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverHandler);
+                       this._button.addEventListener(MouseEvent.MOUSE_OUT, this.mouseOutHandler);
+                       this._button.addEventListener(MouseEvent.CLICK, this.onClickButton);
+
+                       this._comment = hug1;
+               }
+
+               public function releaseClickHandler():void
+               {       //MethodID:4871, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 83
+                       this._button.mouseChildren = false;
+                       this._button.useHandCursor = false;
+                       this._button.buttonMode = false;
+
+                       this._button.removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverHandler);
+                       this._button.removeEventListener(MouseEvent.MOUSE_OUT, this.mouseOutHandler);
+                       this._button.removeEventListener(MouseEvent.CLICK, this.onClickButton);
+
+                       this._comment = null;
+               }
+
+               private function mouseOverHandler(hug1:MouseEvent):void
+               {       //MethodID:4872, LocalCount= 6 , MaxScope= 1, MaxStack= 8, CodeLength= 83
+                       var hug2:GlowFilter = new GlowFilter(0xFFFFFF, 0.5, 100, 100, 10, 3, true);
+                       var hug3:Array = [hug2];
+                       var hug4:UserButton = (hug1.target as UserButton);
+                       var hug5:Array = hug3;
+                       hug4.baseRight.filters = hug5;
+                       hug4.baseCenter.filters = hug5;
+                       hug4.baseLeft.filters = hug5;
+               }
+
+               private function mouseOutHandler(hug1:MouseEvent):void
+               {       //MethodID:4873, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 48
+                       var hug2:UserButton = (hug1.target as UserButton);
+                       var hug3:Array = [];
+                       hug2.baseRight.filters = hug3;
+                       hug2.baseCenter.filters = hug3;
+                       hug2.baseLeft.filters = hug3;
+               }
+
+               private function onClickButton(hug1:MouseEvent):void
+               {       //MethodID:4874, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 34
+                       this._comment.commentList.clickButtonComment(this._comment);
+
+                       if(!this._comment.isClickable) this.releaseClickHandler();
+               }
+
+               public function get prefix():TextField
+               {       //MethodID:4875, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._prefix;
+               }
+
+               public function get postfix():TextField
+               {       //MethodID:4876, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._postfix;
+               }
+
+               public function get button():UserButton
+               {       //MethodID:4877, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._button;
+               }
+
+               public function get comment():IComment
+               {       //MethodID:4878, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._comment;
+               }
+       }
+}
+
+import flash.display.MovieClip
+import flash.text.TextField
+import flash.text.TextFieldAutoSize
+import jp.nicovideo.nicoplayer.views.comment.elements.CommentTextField
+
+//■class(instance)_index:405
+//private
+class UserButton extends MovieClip
+{
+       //static constructor
+       public static function UserButton$cinit()
+       {       //MethodID:4879, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function UserButton()
+       {       //MethodID:4880, LocalCount= 4 , MaxScope= 1, MaxStack= 7, CodeLength= 263
+               this._ButtonClass = UserButton__ButtonClass;
+               this.field = new TextField();
+               this.counter = new TextField();
+
+               super();
+
+               var hug1:Object = new this._ButtonClass();
+               this.baseLeft = hug1.BaseLeft;
+               this.baseCenter = hug1.BaseCenter;
+               this.baseRight = hug1.BaseRight;
+               var hug2:Array = [CommentTextField.BEVELFILTER_NORMAL];
+               this.field.multiline = true;
+               var hug3:Boolean = false;
+               this.counter.selectable = hug3;
+               this.field.selectable = hug3;
+               this.counter.autoSize = TextFieldAutoSize.LEFT;
+               this.field.autoSize = TextFieldAutoSize.LEFT;
+               var hug3:int = 0;
+               this.baseRight.y = hug3;
+               this.baseCenter.y = hug3;
+               this.baseLeft.y = hug3;
+               this.counter.y = hug3;
+               this.field.y = hug3;
+               var hug3:Array = hug2;
+               this.counter.filters = hug3;
+               this.field.filters = hug3;
+
+               addChild(this.baseLeft);
+               addChild(this.baseCenter);
+               addChild(this.baseRight);
+               addChild(this.field);
+               addChild(this.counter);
+       }
+
+       //variables/etc.
+       private var _ButtonClass:Class;                                 //slotID:0
+       public var baseLeft:MovieClip;                                  //slotID:0
+       public var baseCenter:MovieClip;                                //slotID:0
+       public var baseRight:MovieClip;                                 //slotID:0
+       public var field:TextField;                                     //slotID:0
+       public var counter:TextField;                                   //slotID:0
+}
+
+//■script338■
+
+package jp.nicovideo.util{
+
+       import flash.utils.Proxy
+       import flash.utils.flash_proxy
+
+       use namespace flash_proxy;
+
+       //■class(instance)_index:406
+       public class SortedArray extends Proxy
+       {
+               //static constructor
+               public static function SortedArray$cinit()
+               {       //MethodID:4882, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19
+                       REMOVE = 1;
+                       BREAK = 2;
+               }
+
+               //static variables/etc.
+               public static const REMOVE:uint = 1;                            //slotID:1
+               public static const BREAK:uint = 2;                             //slotID:2
+
+               //constructor
+               public function SortedArray(hug1:Function=null)
+               {       //MethodID:4884, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       this.__a = [];
+                       this.__sorter = function(hug1:*, hug2:*):*{     //MethodID:4883, LocalCount= 3 , MaxScope= 0, MaxStack= 2, CodeLength= 32
+                               return ((hug1 < hug2) ? (-1) : ((hug1 == hug2) ? 0 : 1));
+                       };
+                       super();
+
+                       if(hug1 != null) this.__sorter = hug1;
+               }
+
+               //variables/etc.
+               private var __a:Array;                                          //slotID:0
+               private var __sorter:Function;                                  //slotID:0
+
+               public function get length():uint
+               {       //MethodID:4885, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this.__a.length;
+               }
+
+               public function add(hug1:*, hug2:*):int
+               {       //MethodID:4886, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 69
+                       if(hug2 === undefined) hug2 = hug1;
+
+                       var hug3:int = this.__bSearch(hug1);
+
+                       if((hug3 == (-1)) || (this.__sorter(hug1, this.__a[hug3]) != 0)) hug3++;
+                       this.__a.splice(hug3, 0, hug2);
+
+                       return hug3;
+               }
+
+               public function addRepeatedly(... rest):void
+               {       //MethodID:4887, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 42
+                       var hug2:* = undefined;
+
+                       for each(hug2 in rest){
+                               this.add(hug2, hug2);
+                       }
+               }
+
+               public function remove(hug1:*, hug2:Boolean=true):void
+               {       //MethodID:4890, LocalCount= 4 , MaxScope= 2, MaxStack= 3, CodeLength= 82
+                       internal var key:*;                                             //slotID:1
+                       internal var all:Boolean = true;                                //slotID:2
+                       internal var remove_all:Function;                               //slotID:3
+                       internal var remove_first:Function;                             //slotID:4
+
+                       remove_all = null;
+                       remove_first = null;
+                       key = hug1;
+                       all = hug2;
+                       remove_all = function(... rest):uint{   //MethodID:4888, LocalCount= 2 , MaxScope= 0, MaxStack= 1, CodeLength= 4
+                               return REMOVE;
+                       };
+
+                       remove_first = function(... rest):uint{ //MethodID:4889, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 8
+                               return (REMOVE | BREAK);
+                       };
+
+                       this.select((all ? remove_all : remove_first), key);
+               }
+
+               public function select(hug1:Function, hug2:*):void
+               {       //MethodID:4891, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 127
+                       var hug4:uint = 0;
+                       var hug3:int = this.__bSearch(hug2);
+
+                       if(hug3 == (-1)) return;
+
+                       while(this.__sorter(hug2, this.__a[hug3]) == 0){
+                               hug4 = hug1(hug3, this.__a[hug3]);
+
+                               if((hug4 & REMOVE) != 0) this.__a.splice((hug3--), 1);
+
+                               if(((hug4 & BREAK) != 0) || ((++hug3) >= this.__a.length)) break;
+                       }
+               }
+
+               public function find(hug1:*):*
+               {       //MethodID:4892, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 60
+                       var hug2:int = this.__bSearch(hug1);
+                       return (((hug2 != (-1)) && (this.__sorter(hug1, this.__a[hug2]) == 0)) ? this.__a[hug2] : undefined);
+               }
+
+               public function contains(hug1:*):Boolean
+               {       //MethodID:4893, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 39
+                       var hug2:int = this.__bSearch(hug1);
+                       return ((hug2 != (-1)) && (this.__sorter(hug1, this.__a[hug2]) == 0));
+               }
+
+               public function clear():void
+               {       //MethodID:4894, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
+                       this.__a.splice(0);
+               }
+
+               private function __bSearch(hug1:*):int
+               {       //MethodID:4895, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 19
+                       return ArrayUtils.lowerBoundIndex(this.__sorter, hug1, this.__a);
+               }
+
+               override flash_proxy function nextNameIndex(hug1:int):int
+               {       //MethodID:4896, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       return ((hug1 < this.__a.length) ? (hug1 + 1) : 0);
+               }
+
+               override flash_proxy function nextValue(hug1:int):*
+               {       //MethodID:4897, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 12
+                       return this.__a[hug1 - 1];
+               }
+       }
+}
+
+//■script339■
+
+package jp.nicovideo.nicoscript.macro{
+
+       //■class(instance)_index:407
+       public class NicoScriptError extends Error
+       {
+               //static constructor
+               public static function NicoScriptError$cinit()
+               {       //MethodID:4899, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function NicoScriptError(hug1:String)
+               {       //MethodID:4900, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 7
+                       super(hug1);
+               }
+       }
+}
+
+//■script340■
+
+package jp.nicovideo.nicoplayer.storages.commentStorage{
+
+       //■class(instance)_index:408
+       public class TransactorError extends Error
+       {
+               //static constructor
+               public static function TransactorError$cinit()
+               {       //MethodID:4902, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function TransactorError(hug1:Array)
+               {       //MethodID:4903, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 15
+                       super("", 0);
+
+                       this.args = hug1;
+               }
+
+               //variables/etc.
+               public var args:Array;                                          //slotID:0
+       }
+}
+
+//■script341■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       //■class(instance)_index:409
+       public interface ILeaf
+       {
+               //static constructor
+               public static function ILeaf$cinit()
+               {       //MethodID:4905, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get id():int;                                                      //MethodID:4906, dispID:0
+
+               function get threadID():int;                                                //MethodID:4907, dispID:0
+
+               function get count():int;                                                   //MethodID:4908, dispID:0
+
+               //constructor
+               public function ILeaf();                                                    //MethodID:4909, dispID:0
+       }
+}
+
+//■script342■
+
+package jp.nicovideo.nicoplayer.models.comment{
+
+       //■class(instance)_index:410
+       public class Leaf extends Object implements ILeaf
+       {
+               //static constructor
+               public static function Leaf$cinit()
+               {       //MethodID:4911, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function Leaf(hug1:int, hug2:int, hug3:int)
+               {       //MethodID:4912, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       super();
+
+                       this._id = hug1;
+                       this._threadID = hug2;
+                       this._count = hug3;
+               }
+
+               //variables/etc.
+               private var _id:int = 0;                                        //slotID:0
+               private var _threadID:int = 0;                                  //slotID:0
+               private var _count:int = 0;                                     //slotID:0
+
+               public function get id():int
+               {       //MethodID:4913, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._id;
+               }
+
+               public function get threadID():int
+               {       //MethodID:4914, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._threadID;
+               }
+
+               public function get count():int
+               {       //MethodID:4915, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._count;
+               }
+       }
+}
+
+//■script343■
+//skip components :com.adobe.serialization.json
+//as filename :JSONTokenizer.as
+
+//■script344■
+//skip components :com.adobe.serialization.json
+//as filename :JSONToken.as
+
+//■script345■
+//skip components :com.adobe.serialization.json
+//as filename :JSONTokenType.as
+
+//■script346■
+
+package jp.nicovideo.nicoplayer.tpls.NicoplayerTemplateChildren.WindowChildren{
+
+       import flash.display.MovieClip
+       import flash.events.MouseEvent
+       import flash.text.TextField
+       import flash.text.TextFormat
+       import flash.text.TextFormatAlign
+       import flash.utils.getDefinitionByName
+
+       //■class(instance)_index:414
+       public class Tab extends Object
+       {
+               //static constructor
+               public static function Tab$cinit()
+               {       //MethodID:4941, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function Tab(hug1:String, hug2:Function, hug3:String="Window_Tab")
+               {       //MethodID:4944, LocalCount= 5 , MaxScope= 2, MaxStack= 11, CodeLength= 219
+                       internal var label:String;                                      //slotID:1
+                       internal var onClick:Function;                                  //slotID:2
+                       internal var name:String = "Window_Tab";                        //slotID:3
+                       internal var tabClass:Class;                                    //slotID:4
+
+                       label = hug1;
+                       onClick = hug2;
+                       name = hug3;
+                       this._ENABLED_TEXT_FORMAT = new TextFormat("_ゴシック", 12, 0, null, null, null, null, null, TextFormatAlign.CENTER);
+                       this._DISABLED_TEXT_FORMAT = new TextFormat("_ゴシック", 12, 0xFFFFFF, null, null, null, null, null, TextFormatAlign.CENTER);
+
+                       super();
+
+                       tabClass = (getDefinitionByName(name) as Class);
+                       this._tab = new tabClass();
+                       this._label = this._tab.Label;
+                       this._field = this._label.Field;
+                       this._field.text = label;
+                       this._tab.buttonMode = true;
+                       this._tab.mouseChildren = false;
+
+                       this._tab.addEventListener(MouseEvent.CLICK, onClick);
+                       this._tab.addEventListener(MouseEvent.MOUSE_OVER, function(hug1:MouseEvent):void{       //MethodID:4942, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 17
+                               if(!_isActive) _tab.gotoAndStop(2);
+                       });
+                       this._tab.addEventListener(MouseEvent.MOUSE_OUT, function(hug1:MouseEvent):void{        //MethodID:4943, LocalCount= 2 , MaxScope= 0, MaxStack= 2, CodeLength= 17
+                               if(!_isActive) _tab.gotoAndStop(1);
+                       });
+
+                       this.isActive = false;
+               }
+
+               //variables/etc.
+               private const _ENABLED_TEXT_FORMAT:TextFormat;                  //slotID:0
+               private const _DISABLED_TEXT_FORMAT:TextFormat;                 //slotID:0
+               private var _isActive:Boolean = false;                          //slotID:0
+               private var _tab:MovieClip;                                     //slotID:0
+               private var _label:MovieClip;                                   //slotID:0
+               private var _newPopup:MovieClip;                                //slotID:0
+               private var _field:TextField;                                   //slotID:0
+
+               public function get tab():MovieClip
+               {       //MethodID:4945, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._tab;
+               }
+
+               public function get label():MovieClip
+               {       //MethodID:4946, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._label;
+               }
+
+               public function set labelText(hug1:String):void
+               {       //MethodID:4947, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       this._field.text = hug1;
+               }
+
+               public function set isActive(hug1:Boolean):void
+               {       //MethodID:4948, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 73
+                       this._isActive = hug1;
+                       this._tab.useHandCursor = !hug1;
+
+                       this._field.setTextFormat(hug1 ? this._ENABLED_TEXT_FORMAT : this._DISABLED_TEXT_FORMAT);
+                       this._tab.gotoAndStop(hug1 ? 3 : 1);
+               }
+
+               public function get isActive():Boolean
+               {       //MethodID:4949, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isActive;
+               }
+
+               public function get newPopupVisible():Boolean
+               {       //MethodID:4950, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._newPopup.visible;
+               }
+
+               public function set newPopupVisible(hug1:Boolean):void
+               {       //MethodID:4951, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+                       this._newPopup.visible = hug1;
+               }
+       }
+}
+
+//■script347■
+
+package jp.nicovideo.app.info{
+
+       //■class(instance)_index:415
+       public interface IAppliInfo
+       {
+               //static constructor
+               public static function IAppliInfo$cinit()
+               {       //MethodID:4953, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get id():String;                                                   //MethodID:4954, dispID:0
+
+               function get version():String;                                              //MethodID:4955, dispID:0
+
+               function get title():String;                                                //MethodID:4956, dispID:0
+
+               function get isDevelopmentVersion():Boolean;                                //MethodID:4957, dispID:0
+
+               function get threads():IAppliThreads;                                       //MethodID:4958, dispID:0
+
+               //constructor
+               public function IAppliInfo();                                               //MethodID:4959, dispID:0
+       }
+}
+
+//■script348■
+
+package jp.nicovideo.app.api.v1.plugin.common{
+
+       //■class(instance)_index:416
+       public interface IThread
+       {
+               //static constructor
+               public static function IThread$cinit()
+               {       //MethodID:4961, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get threadID():String;                                             //MethodID:4962, dispID:0
+
+               //constructor
+               public function IThread();                                                  //MethodID:4963, dispID:0
+       }
+}
+
+//■script349■
+
+package jp.nicovideo.app.api.v1.plugin.www{
+
+       import jp.nicovideo.app.api.v1.plugin.common.IThread
+
+       //■class(instance)_index:417
+       public interface INicoThread implements IThread
+       {
+               //static constructor
+               public static function INicoThread$cinit()
+               {       //MethodID:4965, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get isMymemory():Boolean;                                          //MethodID:4966, dispID:0
+
+               function get optionalThread():IThread;                                      //MethodID:4967, dispID:0
+
+               //constructor
+               public function INicoThread();                                              //MethodID:4968, dispID:0
+       }
+}
+
+//■script350■
+
+package jp.nicovideo.nicoplayer.app.api.v1.plugin.www{
+
+       import jp.nicovideo.app.api.v1.plugin.common.IThread
+
+       //■class(instance)_index:418
+       public class NicoThread extends Object implements INicoThread
+       {
+               //static constructor
+               public static function NicoThread$cinit()
+               {       //MethodID:4970, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function NicoThread(hug1:String, hug2:Boolean=false, hug3:String=null)
+               {       //MethodID:4971, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 33
+                       super();
+
+                       this._threadID = hug1;
+                       this._isMymemory = hug2;
+
+                       if(hug3) this._optionalThread = new _Thread(hug3);
+               }
+
+               //variables/etc.
+               private var _threadID:String;                                   //slotID:0
+               private var _isMymemory:Boolean;                                //slotID:0
+               private var _optionalThread:_Thread = null;                     //slotID:0
+
+               public function get isMymemory():Boolean
+               {       //MethodID:4972, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isMymemory;
+               }
+
+               public function get optionalThread():IThread
+               {       //MethodID:4973, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._optionalThread;
+               }
+
+               public function get threadID():String
+               {       //MethodID:4974, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._threadID;
+               }
+       }
+}
+
+
+//■class(instance)_index:419
+//private
+class _Thread extends Object implements IThread
+{
+       //static constructor
+       public static function _Thread$cinit()
+       {       //MethodID:4975, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _Thread(hug1:String)
+       {       //MethodID:4976, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+               super();
+
+               this._threadID = hug1;
+       }
+
+       //variables/etc.
+       private var _threadID:String;                                   //slotID:0
+
+       public function get threadID():String
+       {       //MethodID:4977, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+               return this._threadID;
+       }
+}
+
+//■script351■
+
+package jp.nicovideo.app.api{
+
+       //■class(instance)_index:421
+       public class SoloObjectPool extends Object implements IObjectPool
+       {
+               //static constructor
+               public static function SoloObjectPool$cinit()
+               {       //MethodID:4981, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function SoloObjectPool(hug1:Function)
+               {       //MethodID:4982, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
+                       this._object = new _NullObject();
+
+                       super();
+
+                       this._create = hug1;
+               }
+
+               //variables/etc.
+               private var _create:Function;                                   //slotID:0
+               private var _object:*;                                          //slotID:0
+
+               public function create(... rest):*
+               {       //MethodID:4983, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 33
+                       if(this._object is _NullObject) this._object = this._create.apply(null, rest);
+
+                       return this._object;
+               }
+
+               public function restore(hug1:*):void
+               {       //MethodID:4984, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+       }
+}
+
+
+//■class(instance)_index:420
+//private
+class _NullObject extends Object
+{
+       //static constructor
+       public static function _NullObject$cinit()
+       {       //MethodID:4979, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _NullObject()
+       {       //MethodID:4980, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+               super();
+       }
+}
+
+//■script352■
+
+package jp.nicovideo.app.conf{
+
+       //■class(instance)_index:422
+       public class AppliConstants extends Object
+       {
+               //static constructor
+               public static function AppliConstants$cinit()
+               {       //MethodID:4986, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 20
+                       INSTALL_MAX_NUM = 100;
+                       NICOPO_SITE_CODE = "S000E";
+               }
+
+               //static variables/etc.
+               public static const INSTALL_MAX_NUM:Number = 100.0;             //slotID:1
+               public static const NICOPO_SITE_CODE:String = "S000E";          //slotID:2
+
+               //constructor
+               public function AppliConstants()
+               {       //MethodID:4987, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script353■
+
+package jp.nicovideo.app.api{
+
+
+       public const api_system:* = "jp.nicovideo.app.api.api_system";  //slotID:0
+
+}
+
+//■script354■
+
+package jp.nicovideo.app.api.v1.plugin.www{
+
+       //■class(instance)_index:423
+       public interface IVideoInfo
+       {
+               //static constructor
+               public static function IVideoInfo$cinit()
+               {       //MethodID:4990, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get watchID():String;                                              //MethodID:4991, dispID:0
+
+               function get videoID():String;                                              //MethodID:4992, dispID:0
+
+               function get title():String;                                                //MethodID:4993, dispID:0
+
+               function get description():String;                                          //MethodID:4994, dispID:0
+
+               function get thumbTitle():String;                                           //MethodID:4995, dispID:0
+
+               function get thumbDescription():String;                                     //MethodID:4996, dispID:0
+
+               function get thumbnailImageURL():String;                                    //MethodID:4997, dispID:0
+
+               function get tags():Array;                                                  //MethodID:4998, dispID:0
+
+               function get postedAt():Date;                                               //MethodID:4999, dispID:0
+
+               function get viewCount():Number;                                            //MethodID:5000, dispID:0
+
+               //constructor
+               public function IVideoInfo();                                               //MethodID:5001, dispID:0
+       }
+}
+
+//■script355■
+
+package jp.nicovideo.nicoplayer.app.api.v1.plugin.www{
+
+       import jp.nicovideo.nicoplayer.models.IVideoDetail
+       import jp.nicovideo.nicoplayer.models.flashvars.NicoFlashVars
+
+       //■class(instance)_index:424
+       public class VideoInfo extends Object implements IVideoInfo
+       {
+               //static constructor
+               public static function VideoInfo$cinit()
+               {       //MethodID:5003, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function VideoInfo(hug1:IVideoDetail, hug2:NicoFlashVars)
+               {       //MethodID:5004, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+                       super();
+
+                       this._videoDetail = hug1;
+                       this._flashVars = hug2;
+               }
+
+               //variables/etc.
+               private var _videoDetail:IVideoDetail;                          //slotID:0
+               private var _flashVars:NicoFlashVars;                           //slotID:0
+
+               public function get watchID():String
+               {       //MethodID:5005, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._flashVars.watchID;
+               }
+
+               public function get videoID():String
+               {       //MethodID:5006, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._flashVars.originalVideoID;
+               }
+
+               public function get title():String
+               {       //MethodID:5007, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._videoDetail.title;
+               }
+
+               public function get description():String
+               {       //MethodID:5008, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._videoDetail.description;
+               }
+
+               public function get thumbTitle():String
+               {       //MethodID:5009, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._flashVars.videoTitle;
+               }
+
+               public function get thumbDescription():String
+               {       //MethodID:5010, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._flashVars.videoDescription;
+               }
+
+               public function get thumbnailImageURL():String
+               {       //MethodID:5011, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 13
+                       return this._flashVars.watchFlashVars.thumbImage;
+               }
+
+               public function get tags():Array
+               {       //MethodID:5012, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._videoDetail.tags;
+               }
+
+               public function get postedAt():Date
+               {       //MethodID:5013, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._videoDetail.postedAt;
+               }
+
+               public function get viewCount():Number
+               {       //MethodID:5014, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._videoDetail.viewCount;
+               }
+       }
+}
+
+//■script356■
+
+package jp.nicovideo.nicoplayer.app.api.v1.plugin.www{
+
+       import flash.events.EventDispatcher
+       import jp.nicovideo.app.api.v1.plugin.www.CommentType
+       import jp.nicovideo.app.api.v1.plugin.www.events.CommentEvent
+       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.CommentPoolContainer
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       import jp.nicovideo.nicoplayer.models.comment.ICommentList
+       import jp.nicovideo.util.events.event_sender
+
+       //■class(instance)_index:425
+       public class CommentServerClient extends EventDispatcher
+       {
+               //static constructor
+               public static function CommentServerClient$cinit()
+               {       //MethodID:5016, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               private static function _removeBadComments(hug1:Array):Array
+               {       //dispID:3, MethodID:5017, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 63
+                       var hug3:IComment = null;
+                       var hug2:Array = [];
+
+                       for each(hug3 in hug1){
+                               if(!_isBadComment(hug3)) hug2.push(hug3);
+                       }
+
+                       return hug2;
+               }
+
+               private static function _isBadComment(hug1:IComment):Boolean
+               {       //dispID:4, MethodID:5018, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
+                       return false;
+               }
+
+               private static function _convert2API(hug1:*):*
+               {       //dispID:5, MethodID:5019, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 102
+                       var hug2:Array = null;
+                       var hug3:IComment = null;
+
+                       if(hug1 is IComment) return NicoCommentConverter.convertNico2API(hug1);
+
+                       if(hug1 is Array){
+                               hug2 = [];
+
+                               for each(hug3 in hug1){
+                                       hug2.push(NicoCommentConverter.convertNico2API(hug3));
+                               }
+
+                               return hug2;
+                       }else{
+                               throw new ArgumentError("CommentServerClient._convert2API: argument must be IComment or Array of IComment");
+                       }
+               }
+
+               //constructor
+               public function CommentServerClient(hug1:Object, hug2:CommentPoolContainer)
+               {       //MethodID:5020, LocalCount= 9 , MaxScope= 1, MaxStack= 5, CodeLength= 349
+                       var hug3:String = null;
+                       var hug4:String = null;
+                       var hug5:String = null;
+                       var hug6:ICommentList = null;
+                       this._beRefleshTypes = {};
+                       this._exCommentLists = {};
+                       this._contains = [];
+                       this._typeMap = {};
+
+                       super(null);
+
+                       this._nativeCommentLists = hug1;
+                       this._filteredCommentPools = hug2;
+                       this._typeMap[CommentConstants.CL_MAIN] = CommentType.NORMAL;
+                       this._typeMap[CommentConstants.CL_NICOS] = CommentType.NICOSCRIPT_TRIGGER;
+                       this._typeMap[CommentConstants.CL_LOCAL] = CommentType.LOCAL;
+                       this._typeMap[CommentConstants.CL_PRIVATE] = CommentType.COMMUNITY;
+                       this._typeMap[CommentConstants.CL_OWNER] = CommentType.OWNER;
+
+                       for(hug3 in this._filteredCommentPools.lists){
+                               hug5 = this._typeMap[hug3];
+
+                               this._contains.push(hug5);
+
+                               this._beRefleshTypes[hug5] = true;
+                               this._filteredCommentPools.lists[hug3] = _removeBadComments(this._filteredCommentPools.lists[hug3]);
+                       }
+
+                       this._filteredCommentPools.onCommentPoolContainerUpdated.add(this._updateListener);
+
+                       for(hug4 in this._nativeCommentLists){
+                               hug6 = this._nativeCommentLists[hug4];
+
+                               if(hug4 != CommentConstants.CL_OWNER) hug6.onCommentPost.add(this._postListener);
+                       }
+               }
+
+               //variables/etc.
+               private var _beRefleshTypes:Object;                             //slotID:0
+               private var _exCommentLists:Object;                             //slotID:0
+               private var _contains:Array;                                    //slotID:0
+               private var _typeMap:Object;                                    //slotID:0
+               private var _nativeCommentLists:Object;                         //slotID:0
+               private var _filteredCommentPools:CommentPoolContainer;         //slotID:0
+
+               private function _updateListener(hug1:Array, hug2:Array, hug3:Boolean, hug4:String):void
+               {       //MethodID:5021, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 79
+                       if(hug4 == CommentConstants.CL_OWNER) return;
+
+                       hug1 = _removeBadComments(hug1);
+                       var hug5:String = this._typeMap[hug4];
+                       this._beRefleshTypes[hug5] = true;
+
+                       dispatchEvent(new CommentEvent(CommentEvent.RECEIVE, _convert2API(hug1), hug5));
+               }
+
+               private function _postListener(hug1:IComment, hug2:String):void
+               {       //MethodID:5022, LocalCount= 3 , MaxScope= 1, MaxStack= 6, CodeLength= 53
+                       if(!_isBadComment(hug1)) dispatchEvent(new CommentEvent(CommentEvent.POST, [_convert2API(hug1)], this._typeMap[hug2]));
+               }
+
+               public function get contains():Array
+               {       //MethodID:5023, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._contains;
+               }
+
+               public function getCommentList(hug1:String):Array
+               {       //MethodID:5024, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 52
+                       if(this._contains.indexOf(hug1) == (-1)) throw new ArgumentError();
+
+                       if(this._beRefleshTypes[hug1]) this._reflesh(hug1);
+
+                       return this._exCommentLists[hug1];
+               }
+
+               public function postLocalComment(hug1:*):void
+               {       //MethodID:5025, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 62
+                       var hug2:CommentBuilder = new CommentBuilder();
+                       hug2.message = hug1.message;
+                       hug2.command = new Command(hug1.mail);
+
+                       (this._nativeCommentLists[CommentConstants.CL_LOCAL] as ICommentList).post(hug2.make());
+               }
+
+               private function _reflesh(hug1:String):void
+               {       //MethodID:5026, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 159
+                       var hug3:String = null;
+
+                       if(this._contains.indexOf(hug1) == (-1)) throw new ArgumentError();
+
+                       var hug2:String = null;
+
+                       for(hug3 in this._filteredCommentPools.lists){
+                               if(this._typeMap[hug3] == hug1){
+                                       hug2 = hug3;
+                                       break;
+                               }
+                       }
+
+                       if(hug2 == null) throw new Error("指定したタイプが更新対象ではないエラーが発生しました。");
+
+                       var hug4:Array = [];
+                       var hug5:Array = this._filteredCommentPools.lists[hug2];
+                       hug4 = _convert2API(hug5);
+                       this._exCommentLists[hug1] = hug4;
+                       this._beRefleshTypes[hug1] = false;
+               }
+       }
+}
+
+//■script357■
+
+package jp.nicovideo.nicoplayer.app.api.v1.plugin.www{
+
+       import flash.events.EventDispatcher
+       import jp.nicovideo.app.api.v1.plugin.www.events.VideoEvent
+       import jp.nicovideo.nicoplayer.models.IPlayerConfig
+       import jp.nicovideo.nicoplayer.models.video.IVideo
+       import jp.nicovideo.nicoplayer.models.video.IVideoController
+       import jp.nicovideo.nicoplayer.models.video.VideoConstants
+       import jp.nicovideo.nicoplayer.tpls.shutter.AudioShutterConstants
+       import jp.nicovideo.nicoplayer.tpls.shutter.IControllerShutter
+       import jp.nicovideo.util.events.EventResult
+       import jp.nicovideo.util.events.event_sender
+       import jp.nicovideo.util.loka.__MSG__
+
+       use namespace jp.nicovideo.app.api.api_system;
+
+       //■class(instance)_index:426
+       public class VideoPlayer extends EventDispatcher
+       {
+               //static constructor
+               public static function VideoPlayer$cinit()
+               {       //MethodID:5028, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function VideoPlayer(hug1:IVideoController, hug2:IPlayerConfig, hug3:IControllerShutter)
+               {       //MethodID:5034, LocalCount= 5 , MaxScope= 2, MaxStack= 2, CodeLength= 161
+                       internal var videoController:IVideoController;                  //slotID:1
+                       internal var playerConfig:IPlayerConfig;                        //slotID:2
+                       internal var audioShutter:IControllerShutter;                   //slotID:3
+
+                       videoController = hug1;
+                       playerConfig = hug2;
+                       audioShutter = hug3;
+
+                       super();
+
+                       this._controller = videoController;
+                       this._video = videoController.videoWrapper;
+                       this._audioShutter = audioShutter;
+                       this._config = playerConfig;
+
+                       this._video.onVideoStarted.add(function():EventResult{  //MethodID:5029, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 26
+                               dispatchEvent(new VideoEvent(VideoEvent.STARTED));
+
+                               return EventResult.THROUGH;
+                       });
+                       this._video.onVideoPlayed.add(function():EventResult{   //MethodID:5030, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 26
+                               dispatchEvent(new VideoEvent(VideoEvent.PLAYED));
+
+                               return EventResult.THROUGH;
+                       });
+                       this._video.onVideoStopped.add(function():EventResult{  //MethodID:5031, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 26
+                               dispatchEvent(new VideoEvent(VideoEvent.PAUSED));
+
+                               return EventResult.THROUGH;
+                       });
+                       this._video.onVideoEnded.add(function(hug1:Boolean):EventResult{        //MethodID:5032, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 26
+                               dispatchEvent(new VideoEvent(VideoEvent.ENDED));
+
+                               return EventResult.THROUGH;
+                       });
+                       this._video.onVideoSeeked.add(function(hug1:Number):EventResult{        //MethodID:5033, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 26
+                               dispatchEvent(new VideoEvent(VideoEvent.SEEKED));
+
+                               return EventResult.THROUGH;
+                       });
+               }
+
+               //variables/etc.
+               private var _controller:IVideoController;                       //slotID:0
+               private var _video:IVideo;                                      //slotID:0
+               private var _audioShutter:IControllerShutter;                   //slotID:0
+               private var _config:IPlayerConfig;                              //slotID:0
+               private var _hasLocked:Boolean = false;                         //slotID:0
+               private var _appliID:String;                                    //slotID:0
+
+               jp.nicovideo.app.api.api_system function reset(hug1:String):void
+               {       //MethodID:5035, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._appliID = hug1;
+               }
+
+               public function play():void
+               {       //MethodID:5036, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 73
+                       if(this.isPlaying && !this.isPausing) return;
+
+                       if(this.hasLocked){
+                               this._audioShutter.open(AudioShutterConstants.SHUTTER_PLUGIN);
+                               this._controller.play(VideoConstants.OPERATION_PLUGIN_PREFIX + this._appliID);
+                       }
+
+                       this._controller.play();
+               }
+
+               public function pause(hug1:Boolean=false):void
+               {       //MethodID:5037, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 71
+                       if(hug1 && !this.hasLocked){
+                               this._audioShutter.close(AudioShutterConstants.SHUTTER_PLUGIN, __MSG__("アプリにより制限されています。"));
+                               this._controller.stop(VideoConstants.OPERATION_PLUGIN_PREFIX + this._appliID);
+                       }
+
+                       this._controller.stop();
+               }
+
+               public function get hasLocked():Boolean
+               {       //MethodID:5038, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
+                       return this._audioShutter.isClosing(AudioShutterConstants.SHUTTER_PLUGIN);
+               }
+
+               public function releaseLock():void
+               {       //MethodID:5039, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 39
+                       var hug1:Boolean = (!this.isPlaying || this.isPausing);
+
+                       this.play();
+
+                       if(hug1) this._controller.stop();
+               }
+
+               public function seek(hug1:Number):void
+               {       //MethodID:5040, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
+                       this._controller.seek(hug1);
+               }
+
+               public function get vpos():Number
+               {       //MethodID:5041, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._video.vpos;
+               }
+
+               public function get length():Number
+               {       //MethodID:5042, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._video.length;
+               }
+
+               public function get isPlaying():Boolean
+               {       //MethodID:5043, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._video.isPlaying;
+               }
+
+               public function get isPausing():Boolean
+               {       //MethodID:5044, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._video.isPausing;
+               }
+
+               public function get isSeeking():Boolean
+               {       //MethodID:5045, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._video.isSeeking;
+               }
+
+               public function get isEnd():Boolean
+               {       //MethodID:5046, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._video.isEnd;
+               }
+
+               public function get isBuffering():Boolean
+               {       //MethodID:5047, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._video.isBuffering;
+               }
+
+               public function get bufferedRatio():Number
+               {       //MethodID:5048, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18
+                       return (this._video.loadedLength / this._video.length);
+               }
+       }
+}
+
+//■script358■
+
+package jp.nicovideo.app.api.v1.plugin.common{
+
+       //■class(instance)_index:427
+       public interface IMarquee implements IEventDispatcher
+       {
+               //static constructor
+               public static function IMarquee$cinit()
+               {       //MethodID:5050, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get isInterrupting():Boolean;                                      //MethodID:5051, dispID:0
+
+               //constructor
+               public function IMarquee();                                                 //MethodID:5052, dispID:0
+       }
+}
+
+//■script359■
+
+package jp.nicovideo.nicoplayer.app.api.v1.plugin.common{
+
+       import flash.events.EventDispatcher
+       import jp.nicovideo.app.api.v1.plugin.common.events.MarqueeEvent
+       import jp.nicovideo.marquee.IMarqueeClient
+       import jp.nicovideo.marquee.models.info.IMarqueeInfo
+       import jp.nicovideo.util.events.event_sender
+
+       //■class(instance)_index:428
+       public class Marquee extends EventDispatcher implements IMarquee
+       {
+               //static constructor
+               public static function Marquee$cinit()
+               {       //MethodID:5054, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function Marquee()
+               {       //MethodID:5055, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+
+               //variables/etc.
+               private var _isInterrupting:Boolean = false;                    //slotID:0
+               private var _client:IMarqueeClient;                             //slotID:0
+
+               public function init(hug1:IMarqueeClient=null):void
+               {       //MethodID:5056, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 57
+                       if(hug1 == null) return;
+
+                       this._client = hug1;
+
+                       this._client.onMarqueeClientNicowariStarted.add(this._onInterruptStart);
+                       this._client.onMarqueeClientNicowariEnded.add(this._onInterruptEnd);
+               }
+
+               private function _onInterruptStart(hug1:IMarqueeInfo):void
+               {       //MethodID:5057, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 28
+                       this._isInterrupting = true;
+
+                       dispatchEvent(new MarqueeEvent(MarqueeEvent.INTERRUPT_START));
+               }
+
+               private function _onInterruptEnd(hug1:IMarqueeInfo):void
+               {       //MethodID:5058, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 37
+                       if(!this._isInterrupting) return;
+
+                       this._isInterrupting = false;
+
+                       dispatchEvent(new MarqueeEvent(MarqueeEvent.INTERRUPT_END));
+               }
+
+               public function get isInterrupting():Boolean
+               {       //MethodID:5059, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isInterrupting;
+               }
+       }
+}
+
+//■script360■
+
+package jp.nicovideo.app.api.v1.plugin.common{
+
+       //■class(instance)_index:429
+       public interface INGFilter implements IEventDispatcher
+       {
+               //static constructor
+               public static function INGFilter$cinit()
+               {       //MethodID:5061, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get list():Array;                                                  //MethodID:5062, dispID:0
+
+               //constructor
+               public function INGFilter();                                                //MethodID:5063, dispID:0
+       }
+}
+
+//■script361■
+
+package jp.nicovideo.nicoplayer.app.api.v1.plugin.common{
+
+       import flash.events.EventDispatcher
+       import jp.nicovideo.app.api.v1.events.ListEvent
+       import jp.nicovideo.app.api.v1.plugin.common.NGSource
+       import jp.nicovideo.app.api.v1.plugin.common.NGSourceType
+       import jp.nicovideo.nicoplayer.models.filter.INGComment
+       import jp.nicovideo.nicoplayer.models.filter.NGInfo
+       import jp.nicovideo.nicoplayer.models.filter.NGResponseConstants
+       import jp.nicovideo.nicoplayer.models.filter.NGType
+
+       //■class(instance)_index:430
+       public class NGFilter extends EventDispatcher implements INGFilter
+       {
+               //static constructor
+               public static function NGFilter$cinit()
+               {       //MethodID:5065, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function NGFilter(hug1:INGComment)
+               {       //MethodID:5067, LocalCount= 3 , MaxScope= 2, MaxStack= 2, CodeLength= 48
+                       internal var nativeObj:INGComment;                              //slotID:1
+
+                       nativeObj = hug1;
+                       this._list = [];
+
+                       super();
+
+                       this._obj = nativeObj;
+
+                       this._obj.onUpdated.add(function(hug1:Array, hug2:String):void{ //MethodID:5066, LocalCount= 3 , MaxScope= 0, MaxStack= 4, CodeLength= 43
+                               if(hug2 != NGResponseConstants.OK) return;
+                               _convert();
+                               dispatchEvent(new ListEvent(ListEvent.CHANGE, _list));
+                       });
+                       this._convert();
+               }
+
+               //variables/etc.
+               private var _obj:INGComment;                                    //slotID:0
+               private var _list:Array;                                        //slotID:0
+
+               private function _convert():void
+               {       //MethodID:5069, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 27
+                       this._list = [];
+
+                       this._obj.list.forEach(function(hug1:NGInfo, hug2:int, hug3:Array):void{        //MethodID:5068, LocalCount= 5 , MaxScope= 0, MaxStack= 4, CodeLength= 115
+                               var hug4:uint = 0;
+
+                               if(hug1.type == NGType.USER_ID){
+                                       hug4 = NGSourceType.USER;
+                               }else if(hug1.type == NGType.MESSAGE){
+                                       hug4 = NGSourceType.KEYWORD;
+                               }else if(hug1.type == NGType.COMMAND){
+                                       hug4 = NGSourceType.COMMAND;
+                               }else{
+                                       throw new TypeError();
+                               }
+
+                               _list.push(new NGSource(hug4, hug1.source));
+                       });
+               }
+
+               public function get list():Array
+               {       //MethodID:5070, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._list;
+               }
+       }
+}
+
+//■script362■
+
+package jp.nicovideo.app.api.v1.plugin.www{
+
+       //■class(instance)_index:431
+       public interface IPlayerConfig implements IEventDispatcher
+       {
+               //static constructor
+               public static function IPlayerConfig$cinit()
+               {       //MethodID:5072, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get screenMode():String;                                           //MethodID:5073, dispID:0
+
+               function get screenAspectRatio():String;                                    //MethodID:5074, dispID:0
+
+               function get isMute():Boolean;                                              //MethodID:5075, dispID:0
+
+               function get volume():Number;                                               //MethodID:5076, dispID:0
+
+               function get useAnonymity():Boolean;                                        //MethodID:5077, dispID:0
+
+               function get isRepeat():Boolean;                                            //MethodID:5078, dispID:0
+
+               function get isAutoPlay():Boolean;                                          //MethodID:5079, dispID:0
+
+               function get commentVisible():Boolean;                                      //MethodID:5080, dispID:0
+
+               function get marqueeInterruptionEnabled():Boolean;                          //MethodID:5081, dispID:0
+
+               function get deepenedComment():Boolean;                                     //MethodID:5082, dispID:0
+
+               function get clockMessageVisible():Boolean;                                 //MethodID:5083, dispID:0
+
+               function get sponsorVisibleOnRepeat():Boolean;                              //MethodID:5084, dispID:0
+
+               //constructor
+               public function IPlayerConfig();                                            //MethodID:5085, dispID:0
+       }
+}
+
+//■script363■
+
+package jp.nicovideo.nicoplayer.app.api.v1.plugin.www{
+
+       import flash.events.EventDispatcher
+       import jp.nicovideo.app.api.v1.plugin.www.PlayerConfigScreenAspectRatio
+       import jp.nicovideo.app.api.v1.plugin.www.PlayerConfigScreenMode
+       import jp.nicovideo.app.api.v1.plugin.www.events.PlayerConfigEvent
+       import jp.nicovideo.nicoplayer.models.IPlayerConfig
+       import jp.nicovideo.nicoplayer.models.ScreenAspectRatio
+       import jp.nicovideo.nicoplayer.models.ScreenMode
+       import jp.nicovideo.util.events.event_sender
+
+       //■class(instance)_index:432
+       public class PlayerConfig extends EventDispatcher implements IPlayerConfig
+       {
+               //static constructor
+               public static function PlayerConfig$cinit()
+               {       //MethodID:5087, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function PlayerConfig(hug1:IPlayerConfig)
+               {       //MethodID:5088, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 17
+                       super(null);
+
+                       this._config = hug1;
+
+                       this._PlayerConfig();
+               }
+
+               //variables/etc.
+               private var _config:IPlayerConfig;                              //slotID:0
+
+               private function _PlayerConfig():void
+               {       //MethodID:5092, LocalCount= 2 , MaxScope= 2, MaxStack= 2, CodeLength= 67
+                       this._config.onPlayerConfigIsMuteUpdated.add(function(hug1:Boolean):void{       //MethodID:5089, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 50
+                               if(hug1){
+                                       dispatchEvent(new PlayerConfigEvent(PlayerConfigEvent.MUTE_SET));
+                               }else{
+                                       dispatchEvent(new PlayerConfigEvent(PlayerConfigEvent.MUTE_UNSET));
+                               }
+                       });
+                       this._config.onPlayerConfigCommentVisibleUpdated.add(function(hug1:Boolean):void{       //MethodID:5090, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 50
+                               if(hug1){
+                                       dispatchEvent(new PlayerConfigEvent(PlayerConfigEvent.COMMENT_VISIBLE));
+                               }else{
+                                       dispatchEvent(new PlayerConfigEvent(PlayerConfigEvent.COMMENT_INVISIBLE));
+                               }
+                       });
+                       this._config.onPlayerConfigAspectRatioUpdate.add(function(hug1:uint):void{      //MethodID:5091, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 21
+                               dispatchEvent(new PlayerConfigEvent(PlayerConfigEvent.ASPECT_RATIO_UPDATE));
+                       });
+               }
+
+               public function get screenMode():String
+               {       //MethodID:5093, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 57
+                       if(this._config.screenMode == ScreenMode.NORMAL) return PlayerConfigScreenMode.NORMAL;
+
+                       if(this._config.screenMode == ScreenMode.BROWSER_FULL) return PlayerConfigScreenMode.BROWSER_FULL;
+
+                       return PlayerConfigScreenMode.DISPLAY_FULL;
+               }
+
+               public function get screenAspectRatio():String
+               {       //MethodID:5094, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 57
+                       if(this._config.aspectRatio == ScreenAspectRatio.NORMAL) return PlayerConfigScreenAspectRatio.SD;
+
+                       if(this._config.aspectRatio == ScreenAspectRatio.WIDE) return PlayerConfigScreenAspectRatio.HD;
+
+                       return PlayerConfigScreenAspectRatio.SD;
+               }
+
+               public function get isMute():Boolean
+               {       //MethodID:5095, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._config.isMute;
+               }
+
+               public function get volume():Number
+               {       //MethodID:5096, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._config.volume;
+               }
+
+               public function get useAnonymity():Boolean
+               {       //MethodID:5097, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._config.use184;
+               }
+
+               public function get isRepeat():Boolean
+               {       //MethodID:5098, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._config.isLoop;
+               }
+
+               public function get isAutoPlay():Boolean
+               {       //MethodID:5099, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._config.autoPlay;
+               }
+
+               public function get commentVisible():Boolean
+               {       //MethodID:5100, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._config.commentVisible;
+               }
+
+               public function get marqueeInterruptionEnabled():Boolean
+               {       //MethodID:5101, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
+                       return !this._config.isNicowariSkip;
+               }
+
+               public function get deepenedComment():Boolean
+               {       //MethodID:5102, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._config.deepenedComment;
+               }
+
+               public function get clockMessageVisible():Boolean
+               {       //MethodID:5103, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._config.clockMessageVisible;
+               }
+
+               public function get sponsorVisibleOnRepeat():Boolean
+               {       //MethodID:5104, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
+                       return this._config.sponsorVisibleOnLoop;
+               }
+       }
+}
+
+//■script364■
+
+package jp.nicovideo.util.net.local{
+
+       import flash.errors.IllegalOperationError
+       import flash.events.DataEvent
+       import flash.events.Event
+       import flash.events.EventDispatcher
+       import flash.events.StatusEvent
+       import flash.events.TimerEvent
+       import flash.net.LocalConnection
+       import flash.utils.Timer
+
+       //■class(instance)_index:433
+       public class LocalSessionSlave extends EventDispatcher
+       {
+               //static constructor
+               public static function LocalSessionSlave$cinit()
+               {       //MethodID:5106, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function LocalSessionSlave(hug1:LocalSessionMaster)
+               {       //MethodID:5107, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 52
+                       this._connection = LocalConnectionFactory.create();
+                       this._pingTimer = new Timer(LocalSession.SLAVE_PING_INTERVAL);
+                       this._slaveNames = [];
+
+                       super();
+
+                       this._master = hug1;
+                       this._connection.client = {};
+               }
+
+               //variables/etc.
+               private var _connection:LocalConnection;                        //slotID:0
+               private var _name:String;                                       //slotID:0
+               private var _hasJoined:Boolean = false;                         //slotID:0
+               private var _master:LocalSessionMaster;                         //slotID:0
+               private var _pingTimer:Timer;                                   //slotID:0
+               private var _slaveNames:Array;                                  //slotID:0
+               private var _lastReceiver:Object;                               //slotID:0
+               private var _hasInitialized:Boolean = false;                    //slotID:0
+
+               public function join(hug1:Object=null):void
+               {       //MethodID:5108, LocalCount= 4 , MaxScope= 5, MaxStack= 5, CodeLength= 312
+                       internal var receiver:Object = null;                            //slotID:1
+                       internal var time:Number;                                       //slotID:2
+                       internal var attempts:int;                                      //slotID:3
+                       internal var err:Error;                                         //slotID:4
+                       internal var name:String;                                       //slotID:5
+
+                       err = null;
+                       name = null;
+                       receiver = hug1;
+                       time = new Date().getTime();
+                       attempts = 3;
+
+                       while(true){
+                               try{
+                                       name = (time.toString() + Math.round(Math.random() * 1000).toString());
+
+                                       this._connection.connect(name);
+
+                                       this._name = name;
+                                       this._master.mySlaveName = this._name;
+                                       this._hasJoined = true;
+                                       break;
+                               }
+                               catch(e:ArgumentError){
+                                       err = e;
+                               }
+
+                               attempts -= 1;
+
+                               if((attempts - 1) < 0) throw new Error(("LocalSessionSlave.join: can not connect to LocalConnection. attempts has been lost. attempts=" + attempts + " LocalConnection.connect's Error=") + err.toString());
+
+                               time += 1;
+                       }
+
+                       this._connection.client = this._createClient(this._connection.client);
+
+                       this._connection.send(this._master.masterName, (this._master.domain + ".getSlaveNames"), name);
+                       this._pingTimer.addEventListener(TimerEvent.TIMER, this._pingMaster);
+                       this._pingTimer.start();
+                       this._connection.addEventListener(StatusEvent.STATUS, this._connectionStatusListener);
+               }
+
+               private function _connectionStatusListener(hug1:StatusEvent):void
+               {       //MethodID:5109, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 47
+                       if(hug1.level != "error") return;
+                       dispatchEvent(new LocalSessionEvent(LocalSessionEvent.MASTER_ABSENCE));
+                       this._master.masterize(this._slaveNames);
+               }
+
+               private function _pingMaster(hug1:TimerEvent=null):void
+               {       //MethodID:5110, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 33
+                       this._connection.send(this._master.masterName, (this._master.domain + ".ping"), this.name);
+               }
+
+               public function setReceiver(hug1:String, hug2:Function=null):void
+               {       //MethodID:5111, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 52
+                       var hug3:String = (this._master.domain + ".method." + hug1);
+
+                       if(hug2 == null){
+                               delete this._connection.client[hug3];
+                       }else{
+                               this._connection.client[hug3] = hug2;
+                       }
+               }
+
+               private function _createClient(hug1:Object):Object
+               {       //MethodID:5114, LocalCount= 5 , MaxScope= 2, MaxStack= 4, CodeLength= 169
+                       internal var original:Object;                                   //slotID:1
+                       internal var domain:String;                                     //slotID:2
+                       internal var client:Object;                                     //slotID:3
+                       internal var name:String;                                       //slotID:4
+                       internal var receiveSlaveNames:Function;                        //slotID:5
+                       internal var receiveIsAliveResult:Function;                     //slotID:6
+
+                       name = null;
+                       receiveSlaveNames = null;
+                       receiveIsAliveResult = null;
+                       original = hug1;
+                       receiveSlaveNames = function(hug1:Array):void{  //MethodID:5112, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 59
+                               _slaveNames = hug1;
+
+                               if(!_hasInitialized){
+                                       dispatchEvent(new Event(Event.INIT));
+
+                                       _hasInitialized = true;
+                               }
+
+                               dispatchEvent(new DataEvent(DataEvent.DATA));
+                       };
+
+                       receiveIsAliveResult = function(hug1:*):void{   //MethodID:5113, LocalCount= 3 , MaxScope= 0, MaxStack= 6, CodeLength= 50
+                               var hug2:String = (hug1.isAlive ? LocalSessionEvent.SEND_SUCCEEDED : LocalSessionEvent.SEND_FAILURE);
+
+                               dispatchEvent(new LocalSessionEvent(hug2, false, false, hug1.targetName));
+                       };
+
+                       domain = this._master.domain;
+                       client = {};
+
+                       for(name in original){
+                               client[name] = original[name];
+                       }
+
+                       client[domain + ".receiveSlaveNames"] = receiveSlaveNames;
+                       client[domain + ".receiveIsAliveResult"] = receiveIsAliveResult;
+                       return client;
+               }
+
+               public function ping(hug1:String):void
+               {       //MethodID:5115, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 34
+                       this._connection.send(this._master.masterName, (this._master.domain + ".isAlive"), hug1, this._name);
+               }
+
+               public function get name():String
+               {       //MethodID:5116, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
+                       if(!this.hasJoined) throw new IllegalOperationError("has not joined");
+
+                       return this._name;
+               }
+
+               public function get slaveNames():Array
+               {       //MethodID:5117, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._slaveNames;
+               }
+
+               public function get hasJoined():Boolean
+               {       //MethodID:5118, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._hasJoined;
+               }
+
+               public function get hasInitialized():Boolean
+               {       //MethodID:5119, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._hasInitialized;
+               }
+
+               public function send(hug1:String, hug2:String, hug3:*):void
+               {       //MethodID:5120, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 32
+                       this._connection.send(this._master.masterName, (this._master.domain + ".method"), hug1, hug2, hug3);
+               }
+
+               public function sendAll(hug1:String, hug2:*):void
+               {       //MethodID:5121, LocalCount= 3 , MaxScope= 1, MaxStack= 6, CodeLength= 32
+                       this._connection.send(this._master.masterName, (this._master.domain + ".method"), null, hug1, hug2);
+               }
+
+               public function close():void
+               {       //MethodID:5122, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 25
+                       this._connection.close();
+                       this._pingTimer.stop();
+
+                       this._slaveNames = [];
+               }
+       }
+}
+
+//■script365■
+
+package jp.nicovideo.util.net.local{
+
+       import flash.events.DataEvent
+       import flash.events.Event
+       import flash.events.EventDispatcher
+       import flash.events.StatusEvent
+       import flash.net.LocalConnection
+       import jp.nicovideo.util.TimeUtils
+
+       //■class(instance)_index:434
+       public class LocalSessionMaster extends EventDispatcher
+       {
+               //static constructor
+               public static function LocalSessionMaster$cinit()
+               {       //MethodID:5124, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function LocalSessionMaster(hug1:String)
+               {       //MethodID:5125, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 26
+                       this._slaves = {};
+
+                       super();
+
+                       this._domain = hug1;
+                       this._masterName = (hug1 + ".master");
+               }
+
+               //variables/etc.
+               private var _connection:LocalConnection;                        //slotID:0
+               private var _isMaster:Boolean = false;                          //slotID:0
+               private var _domain:String;                                     //slotID:0
+               private var _masterName:String;                                 //slotID:0
+               private var _slaves:Object;                                     //slotID:0
+               private var _slaveChecker:_SlaveChecker;                        //slotID:0
+               private var _mySlaveName:String;                                //slotID:0
+
+               public function set mySlaveName(hug1:String):void
+               {       //MethodID:5126, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._mySlaveName = hug1;
+               }
+
+               public function masterize(hug1:Array):Boolean
+               {       //MethodID:5127, LocalCount= 5 , MaxScope= 5, MaxStack= 5, CodeLength= 241
+                       internal var slaveNames:Array;                                  //slotID:1
+                       internal var connection:LocalConnection;                        //slotID:2
+                       internal var name:String;                                       //slotID:3
+
+                       name = null;
+                       slaveNames = hug1;
+                       connection = LocalConnectionFactory.create();
+
+                       try{
+                               connection.connect(this.masterName);
+                       }
+                       catch(error:ArgumentError){
+                               dispatchEvent(new LocalSessionEvent(LocalSessionEvent.MASTER_PRESENCE));
+
+                               return false;
+                       }
+
+                       this._connection = connection;
+                       this._connection.client = this._createClient();
+
+                       this._connection.addEventListener(StatusEvent.STATUS, this._connectionStatusListener);
+
+                       this._slaveChecker = new _SlaveChecker(this._connection, (this._domain + ".ping"));
+
+                       for each(name in slaveNames){
+                               this._slaves[name] = 0;
+                       }
+
+                       this._isMaster = true;
+
+                       dispatchEvent(new LocalSessionEvent(LocalSessionEvent.MASTERIZE));
+                       dispatchEvent(new LocalSessionEvent(LocalSessionEvent.MASTER_PRESENCE));
+
+                       return true;
+               }
+
+               private function _createClient():Object
+               {       //MethodID:5135, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 159
+                       internal var client:Object;                                     //slotID:1
+                       internal var ping:Function;                                     //slotID:2
+                       internal var getSlaveNames:Function;                            //slotID:3
+                       internal var method:Function;                                   //slotID:4
+                       internal var isAlive:Function;                                  //slotID:5
+
+                       ping = null;
+                       getSlaveNames = null;
+                       method = null;
+                       isAlive = null;
+                       ping = function(hug1:String):void{      //MethodID:5128, LocalCount= 7 , MaxScope= 0, MaxStack= 4, CodeLength= 99
+                               var hug4:String = null;
+                               var hug2:Boolean = false;
+
+                               if(!_slaves.hasOwnProperty(hug1)) hug2 = true;
+
+                               _slaves[hug1] = TimeUtils.time;
+
+                               if(!hug2) return;
+
+                               var hug3:Array = _getSlaveNames();
+
+                               for each(hug4 in hug3){
+                                       send(hug4, (_domain + ".receiveSlaveNames"), hug3);
+                               }
+                       };
+
+                       getSlaveNames = function(hug1:String):void{     //MethodID:5129, LocalCount= 7 , MaxScope= 0, MaxStack= 4, CodeLength= 118
+                               var hug4:String = null;
+                               var hug2:Boolean = false;
+
+                               if(!_slaves.hasOwnProperty(hug1)) hug2 = true;
+
+                               _slaves[hug1] = TimeUtils.time;
+                               var hug3:Array = _getSlaveNames();
+
+                               if(hug2){
+                                       for each(hug4 in hug3){
+                                               send(hug4, (_domain + ".receiveSlaveNames"), hug3);
+                                       }
+                               }else{
+                                       send(hug1, (_domain + ".receiveSlaveNames"), hug3);
+                               }
+                       };
+
+                       method = function(hug1:String, hug2:String, hug3:*):void{       //MethodID:5130, LocalCount= 5 , MaxScope= 0, MaxStack= 4, CodeLength= 80
+                               var hug4:String = (_domain + ".method." + hug2);
+
+                               if(hug1 == null){
+                                       sendAll(hug4, hug3);
+                               }else if(hug1 == _masterName){
+                                       send(_mySlaveName, hug4, hug3);
+                                       send(hug1, hug4, hug3);
+                               }else{
+                                       send(hug1, hug4, hug3);
+                               }
+                       };
+
+                       isAlive = function(hug1:String, hug2:String):void{      //MethodID:5134, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 62
+                               internal var targetName:String;                                 //slotID:1
+                               internal var replyName:String;                                  //slotID:2
+                               internal var check:Function;                                    //slotID:3
+
+                               targetName = hug1;
+                               replyName = hug2;
+                               check = function():void{        //MethodID:5132, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 35
+                                       _slaveChecker.addEventListener(DataEvent.DATA, function(hug1:DataEvent, ...args):void{  //MethodID:5131, LocalCount= 7 , MaxScope= 0, MaxStack= 7, CodeLength= 115
+                                               var hug4:String = null;
+
+                                               _slaveChecker.removeEventListener(DataEvent.DATA, args.callee);
+
+                                               var hug3:Array = hug1.data.split(",");
+
+                                               for each(hug4 in hug3){
+                                                       delete _slaves[hug4];
+                                               }
+
+                                               send(replyName, (_domain + ".receiveIsAliveResult"), {isAlive:_slaves.hasOwnProperty(targetName), targetName:targetName});
+                                       });
+                                       _slaveChecker.check(_getSlaveNames());
+                               };
+
+                               if(_slaveChecker.isChecking){
+                                       _slaveChecker.addEventListener(DataEvent.DATA, function(hug1:Event, ...args):void{      //MethodID:5133, LocalCount= 3 , MaxScope= 0, MaxStack= 3, CodeLength= 26
+                                               _slaveChecker.removeEventListener(DataEvent.DATA, args.callee);
+                                               check();
+                                       });
+                               }else{
+                                       check();
+                               }
+                       };
+
+                       client = {};
+                       client[this._domain + ".ping"] = ping;
+                       client[this._domain + ".getSlaveNames"] = getSlaveNames;
+                       client[this._domain + ".method"] = method;
+                       client[this._domain + ".isAlive"] = isAlive;
+                       return client;
+               }
+
+               private function _getSlaveNames():Array
+               {       //MethodID:5136, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 50
+                       var hug2:String = null;
+                       var hug1:Array = [];
+
+                       for(hug2 in this._slaves){
+                               hug1.push(hug2);
+                       }
+
+                       return hug1;
+               }
+
+               private function _getInactiveNames():Array
+               {       //MethodID:5137, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 83
+                       var hug3:String = null;
+                       var hug1:Array = [];
+                       var hug2:Number = (TimeUtils.time - LocalSession.SLAVE_PING_INTERVAL + 25);
+
+                       for(hug3 in this._slaves){
+                               if(hug2 >= this._slaves[hug3]) hug1.push(hug3);
+                       }
+
+                       return hug1;
+               }
+
+               private function _connectionStatusListener(hug1:StatusEvent):void
+               {       //MethodID:5139, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 69
+                       internal var event:StatusEvent;                                 //slotID:1
+
+                       event = hug1;
+
+                       if(event.level != "error") return;
+
+                       if(this._slaveChecker.isChecking) return;
+                       this._slaveChecker.addEventListener(DataEvent.DATA, function(hug1:DataEvent, ...args):void{     //MethodID:5138, LocalCount= 7 , MaxScope= 0, MaxStack= 3, CodeLength= 109
+                               var hug4:String = null;
+
+                               _slaveChecker.removeEventListener(DataEvent.DATA, args.callee);
+
+                               if(hug1.data == "") return;
+
+                               var hug3:Array = hug1.data.split(",");
+
+                               for each(hug4 in hug3){
+                                       delete _slaves[hug4];
+                               }
+
+                               sendAll((_domain + ".receiveSlaveNames"), _getSlaveNames());
+                       });
+                       this._slaveChecker.check(this._getInactiveNames());
+               }
+
+               public function get isMaster():Boolean
+               {       //MethodID:5140, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isMaster;
+               }
+
+               public function get domain():String
+               {       //MethodID:5141, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._domain;
+               }
+
+               public function get masterName():String
+               {       //MethodID:5142, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._masterName;
+               }
+
+               public function send(hug1:String, hug2:String, hug3:*):void
+               {       //MethodID:5143, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 14
+                       this._connection.send(hug1, hug2, hug3);
+               }
+
+               public function sendAll(hug1:String, hug2:*):void
+               {       //MethodID:5144, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 51
+                       var hug3:String = null;
+
+                       for(hug3 in this._slaves){
+                               this._connection.send(hug3, hug1, hug2);
+                       }
+               }
+
+               public function close():void
+               {       //MethodID:5145, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 25
+                       if(!this._isMaster) return;
+                       this._connection.close();
+
+                       this._isMaster = false;
+               }
+       }
+}
+
+import flash.errors.IllegalOperationError
+import flash.events.DataEvent
+import flash.events.EventDispatcher
+import flash.events.StatusEvent
+import flash.net.LocalConnection
+
+//■class(instance)_index:435
+//private
+class _SlaveChecker extends EventDispatcher
+{
+       //static constructor
+       public static function _SlaveChecker$cinit()
+       {       //MethodID:5146, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+       }
+
+       //constructor
+       public function _SlaveChecker(hug1:LocalConnection, hug2:String)
+       {       //MethodID:5147, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 34
+               super();
+
+               this._connection = hug1;
+               this._pingMethodName = hug2;
+
+               this._connection.addEventListener(StatusEvent.STATUS, this._statusListener);
+       }
+
+       //variables/etc.
+       private var _targets:Array;                                     //slotID:0
+       private var _connection:LocalConnection;                        //slotID:0
+       private var _currentIndex:int = -1;                             //slotID:0
+       private var _pingMethodName:String;                             //slotID:0
+       private var _closedNames:Array;                                 //slotID:0
+
+       public function check(hug1:Array):void
+       {       //MethodID:5148, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 59
+               if(this.isChecking) throw new IllegalOperationError();
+
+               this._targets = hug1;
+
+               if(this._targets.length == 0) return;
+
+               this._closedNames = [];
+               this._currentIndex = 0;
+
+               this._check(this._currentIndex);
+       }
+
+       private function _check(hug1:int):void
+       {       //MethodID:5149, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 23
+               this._connection.send(this._targets[hug1], this._pingMethodName);
+       }
+
+       private function _statusListener(hug1:StatusEvent):void
+       {       //MethodID:5150, LocalCount= 4 , MaxScope= 1, MaxStack= 7, CodeLength= 124
+               if(!this.isChecking) return;
+
+               if(hug1.level == "error") this._closedNames.push(this._targets[this._currentIndex]);
+
+               this._currentIndex++;
+
+               if(this._currentIndex <= (this._targets.length - 1)){
+                       this._check(this._currentIndex);
+
+                       return;
+               }
+
+               this._currentIndex = -1;
+
+               dispatchEvent(new DataEvent(DataEvent.DATA, false, false, this._closedNames.join(",")));
+       }
+
+       public function get isChecking():Boolean
+       {       //MethodID:5151, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
+               return (this._currentIndex != (-1));
+       }
+}
+
+//■script366■
+//skip components :mx.core
+//as filename :IFlexAsset.as
+
+//■script367■
+//skip components :mx.core
+//as filename :FlexSprite.as
+
+//■script368■
+//skip components :mx.core
+//as filename :ILayoutDirectionElement.as
+
+//■script369■
+//skip components :mx.core
+//as filename :IFlexDisplayObject.as
+
+//■script370■
+//skip components :mx.core
+//as filename :IBorder.as
+
+//■script371■
+//skip components :mx.core
+//as filename :SpriteAsset.as
+
+//■script372■
+
+package{
+
+       import flash.display.DisplayObject
+       import mx.core.SpriteAsset
+
+       //■class(instance)_index:442
+       public class UserButton__ButtonClass extends SpriteAsset
+       {
+               //static constructor
+               public static function UserButton__ButtonClass$cinit()
+               {       //MethodID:5265, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function UserButton__ButtonClass()
+               {       //MethodID:5266, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+
+               //variables/etc.
+               public var BaseRight:DisplayObject;                             //slotID:0
+               public var BaseCenter:DisplayObject;                            //slotID:0
+               public var BaseLeft:DisplayObject;                              //slotID:0
+       }
+}
+
+//■script373■
+//skip components :com.adobe.serialization.json
+//as filename :JSONParseError.as
+
+//■script374■
+
+package jp.nicovideo.app.info{
+
+       //■class(instance)_index:444
+       public interface IAppliThreads
+       {
+               //static constructor
+               public static function IAppliThreads$cinit()
+               {       //MethodID:5273, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get active():IThreadInfo;                                          //MethodID:5274, dispID:0
+
+               function get running():IThreadInfo;                                         //MethodID:5275, dispID:0
+
+               function get source():*;                                                    //MethodID:5276, dispID:0
+
+               //constructor
+               public function IAppliThreads();                                            //MethodID:5277, dispID:0
+       }
+}
+
+//■script375■
+
+package jp.nicovideo.app.api.v1.plugin.www{
+
+       //■class(instance)_index:445
+       public final class CommentType extends Object
+       {
+               //static constructor
+               public static function CommentType$cinit()
+               {       //MethodID:5279, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 48
+                       NORMAL = "normal";
+                       OWNER = "owner";
+                       COMMUNITY = "community";
+                       LOCAL = "local";
+                       NICOSCRIPT_TRIGGER = "nicoscriptTrigger";
+               }
+
+               //static variables/etc.
+               public static const NORMAL:String = "normal";                   //slotID:1
+               public static const OWNER:String = "owner";                     //slotID:2
+               public static const COMMUNITY:String = "community";             //slotID:3
+               public static const LOCAL:String = "local";                     //slotID:4
+               public static const NICOSCRIPT_TRIGGER:String = "nicoscriptTrigger";//slotID:5
+
+               //constructor
+               public function CommentType()
+               {       //MethodID:5280, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script376■
+
+package jp.nicovideo.app.api.v1.plugin.www.events{
+
+       import flash.events.Event
+
+       //■class(instance)_index:446
+       public class CommentEvent extends Event
+       {
+               //static constructor
+               public static function CommentEvent$cinit()
+               {       //MethodID:5282, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       POST = "post";
+                       RECEIVE = "receive";
+               }
+
+               //static variables/etc.
+               public static const POST:String = "post";                       //slotID:1
+               public static const RECEIVE:String = "receive";                 //slotID:2
+
+               //constructor
+               public function CommentEvent(hug1:String, hug2:Array, hug3:String, hug4:Boolean=false, hug5:Boolean=false)
+               {       //MethodID:5283, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 21
+                       super(hug1, hug4, hug5);
+
+                       this._comments = hug2;
+                       this._commentType = hug3;
+               }
+
+               //variables/etc.
+               private var _comments:Array;                                    //slotID:0
+               private var _commentType:String;                                //slotID:0
+
+               public function get commentType():String
+               {       //MethodID:5284, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._commentType;
+               }
+
+               public function get comments():Array
+               {       //MethodID:5285, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._comments;
+               }
+       }
+}
+
+//■script377■
+
+package jp.nicovideo.nicoplayer.app.api.v1.plugin.www{
+
+       import jp.nicovideo.app.api.v1.plugin.common.Comment
+       import jp.nicovideo.app.api.v1.plugin.common.CommentAlign
+       import jp.nicovideo.app.api.v1.plugin.common.CommentFontSize
+       import jp.nicovideo.app.api.v1.plugin.common.CommentValign
+       import jp.nicovideo.nicoplayer.models.comment.CommandConstants
+       import jp.nicovideo.nicoplayer.models.comment.IComment
+       import jp.nicovideo.nicoplayer.models.comment.command.CommandSize
+
+       //■class(instance)_index:447
+       public class NicoCommentConverter extends Object
+       {
+               //static constructor
+               public static function NicoCommentConverter$cinit()
+               {       //MethodID:5287, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //static variables/etc.
+               public static function convertNico2API(hug1:IComment):Comment
+               {       //dispID:3, MethodID:5288, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 326
+                       var hug2:Comment = new Comment();
+                       hug2.date = new Date(hug1.date);
+                       hug2.fontSize = CommentFontSize.NORMAL;
+                       var hug3:String = hug1.command.size;
+
+                       if(hug3 == CommandSize.BIG){
+                               hug2.fontSize = CommentFontSize.BIG;
+                       }else if(hug3 == CommandSize.SMALL){
+                               hug2.fontSize = CommentFontSize.SMALL;
+                       }
+
+                       hug2.isAnonymity = (hug1.anonymity == 1);
+                       hug2.isPremium = hug1.isPremium;
+                       hug2.mail = hug1.command.command;
+                       hug2.message = (hug1.command.hasButton ? hug1.buttonComment : hug1.message);
+                       hug2.name = hug1.userName;
+                       hug2.resNo = hug1.resNo;
+                       hug2.userID = hug1.userID;
+                       hug2.align = CommentAlign.NORMAL;
+                       var hug4:String = hug1.command.posX;
+
+                       if(hug4 == CommandConstants.PLACE_RIGHT){
+                               hug2.align = CommentAlign.RIGHT;
+                       }else if(hug4 == CommandConstants.PLACE_LEFT){
+                               hug2.align = CommentAlign.LEFT;
+                       }
+
+                       hug2.valign = CommentValign.NORMAL;
+                       var hug5:String = hug1.command.posY;
+
+                       if(hug5 == CommandConstants.PLACE_TOP){
+                               hug2.valign = CommentValign.TOP;
+                       }else if(hug5 == CommandConstants.PLACE_BOTTOM){
+                               hug2.valign = CommentValign.BOTTOM;
+                       }
+
+                       hug2.vpos = hug1.vpos;
+                       hug2.yourpost = hug1.justPosted;
+                       return hug2;
+               }
+
+               //constructor
+               public function NicoCommentConverter()
+               {       //MethodID:5289, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script378■
+
+package jp.nicovideo.app.api.v1.plugin.www.events{
+
+       import flash.events.Event
+
+       //■class(instance)_index:448
+       public class VideoEvent extends Event
+       {
+               //static constructor
+               public static function VideoEvent$cinit()
+               {       //MethodID:5291, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 48
+                       STARTED = "started";
+                       PLAYED = "played";
+                       PAUSED = "paused";
+                       SEEKED = "seeked";
+                       ENDED = "ended";
+               }
+
+               //static variables/etc.
+               public static const STARTED:String = "started";                 //slotID:1
+               public static const PLAYED:String = "played";                   //slotID:2
+               public static const PAUSED:String = "paused";                   //slotID:3
+               public static const SEEKED:String = "seeked";                   //slotID:4
+               public static const ENDED:String = "ended";                     //slotID:5
+
+               //constructor
+               public function VideoEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false)
+               {       //MethodID:5292, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9
+                       super(hug1, hug2, hug3);
+               }
+
+               //variables/etc.
+               private var _vpos:Number;                                       //slotID:0
+       }
+}
+
+//■script379■
+
+package jp.nicovideo.app.api.v1.plugin.common.events{
+
+       import flash.events.Event
+
+       //■class(instance)_index:449
+       public class MarqueeEvent extends Event
+       {
+               //static constructor
+               public static function MarqueeEvent$cinit()
+               {       //MethodID:5294, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       INTERRUPT_START = "interruptStart";
+                       INTERRUPT_END = "interruptEnd";
+               }
+
+               //static variables/etc.
+               public static const INTERRUPT_START:String = "interruptStart";  //slotID:1
+               public static const INTERRUPT_END:String = "interruptEnd";      //slotID:2
+
+               //constructor
+               public function MarqueeEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false)
+               {       //MethodID:5295, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9
+                       super(hug1, hug2, hug3);
+               }
+       }
+}
+
+//■script380■
+
+package jp.nicovideo.app.api.v1.events{
+
+       import flash.events.Event
+
+       //■class(instance)_index:450
+       public class ListEvent extends Event
+       {
+               //static constructor
+               public static function ListEvent$cinit()
+               {       //MethodID:5297, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       ADD = "add";
+                       DELETE = "delete";
+                       CHANGE = "change";
+               }
+
+               //static variables/etc.
+               public static const ADD:String = "add";                         //slotID:1
+               public static const DELETE:String = "delete";                   //slotID:2
+               public static const CHANGE:String = "change";                   //slotID:3
+
+               //constructor
+               public function ListEvent(hug1:String, hug2:Array, hug3:Boolean=false, hug4:Boolean=false)
+               {       //MethodID:5298, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 15
+                       super(hug1, hug3, hug4);
+
+                       this._target = hug2;
+               }
+
+               //variables/etc.
+               private var _target:Array;                                      //slotID:0
+
+               override public function get target():Object
+               {       //MethodID:5299, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._target;
+               }
+
+               override public function get currentTarget():Object
+               {       //MethodID:5300, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._target;
+               }
+       }
+}
+
+//■script381■
+
+package jp.nicovideo.app.api.v1.plugin.common{
+
+       //■class(instance)_index:451
+       public class NGSource extends Object
+       {
+               //static constructor
+               public static function NGSource$cinit()
+               {       //MethodID:5302, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function NGSource(hug1:uint, hug2:String)
+               {       //MethodID:5303, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
+                       super();
+
+                       this._type = hug1;
+                       this._source = hug2;
+               }
+
+               //variables/etc.
+               private var _type:uint;                                         //slotID:0
+               private var _source:String;                                     //slotID:0
+
+               public function get type():uint
+               {       //MethodID:5304, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._type;
+               }
+
+               public function get source():String
+               {       //MethodID:5305, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._source;
+               }
+       }
+}
+
+//■script382■
+
+package jp.nicovideo.app.api.v1.plugin.common{
+
+       //■class(instance)_index:452
+       public class NGSourceType extends Object
+       {
+               //static constructor
+               public static function NGSourceType$cinit()
+               {       //MethodID:5307, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       KEYWORD = 0;
+                       USER = 1;
+                       COMMAND = 2;
+               }
+
+               //static variables/etc.
+               public static const KEYWORD:uint = 0;                           //slotID:1
+               public static const USER:uint = 1;                              //slotID:2
+               public static const COMMAND:uint = 2;                           //slotID:3
+
+               //constructor
+               public function NGSourceType()
+               {       //MethodID:5308, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script383■
+
+package jp.nicovideo.app.api.v1.plugin.www.events{
+
+       import flash.events.Event
+
+       //■class(instance)_index:453
+       public class PlayerConfigEvent extends Event
+       {
+               //static constructor
+               public static function PlayerConfigEvent$cinit()
+               {       //MethodID:5310, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 48
+                       MUTE_SET = "muteSet";
+                       MUTE_UNSET = "muteUnset";
+                       COMMENT_VISIBLE = "commentVisible";
+                       COMMENT_INVISIBLE = "commentInvisible";
+                       ASPECT_RATIO_UPDATE = "aspectRatioUpdate";
+               }
+
+               //static variables/etc.
+               public static const MUTE_SET:String = "muteSet";                //slotID:1
+               public static const MUTE_UNSET:String = "muteUnset";            //slotID:2
+               public static const COMMENT_VISIBLE:String = "commentVisible";  //slotID:3
+               public static const COMMENT_INVISIBLE:String = "commentInvisible";//slotID:4
+               public static const ASPECT_RATIO_UPDATE:String = "aspectRatioUpdate";//slotID:5
+
+               //constructor
+               public function PlayerConfigEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false)
+               {       //MethodID:5311, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9
+                       super(hug1, hug2, hug3);
+               }
+       }
+}
+
+//■script384■
+
+package jp.nicovideo.app.api.v1.plugin.www{
+
+       //■class(instance)_index:454
+       public class PlayerConfigScreenMode extends Object
+       {
+               //static constructor
+               public static function PlayerConfigScreenMode$cinit()
+               {       //MethodID:5313, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
+                       NORMAL = "normal";
+                       BROWSER_FULL = "browserFull";
+                       DISPLAY_FULL = "displayFull";
+               }
+
+               //static variables/etc.
+               public static const NORMAL:String = "normal";                   //slotID:1
+               public static const BROWSER_FULL:String = "browserFull";        //slotID:2
+               public static const DISPLAY_FULL:String = "displayFull";        //slotID:3
+
+               //constructor
+               public function PlayerConfigScreenMode()
+               {       //MethodID:5314, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script385■
+
+package jp.nicovideo.app.api.v1.plugin.www{
+
+       //■class(instance)_index:455
+       public class PlayerConfigScreenAspectRatio extends Object
+       {
+               //static constructor
+               public static function PlayerConfigScreenAspectRatio$cinit()
+               {       //MethodID:5316, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
+                       SD = "sd";
+                       HD = "hd";
+               }
+
+               //static variables/etc.
+               public static const SD:String = "sd";                           //slotID:1
+               public static const HD:String = "hd";                           //slotID:2
+
+               //constructor
+               public function PlayerConfigScreenAspectRatio()
+               {       //MethodID:5317, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script386■
+//skip components :mx.core
+//as filename :mx_internal.as
+
+//■script387■
+//skip components :mx.utils
+//as filename :NameUtil.as
+
+//■script388■
+//skip components :mx.core
+//as filename :EdgeMetrics.as
+
+//■script389■
+//skip components :mx.core
+//as filename :IAssetLayoutFeatures.as
+
+//■script390■
+
+package jp.nicovideo.app.info{
+
+       //■class(instance)_index:459
+       public interface IThreadInfo
+       {
+               //static constructor
+               public static function IThreadInfo$cinit()
+               {       //MethodID:5373, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
+               }
+
+               //variables/etc.
+               function get id():String;                                                   //MethodID:5374, dispID:0
+
+               function get threadKey():String;                                            //MethodID:5375, dispID:0
+
+               //constructor
+               public function IThreadInfo();                                              //MethodID:5376, dispID:0
+       }
+}
+
+//■script391■
+
+package jp.nicovideo.app.api.v1.plugin.common{
+
+       //■class(instance)_index:460
+       public class Comment extends Object
+       {
+               //static constructor
+               public static function Comment$cinit()
+               {       //MethodID:5378, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
+               }
+
+               //constructor
+               public function Comment()
+               {       //MethodID:5379, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 36
+                       this._fontSize = CommentFontSize.NORMAL;
+                       this._valign = CommentValign.NORMAL;
+                       this._align = CommentAlign.NORMAL;
+
+                       super();
+               }
+
+               //variables/etc.
+               private var _message:String = "";                               //slotID:0
+               private var _mail:String = "";                                  //slotID:0
+               private var _userID:String;                                     //slotID:0
+               private var _yourpost:Boolean;                                  //slotID:0
+               private var _date:Date;                                         //slotID:0
+               private var _resNo:Number;                                      //slotID:0
+               private var _vpos:Number;                                       //slotID:0
+               private var _isPremium:Boolean = false;                         //slotID:0
+               private var _isAnonymity:Boolean = true;                        //slotID:0
+               private var _fontSize:uint;                                     //slotID:0
+               private var _valign:uint;                                       //slotID:0
+               private var _align:uint;                                        //slotID:0
+               private var _name:String;                                       //slotID:0
+
+               public function get message():String
+               {       //MethodID:5380, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._message;
+               }
+
+               public function set message(hug1:String):void
+               {       //MethodID:5381, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._message = hug1;
+               }
+
+               public function get mail():String
+               {       //MethodID:5382, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._mail;
+               }
+
+               public function set mail(hug1:String):void
+               {       //MethodID:5383, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._mail = hug1;
+               }
+
+               public function get name():String
+               {       //MethodID:5384, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._name;
+               }
+
+               public function set name(hug1:String):void
+               {       //MethodID:5385, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._name = hug1;
+               }
+
+               public function get date():Date
+               {       //MethodID:5386, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._date;
+               }
+
+               public function set date(hug1:Date):void
+               {       //MethodID:5387, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._date = hug1;
+               }
+
+               public function get userID():String
+               {       //MethodID:5388, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._userID;
+               }
+
+               public function set userID(hug1:String):void
+               {       //MethodID:5389, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._userID = hug1;
+               }
+
+               public function get yourpost():Boolean
+               {       //MethodID:5390, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._yourpost;
+               }
+
+               public function set yourpost(hug1:Boolean):void
+               {       //MethodID:5391, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._yourpost = hug1;
+               }
+
+               public function get resNo():Number
+               {       //MethodID:5392, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._resNo;
+               }
+
+               public function set resNo(hug1:Number):void
+               {       //MethodID:5393, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._resNo = hug1;
+               }
+
+               public function get vpos():Number
+               {       //MethodID:5394, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._vpos;
+               }
+
+               public function set vpos(hug1:Number):void
+               {       //MethodID:5395, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._vpos = hug1;
+               }
+
+               public function get isPremium():Boolean
+               {       //MethodID:5396, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isPremium;
+               }
+
+               public function set isPremium(hug1:Boolean):void
+               {       //MethodID:5397, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isPremium = hug1;
+               }
+
+               public function get isAnonymity():Boolean
+               {       //MethodID:5398, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._isAnonymity;
+               }
+
+               public function set isAnonymity(hug1:Boolean):void
+               {       //MethodID:5399, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._isAnonymity = hug1;
+               }
+
+               public function get fontSize():uint
+               {       //MethodID:5400, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._fontSize;
+               }
+
+               public function set fontSize(hug1:uint):void
+               {       //MethodID:5401, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._fontSize = hug1;
+               }
+
+               public function get valign():uint
+               {       //MethodID:5402, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._valign;
+               }
+
+               public function set valign(hug1:uint):void
+               {       //MethodID:5403, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._valign = hug1;
+               }
+
+               public function get align():uint
+               {       //MethodID:5404, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
+                       return this._align;
+               }
+
+               public function set align(hug1:uint):void
+               {       //MethodID:5405, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
+                       this._align = hug1;
+               }
+       }
+}
+
+//■script392■
+
+package jp.nicovideo.app.api.v1.plugin.common{
+
+       //■class(instance)_index:461
+       public class CommentAlign extends Object
+       {
+               //static constructor
+               public static function CommentAlign$cinit()
+               {       //MethodID:5407, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       NORMAL = 0;
+                       LEFT = 1;
+                       RIGHT = 2;
+               }
+
+               //static variables/etc.
+               public static const NORMAL:int = 0;                             //slotID:1
+               public static const LEFT:int = 1;                               //slotID:2
+               public static const RIGHT:int = 2;                              //slotID:3
+
+               //constructor
+               public function CommentAlign()
+               {       //MethodID:5408, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script393■
+
+package jp.nicovideo.app.api.v1.plugin.common{
+
+       //■class(instance)_index:462
+       public class CommentValign extends Object
+       {
+               //static constructor
+               public static function CommentValign$cinit()
+               {       //MethodID:5410, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       NORMAL = 0;
+                       TOP = 1;
+                       BOTTOM = 2;
+               }
+
+               //static variables/etc.
+               public static const NORMAL:int = 0;                             //slotID:1
+               public static const TOP:int = 1;                                //slotID:2
+               public static const BOTTOM:int = 2;                             //slotID:3
+
+               //constructor
+               public function CommentValign()
+               {       //MethodID:5411, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script394■
+
+package jp.nicovideo.app.api.v1.plugin.common{
+
+       //■class(instance)_index:463
+       public class CommentFontSize extends Object
+       {
+               //static constructor
+               public static function CommentFontSize$cinit()
+               {       //MethodID:5413, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27
+                       NORMAL = 0;
+                       BIG = 1;
+                       SMALL = 2;
+               }
+
+               //static variables/etc.
+               public static const NORMAL:int = 0;                             //slotID:1
+               public static const BIG:int = 1;                                //slotID:2
+               public static const SMALL:int = 2;                              //slotID:3
+
+               //constructor
+               public function CommentFontSize()
+               {       //MethodID:5414, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
+                       super();
+               }
+       }
+}
+
+//■script395■
+//skip components :mx.core
+//as filename :IRepeaterClient.as
+