--------------------------------------------------------------------------------------------------------------- INITIALIZING VIDBOT, v1.7.1... --------------------------------------------------------------------------------------------------------------- [09:55:29.041] Vidbot :: start() [09:55:29.041] Vidbot :: _next(), _stepIndex:0 of 4 [09:55:29.042] index :: _onStepStarted_vidbot(), step: 1 [09:55:29.043] Vidbot :: step[0], label:Initializing Core [09:55:29.053] index :: _onStepProgress_vidbot(), percent: 20 [09:55:29.053] Vidbot :: _parse() [09:55:29.055] index :: _onStepProgress_vidbot(), percent: 40 [09:55:29.055] Vidbot :: _validate() [09:55:29.056] index :: _onStepProgress_vidbot(), percent: 60 [09:55:29.056] Vidbot :: _fonts() [09:55:29.057] FabricFontManager :: add(), id: SourceSansPro-Bold [09:55:29.057] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Bold.ttf [09:55:29.075] FabricFontManager :: add(), id: SourceSansPro-Light [09:55:29.075] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Light.ttf [09:55:29.076] FabricFontManager :: add(), id: DINOT-Bold [09:55:29.076] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Bold.otf [09:55:29.077] FabricFontManager :: add(), id: DINOT-Light [09:55:29.077] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Light.otf [09:55:29.078] FabricFontManager :: add(), id: TradeGothicLTStd-Regular [09:55:29.078] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Regular.otf [09:55:29.078] FabricFontManager :: add(), id: TradeGothicLTStd-Bold [09:55:29.079] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Bold.otf [09:55:29.080] index :: _onStepProgress_vidbot(), percent: 80 [09:55:29.080] Vidbot :: _clips() [09:55:29.081] StreamManager :: add(), id:audio_vo, type:audio [09:55:29.081] AudioClip[audio_vo] :: constructor() [09:55:29.081] InputStream[audio_vo] :: constructor() [09:55:29.081] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'audio_vo', clipId: null } [09:55:29.084] StreamManager :: add(), id:bg_music, type:audio [09:55:29.085] AudioClip[bg_music] :: constructor() [09:55:29.085] InputStream[bg_music] :: constructor() [09:55:29.085] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'bg_music', clipId: null } [09:55:29.085] StreamManager :: add(), id:mira, type:canvas [09:55:29.085] CanvasStream[canvas_712245914071] :: constructor() [09:55:29.086] InputStream[canvas_712245914071] :: constructor() [09:55:29.171] MiraSlideshow[mira] :: constructor() [09:55:29.171] Mira[mira] :: constructor() [09:55:29.171] Overlay[mira] :: constructor() [09:55:29.171] CanvasClip[mira] :: constructor() [09:55:29.171] Clip[mira] :: constructor() [09:55:29.172] clip:"mira" added to stream:"canvas_712245914071" [09:55:29.172] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_712245914071', clipId: 'mira' } [09:55:29.172] all added... [09:55:29.172] Vidbot :: _next(), _stepIndex:1 of 4 [09:55:29.172] index :: _onStepCompleted_vidbot(), step: 1 [09:55:29.173] index :: _onStepStarted_vidbot(), step: 2 [09:55:29.173] Vidbot :: step[1], label:Initializing Input Streams [09:55:29.173] StreamManager :: init() [09:55:29.173] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'audio_vo', progress: 0.3333333333333333 } [09:55:29.174] index :: _onStepProgress_vidbot(), percent: 33 [09:55:29.174] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'bg_music', progress: 0.6666666666666666 } [09:55:29.174] index :: _onStepProgress_vidbot(), percent: 67 [09:55:29.174] CanvasStream[canvas_712245914071] :: _init(), BEGIN [09:55:29.174] i:0, c.id:mira [09:55:29.175] MiraSlideshow[mira] :: _init(), BEGIN [09:55:29.175] MiraSlideshow[mira] :: _validate() [09:55:29.177] MiraSlideshow :: _validateSlides() [09:55:29.177] i:0, s.type: title [09:55:29.177] i:1, s.type: info [09:55:29.177] i:2, s.type: image [09:55:29.177] i:3, s.type: image [09:55:29.177] i:4, s.type: image [09:55:29.177] i:5, s.type: image [09:55:29.177] i:6, s.type: image [09:55:29.177] i:7, s.type: image [09:55:29.177] i:8, s.type: image [09:55:29.177] i:9, s.type: image [09:55:29.177] i:10, s.type: image [09:55:29.177] i:11, s.type: image [09:55:29.178] i:12, s.type: image [09:55:29.178] i:13, s.type: image [09:55:29.178] i:14, s.type: image [09:55:29.178] i:15, s.type: image [09:55:29.178] i:16, s.type: image [09:55:29.181] MiraSlideshow[mira] :: _build(), BEGIN [09:55:29.186] MiraTitlecard[titlecard] :: constructor() [09:55:29.186] Mira[titlecard] :: constructor() [09:55:29.186] Overlay[titlecard] :: constructor() [09:55:29.186] CanvasClip[titlecard] :: constructor() [09:55:29.186] Clip[titlecard] :: constructor() [09:55:29.186] MiraTitlecard[titlecard] :: _init() [09:55:29.187] MiraTitlecard[titlecard] :: _validate() [09:55:29.187] MiraTitlecard[titlecard] :: _build() [09:55:29.214] Overlay[titlecard] :: _animate() [09:55:29.216] MiraTitlecard[titlecard] :: _animate() [09:55:29.218] AnimatedImageFrame[aiftitle] :: constructor() [09:55:29.220] AnimatedImageFrame[aiftitle] :: _init(), BEGIN [09:55:29.220] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_1.jpg [09:55:29.265] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.269] AnimatedImageFrame[aiftitle] :: _init(), END [09:55:29.273] MiraInfosheet[info] :: constructor() [09:55:29.273] Mira[info] :: constructor() [09:55:29.274] Overlay[info] :: constructor() [09:55:29.274] CanvasClip[info] :: constructor() [09:55:29.274] Clip[info] :: constructor() [09:55:29.274] MiraInfosheet[info] :: _init() [09:55:29.274] MiraInfosheet[info] :: _validate() [09:55:29.276] MiraInfosheet[info] :: _build() [09:55:29.287] RenOptions[info] :: _animate() [09:55:29.287] Overlay[info] :: _animate() [09:55:29.289] AnimatedImageFrame[info1] :: constructor() [09:55:29.289] AnimatedImageFrame[info2] :: constructor() [09:55:29.290] AnimatedImageFrame[info3] :: constructor() [09:55:29.290] AnimatedImageFrame[info1] :: _init(), BEGIN [09:55:29.290] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_11.jpg [09:55:29.323] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.325] AnimatedImageFrame[info1] :: _init(), END [09:55:29.325] AnimatedImageFrame[info2] :: _init(), BEGIN [09:55:29.325] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_12.jpg [09:55:29.357] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.358] AnimatedImageFrame[info2] :: _init(), END [09:55:29.358] AnimatedImageFrame[info3] :: _init(), BEGIN [09:55:29.358] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_21.jpg [09:55:29.384] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.385] AnimatedImageFrame[info3] :: _init(), END [09:55:29.386] AnimatedImageFrame[image] :: constructor() [09:55:29.386] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.386] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_1.jpg [09:55:29.416] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.417] AnimatedImageFrame[image] :: _init(), END [09:55:29.418] AnimatedImageFrame[image] :: constructor() [09:55:29.418] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.418] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_2.jpg [09:55:29.450] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.451] AnimatedImageFrame[image] :: _init(), END [09:55:29.452] AnimatedImageFrame[image] :: constructor() [09:55:29.452] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.452] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_3.jpg [09:55:29.482] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.483] AnimatedImageFrame[image] :: _init(), END [09:55:29.484] AnimatedImageFrame[image] :: constructor() [09:55:29.484] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.484] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_4.jpg [09:55:29.512] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.513] AnimatedImageFrame[image] :: _init(), END [09:55:29.513] AnimatedImageFrame[image] :: constructor() [09:55:29.513] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.513] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_5.jpg [09:55:29.543] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.545] AnimatedImageFrame[image] :: _init(), END [09:55:29.545] AnimatedImageFrame[image] :: constructor() [09:55:29.545] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.545] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_6.jpg [09:55:29.574] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.576] AnimatedImageFrame[image] :: _init(), END [09:55:29.576] AnimatedImageFrame[image] :: constructor() [09:55:29.576] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.576] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_7.jpg [09:55:29.609] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.610] AnimatedImageFrame[image] :: _init(), END [09:55:29.611] AnimatedImageFrame[image] :: constructor() [09:55:29.611] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.611] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_8.jpg [09:55:29.645] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.646] AnimatedImageFrame[image] :: _init(), END [09:55:29.647] AnimatedImageFrame[image] :: constructor() [09:55:29.647] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.647] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_9.jpg [09:55:29.699] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.700] AnimatedImageFrame[image] :: _init(), END [09:55:29.701] AnimatedImageFrame[image] :: constructor() [09:55:29.701] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.701] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_10.jpg [09:55:29.728] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.729] AnimatedImageFrame[image] :: _init(), END [09:55:29.729] AnimatedImageFrame[image] :: constructor() [09:55:29.729] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.729] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_11.jpg [09:55:29.759] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.760] AnimatedImageFrame[image] :: _init(), END [09:55:29.760] AnimatedImageFrame[image] :: constructor() [09:55:29.761] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.761] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_12.jpg [09:55:29.790] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.791] AnimatedImageFrame[image] :: _init(), END [09:55:29.791] AnimatedImageFrame[image] :: constructor() [09:55:29.791] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.792] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_13.jpg [09:55:29.823] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.824] AnimatedImageFrame[image] :: _init(), END [09:55:29.825] AnimatedImageFrame[image] :: constructor() [09:55:29.825] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.825] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_14.jpg [09:55:29.853] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.854] AnimatedImageFrame[image] :: _init(), END [09:55:29.854] AnimatedImageFrame[image] :: constructor() [09:55:29.855] AnimatedImageFrame[image] :: _init(), BEGIN [09:55:29.855] CanvasClip :: LoadImageWithPromise(), src: 4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58_15.jpg [09:55:29.889] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:55:29.890] AnimatedImageFrame[image] :: _init(), END [09:55:29.890] MiraSlideshow[mira] :: _build(), END [09:55:29.890] Overlay[mira] :: _animate() [09:55:29.891] MiraSlideshow[mira] :: _init(), END [09:55:29.891] CanvasStream[mira] :: _init(), p.then() [09:55:29.891] CanvasStream[canvas_712245914071] :: _init(), promise.all.then() [09:55:29.893] CanvasStream[canvas_712245914071] :: _init(), END [09:55:29.893] StreamMangaer :: init(), stream[canvas_712245914071].then() [09:55:29.893] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'canvas_712245914071', progress: 1 } [09:55:29.893] index :: _onStepProgress_vidbot(), percent: 100 [09:55:29.893] StreamManager :: init(), promise.all.then... [09:55:29.894] Vidbot :: StreamMgr.on( 'INITED' ) [09:55:29.894] Vidbot :: _next(), _stepIndex:2 of 4 [09:55:29.894] index :: _onStepCompleted_vidbot(), step: 2 [09:55:29.894] index :: _onStepStarted_vidbot(), step: 3 [09:55:29.894] Vidbot :: step[2], label:Rendering Canvas Streams [09:55:29.894] Vidbot :: StreamMgr.on( 'RENDER_STARTED' ), data: undefined [09:55:29.895] StreamManager :: render() [09:55:29.895] CanvasStream[canvas_712245914071] :: render() [09:55:29.955] index :: _onStepProgress_vidbot(), percent: 0 [09:55:56.607] index :: _onStepProgress_vidbot(), percent: 5 [09:56:21.162] index :: _onStepProgress_vidbot(), percent: 10 [09:56:55.657] index :: _onStepProgress_vidbot(), percent: 15 [09:57:30.257] index :: _onStepProgress_vidbot(), percent: 20 [09:58:08.660] index :: _onStepProgress_vidbot(), percent: 25 [09:58:43.971] index :: _onStepProgress_vidbot(), percent: 30 [09:59:12.569] index :: _onStepProgress_vidbot(), percent: 35 [09:59:40.744] index :: _onStepProgress_vidbot(), percent: 40 [10:00:12.417] index :: _onStepProgress_vidbot(), percent: 45 [10:00:43.687] index :: _onStepProgress_vidbot(), percent: 50 [10:01:20.224] index :: _onStepProgress_vidbot(), percent: 55 [10:01:58.407] index :: _onStepProgress_vidbot(), percent: 60 [10:02:42.765] index :: _onStepProgress_vidbot(), percent: 65 [10:03:24.079] index :: _onStepProgress_vidbot(), percent: 70 [10:03:55.638] index :: _onStepProgress_vidbot(), percent: 75 [10:04:32.567] index :: _onStepProgress_vidbot(), percent: 80 [10:05:09.052] index :: _onStepProgress_vidbot(), percent: 85 [10:05:47.420] index :: _onStepProgress_vidbot(), percent: 90 [10:06:29.014] index :: _onStepProgress_vidbot(), percent: 95 [10:07:04.384] index :: _onStepProgress_vidbot(), percent: 100 [10:07:07.965] StreamManager :: render(), Promise.all.then... [10:07:07.965] Vidbot :: StreamMgr.on( 'RENDER_COMPLETED' ), data: undefined [10:07:07.965] Vidbot :: _next(), _stepIndex:3 of 4 [10:07:07.966] index :: _onStepCompleted_vidbot(), step: 3 [10:07:07.967] index :: _onStepStarted_vidbot(), step: 4 [10:07:07.968] Vidbot :: step[3], label:Encoding Media [10:07:07.970] CanvasFilters :: Overlay() [10:07:07.971] AudioStream[audio_vo] :: inputOptions() [10:07:07.971] AudioFilters :: Volume() [10:07:07.971] filter: [2:a]volume=1[2_vol] [10:07:07.971] AudioFilters :: Delay() [10:07:07.971] filter: [2_vol]adelay=0|0[2_del] [10:07:07.971] AudioStream[bg_music] :: inputOptions() [10:07:07.971] AudioFilters :: Volume() [10:07:07.971] filter: [3:a]volume=0.15[3_vol] [10:07:07.972] AudioFilters :: FadeOut() [10:07:07.972] filter: [3_vol]afade=t=out:st=60:d=1[3_fadeout] [10:07:07.972] AudioFilters :: Delay() [10:07:07.972] filter: [3_fadeout]adelay=0|0[3_del] [10:07:07.972] AudioFilters :: Mix() [10:07:07.972] filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [10:07:07.972] mixed filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [10:07:07.975] hang.time: 60 [10:07:08.139] Vidbot :: ffmpeg.on( 'start' ) [10:07:08.139] ffmpeg -f lavfi -i color=c=000000:s=960x540:r=30:duration=60 -r 30 -i ./tmp/canvas_712245914071_%05d.png -to 00:01:00.000 -i file:///var/www/html/clie [10:07:08.139] nts/21933/audio/4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58.mp3 -to 00:01:00.000 -i file:///var/app/video_pre_processor/assets/vidbot/_files/audio/RF7_Rock_C [10:07:08.140] ountry.mp3 -y -filter_complex [0:v][1:v]overlay=x=0:y=0[1_out];[2:a]volume=1[2_vol];[2_vol]adelay=0|0[2_del];[3:a]volume=0.15[3_vol];[3_vol]afade=t=ou [10:07:08.140] t:st=60:d=1[3_fadeout];[3_fadeout]adelay=0|0[3_del];[2_del][3_del]amix=inputs=2:duration=longest[a_out] -acodec aac -vcodec libx264 -r 30 -f mp4 -map [10:07:08.140] [a_out] -map [1_out] -preset veryfast -crf 18 -movflags frag_keyframe+empty_moov -pix_fmt yuv420p /var/www/html/clients/21933/video/4CA4AE69-0B6F-86B4 [10:07:08.140] -2CF8-1FAC1CF65B58.mp4 [10:07:08.420] index :: _onStepProgress_vidbot(), percent: -3462080762 [10:07:08.808] index :: _onStepProgress_vidbot(), percent: 1 [10:07:09.818] index :: _onStepProgress_vidbot(), percent: 5 [10:07:11.326] index :: _onStepProgress_vidbot(), percent: 10 [10:07:12.835] index :: _onStepProgress_vidbot(), percent: 15 [10:07:14.345] index :: _onStepProgress_vidbot(), percent: 21 [10:07:15.856] index :: _onStepProgress_vidbot(), percent: 26 [10:07:16.871] index :: _onStepProgress_vidbot(), percent: 30 [10:07:18.381] index :: _onStepProgress_vidbot(), percent: 35 [10:07:19.888] index :: _onStepProgress_vidbot(), percent: 40 [10:07:21.404] index :: _onStepProgress_vidbot(), percent: 46 [10:07:22.437] index :: _onStepProgress_vidbot(), percent: 50 [10:07:23.960] index :: _onStepProgress_vidbot(), percent: 55 [10:07:25.976] index :: _onStepProgress_vidbot(), percent: 61 [10:07:26.986] index :: _onStepProgress_vidbot(), percent: 65 [10:07:28.515] index :: _onStepProgress_vidbot(), percent: 70 [10:07:29.526] index :: _onStepProgress_vidbot(), percent: 75 [10:07:31.037] index :: _onStepProgress_vidbot(), percent: 82 [10:07:32.052] index :: _onStepProgress_vidbot(), percent: 86 [10:07:33.078] index :: _onStepProgress_vidbot(), percent: 90 [10:07:34.103] index :: _onStepProgress_vidbot(), percent: 95 [10:07:35.515] index :: _onStepProgress_vidbot(), percent: 100 [10:07:35.565] Vidbot :: ffmpeg.on( 'end' ), Done! [10:07:35.566] StreamManager :: dispose() [10:07:35.566] CanvasStream[canvas_712245914071] :: dispose() [10:07:35.572] Vidbot :: fflog.on( 'finish' ) [10:07:35.572] fflog.path: /var/www/html/clients/21933/video/4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58.mp4.fflog [10:07:35.572] Vidbot :: _next(), _stepIndex:4 of 4 [10:07:35.572] index :: _onStepCompleted_vidbot(), step: 4 [10:07:35.572] index :: _onComplete_vidbot(), data: { stepTime: 0, appTime: 726.556, output: '/var/www/html/clients/21933/video/4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58.mp4', duration: 60 } --------------------------------------------------------------------------------------------------------------- Output File : /var/app/video_pre_processor/jobs/postp//var/www/html/clients/21933/video/4CA4AE69-0B6F-86B4-2CF8-1FAC1CF65B58.mp4 Media Duration : 00:01:00.000 Generation Time : 00:12:06.556 ---------------------------------------------------------------------------------------------------------------