@revideo/ffmpeg 0.2.2 → 0.2.4-alpha.894

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/lib/client/FFmpegExporterClient.d.ts +33 -24
  2. package/lib/client/FFmpegExporterClient.js +76 -73
  3. package/lib/client/index.d.ts +2 -2
  4. package/lib/client/index.js +7 -7
  5. package/lib/server/FFmpegBridge.d.ts +10 -10
  6. package/lib/server/FFmpegBridge.js +57 -53
  7. package/lib/server/FFmpegExporterServer.d.ts +44 -39
  8. package/lib/server/FFmpegExporterServer.d.ts.map +1 -1
  9. package/lib/server/FFmpegExporterServer.js +287 -265
  10. package/lib/server/ImageStream.d.ts +6 -6
  11. package/lib/server/ImageStream.js +20 -20
  12. package/lib/server/index.d.ts +2 -2
  13. package/lib/server/index.js +18 -18
  14. package/lib/server/telemetry/posthog.d.ts +6 -3
  15. package/lib/server/telemetry/posthog.js +22 -20
  16. package/package.json +4 -4
  17. package/lib/server/package.json +0 -37
  18. package/lib/server/server/FFmpegBridge.d.ts +0 -19
  19. package/lib/server/server/FFmpegBridge.d.ts.map +0 -1
  20. package/lib/server/server/FFmpegBridge.js +0 -65
  21. package/lib/server/server/FFmpegExporterServer.d.ts +0 -48
  22. package/lib/server/server/FFmpegExporterServer.d.ts.map +0 -1
  23. package/lib/server/server/FFmpegExporterServer.js +0 -283
  24. package/lib/server/server/ImageStream.d.ts +0 -10
  25. package/lib/server/server/ImageStream.d.ts.map +0 -1
  26. package/lib/server/server/ImageStream.js +0 -25
  27. package/lib/server/server/index.d.ts +0 -4
  28. package/lib/server/server/index.d.ts.map +0 -1
  29. package/lib/server/server/index.js +0 -20
  30. package/lib/server/server/telemetry/posthog.d.ts +0 -5
  31. package/lib/server/server/telemetry/posthog.d.ts.map +0 -1
  32. package/lib/server/server/telemetry/posthog.js +0 -28
@@ -1,283 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FFmpegExporterServer = void 0;
4
- const ffmpeg_1 = require("@ffmpeg-installer/ffmpeg");
5
- const ffprobe_1 = require("@ffprobe-installer/ffprobe");
6
- const ffmpeg = require("fluent-ffmpeg");
7
- const fs = require("fs");
8
- const os = require("os");
9
- const path = require("path");
10
- const uuid_1 = require("uuid");
11
- const ImageStream_1 = require("./ImageStream");
12
- const posthog_1 = require("./telemetry/posthog");
13
- const package_json_1 = require("../package.json");
14
- const SAMPLE_RATE = 48000;
15
- ffmpeg.setFfmpegPath(ffmpeg_1.path);
16
- ffmpeg.setFfprobePath(ffprobe_1.path);
17
- /**
18
- * The server-side implementation of the FFmpeg video exporter.
19
- */
20
- class FFmpegExporterServer {
21
- constructor(settings, config) {
22
- this.config = config;
23
- this.settings = settings;
24
- this.jobFolder = path.join(os.tmpdir(), `revideo-${(0, uuid_1.v4)()}`);
25
- this.stream = new ImageStream_1.ImageStream();
26
- this.command = ffmpeg();
27
- // Input image sequence
28
- this.command
29
- .input(this.stream)
30
- .inputFormat('image2pipe')
31
- .inputFps(settings.fps);
32
- // Input audio file
33
- if (settings.includeAudio && settings.audio) {
34
- this.command
35
- .input(settings.audio.slice(1))
36
- // FIXME Offset only works for negative values.
37
- .inputOptions([`-itsoffset ${settings.audioOffset ?? 0}`]);
38
- }
39
- // Output settings
40
- const size = {
41
- x: Math.round(settings.size.x * settings.resolutionScale),
42
- y: Math.round(settings.size.y * settings.resolutionScale),
43
- };
44
- this.command
45
- .output(path.join(this.jobFolder, `visuals.mp4`))
46
- .outputOptions(['-pix_fmt yuv420p', '-shortest'])
47
- .outputFps(settings.fps)
48
- .size(`${size.x}x${size.y}`);
49
- if (settings.fastStart) {
50
- this.command.outputOptions(['-movflags +faststart']);
51
- }
52
- this.promise = new Promise((resolve, reject) => {
53
- this.command.on('end', resolve).on('error', reject);
54
- });
55
- }
56
- async start() {
57
- (0, posthog_1.sendEvent)(posthog_1.EventName.RenderStarted, { version: package_json_1.default.version });
58
- if (!fs.existsSync(this.config.output)) {
59
- await fs.promises.mkdir(this.config.output, { recursive: true });
60
- }
61
- if (!fs.existsSync(this.jobFolder)) {
62
- await fs.promises.mkdir(this.jobFolder, { recursive: true });
63
- }
64
- this.command.run();
65
- }
66
- async handleFrame({ data }) {
67
- const base64Data = data.slice(data.indexOf(',') + 1);
68
- this.stream.pushImage(Buffer.from(base64Data, 'base64'));
69
- }
70
- async generateAudio({ assets, endFrame, }) {
71
- const assetPositions = getAssetPlacement(assets);
72
- const audioFilenames = [];
73
- for (const asset of assetPositions) {
74
- let hasAudioStream = true;
75
- if (asset.type !== 'audio') {
76
- hasAudioStream = await this.checkForAudioStream(asset);
77
- }
78
- if (asset.playbackRate !== 0 && asset.volume !== 0 && hasAudioStream) {
79
- const filename = await this.prepareAudio(asset, endFrame);
80
- audioFilenames.push(filename);
81
- }
82
- }
83
- if (audioFilenames.length > 0) {
84
- await this.mergeAudioTracks(audioFilenames);
85
- await this.mergeAudioWithVideo(path.join(this.jobFolder, `audio.wav`), path.join(this.jobFolder, `visuals.mp4`));
86
- }
87
- else {
88
- const destination = path.join(this.config.output, `${this.settings.name}.mp4`);
89
- await fs.promises.copyFile(path.join(this.jobFolder, `visuals.mp4`), destination);
90
- console.log(`Rendered successfully! Video saved to: ${destination}`);
91
- }
92
- }
93
- async checkForAudioStream(asset) {
94
- return new Promise((resolve, reject) => {
95
- ffmpeg.ffprobe(asset.src, (err, metadata) => {
96
- if (err) {
97
- console.error('error checking for audioStream for asset', asset.key, err);
98
- reject(err);
99
- return;
100
- }
101
- const audioStreams = metadata.streams.filter(s => s.codec_type === 'audio');
102
- resolve(audioStreams.length > 0);
103
- });
104
- });
105
- }
106
- async end(result) {
107
- this.stream.pushImage(null);
108
- if (result === 1) {
109
- try {
110
- this.command.kill('SIGKILL');
111
- await this.promise;
112
- }
113
- catch (_) {
114
- // do nothing
115
- }
116
- }
117
- else {
118
- await this.promise;
119
- }
120
- }
121
- async kill() {
122
- try {
123
- await fs.promises.rm(this.jobFolder, { recursive: true, force: true }); // cleanup
124
- this.command.kill('SIGKILL');
125
- await this.promise;
126
- }
127
- catch (_) {
128
- return;
129
- }
130
- }
131
- async prepareAudio(asset, endFrame) {
132
- // Construct the output path
133
- const sanitizedKey = asset.key.replace(/[/[\]]/g, '-');
134
- const outputPath = path.join(this.jobFolder, `${sanitizedKey}.wav`);
135
- const trimLeft = asset.trimLeftInSeconds / asset.playbackRate;
136
- const trimRight = Math.min(trimLeft + asset.duration / this.settings.fps, trimLeft + endFrame / this.settings.fps);
137
- const padStart = (asset.startInVideo / this.settings.fps) * 1000;
138
- const padEnd = Math.max(0, (SAMPLE_RATE * endFrame) / this.settings.fps -
139
- (SAMPLE_RATE * asset.duration) / this.settings.fps -
140
- (SAMPLE_RATE * padStart) / 1000);
141
- const atempoFilters = await this.calculateAtempoFilters(asset.playbackRate); // atempo filter value must be >=0.5 and <=100. If the value is higher or lower, this function sets multiple atempo filters
142
- let resolvedPath;
143
- if (asset.src.startsWith('/@fs')) {
144
- resolvedPath = asset.src.replace('/@fs', '');
145
- }
146
- else if (asset.src.startsWith('http')) {
147
- resolvedPath = asset.src;
148
- }
149
- else if (asset.src.startsWith('/')) {
150
- resolvedPath = path.join(this.config.output, '../public', asset.src);
151
- }
152
- else {
153
- resolvedPath = path.join(this.config.output, '..', asset.src);
154
- }
155
- await new Promise((resolve, reject) => {
156
- const audioFilters = [
157
- ...atempoFilters,
158
- `atrim=start=${trimLeft}:end=${trimRight}`,
159
- `apad=pad_len=${padEnd}`,
160
- `adelay=${padStart}|${padStart}|${padStart}`,
161
- `volume=${asset.volume}`,
162
- ].join(',');
163
- ffmpeg(resolvedPath)
164
- .audioChannels(2)
165
- .audioCodec('pcm_s16le')
166
- .audioFrequency(SAMPLE_RATE)
167
- .outputOptions([`-af`, audioFilters])
168
- .on('end', () => {
169
- resolve();
170
- })
171
- .on('error', err => {
172
- console.error(`Error processing audio for asset key: ${asset.key}`, err);
173
- reject(err);
174
- })
175
- .save(outputPath);
176
- });
177
- return outputPath;
178
- }
179
- async mergeAudioTracks(audioFilenames) {
180
- return new Promise((resolve, reject) => {
181
- const command = ffmpeg();
182
- audioFilenames.forEach(filename => {
183
- command.input(filename);
184
- });
185
- command
186
- .complexFilter([
187
- `amix=inputs=${audioFilenames.length}:duration=longest`,
188
- ])
189
- .outputOptions(['-c:a', 'pcm_s16le'])
190
- .on('end', () => {
191
- resolve();
192
- })
193
- .on('error', err => {
194
- console.error(`Error merging audio tracks: ${err.message}`);
195
- reject(err);
196
- })
197
- .save(path.join(this.jobFolder, `audio.wav`));
198
- });
199
- }
200
- async calculateAtempoFilters(playbackRate) {
201
- const atempoFilters = [];
202
- // Calculate how many times we need to 100x the speed
203
- let rate = playbackRate;
204
- while (rate > 100.0) {
205
- atempoFilters.push('atempo=100.0');
206
- rate /= 100.0;
207
- }
208
- // Add the last atempo filter with the remaining rate
209
- if (rate > 1.0) {
210
- atempoFilters.push(`atempo=${rate}`);
211
- }
212
- // Calculate how many times we need to halve the speed
213
- rate = playbackRate;
214
- while (rate < 0.5) {
215
- atempoFilters.push('atempo=0.5');
216
- rate *= 2.0;
217
- }
218
- // Add the last atempo filter with the remaining rate
219
- if (rate < 1.0) {
220
- atempoFilters.push(`atempo=${rate}`);
221
- }
222
- return atempoFilters;
223
- }
224
- async mergeAudioWithVideo(audioPath, videoPath) {
225
- return new Promise((resolve, reject) => {
226
- ffmpeg()
227
- .input(videoPath)
228
- .input(audioPath)
229
- .outputOptions([
230
- '-c:v',
231
- 'copy',
232
- '-c:a',
233
- 'aac',
234
- '-strict',
235
- 'experimental',
236
- ])
237
- .on('end', () => {
238
- resolve();
239
- console.log(`Rendered successfully! Video saved to: ${path.join(this.config.output, `${this.settings.name}.mp4`)}`);
240
- })
241
- .on('error', err => {
242
- console.error(`Error merging video and audio: ${err.message}`);
243
- reject(err);
244
- })
245
- .save(path.join(this.config.output, `${this.settings.name}.mp4`));
246
- });
247
- }
248
- }
249
- exports.FFmpegExporterServer = FFmpegExporterServer;
250
- function getAssetPlacement(frames) {
251
- const assets = [];
252
- // A map to keep track of when each asset starts.
253
- const assetStartMap = new Map();
254
- for (let frame = 0; frame < frames.length; frame++) {
255
- for (const asset of frames[frame]) {
256
- if (!assetStartMap.has(asset.key)) {
257
- assetStartMap.set(asset.key, frame);
258
- assets.push({
259
- key: asset.key,
260
- src: asset.src,
261
- type: asset.type,
262
- startInVideo: frame,
263
- endInVideo: frame,
264
- duration: asset.duration,
265
- playbackRate: asset.playbackRate,
266
- volume: asset.volume,
267
- trimLeftInSeconds: asset.currentTime,
268
- });
269
- }
270
- else {
271
- const existingAsset = assets.find(a => a.key === asset.key);
272
- if (existingAsset) {
273
- existingAsset.endInVideo = frame;
274
- }
275
- }
276
- }
277
- }
278
- assets.forEach(asset => {
279
- asset.duration = asset.endInVideo - asset.startInVideo + 1;
280
- });
281
- return assets;
282
- }
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRkZtcGVnRXhwb3J0ZXJTZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zZXJ2ZXIvRkZtcGVnRXhwb3J0ZXJTZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQTREO0FBQzVELHdEQUErRDtBQVEvRCx3Q0FBd0M7QUFDeEMseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsK0JBQWtDO0FBQ2xDLCtDQUEwQztBQUMxQyxpREFBeUQ7QUFFekQsa0RBQTBDO0FBQzFDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQztBQUUxQixNQUFNLENBQUMsYUFBYSxDQUFDLGFBQVUsQ0FBQyxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxjQUFjLENBQUMsY0FBVyxDQUFDLENBQUM7QUFxQm5DOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7SUFPL0IsWUFDRSxRQUFnQyxFQUNmLE1BQW9CO1FBQXBCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFFckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxXQUFXLElBQUEsU0FBTSxHQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSx5QkFBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUV4Qix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLE9BQU87YUFDVCxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUNsQixXQUFXLENBQUMsWUFBWSxDQUFDO2FBQ3pCLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFMUIsbUJBQW1CO1FBQ25CLElBQUksUUFBUSxDQUFDLFlBQVksSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLENB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
@@ -1,10 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { Readable } from 'stream';
4
- export declare class ImageStream extends Readable {
5
- private image;
6
- private hasData;
7
- pushImage(image: Buffer | null): void;
8
- _read(): void;
9
- }
10
- //# sourceMappingURL=ImageStream.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageStream.d.ts","sourceRoot":"","sources":["../../../server/ImageStream.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAEhC,qBAAa,WAAY,SAAQ,QAAQ;IACvC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAAS;IAEjB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOrB,KAAK;CAMtB"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImageStream = void 0;
4
- const stream_1 = require("stream");
5
- class ImageStream extends stream_1.Readable {
6
- constructor() {
7
- super(...arguments);
8
- this.image = null;
9
- this.hasData = false;
10
- }
11
- pushImage(image) {
12
- this.image = image;
13
- this.hasData = true;
14
- this._read();
15
- }
16
- // eslint-disable-next-line @typescript-eslint/naming-convention
17
- _read() {
18
- if (this.hasData) {
19
- this.hasData = false;
20
- this.push(this.image);
21
- }
22
- }
23
- }
24
- exports.ImageStream = ImageStream;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW1hZ2VTdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zZXJ2ZXIvSW1hZ2VTdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWdDO0FBRWhDLE1BQWEsV0FBWSxTQUFRLGlCQUFRO0lBQXpDOztRQUNVLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBQzVCLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFlMUIsQ0FBQztJQWJRLFNBQVMsQ0FBQyxLQUFvQjtRQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsZ0VBQWdFO0lBQ2hELEtBQUs7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWpCRCxrQ0FpQkMifQ==
@@ -1,4 +0,0 @@
1
- import { Plugin } from '@revideo/vite-plugin/lib/plugins';
2
- declare const _default: () => Plugin;
3
- export default _default;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAGP,MAAM,kCAAkC,CAAC;8BAGvB,MAAM;AAAzB,wBAcE"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const plugins_1 = require("@revideo/vite-plugin/lib/plugins");
4
- const FFmpegBridge_1 = require("./FFmpegBridge");
5
- exports.default = () => {
6
- let config;
7
- return {
8
- name: 'revideo/ffmpeg',
9
- [plugins_1.PLUGIN_OPTIONS]: {
10
- entryPoint: '@revideo/ffmpeg/lib/client',
11
- async config(value) {
12
- config = value;
13
- },
14
- },
15
- configureServer(server) {
16
- new FFmpegBridge_1.FFmpegBridge(server.ws, config);
17
- },
18
- };
19
- };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zZXJ2ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4REFJMEM7QUFDMUMsaURBQTRDO0FBRTVDLGtCQUFlLEdBQVcsRUFBRTtJQUMxQixJQUFJLE1BQW9CLENBQUM7SUFDekIsT0FBTztRQUNMLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsQ0FBQyx3QkFBYyxDQUFDLEVBQUU7WUFDaEIsVUFBVSxFQUFFLDRCQUE0QjtZQUN4QyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7Z0JBQ2hCLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDakIsQ0FBQztTQUNGO1FBQ0QsZUFBZSxDQUFDLE1BQU07WUFDcEIsSUFBSSwyQkFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEMsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDLENBQUMifQ==
@@ -1,5 +0,0 @@
1
- export declare enum EventName {
2
- RenderStarted = "render-started"
3
- }
4
- export declare function sendEvent(eventName: EventName, eventProperties?: object): void;
5
- //# sourceMappingURL=posthog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"posthog.d.ts","sourceRoot":"","sources":["../../../../server/telemetry/posthog.ts"],"names":[],"mappings":"AAMA,oBAAY,SAAS;IACnB,aAAa,mBAAmB;CACjC;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,GAAE,MAAW,QAc3E"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendEvent = exports.EventName = void 0;
4
- const posthog_node_1 = require("posthog-node");
5
- const Client = new posthog_node_1.PostHog('phc_YpKoFD7smPe4SXRtVyMW766uP9AjUwnuRJ8hh2EJcVv', {
6
- host: 'https://eu.posthog.com',
7
- });
8
- var EventName;
9
- (function (EventName) {
10
- EventName["RenderStarted"] = "render-started";
11
- })(EventName || (exports.EventName = EventName = {}));
12
- function sendEvent(eventName, eventProperties = {}) {
13
- if (process.env.DISABLE_TELEMETRY === 'true') {
14
- return;
15
- }
16
- try {
17
- Client.capture({
18
- distinctId: 'anonymous-user',
19
- event: eventName,
20
- properties: eventProperties,
21
- });
22
- }
23
- catch (e) {
24
- console.error(e);
25
- }
26
- }
27
- exports.sendEvent = sendEvent;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdGhvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NlcnZlci90ZWxlbWV0cnkvcG9zdGhvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBcUM7QUFFckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxzQkFBTyxDQUFDLGlEQUFpRCxFQUFFO0lBQzVFLElBQUksRUFBRSx3QkFBd0I7Q0FDL0IsQ0FBQyxDQUFDO0FBRUgsSUFBWSxTQUVYO0FBRkQsV0FBWSxTQUFTO0lBQ25CLDZDQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFGVyxTQUFTLHlCQUFULFNBQVMsUUFFcEI7QUFFRCxTQUFnQixTQUFTLENBQUMsU0FBb0IsRUFBRSxrQkFBMEIsRUFBRTtJQUMxRSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDN0MsT0FBTztJQUNULENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2IsVUFBVSxFQUFFLGdCQUFnQjtZQUM1QixLQUFLLEVBQUUsU0FBUztZQUNoQixVQUFVLEVBQUUsZUFBZTtTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFkRCw4QkFjQyJ9