diff --git a/.gitignore b/.gitignore
index c9106a7..7581eea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
node_modules
.nyc_output
+.DS_Store
+.vscode
diff --git a/API.md b/API.md
index aa59fae..aec9932 100644
--- a/API.md
+++ b/API.md
@@ -14,15 +14,21 @@
* [.getLiveMediaSequenceSegments(seqIdx)](#HLSVod+getLiveMediaSequenceSegments)
* [.getMediaSegments()](#HLSVod+getMediaSegments)
* [.getLiveMediaSequenceAudioSegments(audioGroupId, audioLanguage, seqIdx)](#HLSVod+getLiveMediaSequenceAudioSegments)
+ * [.getLiveMediaSequenceSubtitleSegments(subtitleGroupId, subtitleLanguage, seqIdx)](#HLSVod+getLiveMediaSequenceSubtitleSegments)
* [.getBandwidths()](#HLSVod+getBandwidths)
- * [.getLiveMediaSequencesCount()](#HLSVod+getLiveMediaSequencesCount)
+ * [.getSubtitleGroups(all?)](#HLSVod+getSubtitleGroups)
+ * [.getSubtitleLangsForSubtitleGroup(groupId, all?)](#HLSVod+getSubtitleLangsForSubtitleGroup)
+ * [.getLiveMediaSequencesCount(media?)](#HLSVod+getLiveMediaSequencesCount)
* [.getLastSequenceMediaSequenceValue()](#HLSVod+getLastSequenceMediaSequenceValue)
* [.getLastSequenceMediaSequenceValueAudio()](#HLSVod+getLastSequenceMediaSequenceValueAudio)
+ * [.getLastSequenceMediaSequenceValueSubtitle()](#HLSVod+getLastSequenceMediaSequenceValueSubtitle)
* [.getLiveMediaSequences(offset, bandwidth, seqIdx, discOffset, padding, forceTargetDuration)](#HLSVod+getLiveMediaSequences)
- * [.getLiveMediaAudioSequences()](#HLSVod+getLiveMediaAudioSequences)
+ * [.getLiveMediaAudioSequences(offset, bandwidth, seqIdx, discOffset, padding, forceTargetDuration)](#HLSVod+getLiveMediaAudioSequences)
+ * [.getLiveMediaSubtitleSequences(offset, bandwidth, seqIdx, discOffset, padding, forceTargetDuration)](#HLSVod+getLiveMediaSubtitleSequences)
* [.getUsageProfiles()](#HLSVod+getUsageProfiles)
* [.getLastDiscontinuity()](#HLSVod+getLastDiscontinuity)
* [.getLastDiscontinuityAudio()](#HLSVod+getLastDiscontinuityAudio)
+ * [.getLastDiscontinuitySubtitle()](#HLSVod+getLastDiscontinuitySubtitle)
* [.getDeltaTimes()](#HLSVod+getDeltaTimes)
* [.getPlayheadPositions()](#HLSVod+getPlayheadPositions)
* [.releasePreviousVod()](#HLSVod+releasePreviousVod)
@@ -136,15 +142,57 @@ Get all audio segments (duration, uri) for a specific media sequence
| audioLanguage | string
| audio language |
| seqIdx | number
| media sequence index (first is 0) |
+**Kind**: instance method of [HLSVod
](#HLSVod)
+
+
+### hlsVod.getLiveMediaSequenceSubtitleSegments(subtitleGroupId, subtitleLanguage, seqIdx)
+Get all subtitle segments (duration, uri) for a specific media sequence
+
+**Kind**: instance method of [HLSVod
](#HLSVod)
+
+| Param | Type | Description |
+| --- | --- | --- |
+| subtitleGroupId | string
| subtitle group Id |
+| subtitleLanguage | string
| subtitle language |
+| seqIdx | number
| media sequence index (first is 0) |
+
+**Kind**: instance method of [HLSVod
](#HLSVod)
### hlsVod.getBandwidths()
Get the available bandwidths for this VOD
+**Kind**: instance method of [HLSVod
](#HLSVod)
+
+
+### hlsVod.getSubtitleGroups(all?)
+Get the available subtitle group for this VOD
+
+there exists a default group with a lang used to create dummy segments which can be filtered using all parameter
+
+| Param | Type | Description |
+| --- | --- | --- |
+| all | boolean
| used to determine if you want all the langs or not, false by default |
+
+**Kind**: instance method of [HLSVod
](#HLSVod)
+
+
+### hlsVod.getSubtitleLangsForSubtitleGroup(groupId)
+Get the all language for a specific groupId
+
+| Param | Type | Description |
+| --- | --- | --- |
+| groupId | string
| subtitle group Id |
+
**Kind**: instance method of [HLSVod
](#HLSVod)
-### hlsVod.getLiveMediaSequencesCount()
+### hlsVod.getLiveMediaSequencesCount(media?)
+
+| Param | Type | Description |
+| --- | --- | --- |
+| media | string
| pass this variable to select video, audio or subtitle. If omitted video is assumed |
+
Get the number of media sequences for this VOD
**Kind**: instance method of [HLSVod
](#HLSVod)
@@ -160,6 +208,22 @@ Get the media-sequence value for the last media sequence of this VOD
Get the media-sequence value for the last audio media sequence of this VOD
**Kind**: instance method of [HLSVod
](#HLSVod)
+
+
+### hlsVod.getLastSequenceMediaSequenceValueSubtitle()
+Get the media-sequence value for the last subtitle media sequence of this VOD
+
+**Kind**: instance method of [HLSVod
](#HLSVod)
+
+| Param | Type | Description |
+| --- | --- | --- |
+| offset | number
| add this offset to all media sequences in the EXT-X-MEDIA-SEQUENCE tag |
+| bandwidth | string
| |
+| seqIdx | number
| |
+| discOffset | number
| add this offset to all discontinuity sequences in the EXT-X-DISCONTINUITY-SEQUENCE tag |
+| padding | number
| add extra seconds on the EXT-X-TARGETDURATION |
+| forceTargetDuration | number
| enforce a fixed EXT-X-TARGETDURATION |
+
### hlsVod.getLiveMediaSequences(offset, bandwidth, seqIdx, discOffset, padding, forceTargetDuration)
@@ -178,10 +242,28 @@ Get the HLS live media sequence for a specific media sequence and bandwidth
-### hlsVod.getLiveMediaAudioSequences()
+### hlsVod.getLiveMediaAudioSequences(offset, bandwidth, seqIdx, discOffset, padding, forceTargetDuration)
Gets a hls/makes m3u8-file with all of the correct audio segments
belonging to a given groupID & language for a particular sequence.
+**Kind**: instance method of [HLSVod
](#HLSVod)
+
+| Param | Type | Description |
+| --- | --- | --- |
+| offset | number
| add this offset to all media sequences in the EXT-X-MEDIA-SEQUENCE tag |
+| bandwidth | string
| |
+| seqIdx | number
| |
+| discOffset | number
| add this offset to all discontinuity sequences in the EXT-X-DISCONTINUITY-SEQUENCE tag |
+| padding | number
| add extra seconds on the EXT-X-TARGETDURATION |
+| forceTargetDuration | number
| enforce a fixed EXT-X-TARGETDURATION |
+
+
+
+
+### hlsVod.getLiveMediaSubtitleSequences(offset, bandwidth, seqIdx, discOffset, padding, forceTargetDuration)
+Gets a hls/makes m3u8-file with all of the correct subtitle segments
+belonging to a given groupID & language for a particular sequence.
+
**Kind**: instance method of [HLSVod
](#HLSVod)
@@ -200,6 +282,12 @@ Get the last discontinuity sequence number
### hlsVod.getLastDiscontinuityAudio()
Get the last audio discontinuity sequence number
+**Kind**: instance method of [HLSVod
](#HLSVod)
+
+
+### hlsVod.getLastDiscontinuitySubtitle()
+Get the last subtitle discontinuity sequence number
+
**Kind**: instance method of [HLSVod
](#HLSVod)
diff --git a/README.md b/README.md
index 105060f..e213d83 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ npm install --save @eyevinn/hls-vodtolive
## Usage
-This library load and parses HLS VOD manifests and generates HLS Live manifests. The example below loads one HLS VOD and then another HLS VOD that is appendend to the first one. The `getLiveMediaSequences(mediaseq)` returns HLS Live media sequence slices, and in the example below outputs the last live media sequence representation of the first VOD.
+This library load and parses HLS VOD manifests and generates HLS Live manifests. The example below loads one HLS VOD and then another HLS VOD that is appended to the first one. The `getLiveMediaSequences(mediaseq)` returns HLS Live media sequence slices, and in the example below outputs the last live media sequence representation of the first VOD.
```
const HLSVod = require('@eyevinn/hls-vodtolive');
@@ -116,6 +116,16 @@ segB2.ts
segB3.ts
```
+
+To use this library with subtitles the following options are required to be supplied when creating a new instance of HLSVod
+ ```
+shouldContainSubtitles: true, // says that the loaded VOD should contain subtitles and to create dummy if missing.
+expectedSubtitleTracks: subtitleTracks, // says that the loaded VOD should contain subtitles and to create dummy if missing
+dummySubtitleEndpoint: "/dummysubs.vtt", // it should link to an endpoint that will serve empty vtt files.
+subtitleSliceEndpoint: "/subtitlevtt.vtt", // it should link to an endpoint that can splice and vtt file and serve it in case a VOD contains
+ subtitle segments longer than video segments.
+```
+
# Documentation
- [API Documentation](API.md)
diff --git a/index.js b/index.js
index 641498e..b64493b 100644
--- a/index.js
+++ b/index.js
@@ -18,10 +18,14 @@ class HLSVod {
this.masterManifestUri = vodManifestUri;
this.segments = {};
this.audioSegments = {};
+ this.subtitleSegments = {};
this.mediaSequences = [];
this.SEQUENCE_DURATION = process.env.SEQUENCE_DURATION ? process.env.SEQUENCE_DURATION : 60;
+ this.DEFAULT_SUBTITLE_GROUP_ID = "defaultSubtitleGroupId";
+ this.DEFAULT_SUBTITLE_LANGUAGE = "defaultSubtitleLanguage";
this.targetDuration = {};
this.targetAudioDuration = {};
+ this.targetSubtitleDuration = {};
this.previousVod = null;
this.usageProfile = [];
this.segmentsInitiated = {};
@@ -32,12 +36,15 @@ class HLSVod {
this.usageProfileMappingRev = null;
this.discontinuities = {};
this.discontinuitiesAudio = {};
+ this.discontinuitiesSubtitle = {};
this.mediaSequenceValues = {};
this.mediaSequenceValuesAudio = {};
+ this.mediaSequenceValuesSubtitle = {};
this.rangeMetadata = null;
this.matchedBandwidths = {};
this.deltaTimes = [];
this.deltaTimesAudio = [];
+ this.deltaTimesSubtitle = [];
this.header = header;
this.lastUsedDiscSeq = null;
this.sequenceAlwaysContainNewSegments = false;
@@ -47,10 +54,23 @@ class HLSVod {
if (opts && opts.forcedDemuxMode) {
this.forcedDemuxMode = opts.forcedDemuxMode;
}
+ if (opts && opts.dummySubtitleEndpoint) {
+ this.dummySubtitleEndpoint = opts.dummySubtitleEndpoint;
+ }
+ if (opts && opts.subtitleSliceEndpoint) {
+ this.subtitleSliceEndpoint = opts.subtitleSliceEndpoint;
+ }
+ if (opts && opts.shouldContainSubtitles) {
+ this.shouldContainSubtitles = opts.shouldContainSubtitles;
+ }
+ if (opts && opts.expectedSubtitleTracks) {
+ this.expectedSubtitleTracks = opts.expectedSubtitleTracks;
+ }
this.videoSequencesCount = 0;
this.audioSequencesCount = 0;
this.defaultAudioGroupAndLang = null;
- this.mediaStartExecessTime = 0;
+ this.SubtitleSequencesCount = 0;
+ this.mediaStartExcessTime = 0;
this.audioCodecsMap = {};
}
@@ -59,10 +79,14 @@ class HLSVod {
masterManifestUri: this.masterManifestUri,
segments: this.segments,
audioSegments: this.audioSegments,
+ subtitleSegments: this.subtitleSegments,
+ shouldContainSubtitles: this.shouldContainSubtitles,
+ expectedSubtitleTracks: this.expectedSubtitleTracks,
mediaSequences: this.mediaSequences,
SEQUENCE_DURATION: this.SEQUENCE_DURATION,
targetDuration: this.targetDuration,
targetAudioDuration: this.targetAudioDuration,
+ targetSubtitleDuration: this.targetSubtitleDuration,
previousVod: this.previousVod ? this.previousVod.toJSON() : null,
usageProfile: this.usageProfile,
segmentsInitiated: this.segmentsInitiated,
@@ -73,17 +97,22 @@ class HLSVod {
usageProfileMappingRev: this.usageProfileMappingRev,
discontinuities: this.discontinuities,
discontinuitiesAudio: this.discontinuitiesAudio,
+ discontinuitiesSubtitle: this.discontinuitiesSubtitle,
deltaTimes: this.deltaTimes,
deltaTimesAudio: this.deltaTimesAudio,
+ deltaTimesSubtitle: this.deltaTimesSubtitle,
header: this.header,
lastUsedDiscSeq: this.lastUsedDiscSeq,
mediaSequenceValues: this.mediaSequenceValues,
mediaSequenceValuesAudio: this.mediaSequenceValuesAudio,
sequenceAlwaysContainNewSegments: this.sequenceAlwaysContainNewSegments,
forcedDemuxMode: this.forcedDemuxMode,
+ dummySubtitleEndpoint: this.dummySubtitleEndpoint,
+ subtitleSliceEndpoint: this.subtitleSliceEndpoint,
videoSequencesCount: this.videoSequencesCount,
audioSequencesCount: this.audioSequencesCount,
- mediaStartExecessTime: this.mediaStartExecessTime,
+ subtitleSequencesCount: this.subtitleSegments,
+ mediaStartExcessTime: this.mediaStartExcessTime,
audioCodecsMap: this.audioCodecsMap,
};
return JSON.stringify(serialized);
@@ -94,10 +123,14 @@ class HLSVod {
this.masterManifestUri = de.masterManifestUri;
this.segments = de.segments;
this.audioSegments = de.audioSegments;
+ this.subtitleSegments = de.subtitleSegments;
+ this.shouldContainSubtitles = de.shouldContainSubtitles;
+ this.expectedSubtitleTracks = de.expectedSubtitleTracks;
this.mediaSequences = de.mediaSequences;
this.SEQUENCE_DURATION = de.SEQUENCE_DURATION;
this.targetDuration = de.targetDuration;
this.targetAudioDuration = de.targetAudioDuration;
+ this.targetSubtitleDuration = de.targetSubtitleDuration;
const prevVod = new HLSVod();
this.previousVod = null;
if (de.previousVod) {
@@ -112,38 +145,53 @@ class HLSVod {
this.usageProfileMappingRev = de.usageProfileMappingRev;
this.discontinuities = de.discontinuities;
this.discontinuitiesAudio = de.discontinuitiesAudio;
+ this.discontinuitiesSubtitle = de.discontinuitiesSubtitle;
this.deltaTimes = de.deltaTimes;
this.deltaTimesAudio = de.deltaTimesAudio;
+ this.deltaTimesSubtitle = de.deltaTimesSubtitle;
this.header = de.header;
if (de.lastUsedDiscSeq) {
this.lastUsedDiscSeq = de.lastUsedDiscSeq;
}
this.mediaSequenceValues = de.mediaSequenceValues;
this.mediaSequenceValuesAudio = de.mediaSequenceValuesAudio;
+ this.mediaSequenceValuesSubtitle = de.mediaSequenceValuesSubtitle;
this.sequenceAlwaysContainNewSegments = de.sequenceAlwaysContainNewSegments;
this.forcedDemuxMode = de.forcedDemuxMode;
+ this.dummySubtitleEndpoint = de.dummySubtitleEndpoint;
+ this.subtitleSliceEndpoint = de.subtitleSliceEndpoint;
this.videoSequencesCount = de.videoSequencesCount;
this.audioSequencesCount = de.audioSequencesCount;
- this.mediaStartExecessTime = de.mediaStartExecessTime;
+ this.subtitleSequencesCount = de.subtitleSequencesCount
+ this.mediaStartExcessTime = de.mediaStartExcessTime;
this.audioCodecsMap = de.audioCodecsMap;
}
/**
* Load and parse the HLS VOD
*/
- load(_injectMasterManifest, _injectMediaManifest, _injectAudioManifest) {
+ load(_injectMasterManifest, _injectMediaManifest, _injectAudioManifest, _injectSubtitleManifest) {
return new Promise((resolve, reject) => {
const parser = m3u8.createStream();
parser.on("m3u", (m3u) => {
let mediaManifestPromises = [];
let audioManifestPromises = [];
+ let subtitleManifestPromises = [];
let baseUrl;
const m = this.masterManifestUri.match("^(.*)/.*?$");
if (m) {
baseUrl = m[1] + "/";
}
const HAS_AUDIO_DEFAULTS = this.defaultAudioGroupAndLang === null ? false : true;
+ if (this.shouldContainSubtitles) {
+ if (!this.subtitleSegments[this.DEFAULT_SUBTITLE_GROUP_ID]) {
+ this.subtitleSegments[this.DEFAULT_SUBTITLE_GROUP_ID] = {};
+ }
+ if (!this.subtitleSegments[this.DEFAULT_SUBTITLE_GROUP_ID][this.DEFAULT_SUBTITLE_LANGUAGE]) {
+ this.subtitleSegments[this.DEFAULT_SUBTITLE_GROUP_ID][this.DEFAULT_SUBTITLE_LANGUAGE] = [];
+ }
+ }
if (this.previousVod && this.previousVod.getBandwidths().length === m3u.items.StreamItem.length) {
debug(`Previous VOD bandwidths matches amount of current. A mapping is possible`);
const previousBandwidths = this.previousVod.getBandwidths().sort((a, b) => a - b);
@@ -160,6 +208,7 @@ class HLSVod {
}
let audioGroups = {};
+ let subtitleGroups = {};
for (let i = 0; i < m3u.items.StreamItem.length; i++) {
const streamItem = m3u.items.StreamItem[i];
@@ -177,7 +226,7 @@ class HLSVod {
}
this.usageProfile.push(usageProfile);
- // Do not add if it is a variant included in an audio group as it will be loaded and parsed seperate
+ // Do not add if it is a variant included in an audio group as it will be loaded and parsed separate
if (!m3u.items.MediaItem.find((mediaItem) => mediaItem.get("type") === "AUDIO" && mediaItem.get("uri") == streamItem.get("uri"))) {
if (streamItem.get("codecs") !== "mp4a.40.2") {
mediaManifestPromises.push(this._loadMediaManifest(mediaManifestUrl, streamItem.get("bandwidth"), _injectMediaManifest));
@@ -209,7 +258,7 @@ class HLSVod {
});
// # Find all langs amongst the mediaItems that have this group id.
// # It extracts each mediaItems language attribute value.
- // # ALSO initialize in this.audioSegments a lang. property whos value is an array [{seg1}, {seg2}, ...].
+ // # ALSO initialize in this.audioSegments a lang. property who's value is an array [{seg1}, {seg2}, ...].
let audioLanguages = audioGroupItems.map((item) => {
let itemLang;
if (!item.get("language")) {
@@ -300,11 +349,112 @@ class HLSVod {
} else if (this.forcedDemuxMode) {
reject(new Error("The vod is not a demux vod"));
}
+
+ if (streamItem.get("subtitles") && this.shouldContainSubtitles) {
+ if (!this.subtitleSliceEndpoint) {
+ reject(new Error("Missing subtitle slice URL"));
+ continue;
+ }
+ if (!this.expectedSubtitleTracks) {
+ reject(new Error("There are no expected subtitle tracks"));
+ continue;
+ }
+ let subtitleGroupId = streamItem.get("subtitles");
+ if (!this.subtitleSegments[subtitleGroupId]) {
+ this.subtitleSegments[subtitleGroupId] = {};
+ }
+ debug(`Lookup media item for '${subtitleGroupId}'`);
+ // # Needed for the case when loading after another VOD.
+ const previousVODLanguages = Object.keys(this.subtitleSegments[subtitleGroupId]);
+
+ let subtitleGroupItems = m3u.items.MediaItem.filter((item) => {
+ return item.get("type") === "SUBTITLES" && item.get("group-id") === subtitleGroupId;
+ });
+ // # Find all langs amongst the mediaItems that have this group id.
+ // # It extracts each mediaItems language attribute value.
+ // # ALSO initialize in this.subtitleSegments a lang. property who's value is an array [{seg1}, {seg2}, ...].
+ let subtitleLanguages = subtitleGroupItems.map((item) => {
+ let itemLang;
+ if (!item.get("language")) {
+ itemLang = item.get("name");
+ } else {
+ itemLang = item.get("language");
+ }
+ if (!this.expectedSubtitleTracks.find((track) => track.language.toLowerCase() === itemLang.toLowerCase() || track.name.toLowerCase() === itemLang.toLowerCase())) {
+ console.log("not found")
+ return;
+ }
+
+ // Initialize lang. in new group.
+ if (!this.subtitleSegments[subtitleGroupId][itemLang]) {
+ this.subtitleSegments[subtitleGroupId][itemLang] = [];
+ }
+ return (item = itemLang);
+ }).filter((item) => item !== undefined);
+
+
+ // # Inject default language's segments to every new language relative to previous VOD.
+ // # For the case when this is a VOD following another, every language new or old should
+ // # start with some segments from the previous VOD's last sequence.
+ const newLanguages = subtitleLanguages.filter((lang) => {
+ return !previousVODLanguages.includes(lang);
+ });
+
+ if (this.previousVod) {
+ for (let i = 0; i < newLanguages.length; i++) {
+ const newLanguage = newLanguages[i];
+ this.subtitleSegments[subtitleGroupId][newLanguage] = [...this.subtitleSegments[this.DEFAULT_SUBTITLE_GROUP_ID][this.DEFAULT_SUBTITLE_LANGUAGE]];
+ }
+ }
+
+ // # For each lang, find the lang playlist uri and do _loadSubtitleManifest() on it.
+ for (let j = 0; j < subtitleLanguages.length; j++) {
+ let subtitleLang = subtitleLanguages[j];
+ let subtitleUri = subtitleGroupItems[j].get("uri");
+ if (!subtitleUri) {
+ //# if mediaItems dont have uris
+ let subtitleVariant = m3u.items.StreamItem.find((item) => {
+ return !item.get("resolution") && item.get("subtitle") === subtitleGroupId;
+ });
+ if (subtitleVariant) {
+ subtitleUri = subtitleVariant.get("uri");
+ }
+ }
+ if (subtitleUri) {
+ let subtitleManifestUrl = urlResolve(baseUrl, subtitleUri);
+ if (!subtitleGroups[subtitleGroupId]) {
+ subtitleGroups[subtitleGroupId] = {};
+ }
+ // # Prevents 'loading' an subtitle track with same GroupID and LANG.
+ // # otherwise it just would've loaded OVER the latest occurrent of the LANG in GroupID.
+ if (!subtitleGroups[subtitleGroupId][subtitleLang]) {
+ let targetGroup = subtitleGroupId;
+ let targetLang = subtitleLang;
+ subtitleGroups[subtitleGroupId][subtitleLang] = true;
+ subtitleManifestPromises.push(this._loadSubtitleManifest(subtitleManifestUrl, targetGroup, targetLang, _injectSubtitleManifest));
+ } else {
+ debug(`Subtitle manifest for language "${subtitleLang}" from '${subtitleGroupId}' in already loaded, skipping`);
+ }
+ } else {
+ debug(`No media item for '${subtitleGroupId}' in "${subtitleLang}" was found, skipping`);
+ }
+ }
+ } else if (this.shouldContainSubtitles) {
+ if (!this.dummySubtitleEndpoint) {
+ reject(new Error("Loaded VOD does not contain subtitles and there is no dummy subtitle segment URL configured"));
+ }
+ if (!this.expectedSubtitleTracks) {
+ reject(new Error("There are no expected subtitle tracks"));
+ }
+ if (!this.subtitleSliceEndpoint) {
+ reject(new Error("Missing subtitle slice URL"));
+ }
+ }
}
debug("Codec to Audio Group Id mapping");
debug(this.audioCodecsMap);
- return Promise.all(audioManifestPromises);
+ return Promise.all(audioManifestPromises.concat(subtitleManifestPromises))
}).then(this._cleanupUnused.bind(this))
.then(this._createMediaSequences.bind(this))
.then(resolve)
@@ -343,14 +493,14 @@ class HLSVod {
*
* @param {HLSVod} previousVod - the previous VOD to concatenate to
*/
- loadAfter(previousVod, _injectMasterManifest, _injectMediaManifest, _injectAudioManifest) {
+ loadAfter(previousVod, _injectMasterManifest, _injectMediaManifest, _injectAudioManifest, _injectSubtitleManifest) {
debug(`Initializing Load VOD After VOD...`);
return new Promise((resolve, reject) => {
this.previousVod = previousVod;
try {
this._loadPrevious();
- this.load(_injectMasterManifest, _injectMediaManifest, _injectAudioManifest)
- .then(() => {
+ this.load(_injectMasterManifest, _injectMediaManifest, _injectAudioManifest, _injectSubtitleManifest)
+ .then(() => {// WARNING we can never remove this.previousVod because it is used later in the code
previousVod.releasePreviousVod();
resolve();
})
@@ -411,7 +561,7 @@ class HLSVod {
});
if (!this._isEmpty(this.audioSegments)) {
- // TODO: Prepend segs to all audio tracks, in all audio groups
+ // TODO: Prepend segments to all audio tracks, in all audio groups
}
} else {
if (mediaSeqNo >= 0) {
@@ -437,7 +587,7 @@ class HLSVod {
});
if (!this._isEmpty(this.audioSegments)) {
- // TODO: Prepend segs to all audio tracks, in all audio groups
+ // TODO: Prepend segments to all audio tracks, in all audio groups
}
}
@@ -527,6 +677,32 @@ class HLSVod {
}
}
+ /**
+ * Get all subtitle segments (duration, uri) for a specific media sequence
+ *
+ * @param {string} subtitleGroupId - subtitle group Id
+ * @param {string} subtitleLanguage - subtitle language
+ * @param {number} seqIdx - media sequence index (first is 0)
+ */
+ getLiveMediaSequenceSubtitleSegments(subtitleGroupId, subtitleLanguage, seqIdx) {
+ try {
+ // # When language not found, return segments from default language.
+ if (!this.mediaSequences[seqIdx].subtitleSegments[subtitleGroupId]) {
+ subtitleGroupId = this.DEFAULT_SUBTITLE_GROUP_ID;
+ }
+
+ if (!this.mediaSequences[seqIdx].subtitleSegments[subtitleGroupId][subtitleLanguage]) {
+ const fallbackLang = this.DEFAULT_SUBTITLE_LANGUAGE;
+ subtitleGroupId = this.DEFAULT_SUBTITLE_GROUP_ID;
+ return this.mediaSequences[seqIdx].subtitleSegments[subtitleGroupId][fallbackLang];
+ }
+ return this.mediaSequences[seqIdx].subtitleSegments[subtitleGroupId][subtitleLanguage];
+ } catch (err) {
+ console.error(err);
+ return [];
+ }
+ }
+
/**
* Get the available bandwidths for this VOD
*/
@@ -574,12 +750,22 @@ class HLSVod {
return [audioCodecs, channels];
}
+ getSubtitleGroups(all = false) {
+ return Object.keys(this.subtitleSegments).filter(groupId => groupId !== this.DEFAULT_SUBTITLE_GROUP_ID || all);
+ }
+
+ getSubtitleLangsForSubtitleGroup(groupId) {
+ return Object.keys(this.subtitleSegments[groupId]);
+ }
+
/**
* Get the number of media sequences for this VOD
*/
getLiveMediaSequencesCount(media = "video") {
if (media === "audio") {
return this.audioSequencesCount;
+ } else if (media === "subtitle") {
+ return this.subtitleSequencesCount;
}
return this.videoSequencesCount;
}
@@ -600,6 +786,14 @@ class HLSVod {
return this.mediaSequenceValuesAudio[end];
}
+ /**
+ * Get the media-sequence value for the last subtitle media sequence of this VOD
+ */
+ getLastSequenceMediaSequenceValueSubtitle() {
+ const end = Object.keys(this.mediaSequenceValuesSubtitle).length - 1;
+ return this.mediaSequenceValuesSubtitle[end];
+ }
+
/**
* Get the HLS live media sequence for a specific media sequence and bandwidth
*
@@ -652,9 +846,9 @@ class HLSVod {
for (let i = 0; i < this.mediaSequences[seqIdx].segments[bw].length; i++) {
const v = this.mediaSequences[seqIdx].segments[bw][i];
if (v) {
- m3u8 += segToM3u8(v, i,
- this.mediaSequences[seqIdx].segments[bw].length,
- this.mediaSequences[seqIdx].segments[bw][i+1],
+ m3u8 += segToM3u8(v, i,
+ this.mediaSequences[seqIdx].segments[bw].length,
+ this.mediaSequences[seqIdx].segments[bw][i + 1],
previousSegment);
previousSegment = v;
}
@@ -670,7 +864,6 @@ class HLSVod {
getLiveMediaAudioSequences(offset, audioGroupId, audioLanguage, seqIdx, discOffset, padding, forceTargetDuration) {
debug(`Get live audio media sequence [${seqIdx}] for audioGroupId=${audioGroupId}`);
const mediaSeqAudioSegments = this.getLiveMediaSequenceAudioSegments(audioGroupId, audioLanguage, seqIdx);
-
// # If failed to find segments for given language,
// # return null rather than an error.
if (!mediaSeqAudioSegments) {
@@ -704,8 +897,8 @@ class HLSVod {
for (let i = 0; i < mediaSeqAudioSegments.length; i++) {
const v = mediaSeqAudioSegments[i];
if (v) {
- m3u8 += segToM3u8(v, i, mediaSeqAudioSegments.length,
- mediaSeqAudioSegments[i+1], previousSegment);
+ m3u8 += segToM3u8(v, i, mediaSeqAudioSegments.length,
+ mediaSeqAudioSegments[i + 1], previousSegment);
previousSegment = v;
}
}
@@ -713,6 +906,49 @@ class HLSVod {
return m3u8;
}
+ /**
+ * Gets a hls/makes m3u8-file with all of the correct subtitle segments
+ * belonging to a given groupID & language for a particular sequence.
+ */
+ getLiveMediaSubtitleSequences(offset, subtitleGroupId, subtitleLanguage, seqIdx, discOffset, padding, forceTargetDuration) {
+ debug(`Get live subtitle media sequence [${seqIdx}] for subtitleGroupId=${subtitleGroupId}`);
+ const mediaSeqSubtitleSegments = this.getLiveMediaSequenceSubtitleSegments(subtitleGroupId, subtitleLanguage, seqIdx);
+
+ let targetDuration = this._determineTargetDuration(mediaSeqSubtitleSegments);
+ if (padding) {
+ targetDuration += padding;
+ }
+ if (forceTargetDuration) {
+ targetDuration = forceTargetDuration;
+ }
+
+ let m3u8 = "#EXTM3U\n";
+ m3u8 += "#EXT-X-VERSION:6\n";
+ if (this.header) {
+ m3u8 += this.header;
+ }
+ const seqStep = this.mediaSequenceValuesSubtitle[seqIdx];
+ m3u8 += "#EXT-X-INDEPENDENT-SEGMENTS\n";
+ m3u8 += "#EXT-X-TARGETDURATION:" + targetDuration + "\n";
+ m3u8 += "#EXT-X-MEDIA-SEQUENCE:" + (offset + seqStep) + "\n";
+ let discInOffset = discOffset;
+ if (discInOffset == null) {
+ discInOffset = 0;
+ }
+ m3u8 += "#EXT-X-DISCONTINUITY-SEQUENCE:" + (discInOffset + this.discontinuitiesSubtitle[seqIdx]) + "\n";
+
+ let previousSegment = null;
+ for (let i = 0; i < mediaSeqSubtitleSegments.length; i++) {
+ const v = mediaSeqSubtitleSegments[i];
+ if (v) {
+ m3u8 += segToM3u8(v, i, mediaSeqSubtitleSegments.length,
+ mediaSeqSubtitleSegments[i + 1], previousSegment);
+ previousSegment = v;
+ }
+ }
+ return m3u8;
+ }
+
/**
* Get the usage profile for this VOD
*/
@@ -734,12 +970,18 @@ class HLSVod {
return this.discontinuitiesAudio[this.audioSequencesCount - 1];
}
+ getLastDiscontinuitySubtitle() {
+ return this.discontinuitiesSubtitle[this.subtitleSequencesCount - 1];
+ }
+
/**
* Get the delta times for each media sequence.
*/
getDeltaTimes(media = "video") {
if (media === "audio") {
return this.deltaTimesAudio.map((o) => o.interval);
+ } else if (media === "subtitle") {
+ return this.deltaTimesSubtitle.map((o) => o.interval);
}
return this.deltaTimes.map((o) => o.interval);
}
@@ -750,6 +992,8 @@ class HLSVod {
getPlayheadPositions(media = "video") {
if (media === "audio") {
return this.deltaTimesAudio.map((o) => o.position);
+ } else if (media === "subtitle") {
+ return this.deltaTimesSubtitle.map((o) => o.position);
}
return this.deltaTimes.map((o) => o.position);
}
@@ -783,7 +1027,714 @@ class HLSVod {
return this.lastUsedDiscSeq;
}
+ generateSmallerSubtitleSegments(segment, offset, leftover, useDummyUrl, first, elapsedTime) {
+ if (leftover === null) {
+ leftover = {};
+ }
+ const bandwidths = Object.keys(this.segments);
+ let videoSegments = this.segments[bandwidths[0]]
+ let newSegmentList = [];
+ let totalSubtitleSegmentDuration = segment.duration;
+ let index = offset;
+ let allVideoDurationUsed = false;
+ while (index < videoSegments.length && totalSubtitleSegmentDuration > 0) {
+ if (videoSegments[index].discontinuity) {
+ newSegmentList.push(videoSegments[index])
+ index += 1;
+ continue;
+ }
+ if (this.startTimeOffset > 0 && this._removedVideoDuration !== this._removedSubtitleDuration && first) {
+ first = false;
+ totalSubtitleSegmentDuration -= (this._removedSubtitleDuration / 1000)
+ }
+ const params = new URLSearchParams();
+ const startTime = segment.duration - totalSubtitleSegmentDuration;
+ const consumedVideoDuration = leftover.consumedVideoDuration ? leftover.consumedVideoDuration : 0
+ const endTime = startTime + Math.min(videoSegments[index].duration, totalSubtitleSegmentDuration) - consumedVideoDuration;
+
+ if (!useDummyUrl) {
+ params.append("vtturi", segment.uri)
+ if (leftover.previousSegmentUri) {
+ params.append("previousvtturi", leftover.previousSegmentUri);
+ }
+ params.append("starttime", startTime)
+ params.append("endtime", endTime)
+ params.append("elapsedtime", elapsedTime)
+ } else {
+ params.append("p", index)
+ }
+
+ const base = useDummyUrl ? this.dummySubtitleEndpoint : this.subtitleSliceEndpoint;
+ const newUri = base + "?" + params;
+ let newSegment = { ...segment };
+ newSegment.uri = newUri;
+
+ if (leftover.duration) {
+ newSegment.duration = leftover.duration + leftover.consumedVideoDuration;
+ totalSubtitleSegmentDuration -= leftover.duration;
+ if (leftover.duration + leftover.consumedVideoDuration === videoSegments[index].duration) {
+ allVideoDurationUsed = true;
+ }
+ leftover = {};
+ }
+ else if (videoSegments[index].duration < totalSubtitleSegmentDuration) {
+ newSegment.duration = videoSegments[index].duration;
+ totalSubtitleSegmentDuration -= videoSegments[index].duration;
+ allVideoDurationUsed = true;
+ } else if (videoSegments[index].duration === totalSubtitleSegmentDuration) {
+ newSegment.duration = totalSubtitleSegmentDuration;
+ totalSubtitleSegmentDuration = 0;
+ allVideoDurationUsed = true;
+ } else {
+ leftover = {
+ duration: videoSegments[index].duration - totalSubtitleSegmentDuration,
+ previousSegmentUri: params,
+ consumedVideoDuration: totalSubtitleSegmentDuration
+ }
+ totalSubtitleSegmentDuration = 0;
+ newSegment = null;
+ }
+ if (newSegment) {
+ newSegmentList.push(newSegment);
+ }
+ if (allVideoDurationUsed) {
+ index++;
+ allVideoDurationUsed = false;
+ }
+ }
+
+ elapsedTime += segment.duration;
+ return { newSegments: newSegmentList, offset: index, leftover: leftover, elapsedTime: elapsedTime }
+ }
+
+ generateSequencesTypeAVideo(bw) {
+ let seqIndex = 0;
+ let video_duration = 0;
+ const length = this.segments[bw].length;
+ let segOffset = 0;
+ let segIdx = 0;
+ let sequence = {};
+ let video_sequence_list = []
+ while (this.segments[bw][segIdx] && segIdx != length) {
+ if (this.segments[bw][segIdx].uri) {
+ video_duration += this.segments[bw][segIdx].duration;
+ }
+ if (video_duration < this.SEQUENCE_DURATION) {
+ const bandwidths = Object.keys(this.segments);
+ for (let i = 0; i < bandwidths.length; i++) {
+ const bwIdx = bandwidths[i];
+ if (!sequence[bwIdx]) {
+ sequence[bwIdx] = [];
+ }
+ if (!this.segments[bwIdx][segIdx]) {
+ // Should not happen, debug
+ console.error(`The this.segments[bwIdx=${bwIdx}][segIdx=${segIdx}] is undefined`);
+ console.error("Initiated bandwidths: ", this.segmentsInitiated);
+ console.error(
+ Object.keys(this.segments).map((b) => {
+ return { bw: b, len: this.segments[b].length };
+ })
+ );
+ reject("Internal data structure error");
+ return;
+ }
+ let seg = this.segments[bwIdx][segIdx];
+ if (!seg) {
+ debug(segIdx, `WARNING! The sequence[bw=${bwIdx}] pushed seg=${seg}`);
+ }
+ sequence[bwIdx].push(seg);
+ }
+ segIdx++;
+ } else {
+ //debug(`Pushing seq=${this.mediaSequences.length} firstSeg=${sequence[Object.keys(this.segments)[0]][0].uri}, length=${sequence[Object.keys(this.segments)[0]].length}, duration=${duration} < ${this.SEQUENCE_DURATION}`);
+ if (!sequence[Object.keys(this.segments)[0]][0].uri) {
+ // If first element in the sequence is a discontinuity or a cue tag we need to 'skip' the following element that
+ // contains the segment uri and is the actual playlist item to roll over the top.
+ segOffset++;
+ }
+ video_duration = 0;
+ video_sequence_list.push(sequence);
+ this.mediaSequenceValues[seqIndex] = seqIndex;
+ seqIndex++;
+ sequence = {};
+ segOffset++;
+ segIdx = segOffset;
+ }
+ }
+
+ // Final step (video)
+ if (video_duration < this.SEQUENCE_DURATION) {
+ // We are out of segments but have not reached the full duration of a sequence
+ video_duration = 0;
+ video_sequence_list.push(sequence);
+ this.mediaSequenceValues[seqIndex] = seqIndex;
+ sequence = {};
+ }
+
+ return video_sequence_list;
+ }
+ generateSequencesTypeAExtraMedia(segments, firstGroupId, firstLanguage, type) {
+
+ let segmentLength = segments[firstGroupId][firstLanguage].length;
+
+ let duration = 0;
+ let sequence = {};
+ let sequenceList = [];
+ let segIdx = 0;
+ let seqIndex = 0;
+ let segOffset = 0;
+
+ while (segments[firstGroupId][firstLanguage][segIdx] && segIdx != segmentLength) {
+ if (segments[firstGroupId][firstLanguage][segIdx].uri) {
+ duration += segments[firstGroupId][firstLanguage][segIdx].duration;
+ }
+ if (duration < this.SEQUENCE_DURATION) {
+ if (firstGroupId) {
+ const groupIds = Object.keys(segments);
+ for (let i = 0; i < groupIds.length; i++) {
+ const groupId = groupIds[i];
+ if (!sequence[groupId]) {
+ sequence[groupId] = {};
+ }
+ const langs = Object.keys(segments[groupId]);
+ for (let k = 0; k < langs.length; k++) {
+ const lang = langs[k];
+ if (!sequence[groupId][lang]) {
+ sequence[groupId][lang] = [];
+ }
+ let seg = segments[groupId][lang][segIdx];
+ if (!seg) {
+ if (type === "subtitle") {
+ const dummySeg = segments[firstGroupId][firstLanguage][segIdx];
+ if (dummySeg) {
+ sequence[groupId][lang].push(dummySeg);
+ } else {
+ sequence[groupId][lang].push(seg);
+ }
+ } else {
+ sequence[groupId][lang].push(seg);
+ }
+ debug(segIdx, `WARNING! The ${type}Sequence[id=${groupId}][lang=${lang}] pushed seg=${seg}`);
+ } else {
+ sequence[groupId][lang].push(seg);
+ }
+ }
+ }
+ }
+ segIdx++;
+ } else {
+ if (!sequence[firstGroupId][firstLanguage][0].uri) {
+ // If first element in the sequence is a discontinuity or a cue tag we need to 'skip' the following element that
+ // contains the segment uri and is the actual playlist item to roll over the top.
+ segOffset++;
+ }
+ duration = 0;
+ sequenceList.push(sequence);
+ if (type === "audio") {
+ this.mediaSequenceValuesAudio[seqIndex] = seqIndex;
+ } else if (type === "subtitle") {
+ this.mediaSequenceValuesSubtitle[seqIndex] = seqIndex;
+ }
+ seqIndex++;
+ sequence = {};
+ segOffset++;
+
+ segIdx = segOffset;
+ }
+ }
+
+ if (duration < this.SEQUENCE_DURATION) {
+ // We are out of segments but have not reached the full duration of a sequence
+ duration = 0;
+ sequenceList.push(sequence);
+ if (type === "audio") {
+ this.mediaSequenceValuesAudio[seqIndex] = seqIndex;
+ } else if (type === "subtitle") {
+ this.mediaSequenceValuesSubtitle[seqIndex] = seqIndex;
+ }
+ sequence = {};
+ }
+ return sequenceList
+ }
+ generateSequencesTypeBVideo(bw, bandwidths) {
+ let seqIndex = 0;
+ let totalRemovedDiscTags = 0;
+ let sequence = {};
+ const videoSequences = [];
+ let totalSeqDurVideo = 0;
+ let segIdxVideo = 0;
+ let totalRemovedSegments = 0;
+ const SIZE = this.segments[bw].length;
+ // Process Video Segments
+ while (this.segments[bw][segIdxVideo] && segIdxVideo < SIZE) {
+ try {
+ totalSeqDurVideo = 0;
+ const _sequence = JSON.parse(JSON.stringify(sequence));
+ if (_sequence[bw] && _sequence[bw].length > 0) {
+ let temp = 0;
+ _sequence[bw].forEach((seg) => {
+ if (seg && seg.duration) {
+ temp += seg.duration;
+ }
+ });
+ totalSeqDurVideo = temp;
+ }
+ if (segIdxVideo === 0) {
+ // Create the very first sequence. (No need to remove any segments)
+ let seqDur = 0;
+ let loop = true;
+ while (loop && seqDur < this.SEQUENCE_DURATION && segIdxVideo < SIZE) {
+ bandwidths.forEach((_bw) => {
+ if (!_sequence[_bw]) {
+ _sequence[_bw] = [];
+ }
+ const seg = this.segments[_bw][segIdxVideo];
+ if (seg && seg.duration && _bw === bw) {
+ seqDur += seg.duration;
+ }
+ if (seg.vodTransition) {
+ loop = false;
+ } else {
+ if (seqDur < this.SEQUENCE_DURATION) {
+ if (!seg) {
+ debug(segIdxVideo, `WARNING! The _sequence[bw=${_bw}] pushed seg=${seg}`);
+ }
+ _sequence[_bw].push(seg);
+ }
+ }
+ });
+ if (loop && seqDur < this.SEQUENCE_DURATION) {
+ segIdxVideo++;
+ }
+ }
+ } else {
+ // Creating the rest of the sequences
+ let newPushedSegmentsCount = 0;
+ // 1 - Add new segments until we overflow (per variant)
+ while (totalSeqDurVideo < this.SEQUENCE_DURATION && segIdxVideo < SIZE) {
+ bandwidths.forEach((_bw) => {
+ if (!_sequence[_bw]) {
+ _sequence[_bw] = [];
+ }
+ const seg = this.segments[_bw][segIdxVideo];
+ if (seg && seg.duration && _bw === bw) {
+ totalSeqDurVideo += seg.duration;
+ }
+ if (!seg) {
+ debug(segIdxVideo, `WARNING! The _sequence[bw=${_bw}] pushed seg=${seg}`);
+ }
+ _sequence[_bw].push(seg);
+ if (_bw === bandwidths[0] && seg.duration) {
+ newPushedSegmentsCount++;
+ }
+ });
+ segIdxVideo++;
+ }
+ let shiftOnce = true;
+ let shiftedSegmentsCount = 0;
+ // 2 - Shift excess segments and keep count of what has been removed (per variant)
+ while (totalSeqDurVideo >= this.SEQUENCE_DURATION || (shiftOnce && segIdxVideo !== 0)) {
+ shiftOnce = false;
+ let timeToRemove = 0;
+ let incrementDiscSeqCount = false;
+ bandwidths.forEach((bw) => {
+ let seg = _sequence[bw].shift();
+ if (!seg) {
+ // Should not happen, debug
+ debug(`WARNING! The _sequence[bw=${bw}] shifted seg=${seg}`);
+ } else {
+ while (seg && !seg.duration && _sequence[bw].length > 0) {
+ incrementDiscSeqCount = true;
+ seg = _sequence[bw].shift();
+ }
+ }
+ if (seg && seg.duration) {
+ timeToRemove = seg.duration;
+ }
+ });
+ if (timeToRemove) {
+ totalSeqDurVideo -= timeToRemove;
+ totalRemovedSegments++;
+ shiftedSegmentsCount++;
+ }
+ if (incrementDiscSeqCount) {
+ totalRemovedDiscTags++;
+ }
+
+ /*
+ To avoid creating a sequence where we remove 2 segments to add 2 segments.
+ Aim to add and remove as few segments as possible each sequence.
+ */
+ if (
+ segIdxVideo < SIZE &&
+ shiftedSegmentsCount === 1 &&
+ newPushedSegmentsCount > 1 &&
+ totalSeqDurVideo >= this.SEQUENCE_DURATION
+ ) {
+ // pop video...
+ bandwidths.forEach((_bw) => {
+ let seg = _sequence[_bw].pop();
+ if (seg && seg.duration) {
+ timeToRemove = seg.duration;
+ }
+ });
+ // decrement...
+ newPushedSegmentsCount--;
+ segIdxVideo--;
+ totalSeqDurVideo -= timeToRemove;
+ }
+ }
+ }
+
+ videoSequences.push(_sequence);
+ this.mediaSequenceValues[seqIndex] = totalRemovedSegments;
+ this.discontinuities[seqIndex] = totalRemovedDiscTags;
+ sequence = _sequence;
+ seqIndex++;
+ } catch (err) {
+ console.error(err);
+ }
+ }
+ return videoSequences;
+ }
+ generateSequencesTypeBExtraMedia(segments, firstGroupId, firstLanguage, type) {
+ let totalRemovedDiscTags = 0;
+ let totalRemovedSegments = 0;
+ let sequence = {};
+ let segIdx = 0;
+ let seqIndex = 0;
+ let sequences = [];
+ let SIZE = 0;
+ if (type === "audio") {
+ SIZE = segments[firstGroupId][firstLanguage].length;
+ } else if (type === "subtitle") {
+ SIZE = segments[firstGroupId][firstLanguage].length;
+ }
+ let totalSeqDur = 0;
+ while (segments[firstGroupId][firstLanguage][segIdx] && segIdx < SIZE) {
+ try {
+ totalSeqDur = 0;
+ const _sequence = JSON.parse(JSON.stringify(sequence));
+ if (
+ _sequence[firstGroupId] &&
+ _sequence[firstGroupId][firstLanguage] &&
+ _sequence[firstGroupId][firstLanguage].length > 0
+ ) {
+ let temp = 0;
+ _sequence[firstGroupId][firstLanguage].forEach((seg) => {
+ if (seg && seg.duration) {
+ temp += seg.duration;
+ }
+ });
+ totalSeqDur = temp;
+ }
+ if (segIdx === 0) {
+ // Create the very first sequence. (No need to remove any segments)
+ let seqDur = 0;
+ let loop = true;
+ while (loop && seqDur < this.SEQUENCE_DURATION && segIdx < SIZE) {
+ let first = true;
+ const groupIds = Object.keys(segments);
+ groupIds.forEach((groupId) => {
+ if (!_sequence[groupId]) {
+ _sequence[groupId] = {};
+ }
+ const langs = Object.keys(segments[groupId]);
+ langs.forEach((lang) => {
+ if (!_sequence[groupId][lang]) {
+ _sequence[groupId][lang] = [];
+ }
+ const seq_seg = segments[groupId][lang][segIdx];
+ if (seq_seg && seq_seg.duration && first) {
+ first = false;
+ seqDur += seq_seg.duration;
+ }
+ if (seq_seg && seq_seg.vodTransition) {
+ loop = false;
+ } else {
+ if (seqDur < this.SEQUENCE_DURATION) {
+ if (!seq_seg) {
+ if (type === "subtitle") {
+ const dummySeg = segments[firstGroupId][firstLanguage][segIdx];
+ if (dummySeg) {
+ _sequence[groupId][lang].push(dummySeg);
+ }
+ } else {
+ _sequence[groupId][lang].push(seq_seg);
+ }
+ debug(segIdx, `WARNING! The _${type}Sequence[id=${groupId}][lang=${lang}] pushed seg=${seq_seg}`);
+ } else {
+ _sequence[groupId][lang].push(seq_seg);
+ }
+ }
+ }
+ });
+ });
+ if (loop && seqDur < this.SEQUENCE_DURATION) {
+ segIdx++;
+ }
+ }
+ } else {
+ // Creating the rest of the sequences
+ let newPushedSegmentsCount = 0;
+ // 1 - Add new segments until we overflow (per variant)
+ while (totalSeqDur < this.SEQUENCE_DURATION && segIdx < SIZE) {
+ let first = true;
+ const groupIds = Object.keys(segments);
+ groupIds.forEach((groupId) => {
+ if (!_sequence[groupId]) {
+ _sequence[groupId] = {};
+ }
+ const langs = Object.keys(segments[groupId]);
+ langs.forEach((lang) => {
+ if (!_sequence[groupId][lang]) {
+ _sequence[groupId][lang] = [];
+ }
+ const seq_seg = segments[groupId][lang][segIdx];
+ if (seq_seg && seq_seg.duration && first) {
+ first = false;
+ totalSeqDur += seq_seg.duration;
+ newPushedSegmentsCount++;
+ }
+ if (!seq_seg) {
+ if (type === "subtitle") {
+ const dummySeg = segments[firstGroupId][firstLanguage][segIdx];
+ if (dummySeg) {
+ _sequence[groupId][lang].push(dummySeg);
+ } else {
+ sequence[groupId][lang].push(seq_seg);
+ }
+ } else {
+ _sequence[groupId][lang].push(seq_seg);
+ }
+ debug(segIdx, `WARNING! The _${type}Sequence[id=${groupId}][lang=${lang}] pushed seg=${seq_seg}`);
+ } else {
+ _sequence[groupId][lang].push(seq_seg);
+ }
+ });
+ });
+ segIdx++;
+ }
+ let shiftOnce = true;
+ let shiftedSegmentsCount = 0;
+ // 2 - Shift excess segments and keep count of what has been removed (per variant)
+ while (totalSeqDur >= this.SEQUENCE_DURATION || (shiftOnce && segIdx !== 0)) { // TODO continue here
+ shiftOnce = false;
+ let timeToRemove = 0;
+ let incrementDiscSeqCount = false;
+ const groupIds = Object.keys(segments);
+ let first = true;
+ groupIds.forEach((groupId) => {
+ if (!_sequence[groupId]) {
+ _sequence[groupId] = {};
+ }
+ const langs = Object.keys(segments[groupId]);
+ langs.forEach((lang) => {
+ if (!_sequence[groupId][lang]) {
+ _sequence[groupId][lang] = [];
+ }
+ let seg = _sequence[groupId][lang].shift();
+ if (!seg) {
+ // Should not happen, debug
+ debug(`WARNING! The _${type}Sequence[id=${groupId}][lang=${lang}] shifted seg=${seg}`);
+ } else {
+ while (seg && !seg.duration && _sequence[groupId][lang].length > 0) {
+ incrementDiscSeqCount = true;
+ seg = _sequence[groupId][lang].shift();
+ }
+ }
+ if (seg && seg.duration && first) {
+ first = false;
+ timeToRemove = seg.duration;
+ }
+ });
+ });
+ if (timeToRemove) {
+ totalSeqDur -= timeToRemove;
+ totalRemovedSegments++;
+ shiftedSegmentsCount++;
+ }
+ if (incrementDiscSeqCount) {
+ totalRemovedDiscTags++;
+ }
+
+ /*
+ To avoid creating a sequence where we remove 2 segments to add 2 segments.
+ Aim to add and remove as few segments as possible each sequence.
+ */
+ if (
+ segIdx < SIZE &&
+ shiftedSegmentsCount === 1 &&
+ newPushedSegmentsCount > 1 &&
+ totalSeqDur >= this.SEQUENCE_DURATION
+ ) {
+ // pop audio...
+ if (firstGroupId) {
+ const groupIds = Object.keys(segments);
+ groupIds.forEach((groupId) => {
+ const langs = Object.keys(segments[groupId]);
+ langs.forEach((lang) => {
+ let seg = _sequence[groupId][lang].pop();
+ if (groupId === groupId && lang === firstLanguage) {
+ timeToRemove = seg.duration;
+ }
+ });
+ });
+ }
+ // decrement...
+ newPushedSegmentsCount--;
+ segIdx--;
+ totalSeqDur -= timeToRemove;
+ }
+ }
+ }
+ sequences.push(_sequence);
+
+ if (type === "audio") {
+ this.discontinuitiesAudio[seqIndex] = totalRemovedDiscTags;
+ this.mediaSequenceValuesAudio[seqIndex] = totalRemovedSegments;
+ } else if (type === "subtitle") {
+ this.discontinuitiesSubtitle[seqIndex] = totalRemovedDiscTags;
+ this.mediaSequenceValuesSubtitle[seqIndex] = totalRemovedSegments;
+ }
+ sequence = _sequence;
+ seqIndex++;
+ } catch (err) {
+ console.error(err);
+ }
+ }
+ return sequences;
+ }
+
+ calculateDeltaAndPositionExtraMedia(type) {
+ let prevLastSegment = null;
+ let discSeqNo = 0;
+ if (type === "audio") {
+ this.deltaTimesAudio.push({
+ interval: 0,
+ position: 0,
+ });
+ } else if (type === "subtitle") {
+ this.deltaTimesSubtitle.push({
+ interval: 0,
+ position: 0,
+ });
+ }
+ let lastPosition = 0;
+ let lastPositionIncrement = 0;
+ const sequenceCount = type === "audio" ? this.audioSequencesCount : this.subtitleSequencesCount
+ for (let seqNo = 0; seqNo < sequenceCount; seqNo++) {
+ const mseq = this.mediaSequences[seqNo];
+ const groupId = type === "audio" ? Object.keys(mseq.audioSegments)[0] : Object.keys(mseq.subtitleSegments)[0];
+ if (!groupId) {
+ continue;
+ }
+ const lang = type === "audio" ? Object.keys(mseq.audioSegments[groupId])[0] : Object.keys(mseq.subtitleSegments[groupId])[0];
+ if (!lang) {
+ continue;
+ }
+ const segments = type === "audio" ? mseq.audioSegments[groupId][lang] : mseq.subtitleSegments[groupId][lang];
+ if (segments && segments[0] && segments[0].discontinuity) {
+ debug(`Discontinuity in first segment of media seq ${seqNo}`);
+ discSeqNo++;
+ debug(`Increasing discont sequence ${discSeqNo}`);
+ }
+ if (this.sequenceAlwaysContainNewSegments) {
+ type === "audio" ? this.discontinuitiesAudio[seqNo] += discSeqNo : this.discontinuitiesSubtitle[seqNo] += discSeqNo;
+ discSeqNo = 0;
+ } else {
+ type === "audio" ? this.discontinuitiesAudio[seqNo] = discSeqNo : this.discontinuitiesSubtitle[seqNo] = discSeqNo;
+ }
+
+ if (this.sequenceAlwaysContainNewSegments) {
+ if (seqNo > 0) {
+ let tpi = 0; // Total Position Increment (total newly added content in seconds)
+ const prevLastSegIdx = findIndexReversed(segments, (seg) => {
+ if (seg.byteRange) {
+ if (seg.uri) {
+ return seg.uri === prevLastSegment.uri && seg.byteRange === prevLastSegment.byteRange;
+ }
+ } else {
+ if (seg.uri) {
+ return seg.uri === prevLastSegment.uri;
+ }
+ }
+ return false;
+ });
+ for (let i = prevLastSegIdx + 1; i < segments.length; i++) {
+ const seg = segments[i];
+ if (seg && seg.duration) {
+ tpi += seg.duration;
+ }
+ }
+ let lastSegment = segments[segments.length - 1];
+ if (lastSegment && lastSegment.discontinuity) {
+ lastSegment = segments[segments.length - 2];
+ }
+ const positionIncrement = lastSegment.duration;
+ const interval = tpi - lastPositionIncrement;
+ if (type === "audio") {
+ this.deltaTimesAudio.push({
+ interval: interval,
+ position: positionIncrement ? lastPosition + tpi : lastPosition,
+ });
+ } else if (type === "subtitle") {
+ this.deltaTimesSubtitle.push({
+ interval: interval,
+ position: positionIncrement ? lastPosition + tpi : lastPosition,
+ });
+ }
+ if (positionIncrement) {
+ lastPosition += tpi;
+ lastPositionIncrement = positionIncrement;
+ }
+ if (lastSegment && lastSegment.uri) {
+ prevLastSegment = lastSegment;
+ }
+ } else {
+ if (segments) {
+ let lastSegment = findBottomSegItem(segments);
+ if (lastSegment && lastSegment.uri) {
+ prevLastSegment = lastSegment;
+ }
+ lastPositionIncrement = lastSegment.duration;
+ }
+ }
+ } else {
+ if (seqNo > 0) {
+ const positionIncrement = segments[segments.length - 1].discontinuity
+ ? segments[segments.length - 2].duration
+ : segments[segments.length - 1].duration;
+ const interval = positionIncrement - lastPositionIncrement;
+ if (type === "audio") {
+ this.deltaTimesAudio.push({
+ interval: interval,
+ position: positionIncrement ? lastPosition + positionIncrement : lastPosition,
+ });
+ } else if (type === "subtitle") {
+ this.deltaTimesSubtitle.push({
+ interval: interval,
+ position: positionIncrement ? lastPosition + positionIncrement : lastPosition,
+ });
+ }
+ if (positionIncrement) {
+ lastPosition += positionIncrement;
+ lastPositionIncrement = positionIncrement;
+ }
+ } else {
+ if (segments) {
+ lastPositionIncrement = segments[segments.length - 1].discontinuity
+ ? segments[segments.length - 2].duration
+ : segments[segments.length - 1].duration;
+ }
+ }
+ }
+ }
+ }
+
// ----- PRIVATE METHODS BELOW ----
+ _removedVideoDuration = 0;
+ _removedSubtitleDuration = 0;
_loadPrevious() {
const bandwidths = this.previousVod.getBandwidths();
@@ -792,6 +1743,7 @@ class HLSVod {
this._copyFromPrevious(bw);
}
this._copyAudioGroupsFromPrevious();
+ this._copySubtitleGroupsFromPrevious();
}
_hasMediaSequences(bandwidth) {
@@ -907,6 +1859,54 @@ class HLSVod {
}
}
+ /**
+ * Gets previous VOD's subtitle -groupIds, -langs, -segments from its last sequence
+ * and adds them to the current VOD's this.subtitleSegments property.
+ */
+ _copySubtitleGroupsFromPrevious() {
+ const previousVodSeqCount = this.previousVod.getLiveMediaSequencesCount("subtitle");
+ const subtitleGroups = this.previousVod.getSubtitleGroups(true);
+ if (subtitleGroups.length > 0) {
+ for (let i = 0; i < subtitleGroups.length; i++) {
+ const subtitleGroupId = subtitleGroups[i];
+ const subtitleLangs = this.previousVod.getSubtitleLangsForSubtitleGroup(subtitleGroupId);
+
+ for (let k = 0; k < subtitleLangs.length; k++) {
+ const subtitleLang = subtitleLangs[k];
+ const lastMediaSubtitleSequence = this.previousVod.getLiveMediaSequenceSubtitleSegments(subtitleGroupId, subtitleLang, previousVodSeqCount - 1);
+ if (!this.subtitleSegments[subtitleGroupId]) {
+ this.subtitleSegments[subtitleGroupId] = {};
+ }
+ if (!this.subtitleSegments[subtitleGroupId][subtitleLang]) {
+ this.subtitleSegments[subtitleGroupId][subtitleLang] = [];
+ }
+ if (lastMediaSubtitleSequence && lastMediaSubtitleSequence.length > 0) {
+ let start = this.sequenceAlwaysContainNewSegments ? 0 : 1;
+ if (lastMediaSubtitleSequence[0] && lastMediaSubtitleSequence[0].discontinuity) {
+ start = this.sequenceAlwaysContainNewSegments ? 1 : 2;
+ }
+ for (let idx = start; idx < lastMediaSubtitleSequence.length; idx++) {
+ let q = lastMediaSubtitleSequence[idx];
+ if (q.vodTransition) {
+ // Remove any vod disc boarders from prev vod
+ q = {
+ discontinuity: q.discontinuity,
+ daterange: q.daterange,
+ }
+ }
+ this.subtitleSegments[subtitleGroupId][subtitleLang].push(q);
+ }
+ }
+ this.subtitleSegments[subtitleGroupId][subtitleLang].push({
+ discontinuity: true,
+ daterange: this.rangeMetadata ? this.rangeMetadata : null,
+ vodTransition: true
+ });
+ }
+ }
+ }
+ }
+
_cleanupUnused() {
return new Promise((resolve, reject) => {
// Remove all bandwidths that are remaining from previous VOD and has not been initiated
@@ -929,28 +1929,36 @@ class HLSVod {
});
}
+ _removeDoubleDiscontinuitiesFromExtraMedia(segmentList) {
+ const groupIds = Object.keys(segmentList);
+ for (let i = 0; i < groupIds.length; i++) {
+ const groupId = groupIds[i];
+ const langs = Object.keys(segmentList[groupId]);
+ for (let k = 0; k < langs.length; k++) {
+ const lang = langs[k];
+ segmentList[groupId][lang] = segmentList[groupId][lang].filter((elem, idx, arr) => {
+ if (idx > 0 && arr[idx - 1] && arr[idx]) {
+ if (arr[idx - 1].discontinuity && arr[idx].discontinuity) {
+ return false;
+ }
+ }
+ return true;
+ });
+ }
+ }
+ }
+
_createMediaSequences() {
return new Promise((resolve, reject) => {
- let segOffset = 0;
- let segIdx = 0;
- let seqIndex = 0;
- let segOffsetAudio = 0;
- let segIdxAudio = 0;
- let seqIndexAudio = 0;
- let totalRemovedDiscTags = 0;
- let totalRemovedAudioDiscTags = 0;
- let totalRemovedSegments = 0;
- let totalSeqDurVideo = 0;
- let totalSeqDurAudio = 0;
- let video_duration = 0;
- let audio_duration = 0;
const bw = this._getFirstBwWithSegments();
const audioGroupId = this._getFirstAudioGroupWithSegments();
- const firstLanguage = audioGroupId ? this._getFirstAudioLanguageWithSegments(audioGroupId) : null;
- let sequence = {};
- let audioSequence = {};
+ const firstAudioLanguage = audioGroupId ? this._getFirstAudioLanguageWithSegments(audioGroupId) : null;
+ const subtitleGroupId = this.DEFAULT_SUBTITLE_GROUP_ID;
+ const firstSubtitleLanguage = this.DEFAULT_SUBTITLE_LANGUAGE;
+
let video_sequence_list = []; // list of sequences
let audio_sequence_list = []; // list of audioSequence
+ let subtitle_sequence_list = []; // list of subtitleSequence
// Remove all double discontinuities (video)
const bandwidths = Object.keys(this.segments);
@@ -968,26 +1976,41 @@ class HLSVod {
}
// Remove all double discontinuities (audio)
if (audioGroupId) {
- const audioGroupIds = Object.keys(this.audioSegments);
- for (let i = 0; i < audioGroupIds.length; i++) {
- const audioGroupId = audioGroupIds[i];
- const audioLangs = Object.keys(this.audioSegments[audioGroupId]);
- for (let k = 0; k < audioLangs.length; k++) {
- const audioLang = audioLangs[k];
- this.audioSegments[audioGroupId][audioLang] = this.audioSegments[audioGroupId][audioLang].filter((elem, idx, arr) => {
- if (idx > 0 && arr[idx - 1] && arr[idx]) {
- if (arr[idx - 1].discontinuity && arr[idx].discontinuity) {
- return false;
- }
- }
- return true;
- });
+ this._removeDoubleDiscontinuitiesFromExtraMedia(this.audioSegments)
+ }
+ // Remove all double discontinuities (subtitle)
+ if (subtitleGroupId) {
+ this._removeDoubleDiscontinuitiesFromExtraMedia(this.subtitleSegments)
+ }
+ if (this.shouldContainSubtitles) {
+ // we are doing all this to figure out the entire duration of the new vod so we can create a long subtitle segment that we can later chunk to smaller segments
+ let duration = this.getDuration();
+ let offset = 0;
+ let tempDuration = 0;
+ const bw = this.getBandwidths()[0];
+ for (let index = 0; index < this.segments[bw].length; index++) {
+ if (this.segments[bw][index].duration) {
+ tempDuration += this.segments[bw][index].duration
+ }
+ if (this.segments[bw][index].vodTransition) {
+ duration -= tempDuration;
+ offset = index + 1;
+ break;
}
}
+
+ const fakeSubtileSegment = {
+ duration: duration,
+ timelinePosition: 0,
+ cue: null,
+ uri: this.dummySubtitleEndpoint,
+ };
+
+
+ const result = this.generateSmallerSubtitleSegments(fakeSubtileSegment, offset, 0, true, false, 0)
+ this.subtitleSegments[this.DEFAULT_SUBTITLE_GROUP_ID][this.DEFAULT_SUBTITLE_LANGUAGE] = this.subtitleSegments[this.DEFAULT_SUBTITLE_GROUP_ID][this.DEFAULT_SUBTITLE_LANGUAGE].concat(result.newSegments)
}
- let length = this.segments[bw].length;
- let a_length = firstLanguage ? this.audioSegments[audioGroupId][firstLanguage].length : 0;
if (!this.sequenceAlwaysContainNewSegments) {
/*---------------------------------------------.
* Generate Sequences out of segments (type-A) |
@@ -996,118 +2019,21 @@ class HLSVod {
* for SKIPPING adding a segment if it would raise the
* sequence duration to over the set limit.
*/
- while (this.segments[bw][segIdx] && segIdx != length) {
- if (this.segments[bw][segIdx].uri) {
- video_duration += this.segments[bw][segIdx].duration;
- }
- if (video_duration < this.SEQUENCE_DURATION) {
- const bandwidths = Object.keys(this.segments);
- for (let i = 0; i < bandwidths.length; i++) {
- const bwIdx = bandwidths[i];
- if (!sequence[bwIdx]) {
- sequence[bwIdx] = [];
- }
- if (!this.segments[bwIdx][segIdx]) {
- // Should not happen, debug
- console.error(`The this.segments[bwIdx=${bwIdx}][segIdx=${segIdx}] is undefined`);
- console.error("Initiated bandwidths: ", this.segmentsInitiated);
- console.error(
- Object.keys(this.segments).map((b) => {
- return { bw: b, len: this.segments[b].length };
- })
- );
- reject("Internal datastructure error");
- return;
- }
- let seg = this.segments[bwIdx][segIdx];
- if (!seg) {
- debug(segIdx, `WARNING! The sequence[bw=${bwIdx}] pushed seg=${seg}`);
- }
- sequence[bwIdx].push(seg);
- }
- segIdx++;
- } else {
- //debug(`Pushing seq=${this.mediaSequences.length} firstSeg=${sequence[Object.keys(this.segments)[0]][0].uri}, length=${sequence[Object.keys(this.segments)[0]].length}, duration=${duration} < ${this.SEQUENCE_DURATION}`);
- if (!sequence[Object.keys(this.segments)[0]][0].uri) {
- // If first element in the sequence is a discontinuity or a cue tag we need to 'skip' the following element that
- // contains the segment uri and is the actual playlist item to roll over the top.
- segOffset++;
- }
- video_duration = 0;
- video_sequence_list.push(sequence);
- this.mediaSequenceValues[seqIndex] = seqIndex;
- seqIndex++;
- sequence = {};
- segOffset++;
- segIdx = segOffset;
- }
- }
- // Audio Version
- while (firstLanguage && this.audioSegments[audioGroupId][firstLanguage][segIdxAudio] && segIdxAudio != a_length) {
- if (this.audioSegments[audioGroupId][firstLanguage][segIdxAudio].uri) {
- audio_duration += this.audioSegments[audioGroupId][firstLanguage][segIdxAudio].duration;
- }
- if (audio_duration < this.SEQUENCE_DURATION) {
- if (audioGroupId) {
- const audioGroupIds = Object.keys(this.audioSegments);
- for (let i = 0; i < audioGroupIds.length; i++) {
- const audioGroupId = audioGroupIds[i];
- if (!audioSequence[audioGroupId]) {
- audioSequence[audioGroupId] = {};
- }
- const audioLangs = Object.keys(this.audioSegments[audioGroupId]);
- for (let k = 0; k < audioLangs.length; k++) {
- const audioLang = audioLangs[k];
- if (!audioSequence[audioGroupId][audioLang]) {
- audioSequence[audioGroupId][audioLang] = [];
- }
- let seg = this.audioSegments[audioGroupId][audioLang][segIdxAudio];
- if (!seg) {
- debug(segIdxAudio, `WARNING! The audioSequence[id=${audioGroupId}][lang=${audioLang}] pushed seg=${seg}`);
- }
- audioSequence[audioGroupId][audioLang].push(seg);
- }
- }
- }
- segIdxAudio++;
- } else {
- if (!audioSequence[audioGroupId][firstLanguage][0].uri) {
- // If first element in the sequence is a discontinuity or a cue tag we need to 'skip' the following element that
- // contains the segment uri and is the actual playlist item to roll over the top.
- segOffsetAudio++;
- }
- audio_duration = 0;
- audio_sequence_list.push(audioSequence);
- this.mediaSequenceValuesAudio[seqIndexAudio] = seqIndexAudio;
- seqIndexAudio++;
- audioSequence = {};
- segOffsetAudio++;
-
- segIdxAudio = segOffsetAudio;
- }
- }
- // Final step (video)
- if (video_duration < this.SEQUENCE_DURATION) {
- // We are out of segments but have not reached the full duration of a sequence
- video_duration = 0;
- video_sequence_list.push(sequence);
- this.mediaSequenceValues[seqIndex] = seqIndex;
- sequence = {};
+ video_sequence_list = this.generateSequencesTypeAVideo(bw);
+
+ if (firstAudioLanguage) {
+ audio_sequence_list = this.generateSequencesTypeAExtraMedia(this.audioSegments, audioGroupId, firstAudioLanguage, "audio");// segments,firstGroupId, firstLanguage, type
}
- // Final step (audio)
- if (audio_duration < this.SEQUENCE_DURATION) {
- // We are out of segments but have not reached the full duration of a sequence
- audio_duration = 0;
- audio_sequence_list.push(audioSequence);
- this.mediaSequenceValuesAudio[seqIndexAudio] = seqIndexAudio;
- audioSequence = {};
+ if (this.shouldContainSubtitles) {
+ subtitle_sequence_list = this.generateSequencesTypeAExtraMedia(this.subtitleSegments, subtitleGroupId, firstSubtitleLanguage, "subtitle");
}
video_sequence_list.map((_, index) => {
this.mediaSequences.push({
segments: video_sequence_list[index],
audioSegments: {},
+ subtitleSegments: {},
});
});
for (let i = 0; i < audio_sequence_list.length; i++) {
@@ -1116,338 +2042,54 @@ class HLSVod {
} else {
this.mediaSequences.push({
segments: {},
- audioSegments: audio_sequence_list[i] ? audio_sequence_list[i] : {},
- });
- }
- }
- // Set Sequences Counts
- this.videoSequencesCount = video_sequence_list.length;
- this.audioSequencesCount = audio_sequence_list.length;
- } else {
- /*---------------------------------------------.
- * Generate Sequences out of segments (type-B) |
- *---------------------------------------------'
- * Each sequence may step more than 1 count if needed, also each sequence
- * must include an addition of a new segment. e.i. When adding a new segment,
- * if it would raise the sequence duration to over the set limit, then we
- * will remove yet another segment from the top of the segment list.
- */
- const videoSequences = [];
- let segIdxVideo = 0;
- const SIZE = this.segments[bw].length;
- // Process Video Segments
- while (this.segments[bw][segIdxVideo] && segIdxVideo < SIZE) {
- try {
- totalSeqDurVideo = 0;
- const _sequence = JSON.parse(JSON.stringify(sequence));
- if (_sequence[bw] && _sequence[bw].length > 0) {
- let temp = 0;
- _sequence[bw].forEach((seg) => {
- if (seg && seg.duration) {
- temp += seg.duration;
- }
- });
- totalSeqDurVideo = temp;
- }
- if (segIdxVideo === 0) {
- // Create the very first sequence. (No need to remove any segments)
- let seqDur = 0;
- let loop = true;
- while (loop && seqDur < this.SEQUENCE_DURATION && segIdxVideo < SIZE) {
- bandwidths.forEach((_bw) => {
- if (!_sequence[_bw]) {
- _sequence[_bw] = [];
- }
- const seg = this.segments[_bw][segIdxVideo];
- if (seg && seg.duration && _bw === bw) {
- seqDur += seg.duration;
- }
- if (seg.vodTransition) {
- loop = false;
- } else {
- if (seqDur < this.SEQUENCE_DURATION) {
- if (!seg) {
- debug(segIdxVideo, `WARNING! The _sequence[bw=${_bw}] pushed seg=${seg}`);
- }
- _sequence[_bw].push(seg);
- }
- }
- });
- if (loop && seqDur < this.SEQUENCE_DURATION) {
- segIdxVideo++;
- }
- }
- } else {
- // Creating the rest of the sequences
- let newPushedSegmentsCount = 0;
- // 1 - Add new segments until we overflow (per variant)
- while (totalSeqDurVideo < this.SEQUENCE_DURATION && segIdxVideo < SIZE) {
- bandwidths.forEach((_bw) => {
- if (!_sequence[_bw]) {
- _sequence[_bw] = [];
- }
- const seg = this.segments[_bw][segIdxVideo];
- if (seg && seg.duration && _bw === bw) {
- totalSeqDurVideo += seg.duration;
- }
- if (!seg) {
- debug(segIdxVideo, `WARNING! The _sequence[bw=${_bw}] pushed seg=${seg}`);
- }
- _sequence[_bw].push(seg);
- if (_bw === bandwidths[0] && seg.duration) {
- newPushedSegmentsCount++;
- }
- });
- segIdxVideo++;
- }
- let shiftOnce = true;
- let shiftedSegmentsCount = 0;
- // 2 - Shift excess segments and keep count of what has been removed (per variant)
- while (totalSeqDurVideo >= this.SEQUENCE_DURATION || (shiftOnce && segIdxVideo !== 0)) {
- shiftOnce = false;
- let timeToRemove = 0;
- let incrementDiscSeqCount = false;
- bandwidths.forEach((bw) => {
- let seg = _sequence[bw].shift();
- if (!seg) {
- // Should not happen, debug
- debug(`WARNING! The _sequence[bw=${bw}] shifted seg=${seg}`);
- } else {
- while (seg && !seg.duration && _sequence[bw].length > 0) {
- incrementDiscSeqCount = true;
- seg = _sequence[bw].shift();
- }
- }
- if (seg && seg.duration) {
- timeToRemove = seg.duration;
- }
- });
- if (timeToRemove) {
- totalSeqDurVideo -= timeToRemove;
- totalRemovedSegments++;
- shiftedSegmentsCount++;
- }
- if (incrementDiscSeqCount) {
- totalRemovedDiscTags++;
- }
-
- /*
- To avoid creating a sequence where we remove 2 segs to add 2 segs.
- Aim to add and remove as few segments as possible each sequence.
- */
- if (
- segIdxVideo < SIZE &&
- shiftedSegmentsCount === 1 &&
- newPushedSegmentsCount > 1 &&
- totalSeqDurVideo >= this.SEQUENCE_DURATION
- ) {
- // pop video...
- bandwidths.forEach((_bw) => {
- let seg = _sequence[_bw].pop();
- if (seg && seg.duration) {
- timeToRemove = seg.duration;
- }
- });
- // decrement...
- newPushedSegmentsCount--;
- segIdxVideo--;
- totalSeqDurVideo -= timeToRemove;
- }
- }
- }
-
- videoSequences.push(_sequence);
-
- this.mediaSequenceValues[seqIndex] = totalRemovedSegments;
- this.discontinuities[seqIndex] = totalRemovedDiscTags;
- sequence = _sequence;
- seqIndex++;
- } catch (err) {
- console.error(err);
- }
- }
- const audioSequences = [];
- if (audioGroupId) {
- let segIdxAudio = 0;
- let seqIndex = 0;
- totalRemovedSegments = 0;
- const SIZEAUDIO = this.audioSegments[audioGroupId][firstLanguage].length;
- // Generate audio segments
- while (this.audioSegments[audioGroupId][firstLanguage][segIdxAudio] && segIdxAudio < SIZEAUDIO) {
- try {
- totalSeqDurAudio = 0;
- const _audioSequence = JSON.parse(JSON.stringify(audioSequence));
- if (
- _audioSequence[audioGroupId] &&
- _audioSequence[audioGroupId][firstLanguage] &&
- _audioSequence[audioGroupId][firstLanguage].length > 0
- ) {
- let temp = 0;
- _audioSequence[audioGroupId][firstLanguage].forEach((seg) => {
- if (seg && seg.duration) {
- temp += seg.duration;
- }
- });
- totalSeqDurAudio = temp;
- }
- if (segIdxAudio === 0) {
- // Create the very first sequence. (No need to remove any segments)
- let seqDur = 0;
- let loop = true;
- while (loop && seqDur < this.SEQUENCE_DURATION && segIdxAudio < SIZEAUDIO) {
- let first = true;
- const audioGroupIds = Object.keys(this.audioSegments);
- audioGroupIds.forEach((groupId) => {
- if (!_audioSequence[groupId]) {
- _audioSequence[groupId] = {};
- }
- const audioLangs = Object.keys(this.audioSegments[groupId]);
- audioLangs.forEach((lang) => {
- if (!_audioSequence[groupId][lang]) {
- _audioSequence[groupId][lang] = [];
- }
- const seq_seg = this.audioSegments[groupId][lang][segIdxAudio];
- if (seq_seg && seq_seg.duration && first) {
- first = false;
- seqDur += seq_seg.duration;
- }
- if (seq_seg.vodTransition) {
- loop = false;
- } else {
- if (seqDur < this.SEQUENCE_DURATION) {
- if (!seq_seg) {
- debug(segIdxAudio, `WARNING! The _audioSequence[id=${groupId}][lang=${lang}] pushed seg=${seq_seg}`);
- }
- _audioSequence[groupId][lang].push(seq_seg);
- }
- }
- });
- });
- if (loop && seqDur < this.SEQUENCE_DURATION) {
- segIdxAudio++;
- }
- }
- } else {
- // Creating the rest of the sequences
- let newPushedSegmentsCount = 0;
- // 1 - Add new segments until we overflow (per variant)
- while (totalSeqDurAudio < this.SEQUENCE_DURATION && segIdxAudio < SIZEAUDIO) {
- let first = true;
- const audioGroupIds = Object.keys(this.audioSegments);
- audioGroupIds.forEach((groupId) => {
- if (!_audioSequence[groupId]) {
- _audioSequence[groupId] = {};
- }
- const audioLangs = Object.keys(this.audioSegments[groupId]);
- audioLangs.forEach((lang) => {
- if (!_audioSequence[groupId][lang]) {
- _audioSequence[groupId][lang] = [];
- }
- const seq_seg = this.audioSegments[groupId][lang][segIdxAudio];
- if (seq_seg && seq_seg.duration && first) {
- first = false;
- totalSeqDurAudio += seq_seg.duration;
- newPushedSegmentsCount++;
- }
- if (!seq_seg) {
- debug(segIdxAudio, `WARNING! The _audioSequence[id=${groupId}][lang=${lang}] pushed seg=${seq_seg}`);
- }
- _audioSequence[groupId][lang].push(seq_seg);
- });
- });
- segIdxAudio++;
- }
- let shiftOnce = true;
- let shiftedSegmentsCount = 0;
- // 2 - Shift excess segments and keep count of what has been removed (per variant)
- while (totalSeqDurAudio >= this.SEQUENCE_DURATION || (shiftOnce && segIdxAudio !== 0)) {
- shiftOnce = false;
- let timeToRemove = 0;
- let incrementAudioDiscSeqCount = false;
- const audioGroupIds = Object.keys(this.audioSegments);
- let first = true;
- audioGroupIds.forEach((groupId) => {
- if (!_audioSequence[groupId]) {
- _audioSequence[groupId] = {};
- }
- const audioLangs = Object.keys(this.audioSegments[groupId]);
- audioLangs.forEach((lang) => {
- if (!_audioSequence[groupId][lang]) {
- _audioSequence[groupId][lang] = [];
- }
- let seg = _audioSequence[groupId][lang].shift();
- if (!seg) {
- // Should not happen, debug
- debug(`WARNING! The _audioSequence[id=${groupId}][lang=${lang}] shifted seg=${seg}`);
- } else {
- while (seg && !seg.duration && _audioSequence[groupId][lang].length > 0) {
- incrementAudioDiscSeqCount = true;
- seg = _audioSequence[groupId][lang].shift();
- }
- }
- if (seg && seg.duration && first) {
- first = false;
- timeToRemove = seg.duration;
- }
- });
- });
- if (timeToRemove) {
- totalSeqDurAudio -= timeToRemove;
- totalRemovedSegments++;
- shiftedSegmentsCount++;
- }
- if (incrementAudioDiscSeqCount) {
- totalRemovedAudioDiscTags++;
- }
+ audioSegments: audio_sequence_list[i] ? audio_sequence_list[i] : {},
+ subtitleSegments: {},
+ });
+ }
+ }
+ for (let i = 0; i < subtitle_sequence_list.length; i++) {
+ if (i < this.mediaSequences.length) {
+ this.mediaSequences[i].subtitleSegments = subtitle_sequence_list[i] ? subtitle_sequence_list[i] : {};
+ } else {
+ this.mediaSequences.push({
+ segments: {},
+ subtitleSegments: subtitle_sequence_list[i] ? subtitle_sequence_list[i] : {},
+ });
+ }
+ }
+ // Set Sequences Counts
+ this.videoSequencesCount = video_sequence_list.length;
+ this.audioSequencesCount = audio_sequence_list.length;
+ this.subtitleSequencesCount = subtitle_sequence_list.length;
+ } else {
+ /*---------------------------------------------.
+ * Generate Sequences out of segments (type-B) |
+ *---------------------------------------------'
+ * Each sequence may step more than 1 count if needed, also each sequence
+ * must include an addition of a new segment. e.i. When adding a new segment,
+ * if it would raise the sequence duration to over the set limit, then we
+ * will remove yet another segment from the top of the segment list.
+ */
- /*
- To avoid creating a sequence where we remove 2 segs to add 2 segs.
- Aim to add and remove as few segments as possible each sequence.
- */
- if (
- segIdxAudio < SIZEAUDIO &&
- shiftedSegmentsCount === 1 &&
- newPushedSegmentsCount > 1 &&
- totalSeqDurAudio >= this.SEQUENCE_DURATION
- ) {
- // pop audio...
- if (audioGroupId) {
- const audioGroupIds = Object.keys(this.audioSegments);
- audioGroupIds.forEach((groupId) => {
- const audioLangs = Object.keys(this.audioSegments[groupId]);
- audioLangs.forEach((lang) => {
- let seg = _audioSequence[groupId][lang].pop();
- if (groupId === audioGroupId && lang === firstLanguage) {
- timeToRemove = seg.duration;
- }
- });
- });
- }
- // decrement...
- newPushedSegmentsCount--;
- segIdxAudio--;
- totalSeqDurAudio -= timeToRemove;
- }
- }
- }
+ let videoSequences = [];
+ videoSequences = this.generateSequencesTypeBVideo(bw, bandwidths);
- audioSequences.push(_audioSequence);
+ let audioSequences = [];
+ if (audioGroupId) {
+ audioSequences = this.generateSequencesTypeBExtraMedia(this.audioSegments, audioGroupId, firstAudioLanguage, "audio");
+ }
+ let subtitleSequences = [];
+ if (this.shouldContainSubtitles) {
+ subtitleSequences = this.generateSequencesTypeBExtraMedia(this.subtitleSegments, subtitleGroupId, firstSubtitleLanguage, "subtitle");
- this.mediaSequenceValuesAudio[seqIndex] = totalRemovedSegments;
- this.discontinuitiesAudio[seqIndex] = totalRemovedAudioDiscTags;
- audioSequence = _audioSequence;
- seqIndex++;
- } catch (err) {
- console.error(err);
- }
- }
}
- // Append newly generated video/audio sequences
+ // Append newly generated video/audio/subtitle sequences
videoSequences.map((_, index) => {
this.mediaSequences.push({
segments: videoSequences[index],
audioSegments: {},
+ subtitleSegments: {},
});
});
for (let i = 0; i < audioSequences.length; i++) {
@@ -1457,12 +2099,25 @@ class HLSVod {
this.mediaSequences.push({
segments: {},
audioSegments: audioSequences[i] ? audioSequences[i] : {},
+ subtitleSegments: {}
+ });
+ }
+ }
+ for (let i = 0; i < subtitleSequences.length; i++) {
+ if (i < this.mediaSequences.length) {
+ this.mediaSequences[i].subtitleSegments = subtitleSequences[i] ? subtitleSequences[i] : {};
+ } else {
+ this.mediaSequences.push({
+ segments: {},
+ audioSegments: {},
+ subtitleSegments: subtitleSequences[i] ? subtitleSequences[i] : {},
});
}
}
this.videoSequencesCount = videoSequences.length;
this.audioSequencesCount = audioSequences.length;
+ this.subtitleSequencesCount = subtitleSequences.length
}
if (!this.mediaSequences) {
@@ -1567,108 +2222,12 @@ class HLSVod {
}
// Audio Version
if (this.mediaSequences[0].audioSegments) {
- let prevLastSegment = null;
- let discSeqNo = 0;
- this.deltaTimesAudio.push({
- interval: 0,
- position: 0,
- });
- let lastPosition = 0;
- let lastPositionIncrement = 0;
- for (let seqNo = 0; seqNo < this.audioSequencesCount; seqNo++) {
- const mseq = this.mediaSequences[seqNo];
- const agid = Object.keys(mseq.audioSegments)[0];
- if (!agid) {
- continue;
- }
- const alang = Object.keys(mseq.audioSegments[agid])[0];
- if (!alang) {
- continue;
- }
- const audioSegment = mseq.audioSegments[agid][alang];
- if (audioSegment && audioSegment[0] && audioSegment[0].discontinuity) {
- debug(`Discontinuity in first segment of media seq ${seqNo}`);
- discSeqNo++;
- debug(`Increasing discont sequence ${discSeqNo}`);
- }
- if (this.sequenceAlwaysContainNewSegments) {
- this.discontinuitiesAudio[seqNo] += discSeqNo;
- discSeqNo = 0;
- } else {
- this.discontinuitiesAudio[seqNo] = discSeqNo;
- }
-
- if (this.sequenceAlwaysContainNewSegments) {
- if (seqNo > 0) {
- let tpi = 0; // Total Position Increment (total newly added content in seconds)
- const prevLastSegIdx = findIndexReversed(audioSegment, (seg) => {
- if (seg.byteRange) {
- if (seg.uri) {
- return seg.uri === prevLastSegment.uri && seg.byteRange === prevLastSegment.byteRange;
- }
- } else {
- if (seg.uri) {
- return seg.uri === prevLastSegment.uri;
- }
- }
- return false;
- });
- for (let i = prevLastSegIdx + 1; i < audioSegment.length; i++) {
- const seg = audioSegment[i];
- if (seg && seg.duration) {
- tpi += seg.duration;
- }
- }
- let lastSegment = audioSegment[audioSegment.length - 1];
- if (lastSegment && lastSegment.discontinuity) {
- lastSegment = audioSegment[audioSegment.length - 2];
- }
- const positionIncrement = lastSegment.duration;
- const interval = tpi - lastPositionIncrement;
- this.deltaTimesAudio.push({
- interval: interval,
- position: positionIncrement ? lastPosition + tpi : lastPosition,
- });
- if (positionIncrement) {
- lastPosition += tpi;
- lastPositionIncrement = positionIncrement;
- }
- if (lastSegment && lastSegment.uri) {
- prevLastSegment = lastSegment;
- }
- } else {
- if (audioSegment) {
- let lastSegment = findBottomSegItem(audioSegment);
- if (lastSegment && lastSegment.uri) {
- prevLastSegment = lastSegment;
- }
- lastPositionIncrement = lastSegment.duration;
- }
- }
- } else {
- if (seqNo > 0) {
- const positionIncrement = audioSegment[audioSegment.length - 1].discontinuity
- ? audioSegment[audioSegment.length - 2].duration
- : audioSegment[audioSegment.length - 1].duration;
- const interval = positionIncrement - lastPositionIncrement;
- this.deltaTimesAudio.push({
- interval: interval,
- position: positionIncrement ? lastPosition + positionIncrement : lastPosition,
- });
- if (positionIncrement) {
- lastPosition += positionIncrement;
- lastPositionIncrement = positionIncrement;
- }
- } else {
- if (audioSegment) {
- lastPositionIncrement = audioSegment[audioSegment.length - 1].discontinuity
- ? audioSegment[audioSegment.length - 2].duration
- : audioSegment[audioSegment.length - 1].duration;
- }
- }
- }
- }
+ this.calculateDeltaAndPositionExtraMedia("audio")
}
+ if (this.mediaSequences[0].subtitleSegments) {
+ this.calculateDeltaAndPositionExtraMedia("subtitle")
+ }
+
resolve();
}
});
@@ -1681,9 +2240,11 @@ class HLSVod {
this.previousVod = null;
this.segments = {};
this.audioSegments = {};
+ this.subtitleSegments = {};
this.mediaSequences = [];
this.targetDuration = {};
this.targetAudioDuration = {};
+ this.targetSubtitleDuration = {};
this.usageProfile = [];
this.segmentsInitiated = {};
this.usageProfileMapping = null;
@@ -1692,11 +2253,13 @@ class HLSVod {
this.discontinuitiesAudio = {};
this.mediaSequenceValues = {};
this.mediaSequenceValuesAudio = {};
+ this.mediaSequenceValuesSubtitle = {};
this.sequenceAlwaysContainNewSegments = null;
this.rangeMetadata = null;
this.matchedBandwidths = {};
this.deltaTimes = [];
this.deltaTimesAudio = [];
+ this.deltaTimesSubtitle = [];
}
_getFirstBwWithSegments() {
@@ -1738,6 +2301,35 @@ class HLSVod {
}
}
+ _getFirstSubtitleGroupWithSegments() {
+ // # Looks for first subtitle group with segments by checking if any language
+ // # track belonging to the group has segments.
+ const subtitleGroupIds = Object.keys(this.subtitleSegments).filter((id) => {
+ let idLangs = Object.keys(this.subtitleSegments[id]).filter((lang) => {
+ return this.subtitleSegments[id][lang].length > 0;
+ });
+ return idLangs.length > 0;
+ });
+ if (subtitleGroupIds.length > 0) {
+ return subtitleGroupIds[0];
+ } else {
+ return null;
+ }
+ }
+
+ _getFirstSubtitleLanguageWithSegments(groupId) {
+ // # Looks for first subtitle language in group with segments by checking if any language
+ // # track belonging to the group has segments.
+ const LangsWithSegments = Object.keys(this.subtitleSegments[groupId]).filter((lang) => {
+ return this.subtitleSegments[groupId][lang].length > 0;
+ });
+ if (LangsWithSegments.length > 0) {
+ return LangsWithSegments[0];
+ } else {
+ return null;
+ }
+ }
+
_loadMediaManifest(mediaManifestUri, bandwidth, _injectMediaManifest) {
return new Promise((resolve, reject) => {
const parser = m3u8.createStream();
@@ -1781,9 +2373,11 @@ class HLSVod {
// Remove segments in the beginning if we have a start time offset
if (this.startTimeOffset != null) {
let remain = this.startTimeOffset;
+ this._removedVideoDuration = remain;
while (remain > 0) {
const removed = m3u.items.PlaylistItem.shift();
if (!removed) {
+ this._removedVideoDuration -= remain;
remain = 0;
} else {
if (removed.get("map-uri")) {
@@ -1798,11 +2392,11 @@ class HLSVod {
remain -= removed.get("duration") * 1000;
}
}
- this.mediaStartExecessTime = Math.abs(remain);
+ this._removedVideoDuration - remain;
+ this.mediaStartExcessTime = Math.abs(remain);
}
let byteRangeOffset = 0;
-
for (let i = 0; i < m3u.items.PlaylistItem.length; i++) {
if (this.splices[spliceIdx]) {
nextSplicePosition = this.splices[spliceIdx].position;
@@ -1920,13 +2514,13 @@ class HLSVod {
let cue =
cueOut || cueIn || cueOutCont || assetData
? {
- out: typeof cueOut !== "undefined",
- cont: typeof cueOutCont !== "undefined" ? cueOutCont : null,
- scteData: typeof scteData !== "undefined" ? scteData : null,
- in: cueIn ? true : false,
- duration: duration,
- assetData: typeof assetData !== "undefined" ? assetData : null,
- }
+ out: typeof cueOut !== "undefined",
+ cont: typeof cueOutCont !== "undefined" ? cueOutCont : null,
+ scteData: typeof scteData !== "undefined" ? scteData : null,
+ in: cueIn ? true : false,
+ duration: duration,
+ assetData: typeof assetData !== "undefined" ? assetData : null,
+ }
: null;
let q = {
duration: playlistItem.get("duration"),
@@ -1989,16 +2583,16 @@ class HLSVod {
});
}
- _similarSegItemDuration(audioPlaylistItems) {
- let totalAudioDuration = 0;
- let audioCount = 0;
- audioPlaylistItems.map((seg) => {
+ _similarSegItemDuration(playlistItems, startOffset) {
+ let totalSegmentDuration = 0;
+ let segmentCount = 0;
+ playlistItems.map(seg => {
if (seg.get("duration")) {
- audioCount++;
- totalAudioDuration += seg.get("duration");
+ segmentCount++;
+ totalSegmentDuration += seg.get("duration");
}
- });
- const avgAudioDuration = totalAudioDuration / audioCount;
+ })
+ const avgSegmentDuration = totalSegmentDuration / segmentCount;
const bandwidths = Object.keys(this.segments);
if (bandwidths.length === 0) {
@@ -2007,14 +2601,18 @@ class HLSVod {
const videoSegList = this.segments[bandwidths[0]];
let totalVideoDuration = 0;
let videoCount = 0;
+ let count = 0;
videoSegList.map((seg) => {
if (seg.duration) {
- videoCount++;
- totalVideoDuration += seg.duration;
+ if (count > startOffset || !startOffset) {
+ videoCount++;
+ totalVideoDuration += seg.duration;
+ }
}
+ count++;
});
const avgVideoDuration = totalVideoDuration / videoCount;
- const diff = Math.abs(avgVideoDuration - avgAudioDuration);
+ const diff = Math.abs(avgVideoDuration - avgSegmentDuration);
if (diff > 0.25) {
return false;
}
@@ -2039,10 +2637,18 @@ class HLSVod {
let keys = undefined;
// Remove segments in the beginning if we have a start time offset
if (this.startTimeOffset != null) {
- const sameLength = this._similarSegItemDuration(m3u.items.PlaylistItem);
+ let offset = 0;
+ const bw = this.getBandwidths()[0]
+ for (let index = 0; index < this.segments[bw].length; index++) {
+ if (this.segments[bw][index].vodTransition) {
+ offset = index;
+ break;
+ }
+ }
+ const sameLength = this._similarSegItemDuration(m3u.items.PlaylistItem, offset);
let remain = sameLength
? this.startTimeOffset
- : this.startTimeOffset + this.mediaStartExecessTime;
+ : this.startTimeOffset + this.mediaStartExcessTime;
while (remain > 0) {
let removed;
@@ -2075,7 +2681,7 @@ class HLSVod {
}
let byteRangeOffset = 0;
-
+
if (this.audioSegments[groupId][language]) {
for (let i = 0; i < m3u.items.PlaylistItem.length; i++) {
const playlistItem = m3u.items.PlaylistItem[i];
@@ -2129,13 +2735,13 @@ class HLSVod {
let cue =
cueOut || cueIn || cueOutCont || assetData
? {
- out: typeof cueOut !== "undefined",
- cont: typeof cueOutCont !== "undefined" ? cueOutCont : null,
- scteData: typeof scteData !== "undefined" ? scteData : null,
- in: cueIn ? true : false,
- duration: duration,
- assetData: typeof assetData !== "undefined" ? assetData : null,
- }
+ out: typeof cueOut !== "undefined",
+ cont: typeof cueOutCont !== "undefined" ? cueOutCont : null,
+ scteData: typeof scteData !== "undefined" ? scteData : null,
+ in: cueIn ? true : false,
+ duration: duration,
+ assetData: typeof assetData !== "undefined" ? assetData : null,
+ }
: null;
let q = {
duration: playlistItem.get("duration"),
@@ -2195,6 +2801,193 @@ class HLSVod {
});
}
+ _loadSubtitleManifest(subtitleManifestUri, groupId, language, _injectSubtitleManifest) {
+ // # Updated so that segment objects are pushed to Language array instead.
+ // # Updated input args for _injectSubtitleManifest().
+ return new Promise((resolve, reject) => {
+ const parser = m3u8.createStream();
+ debug(`Loading subtitle manifest for lang=${language} of group=${groupId}`);
+ debug(`Subtitle manifest URI: ${subtitleManifestUri}`);
+
+ let timelinePosition = 1;
+
+ parser.on("m3u", (m3u) => {
+ let offset = 0;
+ const bw = this.getBandwidths()[0]
+ for (let index = 0; index < this.segments[bw].length; index++) {
+ if (this.segments[bw][index].vodTransition) {
+ offset = index;
+ break;
+ }
+ }
+ let similarSegItemDuration = this._similarSegItemDuration(m3u.items.PlaylistItem, offset);
+ try {
+ let initSegment = undefined;
+ let initSegmentByteRange = undefined;
+ let removedSegmentDuration = 0;
+ // Remove segments in the beginning if we have a start time offset
+ if (this.startTimeOffset != null) {
+ let remain = similarSegItemDuration ? this.startTimeOffset : (this.startTimeOffset + this.mediaStartExcessTime);
+ while (remain > 0) {
+ let removed;
+ if (m3u.items.PlaylistItem[0].get("duration") * 1000 <= remain || similarSegItemDuration) {
+ removed = m3u.items.PlaylistItem.shift();
+ removedSegmentDuration += removed.get("duration");
+ }
+ if (!removed) {
+ this._removedSubtitleDuration = remain;
+ remain = 0;
+ } else {
+ if (removed.attributes.attributes["map-uri"]) {
+ initSegment = removed.attributes.attributes["map-uri"];
+ if (!initSegment.match("^http")) {
+ const n = subtitleManifestUri.match("^(.*)/.*?$");
+ if (n) {
+ initSegment = urlResolve(n[1] + "/", initSegment);
+ }
+ }
+ }
+ remain -= removed.get("duration") * 1000;
+ }
+ }
+ this._removedSubtitleDuration -= remain;
+ }
+
+ let baseUrl;
+ const m = subtitleManifestUri.match("^(.*)/.*?$");
+ if (m) {
+ baseUrl = m[1] + "/";
+ }
+
+ let byteRangeOffset = 0;
+ if (this.subtitleSegments[groupId][language]) {
+ let leftover = {};
+ let firstSegment = true;
+ let elapsedTime = removedSegmentDuration ? removedSegmentDuration : 0;
+ for (let i = 0; i < m3u.items.PlaylistItem.length; i++) {
+ const playlistItem = m3u.items.PlaylistItem[i];
+ let segmentUri;
+ let byteRange = undefined;
+
+ if (m3u.items.PlaylistItem[i].attributes.attributes["map-uri"]) {
+ initSegment = m3u.items.PlaylistItem[i].attributes.attributes["map-uri"];
+ initSegmentByteRange = m3u.items.PlaylistItem[i].get("map-byterange");
+ if (!initSegment.match("^http")) {
+ initSegment = urlResolve(baseUrl, initSegment);
+ }
+ }
+ // some items such as CUE-IN parse as a PlaylistItem
+ // but have no URI
+ if (playlistItem.get("uri")) {
+ if (playlistItem.get("uri").match("^http")) {
+ segmentUri = playlistItem.get("uri");
+ } else {
+ segmentUri = urlResolve(baseUrl, playlistItem.get("uri"));
+ }
+ }
+ if (playlistItem.get("discontinuity")) {
+ this.subtitleSegments[groupId][language].push({
+ discontinuity: true,
+ });
+ }
+
+ if (playlistItem.get("byteRange")) {
+ let [_, r, o] = playlistItem.get("byteRange").match(/^(\d+)@*(\d*)$/);
+ if (!o) {
+ o = byteRangeOffset;
+ }
+ byteRangeOffset = parseInt(r) + parseInt(o);
+ byteRange = `${r}@${o}`;
+ }
+
+ let assetData = playlistItem.get("assetdata");
+ let cueOut = playlistItem.get("cueout");
+ let cueIn = playlistItem.get("cuein");
+ let cueOutCont = playlistItem.get("cont-offset");
+ let duration = 0;
+ let scteData = playlistItem.get("sctedata");
+ if (typeof cueOut !== "undefined") {
+ duration = cueOut;
+ } else if (typeof cueOutCont !== "undefined") {
+ duration = playlistItem.get("cont-dur");
+ }
+ let cue =
+ cueOut || cueIn || cueOutCont || assetData
+ ? {
+ out: typeof cueOut !== "undefined",
+ cont: typeof cueOutCont !== "undefined" ? cueOutCont : null,
+ scteData: typeof scteData !== "undefined" ? scteData : null,
+ in: cueIn ? true : false,
+ duration: duration,
+ assetData: typeof assetData !== "undefined" ? assetData : null,
+ }
+ : null;
+ let q = {
+ duration: playlistItem.get("duration"),
+ timelinePosition: this.timeOffset != null ? this.timeOffset + timelinePosition : null,
+ cue: cue,
+ byteRange: byteRange,
+ };
+ if (segmentUri) {
+ q.uri = segmentUri;
+ }
+ if (initSegment) {
+ q.initSegment = initSegment;
+ }
+ if (initSegmentByteRange) {
+ q.initSegmentByteRange = initSegmentByteRange;
+ }
+ if (this.subtitleSegments[groupId][language].length === 0) {
+ // Add daterange metadata if this is the first segment
+ if (this.rangeMetadata) {
+ q["daterange"] = this.rangeMetadata;
+ }
+ }
+
+ if (!similarSegItemDuration) {
+ const result = this.generateSmallerSubtitleSegments(q, offset, leftover, false, firstSegment, elapsedTime);
+ firstSegment = false;
+ this.subtitleSegments[groupId][language] = this.subtitleSegments[groupId][language].concat(result.newSegments);
+ offset = result.offset;
+ leftover = result.leftover;
+ elapsedTime = result.elapsedTime;
+ } else {
+ this.subtitleSegments[groupId][language].push(q);
+ }
+ timelinePosition += q.duration * 1000;
+ }
+ if (!this.targetSubtitleDuration[groupId]) {
+ this.targetSubtitleDuration[groupId] = {};
+ }
+ this.targetSubtitleDuration[groupId][language] = Math.ceil(
+ this.subtitleSegments[groupId][language].map((el) => (el ? el.duration : 0)).reduce((max, cur) => Math.max(max, cur), -Infinity)
+ );
+ }
+ resolve();
+ } catch (exc) {
+ reject(exc);
+ }
+ });
+
+ if (!_injectSubtitleManifest) {
+ fetchWithRetry(subtitleManifestUri, null, 5, 1000, 5000, debug)
+ .then((res) => {
+ if (res.status === 200) {
+ res.body.pipe(parser);
+ } else {
+ throw new Error(res.status + ":: status code error trying to retrieve subtitle manifest " + subtitleManifestUri);
+ }
+ })
+ .catch(reject);
+ } else {
+ const stream = _injectSubtitleManifest(groupId, language);
+ stream.pipe(parser);
+ stream.on("error", (err) => reject(err));
+ }
+ });
+ }
+
+
_getNearestBandwidthInList(bandwidthToMatch, array) {
let bandwidth = bandwidthToMatch;
const filteredBandwidths = array;
@@ -2331,6 +3124,18 @@ class HLSVod {
console.error("Issue calculating length: ", err);
}
}
+
+ _getSubtitleSegmentsLength(group) {
+ try {
+ const langs = Object.keys(this.subtitleSegments[group]);
+ if (!!langs.length) {
+ return this.subtitleSegments[group][langs[0]].length;
+ }
+ } catch (err) {
+ console.error("Issue calculating length: ", err);
+ }
+ }
+
}
module.exports = HLSVod;
diff --git a/spec/hlsvod_audio_spec.js b/spec/hlsvod_audio_spec.js
new file mode 100644
index 0000000..0c1c139
--- /dev/null
+++ b/spec/hlsvod_audio_spec.js
@@ -0,0 +1,68 @@
+const HLSVod = require("../index.js");
+
+describe("HLSVod with demuxed audio", () => {
+ describe("utility functions for audio", () => {
+ it("generate audio sequences type A", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, { subtitleSpliceEndpoint: "/subtitlevtt.vtt" });
+ let mockSequence = {
+ duration: 10,
+ timelinePosition: 0,
+ cue: null,
+ uri: ""
+ };
+ let sequences = {};
+ const groupId = "audio-aacl-97";
+ const lang = "sv";
+ sequences[groupId] = {};
+ sequences[groupId][lang] = [];
+ for (let i = 0; i < 10; i++) {
+ mockSequence.uri = "test" + i + ".aac";
+ const temp = { ...mockSequence };
+ sequences[groupId][lang].push(temp);
+ }
+
+ let result = mockVod.generateSequencesTypeAExtraMedia(sequences, groupId, lang, "audio");
+ expect(result[0][groupId][lang][0].uri).toEqual("test0.aac")
+ expect(result[0][groupId][lang].length).toEqual(5)
+ expect(result[0][groupId][lang][4].uri).toEqual("test4.aac")
+
+ expect(result[5][groupId][lang][0].uri).toEqual("test5.aac")
+ expect(result[5][groupId][lang].length).toEqual(5)
+ expect(result[5][groupId][lang][4].uri).toEqual("test9.aac")
+
+ done();
+
+
+ });
+ it("generate audio sequences type B", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, { subtitleSpliceEndpoint: "/subtitlevtt.vtt" });
+ let mockSequence = {
+ duration: 10,
+ timelinePosition: 0,
+ cue: null,
+ uri: "test"
+ };
+ let sequences = {};
+ const groupId = "audio-aacl-97";
+ const lang = "sv";
+ sequences[groupId] = {};
+ sequences[groupId][lang] = [];
+ for (let i = 0; i < 10; i++) {
+ mockSequence.uri = "test" + i + ".aac";
+ const temp = { ...mockSequence };
+ sequences[groupId][lang].push(temp);
+ }
+
+ let result = mockVod.generateSequencesTypeBExtraMedia(sequences, groupId, lang, "audio");
+ expect(result[0][groupId][lang][0].uri).toEqual("test0.aac")
+ expect(result[0][groupId][lang].length).toEqual(5)
+ expect(result[0][groupId][lang][4].uri).toEqual("test4.aac")
+
+ expect(result[5][groupId][lang][0].uri).toEqual("test5.aac")
+ expect(result[5][groupId][lang].length).toEqual(5)
+ expect(result[5][groupId][lang][4].uri).toEqual("test9.aac")
+
+ done();
+ });
+ });
+});
\ No newline at end of file
diff --git a/spec/hlsvod_subtitles_spec.js b/spec/hlsvod_subtitles_spec.js
new file mode 100644
index 0000000..d22beea
--- /dev/null
+++ b/spec/hlsvod_subtitles_spec.js
@@ -0,0 +1,649 @@
+const HLSVod = require("../index.js");
+const fs = require("fs");
+const Readable = require("stream").Readable;
+
+describe("HLSVod with subtitles", () => {
+
+ const subtitleTracks = [
+ { language: "fr", name: "French" },
+ { language: "zh", name: "Chinese" },
+ { language: "en", name: "English" },
+ { language: "sv", name: "Swedish" }
+ ]
+
+ const hlsOptsAlwaysNewSegmentsFalse = {
+ dummySubtitleEndpoint: "/dummysubs.vtt",
+ subtitleSliceEndpoint: "/subtitlevtt.vtt",
+ shouldContainSubtitles: true,
+ expectedSubtitleTracks: subtitleTracks,
+ sequenceAlwaysContainNewSegments: false
+ }
+
+ const hlsOptsAlwaysNewSegmentsTrue = {
+ dummySubtitleEndpoint: "/dummysubs.vtt",
+ subtitleSliceEndpoint: "/subtitlevtt.vtt",
+ shouldContainSubtitles: true,
+ expectedSubtitleTracks: subtitleTracks,
+ sequenceAlwaysContainNewSegments: true
+ }
+
+ describe("", () => {
+ let mockMasterManifestLongSegments;
+ let mockMediaManifestLongSegments;
+ let mockAudioManifestLongSegments;
+ let mockSubtitleManifestLongSegments;
+
+ let mockMasterManifestShortSegments;
+ let mockMediaManifestShortSegments;
+ let mockSubtitleManifestShortSegments;
+
+ let mockMasterManifestShortSegments2;
+ let mockMediaManifestShortSegments2;
+ let mockSubtitleManifestShortSegments2;
+
+ let mockMasterManifestNoSubs;
+ let mockMediaManifestNoSubs;
+ let mockAudioManifestNoSubs;
+
+ let mockMasterPlaylistUnevenSubVideoSegments;
+ let mockMediaPlaylistUnevenSubVideoSegments;
+ let mockSubtitlePlaylistUnevenSubVideoSegments;
+
+ beforeEach(() => {
+ mockMasterManifestLongSegments = function () {
+ return fs.createReadStream("testvectors/hls_subs/master.m3u8");
+ };
+
+ mockMasterManifestShortSegments = function () {
+ return fs.createReadStream("testvectors/hls_subs2/master.m3u8");
+ };
+
+ mockMasterManifestShortSegments2 = function () {
+ return fs.createReadStream("testvectors/hls_subs4/index.m3u8");
+ };
+
+ mockMasterManifestNoSubs = function () {
+ return fs.createReadStream("testvectors/hls_subs_no_subs/master.m3u8");
+ };
+
+ mockMasterPlaylistUnevenSubVideoSegments = function () {
+ return fs.createReadStream("testvectors/hls_subs3/index.m3u8");
+ };
+
+ mockMediaManifestLongSegments = function () {
+ return fs.createReadStream("testvectors/hls_subs/b2962000-video.m3u8");
+ };
+
+ mockMediaManifestShortSegments = function () {
+ return fs.createReadStream("testvectors/hls_subs2/video.m3u8");
+ };
+
+ mockMediaManifestShortSegments2 = function () {
+ return fs.createReadStream("testvectors/hls_subs4/stream_0/index.m3u8");
+ };
+
+ mockMediaManifestNoSubs = function () {
+ return fs.createReadStream("testvectors/hls_subs_no_subs/b2962000-video.m3u8");
+ };
+
+ mockMediaPlaylistUnevenSubVideoSegments = function () {
+ return fs.createReadStream("testvectors/hls_subs3/stream_0/index.m3u8");
+ };
+
+ mockAudioManifestLongSegments = function () {
+ return fs.createReadStream(`testvectors/hls_subs/b160000-english.m3u8`);
+ }
+
+ mockAudioManifestNoSubs = function () {
+ return fs.createReadStream(`testvectors/hls_subs_no_subs/b160000-english.m3u8`);
+ }
+
+ mockSubtitleManifestLongSegments = function (_, lang) {
+ const langs = {
+ "zh": "chinese",
+ "fr": "french",
+ "sv": "french"
+ }
+ if (lang) {
+ return fs.createReadStream(`testvectors/hls_subs/${langs[lang]}-ed.m3u8`);
+ } else {
+ return fs.createReadStream(`testvectors/hls_subs/french-ed.m3u8`);
+ }
+ };
+
+ mockSubtitleManifestShortSegments = function () {
+ return fs.createReadStream(`testvectors/hls_subs2/subs.m3u8`);
+ };
+
+ mockSubtitleManifestShortSegments2 = function () {
+ return fs.createReadStream(`testvectors/hls_subs4/subs/sub.m3u8`);
+ };
+
+ mockSubtitlePlaylistUnevenSubVideoSegments = function () {
+ return fs.createReadStream(`testvectors/hls_subs3/subs/sub.m3u8`);
+ };
+
+ });
+
+ it("returns the correct number of bandwidths", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestNoSubs, mockMediaManifestNoSubs, mockAudioManifestNoSubs)
+ .then(() => {
+ expect(mockVod.getBandwidths().length).toBe(1);
+ expect(mockVod.getBandwidths()).toEqual(["2962000"]);
+ done();
+ });
+ });
+
+ it("checks serialize size", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod2 = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ .then(() => {
+ return mockVod2.load(mockMasterManifestNoSubs, mockMediaManifestNoSubs, mockAudioManifestNoSubs)
+ })
+ .then(() => {
+ const serialized = mockVod.toJSON()
+ const size = Buffer.byteLength(JSON.stringify(serialized))
+ const serialized2 = mockVod2.toJSON()
+ const size2 = Buffer.byteLength(JSON.stringify(serialized2))
+ expect(size2).toBeLessThan(size);
+ done();
+ });
+ });
+
+ it("no splice subtitle url", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, { dummySubtitleEndpoint: "/dummysubs.vtt", shouldContainSubtitles: true, expectedSubtitleTracks: subtitleTracks });
+ mockVod.load(mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ .catch((e) => {
+ expect(e.message).toEqual("Missing subtitle slice URL");
+ done();
+ });
+ });
+
+ it("no subtitle tracks", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, { dummySubtitleEndpoint: "/dummysubs.vtt", subtitleSliceEndpoint: "/subtitlevtt.vtt", shouldContainSubtitles: true });
+ mockVod.load(mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ .catch((e) => {
+ expect(e.message).toEqual("There are no expected subtitle tracks");
+ done();
+ });
+ });
+
+ it("returns the correct first segment", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ .then(() => {
+ const m3u8 = mockVod.getLiveMediaSubtitleSequences(0, "subs", "fr", 0);
+ const subStrings = m3u8.split("\n")
+ expect(subStrings[7]).toEqual("/subtitlevtt.vtt?vtturi=http%3A%2F%2Fmock.com%2Fsubtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA%3D%3D_0.webvtt&starttime=0&endtime=6&elapsedtime=0");
+ done();
+ });
+ });
+
+ it("returns the correct third sequence", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ .then(() => {
+ const m3u8 = mockVod.getLiveMediaSubtitleSequences(0, "subs", "fr", 2);
+ const subStrings = m3u8.split("\n")
+ expect(subStrings[7]).toEqual("/subtitlevtt.vtt?vtturi=http%3A%2F%2Fmock.com%2Fsubtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA%3D%3D_0.webvtt&starttime=12&endtime=18&elapsedtime=0");
+ done();
+ });
+ });
+
+ it("handles split segments correctly", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterPlaylistUnevenSubVideoSegments, mockMediaPlaylistUnevenSubVideoSegments, null, mockSubtitlePlaylistUnevenSubVideoSegments)
+ .then(() => {
+ const m3u8 = mockVod.getLiveMediaSubtitleSequences(0, "subs", "en", 0);
+ const subStrings = m3u8.split("\n");
+ const url = new URL("http://temp" + subStrings[9]);
+ const params = url.searchParams;
+ expect(params.get("vtturi")).toEqual("http://mock.com/subs/2.webvtt");
+ expect(params.get("previousvtturi")).toEqual("vtturi=http%3A%2F%2Fmock.com%2Fsubs%2F1.webvtt&starttime=4&endtime=6&elapsedtime=0");
+ expect(params.get("elapsedtime")).toEqual("6");
+ done();
+ });
+ });
+
+ it("returns the correct segment when using offset (27sec) with short segments", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, null, 27 * 1000, 0, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestShortSegments, mockMediaManifestShortSegments, null, mockSubtitleManifestShortSegments)
+ .then(() => {
+ const m3u8 = mockVod.getLiveMediaSubtitleSequences(0, "textstream", "sv", 0);
+ const m3u8_2 = mockVod.getLiveMediaSequences(0, "455000", 0);
+ const subStrings = m3u8.split("\n")
+ const subStrings2 = m3u8_2.split("\n")
+ expect(subStrings[7]).toEqual("https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt");
+ expect(subStrings2[8]).toEqual("https://vod.streaming.a2d.tv/ys/1/4/0/1/88485/u-6600-a-128-1-2.mp4");
+ done();
+ });
+ });
+ it("returns the correct segment when using offset (27sec) with long segments", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, null, 27 * 1000, 0, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ .then(() => {
+ const m3u8 = mockVod.getLiveMediaSubtitleSequences(0, "subs", "fr", 0);
+ const m3u8_2 = mockVod.getLiveMediaSequences(0, "2962000", 0);
+ const subStrings = m3u8.split("\n")
+ const subStrings2 = m3u8_2.split("\n")
+ expect(subStrings[7]).toEqual("/subtitlevtt.vtt?vtturi=http%3A%2F%2Fmock.com%2Fsubtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA%3D%3D_0.webvtt&starttime=30&endtime=36&elapsedtime=0");
+ expect(subStrings2[7]).toEqual("http://mock.com/media/media_w1204859437_b2962000_vo_slen_t64TWFpbg==_5.ts");
+ done();
+ });
+ });
+
+ it("returns the correct segment when using offset (150sec) with long segments", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, null, 150 * 1000, 0, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ .then(() => {
+ const m3u8 = mockVod.getLiveMediaSubtitleSequences(0, "subs", "fr", 0);
+ const m3u8_2 = mockVod.getLiveMediaSequences(0, "455000", 0);
+ const subStrings = m3u8.split("\n")
+ const subStrings2 = m3u8_2.split("\n")
+ expect(subStrings[7]).toEqual("/subtitlevtt.vtt?vtturi=http%3A%2F%2Fmock.com%2Fsubtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA%3D%3D_25.webvtt&starttime=0&endtime=6&elapsedtime=150");
+ expect(subStrings2[7]).toEqual("http://mock.com/media/media_w1204859437_b2962000_vo_slen_t64TWFpbg==_25.ts");
+ done();
+ });
+ });
+ it("returns the correct last segment sequenceAlwaysContainNewSegments(true)", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsTrue);
+ mockVod.load(mockMasterManifestShortSegments, mockMediaManifestShortSegments, null, mockSubtitleManifestShortSegments)
+ .then(() => {
+ const m3u8 = mockVod.getLiveMediaSubtitleSequences(0, "textstream", "sv", 0);
+ const m3u8_2 = mockVod.getLiveMediaSubtitleSequences(0, "textstream", "sv", 1);
+ const subStrings = m3u8.split("\n")
+ const subStrings2 = m3u8_2.split("\n")
+ expect(subStrings[41]).toEqual("https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-7.webvtt");
+ expect(subStrings2[40]).toEqual("https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-8.webvtt");
+ expect(subStrings[41]).not.toEqual(subStrings2[40])//comparing last segment in both playlists
+ done();
+ });
+ });
+ it("subs after vod with subs with short segments", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod2 = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestShortSegments, mockMediaManifestShortSegments, null, mockSubtitleManifestShortSegments)
+ .then(() => {
+ return mockVod2.loadAfter(mockVod, mockMasterManifestShortSegments, mockMediaManifestShortSegments, null, mockSubtitleManifestShortSegments)
+ }).then(() => {
+ const m3u8 = mockVod2.getLiveMediaSubtitleSequences(0, "textstream", "sv", 0);
+ const m3u8_2 = mockVod2.getLiveMediaSubtitleSequences(0, "textstream", "sv", 1);
+ const subStrings = m3u8.split("\n")
+ const subStrings2 = m3u8_2.split("\n")
+ expect(subStrings[33]).toEqual("https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-693.webvtt");
+ expect(subStrings2[32]).toEqual("#EXT-X-DISCONTINUITY")
+ expect(subStrings2[33]).toEqual("#EXTINF:3.000,");
+ expect(subStrings2[34]).toEqual("https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt");
+ done();
+ });
+ });
+ it("subs with long segments after vod with subs with short segments", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod2 = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestShortSegments2, mockMediaManifestShortSegments2, null, mockSubtitleManifestShortSegments2)
+ .then(() => {
+ return mockVod2.loadAfter(mockVod, mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ }).then(() => {
+ const m3u8 = mockVod2.getLiveMediaSubtitleSequences(0, "subs", "fr", 1);
+ const m3u8_2 = mockVod2.getLiveMediaSubtitleSequences(0, "subs", "fr", 2);
+ const subStrings = m3u8.split("\n");
+ const subStrings2 = m3u8_2.split("\n");
+ expect(subStrings[16]).toEqual("#EXTINF:2.000,");
+ expect(subStrings[17]).toEqual("http://mock.com/subs/7.webvtt");
+ expect(subStrings2[16]).toEqual("#EXT-X-DISCONTINUITY")
+ expect(subStrings2[17]).toEqual("#EXTINF:6.000,");
+ expect(subStrings2[18]).toEqual("/subtitlevtt.vtt?vtturi=http%3A%2F%2Fmock.com%2Fsubtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA%3D%3D_0.webvtt&starttime=0&endtime=6&elapsedtime=0");
+ done();
+ });
+ });
+ it("subs with short segments after vod with subs with long segments", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod2 = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ .then(() => {
+ return mockVod2.loadAfter(mockVod, mockMasterManifestShortSegments2, mockMediaManifestShortSegments2, null, mockSubtitleManifestShortSegments2);
+ }).then(() => {
+ const m3u8 = mockVod2.getLiveMediaSubtitleSequences(0, "subs", "fr", 0);
+ const m3u8_2 = mockVod2.getLiveMediaSubtitleSequences(0, "subs", "fr", 1);
+ const subStrings = m3u8.split("\n");
+ const subStrings2 = m3u8_2.split("\n");
+ expect(subStrings[20]).toEqual("#EXTINF:6.000,");
+ expect(subStrings[21]).toEqual("/dummysubs.vtt?p=107");
+ expect(subStrings2[20]).toEqual("#EXT-X-DISCONTINUITY")
+ expect(subStrings2[21]).toEqual("#EXTINF:4.000,");
+ expect(subStrings2[22]).toEqual("http://mock.com/subs/0.webvtt");
+ done();
+ });
+ });
+ it("subs with long segments after vod with subs with short segments and alwaysNewSegments(true)", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsTrue);
+ mockVod2 = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsTrue);
+ mockVod.load(mockMasterManifestShortSegments2, mockMediaManifestShortSegments2, null, mockSubtitleManifestShortSegments2)
+ .then(() => {
+ return mockVod2.loadAfter(mockVod, mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ })
+ .then(() => {
+ const m3u8 = mockVod2.getLiveMediaSubtitleSequences(0, "subs", "fr", 0);
+ const m3u8_2 = mockVod2.getLiveMediaSubtitleSequences(0, "subs", "fr", 1);
+ const subStrings = m3u8.split("\n")
+ const subStrings2 = m3u8_2.split("\n")
+ expect(subStrings[20]).toEqual("#EXTINF:2.000,");
+ expect(subStrings[21]).toEqual("http://mock.com/subs/7.webvtt");
+ expect(subStrings2[20]).toEqual("#EXT-X-DISCONTINUITY")
+ expect(subStrings2[21]).toEqual("#EXTINF:6.000,");
+ expect(subStrings2[22]).toEqual("/subtitlevtt.vtt?vtturi=http%3A%2F%2Fmock.com%2Fsubtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA%3D%3D_0.webvtt&starttime=0&endtime=6&elapsedtime=0");
+ done();
+
+ });
+ });
+ it("subs with short segments after vod with subs with long segments and alwaysNewSegments(true)", (done) => {
+ const bool = 1;
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsTrue);
+ mockVod2 = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsTrue);
+ mockVod.load(mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ .then(() => {
+ return mockVod2.loadAfter(mockVod, mockMasterManifestShortSegments2, mockMediaManifestShortSegments2, null, mockSubtitleManifestShortSegments2)
+ }).then(() => {
+ const m3u8 = mockVod2.getLiveMediaSubtitleSequences(0, "subs", "fr", 0);
+ const m3u8_2 = mockVod2.getLiveMediaSubtitleSequences(0, "subs", "fr", 1);
+ const subStrings = m3u8.split("\n")
+ const subStrings2 = m3u8_2.split("\n")
+ expect(subStrings[22]).toEqual("#EXTINF:6.000,");
+ expect(subStrings[23]).toEqual("/dummysubs.vtt?p=107");
+ expect(subStrings2[22]).toEqual("#EXT-X-DISCONTINUITY")
+ expect(subStrings2[23]).toEqual("#EXTINF:4.000,");
+ expect(subStrings2[24]).toEqual("http://mock.com/subs/0.webvtt");
+ done();
+ });
+ });
+ it("deltaTimes and playheadPos, alwaysNewSegments(true)", (done) => {
+ const bool = 1;
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsTrue);
+ mockVod.load(mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ .then(() => {
+ const deltaV = mockVod.getDeltaTimes()
+ const deltaS = mockVod.getDeltaTimes("subtitle")
+
+ const playheadPosV = mockVod.getPlayheadPositions()
+ const playheadPosS = mockVod.getPlayheadPositions("subtitle")
+ expect(deltaV).toEqual(deltaS);
+ expect(playheadPosV).toEqual(playheadPosS);
+ done();
+ });
+ });
+ it("deltaTimes and playheadPos, alwaysNewSegments(false)", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestLongSegments, mockMediaManifestLongSegments, mockAudioManifestLongSegments, mockSubtitleManifestLongSegments)
+ .then(() => {
+ const deltaV = mockVod.getDeltaTimes()
+ const deltaS = mockVod.getDeltaTimes("subtitle")
+
+ const playheadPosV = mockVod.getPlayheadPositions()
+ const playheadPosS = mockVod.getPlayheadPositions("subtitle")
+ expect(deltaV).toEqual(deltaS);
+ expect(playheadPosV).toEqual(playheadPosS);
+ done();
+ });
+ });
+ });
+
+ describe("mixing vod with subtitles and without", () => {
+ let mockMasterManifestWithSubs;
+ let mockMediaManifestWithSubs;
+ let mockAudioManifestWithSubs;
+ let mockSubtitleManifestWithSubs;
+ let mockMasterManifestNoSubs;
+ let mockMediaManifestNoSubs;
+ beforeEach(() => {
+ mockMasterManifestWithSubs = function () {
+ return fs.createReadStream("testvectors/hls_subs/master.m3u8");
+ };
+
+ mockMasterManifestNoSubs = function () {
+ return fs.createReadStream("testvectors/hls15/master.m3u8");
+ };
+
+
+ mockMediaManifestWithSubs = function () {
+ return fs.createReadStream("testvectors/hls_subs/b2962000-video.m3u8");
+ };
+
+ mockMediaManifestNoSubs = function () {
+ return fs.createReadStream("testvectors/hls15/index_1010931.m3u8");
+ };
+
+ mockSubtitleManifestWithSubs = function (_, lang) {
+ const langs = {
+ "zh": "chinese",
+ "fr": "french"
+ }
+ if (lang) {
+ return fs.createReadStream(`testvectors/hls_subs/${langs[lang]}-ed.m3u8`);
+ } else {
+ return fs.createReadStream(`testvectors/hls_subs/french-ed.m3u8`);
+ }
+ };
+
+ mockAudioManifestWithSubs = function () {
+ return fs.createReadStream(`testvectors/hls_subs/b160000-english.m3u8`);
+ }
+ })
+ it("no subs after vod with subs with fallback URL", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod2 = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestWithSubs, mockMediaManifestWithSubs, mockAudioManifestWithSubs, mockSubtitleManifestWithSubs)
+ .then(() => {
+ return mockVod2.loadAfter(mockVod, mockMasterManifestNoSubs, mockMediaManifestNoSubs)
+ })
+ .then(() => {
+ const m3u8 = mockVod2.getLiveMediaSubtitleSequences(0, "subs", "fr", 0);
+ const subStrings = m3u8.split("\n")
+ expect(subStrings[21]).toEqual("/dummysubs.vtt?p=107");
+ expect(subStrings[22]).toEqual("#EXT-X-DISCONTINUITY")
+ expect(subStrings[23]).toEqual("#EXTINF:2.000,");
+ expect(subStrings[24]).toEqual("/dummysubs.vtt?p=9");
+ done();
+ });
+ });
+ it("subs after vod with no subs with fallback URL", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod2 = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestNoSubs, mockMediaManifestNoSubs)
+ .then(() => {
+ return mockVod2.loadAfter(mockVod, mockMasterManifestWithSubs, mockMediaManifestWithSubs, mockAudioManifestWithSubs, mockSubtitleManifestWithSubs)
+ })
+ .then(() => {
+ const m3u8 = mockVod2.getLiveMediaSubtitleSequences(0, "subs", "fr", 0);
+ const subStrings = m3u8.split("\n")
+ expect(subStrings[17]).toEqual("/dummysubs.vtt?p=6");
+ expect(subStrings[18]).toEqual("#EXT-X-DISCONTINUITY")
+ expect(subStrings[19]).toEqual("#EXTINF:6.000,");
+ expect(subStrings[20]).toEqual("/subtitlevtt.vtt?vtturi=http%3A%2F%2Fmock.com%2Fsubtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA%3D%3D_0.webvtt&starttime=0&endtime=6&elapsedtime=0");
+ done();
+ });
+ });
+ it("subs after vod without subs", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod2 = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod3 = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestWithSubs, mockMediaManifestWithSubs, mockAudioManifestWithSubs, mockSubtitleManifestWithSubs)
+ .then(() => {
+ return mockVod2.loadAfter(mockVod, mockMasterManifestNoSubs, mockMediaManifestNoSubs)
+ })
+ .then(() => {
+ return mockVod3.loadAfter(mockVod2, mockMasterManifestWithSubs, mockMediaManifestWithSubs, mockAudioManifestWithSubs, mockSubtitleManifestWithSubs)
+ })
+ .then(() => {
+ const m3u8_3 = mockVod3.getLiveMediaSubtitleSequences(0, "subs", "fr", 1);
+ const subStrings3 = m3u8_3.split("\n")
+ expect(subStrings3[29]).toEqual("#EXTINF:2.000,");
+ expect(subStrings3[30]).toEqual("/dummysubs.vtt?p=15");
+ expect(subStrings3[31]).toEqual("#EXT-X-DISCONTINUITY")
+ expect(subStrings3[32]).toEqual("#EXTINF:6.000,");
+ expect(subStrings3[33]).toEqual("/subtitlevtt.vtt?vtturi=http%3A%2F%2Fmock.com%2Fsubtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA%3D%3D_0.webvtt&starttime=0&endtime=6&elapsedtime=0");
+ done();
+ });
+ });
+ it("no subs after vod with subs without fallback URL", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, { subtitleSliceEndpoint: "/subtitlevtt.vtt", shouldContainSubtitles: true, expectedSubtitleTracks: subtitleTracks });
+ mockVod2 = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, { subtitleSliceEndpoint: "/subtitlevtt.vtt", shouldContainSubtitles: true, expectedSubtitleTracks: subtitleTracks });
+ mockVod.load(mockMasterManifestWithSubs, mockMediaManifestWithSubs, mockAudioManifestWithSubs, mockSubtitleManifestWithSubs)
+ .then(() => {
+ return mockVod2.loadAfter(mockVod, mockMasterManifestNoSubs, mockMediaManifestNoSubs)
+ })
+ .catch((e) => {
+ expect(e.message).toEqual("Loaded VOD does not contain subtitles and there is no dummy subtitle segment URL configured");
+ done();
+ });
+
+ });
+ });
+
+ describe("support function", () => {
+ let mockMasterManifestNoSubs;
+ let mockMediaManifestNoSubs;
+
+ beforeEach(() => {
+ mockMasterManifestNoSubs = function () {
+ return fs.createReadStream("testvectors/hls15/master.m3u8");
+ };
+
+ mockMediaManifestNoSubs = function () {
+ return fs.createReadStream("testvectors/hls15/index_1010931.m3u8");
+ };
+ });
+
+ it("generateSmallerSubtitleSegments with one segment", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestNoSubs, mockMediaManifestNoSubs)
+ .then(() => {
+ const segment = {
+ duration: 15.5,
+ timelinePosition: 0,
+ cue: null,
+ uri: "test.webvtt",
+ };
+ const result = mockVod.generateSmallerSubtitleSegments(segment, 0, null, false, false, 0);
+ expect(result.elapsedTime).toEqual(15.5)
+ expect(result.offset).toEqual(7)
+ expect(result.leftover).toEqual({})
+ expect(result.newSegments.length).toEqual(7)
+ expect(result.newSegments[3].duration).toEqual(3.5)
+ expect(result.newSegments[3].uri).toEqual("/subtitlevtt.vtt?vtturi=test.webvtt&starttime=6&endtime=9.5&elapsedtime=0")
+ done();
+ })
+ });
+
+ it("generateSmallerSubtitleSegments with two segment and uneven", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ mockVod.load(mockMasterManifestNoSubs, mockMediaManifestNoSubs)
+ .then(() => {
+ const segment = {
+ duration: 7,
+ timelinePosition: 0,
+ cue: null,
+ uri: "test1.webvtt",
+ };
+ const segment1 = {
+ duration: 8.5,
+ timelinePosition: 0,
+ cue: null,
+ uri: "test2.webvtt",
+ };
+ const segments = [segment, segment1];
+ let results = [];
+ let elapsedTime = 0;
+ let offset = 0;
+ let leftover = null;
+ for (let i = 0; i < segments.length; i++) {
+ const result = mockVod.generateSmallerSubtitleSegments(segments[i], offset, leftover, false, false, elapsedTime);
+ elapsedTime += result.elapsedTime;
+ offset += result.offset;
+ leftover = result.leftover;
+ results.push(result);
+ }
+
+ expect(results[0].elapsedTime).toEqual(7)
+ expect(results[0].offset).toEqual(3)
+ expect(results[0].leftover.duration).toEqual(2.5)
+ expect(results[0].leftover.previousSegmentUri.toString()).toEqual("vtturi=test1.webvtt&starttime=6&endtime=7&elapsedtime=0")
+ expect(results[0].leftover.consumedVideoDuration).toEqual(1)
+ expect(results[0].newSegments.length).toEqual(3)
+ expect(results[0].newSegments[2].duration).toEqual(2)
+ expect(results[0].newSegments[2].uri).toEqual("/subtitlevtt.vtt?vtturi=test1.webvtt&starttime=4&endtime=6&elapsedtime=0")
+
+ expect(results[1].elapsedTime).toEqual(15.5)
+ expect(results[1].offset).toEqual(7)
+ expect(results[1].leftover).toEqual({})
+ expect(results[1].newSegments.length).toEqual(4)
+ expect(results[1].newSegments[0].duration).toEqual(3.5)
+ expect(results[1].newSegments[0].uri).toEqual("/subtitlevtt.vtt?vtturi=test2.webvtt&previousvtturi=vtturi%3Dtest1.webvtt%26starttime%3D6%26endtime%3D7%26elapsedtime%3D0&starttime=0&endtime=2.5&elapsedtime=7")
+ done();
+ });
+ });
+ it("generate subtitle sequences type A", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ let mockSequence = {
+ duration: 10,
+ timelinePosition: 0,
+ cue: null,
+ uri: "test"
+ };
+ let sequences = {};
+ const groupId = "text";
+ const lang = "sv";
+ sequences[groupId] = {};
+ sequences[groupId][lang] = [];
+ for (let i = 0; i < 10; i++) {
+ mockSequence.uri = "test" + i + ".vtt";
+ const temp = { ...mockSequence };
+ sequences[groupId][lang].push(temp);
+ }
+
+ let result = mockVod.generateSequencesTypeAExtraMedia(sequences, groupId, lang, "subtitle");
+ expect(result[0][groupId][lang][0].uri).toEqual("test0.vtt")
+ expect(result[0][groupId][lang].length).toEqual(5)
+ expect(result[0][groupId][lang][4].uri).toEqual("test4.vtt")
+
+ expect(result[5][groupId][lang][0].uri).toEqual("test5.vtt")
+ expect(result[5][groupId][lang].length).toEqual(5)
+ expect(result[5][groupId][lang][4].uri).toEqual("test9.vtt")
+
+ done();
+
+
+ });
+ it("generate subtitle sequences type B", (done) => {
+ mockVod = new HLSVod("http://mock.com/mock.m3u8", null, 0, 0, null, hlsOptsAlwaysNewSegmentsFalse);
+ let mockSequence = {
+ duration: 10,
+ timelinePosition: 0,
+ cue: null,
+ uri: "test"
+ };
+ let sequences = {};
+ const groupId = "text";
+ const lang = "sv";
+ sequences[groupId] = {};
+ sequences[groupId][lang] = [];
+ for (let i = 0; i < 10; i++) {
+ mockSequence.uri = "test" + i + ".vtt";
+ const temp = { ...mockSequence };
+ sequences[groupId][lang].push(temp);
+ }
+
+ let result = mockVod.generateSequencesTypeBExtraMedia(sequences, groupId, lang, "subtitle");
+ expect(result[0][groupId][lang][0].uri).toEqual("test0.vtt")
+ expect(result[0][groupId][lang].length).toEqual(5)
+ expect(result[0][groupId][lang][4].uri).toEqual("test4.vtt")
+
+ expect(result[5][groupId][lang][0].uri).toEqual("test5.vtt")
+ expect(result[5][groupId][lang].length).toEqual(5)
+ expect(result[5][groupId][lang][4].uri).toEqual("test9.vtt")
+
+ done();
+ });
+ });
+});
\ No newline at end of file
diff --git a/testvectors/hls_subs/b160000-english.m3u8 b/testvectors/hls_subs/b160000-english.m3u8
new file mode 100644
index 0000000..dc8b77c
--- /dev/null
+++ b/testvectors/hls_subs/b160000-english.m3u8
@@ -0,0 +1,224 @@
+#EXTM3U
+#EXT-X-VERSION:3
+#EXT-X-TARGETDURATION:6
+#EXT-X-MEDIA-SEQUENCE:0
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_0.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_1.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_2.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_3.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_4.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_5.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_6.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_7.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_8.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_9.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_10.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_11.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_12.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_13.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_14.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_15.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_16.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_17.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_18.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_19.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_20.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_21.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_22.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_23.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_24.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_25.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_26.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_27.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_28.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_29.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_30.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_31.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_32.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_33.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_34.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_35.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_36.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_37.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_38.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_39.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_40.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_41.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_42.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_43.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_44.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_45.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_46.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_47.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_48.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_49.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_50.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_51.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_52.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_53.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_54.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_55.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_56.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_57.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_58.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_59.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_60.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_61.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_62.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_63.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_64.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_65.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_66.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_67.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_68.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_69.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_70.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_71.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_72.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_73.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_74.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_75.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_76.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_77.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_78.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_79.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_80.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_81.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_82.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_83.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_84.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_85.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_86.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_87.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_88.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_89.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_90.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_91.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_92.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_93.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_94.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_95.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_96.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_97.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_98.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_99.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_100.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_101.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_102.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_103.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_104.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_105.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_106.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_107.aac
+# #EXTINF:5.827,
+# media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_108.aac
+#EXT-X-ENDLIST
+
diff --git a/testvectors/hls_subs/b2962000-video.m3u8 b/testvectors/hls_subs/b2962000-video.m3u8
new file mode 100644
index 0000000..e434601
--- /dev/null
+++ b/testvectors/hls_subs/b2962000-video.m3u8
@@ -0,0 +1,223 @@
+#EXTM3U
+#EXT-X-VERSION:3
+#EXT-X-TARGETDURATION:6
+#EXT-X-MEDIA-SEQUENCE:0
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_0.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_1.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_2.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_3.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_4.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_5.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_6.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_7.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_8.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_9.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_10.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_11.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_12.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_13.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_14.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_15.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_16.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_17.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_18.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_19.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_20.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_21.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_22.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_23.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_24.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_25.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_26.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_27.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_28.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_29.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_30.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_31.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_32.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_33.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_34.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_35.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_36.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_37.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_38.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_39.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_40.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_41.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_42.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_43.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_44.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_45.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_46.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_47.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_48.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_49.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_50.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_51.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_52.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_53.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_54.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_55.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_56.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_57.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_58.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_59.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_60.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_61.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_62.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_63.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_64.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_65.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_66.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_67.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_68.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_69.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_70.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_71.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_72.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_73.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_74.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_75.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_76.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_77.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_78.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_79.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_80.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_81.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_82.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_83.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_84.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_85.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_86.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_87.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_88.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_89.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_90.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_91.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_92.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_93.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_94.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_95.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_96.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_97.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_98.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_99.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_100.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_101.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_102.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_103.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_104.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_105.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_106.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_107.ts
+# #EXTINF:5.75,
+# media_w1204859437_b2962000_vo_slen_t64TWFpbg==_108.ts
+#EXT-X-ENDLIST
\ No newline at end of file
diff --git a/testvectors/hls_subs/chinese-ed.m3u8 b/testvectors/hls_subs/chinese-ed.m3u8
new file mode 100644
index 0000000..004d32f
--- /dev/null
+++ b/testvectors/hls_subs/chinese-ed.m3u8
@@ -0,0 +1,13 @@
+#EXTM3U
+#EXT-X-VERSION:3
+#EXT-X-TARGETDURATION:150
+#EXT-X-MEDIA-SEQUENCE:0
+#EXTINF:150.0,
+subtitlechunk_lzho_w2018715716_b160000_slen_t64RW5nbGlzaA==_0.webvtt
+#EXTINF:150.0,
+subtitlechunk_lzho_w2018715716_b160000_slen_t64RW5nbGlzaA==_25.webvtt
+#EXTINF:150.0,
+subtitlechunk_lzho_w2018715716_b160000_slen_t64RW5nbGlzaA==_50.webvtt
+#EXTINF:150.0,
+subtitlechunk_lzho_w2018715716_b160000_slen_t64RW5nbGlzaA==_75.webvtt
+#EXT-X-ENDLIST
\ No newline at end of file
diff --git a/testvectors/hls_subs/french-ed.m3u8 b/testvectors/hls_subs/french-ed.m3u8
new file mode 100644
index 0000000..35a0865
--- /dev/null
+++ b/testvectors/hls_subs/french-ed.m3u8
@@ -0,0 +1,13 @@
+#EXTM3U
+#EXT-X-VERSION:3
+#EXT-X-TARGETDURATION:150
+#EXT-X-MEDIA-SEQUENCE:0
+#EXTINF:150.0,
+subtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA==_0.webvtt
+#EXTINF:150.0,
+subtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA==_25.webvtt
+#EXTINF:150.0,
+subtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA==_50.webvtt
+#EXTINF:150.0,
+subtitlechunk_lfra_w1588523518_b160000_slen_t64RW5nbGlzaA==_75.webvtt
+#EXT-X-ENDLIST
\ No newline at end of file
diff --git a/testvectors/hls_subs/master.m3u8 b/testvectors/hls_subs/master.m3u8
new file mode 100644
index 0000000..d198664
--- /dev/null
+++ b/testvectors/hls_subs/master.m3u8
@@ -0,0 +1,7 @@
+#EXTM3U
+#EXT-X-VERSION:3
+#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Chinese",FORCED=NO,AUTOSELECT=YES,URI="chinese-ed.m3u8",LANGUAGE="zh"
+#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="French",FORCED=NO,AUTOSELECT=YES,URI="french-ed.m3u8",LANGUAGE="fr"
+#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",LANGUAGE="en",NAME="Commentary (eng)",DEFAULT=NO,AUTOSELECT=NO,URI="b160000-english.m3u8"
+#EXT-X-STREAM-INF:BANDWIDTH=2962000,NAME="Main",CODECS="avc1.66.30",RESOLUTION=1280x720,AUDIO="aac",SUBTITLES="subs"
+media/b2962000-video.m3u8
diff --git a/testvectors/hls_subs2/master.m3u8 b/testvectors/hls_subs2/master.m3u8
new file mode 100644
index 0000000..b8f229c
--- /dev/null
+++ b/testvectors/hls_subs2/master.m3u8
@@ -0,0 +1,7 @@
+#EXTM3U
+#CSM
+#EXT-X-VERSION:6
+#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-aacl-128",NAME="audio",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="2",URI="https://csm-e-cetv4aeun1vpr208-0a16a798349bde822.tls1.yospace.com/csm/builder/580403973,580834238,580403977,584881041,proxy.1,568596032,580834218,589838621,589113936,589490258,568596040,588573338,584881041,proxy.2,568596048,584056237,589113954,585977473,586708464,583280328,584048666,589114198,568596083,588194801,584881049,proxy.3,580403973,586707803,586708191,580403977,590324951,584881045,proxy.4/8.m3u8?yo.p.si=csm-e-cetv4aeun1vpr208-0a16a798349bde822-68-1674741215208&yo.p.ci=547009993&yo.p.fn=LzNlNTQyNDA1LTU4M2ItNGVkYy05M2FiLWVjYTg2NDI3ZDE0OC9hYjkyYTY5MC02MmRlLTExZWQtYWE1MS1jOTZmYjRmOTQzNGZfMjAzMzcyMDkuaXNtLy5tM3U4&yo.p.bp=VMAP&yo.p.cu=,Q1ZEWQ==,RkZqQQ==,SGVWdw==&yo.av=3&s=TV4Play%2FHem+%26+fritid%2FSveriges+m%C3%A4sterkock&dcid=d918a1f3-0bcc-438b-a205-b2a87ad0daf6&t=long_form%2CTV4Play%2CHem+%26+fritid%2CSveriges+m%C3%A4sterkock%2CSveriges+m%C3%A4sterkock+-+Efter+st%C3%A4ngning+del+10%2Cextraprogram%2C359623%2C13314774%2Cns_st_mv-dev&ss.exp=20230127135334&gdpr_consent=1&pid=5912835144af4a462e76fd58a353b7599a0eb745da&ss.sig=058d860871a3e84ce7a72b8dea257fa59e6bb011&vimondId=13314774&gdpr=1"
+#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="textstream",LANGUAGE="sv",NAME="Svenska",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,URI="subs.m3u8"
+#EXT-X-STREAM-INF:BANDWIDTH=455000,CODECS="avc1.4D400D,mp4a.40.2",RESOLUTION=384x216,VIDEO-RANGE=SDR,FRAME-RATE=25.000,SUBTITLES="textstream",AUDIO="audio-aacl-128"
+media/video.m3u8
diff --git a/testvectors/hls_subs2/subs.m3u8 b/testvectors/hls_subs2/subs.m3u8
new file mode 100644
index 0000000..313c79e
--- /dev/null
+++ b/testvectors/hls_subs2/subs.m3u8
@@ -0,0 +1,1632 @@
+#EXTM3U
+#EXT-X-TARGETDURATION:4
+#EXT-X-VERSION:6
+#EXT-X-PLAYLIST-TYPE:VOD
+#EXT-X-INDEPENDENT-SEGMENTS
+#EXTINF:3,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.48,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:1.32,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-1.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-2.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-3.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-4.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-5.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-6.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-7.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-8.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-9.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-10.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-11.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-12.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-13.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-14.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-15.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-16.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-17.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-18.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-19.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-20.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-21.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-22.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-23.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-24.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-25.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-26.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-27.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-28.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-29.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-30.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-31.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-32.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-33.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-34.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-35.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-36.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-37.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-38.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-39.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-40.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-41.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-42.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-43.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-44.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-45.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-46.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-47.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-48.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-49.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-50.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-51.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-52.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-53.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-54.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-55.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-56.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-57.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-58.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-59.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-60.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-61.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-62.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-63.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-64.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-65.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-66.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-67.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-68.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-69.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-70.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-71.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-72.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-73.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-74.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-75.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-76.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-77.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-78.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-79.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-80.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-81.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-82.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-83.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-84.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-85.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-86.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-87.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-88.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-89.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-90.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-91.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-92.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-93.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-94.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-95.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-96.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-97.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-98.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-99.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-100.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-101.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-102.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-103.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-104.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-105.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-106.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-107.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-108.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-109.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-110.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-111.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-112.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-113.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-114.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-115.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-116.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-117.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-118.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-119.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-120.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-121.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-122.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-123.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-124.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-125.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-126.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-127.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-128.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-129.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-130.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-131.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-132.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-133.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-134.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-135.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-136.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-137.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-138.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-139.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-140.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-141.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-142.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-143.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-144.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-145.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-146.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-147.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-148.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-149.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-150.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-151.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-152.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-153.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-154.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-155.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-156.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-157.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-158.webvtt
+#EXTINF:3.8,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-159.webvtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:0.8,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.48,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.48,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:0.8,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:0.8,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:1.32,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.88,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-160.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-161.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-162.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-163.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-164.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-165.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-166.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-167.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-168.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-169.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-170.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-171.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-172.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-173.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-174.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-175.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-176.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-177.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-178.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-179.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-180.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-181.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-182.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-183.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-184.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-185.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-186.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-187.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-188.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-189.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-190.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-191.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-192.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-193.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-194.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-195.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-196.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-197.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-198.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-199.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-200.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-201.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-202.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-203.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-204.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-205.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-206.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-207.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-208.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-209.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-210.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-211.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-212.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-213.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-214.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-215.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-216.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-217.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-218.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-219.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-220.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-221.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-222.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-223.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-224.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-225.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-226.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-227.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-228.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-229.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-230.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-231.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-232.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-233.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-234.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-235.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-236.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-237.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-238.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-239.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-240.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-241.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-242.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-243.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-244.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-245.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-246.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-247.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-248.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-249.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-250.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-251.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-252.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-253.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-254.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-255.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-256.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-257.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-258.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-259.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-260.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-261.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-262.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-263.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-264.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-265.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-266.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-267.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-268.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-269.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-270.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-271.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-272.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-273.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-274.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-275.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-276.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-277.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-278.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-279.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-280.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-281.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-282.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-283.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-284.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-285.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-286.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-287.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-288.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-289.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-290.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-291.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-292.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-293.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-294.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-295.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-296.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-297.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-298.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-299.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-300.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-301.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-302.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-303.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-304.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-305.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-306.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-307.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-308.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-309.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-310.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-311.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-312.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-313.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-314.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-315.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-316.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-317.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-318.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-319.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-320.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-321.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-322.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-323.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-324.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-325.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-326.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-327.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-328.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-329.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-330.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-331.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-332.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-333.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-334.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-335.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-336.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-337.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-338.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-339.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-340.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-341.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-342.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-343.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-344.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-345.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-346.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-347.webvtt
+#EXTINF:0.96,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-348.webvtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:0.8,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.48,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.48,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:2.32,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:2.32,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:0.8,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.48,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:0.8,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:1.32,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:2.88,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-349.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-350.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-351.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-352.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-353.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-354.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-355.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-356.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-357.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-358.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-359.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-360.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-361.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-362.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-363.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-364.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-365.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-366.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-367.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-368.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-369.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-370.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-371.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-372.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-373.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-374.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-375.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-376.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-377.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-378.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-379.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-380.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-381.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-382.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-383.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-384.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-385.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-386.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-387.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-388.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-389.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-390.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-391.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-392.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-393.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-394.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-395.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-396.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-397.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-398.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-399.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-400.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-401.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-402.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-403.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-404.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-405.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-406.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-407.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-408.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-409.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-410.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-411.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-412.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-413.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-414.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-415.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-416.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-417.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-418.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-419.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-420.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-421.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-422.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-423.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-424.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-425.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-426.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-427.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-428.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-429.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-430.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-431.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-432.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-433.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-434.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-435.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-436.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-437.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-438.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-439.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-440.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-441.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-442.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-443.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-444.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-445.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-446.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-447.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-448.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-449.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-450.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-451.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-452.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-453.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-454.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-455.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-456.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-457.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-458.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-459.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-460.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-461.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-462.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-463.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-464.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-465.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-466.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-467.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-468.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-469.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-470.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-471.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-472.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-473.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-474.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-475.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-476.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-477.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-478.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-479.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-480.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-481.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-482.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-483.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-484.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-485.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-486.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-487.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-488.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-489.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-490.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-491.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-492.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-493.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-494.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-495.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-496.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-497.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-498.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-499.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-500.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-501.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-502.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-503.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-504.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-505.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-506.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-507.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-508.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-509.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-510.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-511.webvtt
+#EXTINF:0.88,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-512.webvtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:0.8,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.48,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.12,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:3.84,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXTINF:1.32,
+https://d3t8zrj2x5ol3r.cloudfront.net/u/file~text_vtt~dummy.vtt/1/s/webvtt.vtt
+#EXT-X-DISCONTINUITY
+#EXTINF:2.96,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-513.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-514.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-515.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-516.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-517.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-518.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-519.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-520.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-521.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-522.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-523.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-524.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-525.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-526.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-527.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-528.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-529.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-530.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-531.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-532.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-533.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-534.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-535.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-536.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-537.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-538.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-539.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-540.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-541.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-542.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-543.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-544.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-545.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-546.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-547.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-548.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-549.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-550.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-551.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-552.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-553.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-554.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-555.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-556.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-557.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-558.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-559.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-560.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-561.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-562.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-563.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-564.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-565.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-566.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-567.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-568.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-569.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-570.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-571.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-572.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-573.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-574.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-575.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-576.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-577.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-578.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-579.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-580.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-581.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-582.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-583.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-584.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-585.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-586.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-587.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-588.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-589.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-590.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-591.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-592.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-593.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-594.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-595.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-596.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-597.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-598.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-599.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-600.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-601.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-602.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-603.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-604.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-605.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-606.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-607.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-608.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-609.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-610.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-611.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-612.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-613.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-614.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-615.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-616.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-617.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-618.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-619.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-620.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-621.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-622.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-623.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-624.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-625.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-626.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-627.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-628.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-629.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-630.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-631.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-632.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-633.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-634.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-635.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-636.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-637.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-638.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-639.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-640.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-641.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-642.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-643.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-644.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-645.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-646.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-647.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-648.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-649.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-650.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-651.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-652.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-653.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-654.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-655.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-656.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-657.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-658.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-659.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-660.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-661.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-662.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-663.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-664.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-665.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-666.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-667.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-668.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-669.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-670.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-671.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-672.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-673.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-674.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-675.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-676.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-677.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-678.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-679.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-680.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-681.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-682.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-683.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-684.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-685.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-686.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-687.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-688.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-689.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-690.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-691.webvtt
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-692.webvtt
+#EXTINF:1.08,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-textstream_swe=1000-693.webvtt
+#EXT-X-ENDLIST
diff --git a/testvectors/hls_subs2/video.m3u8 b/testvectors/hls_subs2/video.m3u8
new file mode 100644
index 0000000..58a6297
--- /dev/null
+++ b/testvectors/hls_subs2/video.m3u8
@@ -0,0 +1,1665 @@
+#EXTM3U
+#EXT-X-TARGETDURATION:4
+#EXT-X-VERSION:6
+#EXT-X-PLAYLIST-TYPE:VOD
+#EXT-X-INDEPENDENT-SEGMENTS
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/3/7/9/3/04085/u-6600-a-128-1-i.mp4"
+#EXTINF:3,
+https://vod.streaming.a2d.tv/ys/3/7/9/3/04085/u-6600-a-128-1-0.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/8/3/2/4/38085/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/3/2/4/38085/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/3/2/4/38085/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/3/2/4/38085/u-6600-a-128-1-2.mp4
+#EXTINF:3.48,
+https://vod.streaming.a2d.tv/ys/8/3/2/4/38085/u-6600-a-128-1-3.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/7/7/9/3/04085/u-6600-a-128-1-i.mp4"
+#EXTINF:3,
+https://vod.streaming.a2d.tv/ys/7/7/9/3/04085/u-6600-a-128-1-0.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/1/4/0/1/88485/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/4/0/1/88485/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/4/0/1/88485/u-6600-a-128-1-1.mp4
+#EXTINF:1.32,
+https://vod.streaming.a2d.tv/ys/1/4/0/1/88485/u-6600-a-128-1-2.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000.m4s"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-1.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-2.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-3.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-4.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-5.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-6.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-7.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-8.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-9.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-10.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-11.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-12.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-13.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-14.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-15.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-16.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-17.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-18.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-19.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-20.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-21.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-22.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-23.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-24.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-25.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-26.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-27.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-28.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-29.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-30.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-31.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-32.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-33.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-34.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-35.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-36.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-37.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-38.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-39.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-40.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-41.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-42.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-43.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-44.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-45.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-46.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-47.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-48.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-49.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-50.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-51.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-52.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-53.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-54.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-55.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-56.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-57.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-58.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-59.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-60.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-61.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-62.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-63.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-64.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-65.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-66.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-67.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-68.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-69.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-70.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-71.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-72.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-73.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-74.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-75.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-76.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-77.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-78.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-79.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-80.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-81.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-82.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-83.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-84.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-85.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-86.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-87.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-88.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-89.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-90.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-91.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-92.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-93.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-94.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-95.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-96.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-97.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-98.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-99.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-100.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-101.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-102.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-103.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-104.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-105.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-106.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-107.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-108.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-109.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-110.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-111.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-112.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-113.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-114.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-115.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-116.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-117.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-118.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-119.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-120.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-121.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-122.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-123.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-124.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-125.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-126.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-127.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-128.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-129.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-130.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-131.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-132.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-133.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-134.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-135.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-136.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-137.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-138.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-139.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-140.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-141.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-142.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-143.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-144.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-145.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-146.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-147.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-148.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-149.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-150.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-151.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-152.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-153.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-154.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-155.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-156.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-157.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-158.m4s
+#EXTINF:3.819,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-159.m4s
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/2/3/0/6/95865/u-6600-a-128-1-i.mp4"
+#EXTINF:3,
+https://vod.streaming.a2d.tv/ys/2/3/0/6/95865/u-6600-a-128-1-0.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/8/1/2/4/38085/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/1/2/4/38085/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/1/2/4/38085/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/1/2/4/38085/u-6600-a-128-1-2.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/1/2/4/38085/u-6600-a-128-1-3.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/1/2/4/38085/u-6600-a-128-1-4.mp4
+#EXTINF:0.8,
+https://vod.streaming.a2d.tv/ys/8/1/2/4/38085/u-6600-a-128-1-5.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/1/2/6/8/38985/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/2/6/8/38985/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/2/6/8/38985/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/2/6/8/38985/u-6600-a-128-1-2.mp4
+#EXTINF:3.48,
+https://vod.streaming.a2d.tv/ys/1/2/6/8/38985/u-6600-a-128-1-3.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/6/3/9/3/11985/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/6/3/9/3/11985/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/6/3/9/3/11985/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/6/3/9/3/11985/u-6600-a-128-1-2.mp4
+#EXTINF:3.48,
+https://vod.streaming.a2d.tv/ys/6/3/9/3/11985/u-6600-a-128-1-3.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/8/5/2/0/94985/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/5/2/0/94985/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/5/2/0/94985/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/5/2/0/94985/u-6600-a-128-1-2.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/5/2/0/94985/u-6600-a-128-1-3.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/5/2/0/94985/u-6600-a-128-1-4.mp4
+#EXTINF:0.8,
+https://vod.streaming.a2d.tv/ys/8/5/2/0/94985/u-6600-a-128-1-5.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/0/4/0/6/95865/u-6600-a-128-1-i.mp4"
+#EXTINF:3,
+https://vod.streaming.a2d.tv/ys/0/4/0/6/95865/u-6600-a-128-1-0.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/8/3/3/3/75885/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/3/3/3/75885/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/3/3/3/75885/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/3/3/3/75885/u-6600-a-128-1-2.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/3/3/3/75885/u-6600-a-128-1-3.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/3/3/3/75885/u-6600-a-128-1-4.mp4
+#EXTINF:0.8,
+https://vod.streaming.a2d.tv/ys/8/3/3/3/75885/u-6600-a-128-1-5.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/1/4/0/1/88485/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/4/0/1/88485/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/4/0/1/88485/u-6600-a-128-1-1.mp4
+#EXTINF:1.32,
+https://vod.streaming.a2d.tv/ys/1/4/0/1/88485/u-6600-a-128-1-2.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000.m4s"
+#EXTINF:3.861,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-160.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-161.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-162.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-163.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-164.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-165.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-166.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-167.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-168.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-169.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-170.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-171.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-172.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-173.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-174.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-175.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-176.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-177.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-178.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-179.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-180.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-181.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-182.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-183.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-184.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-185.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-186.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-187.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-188.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-189.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-190.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-191.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-192.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-193.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-194.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-195.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-196.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-197.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-198.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-199.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-200.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-201.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-202.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-203.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-204.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-205.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-206.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-207.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-208.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-209.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-210.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-211.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-212.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-213.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-214.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-215.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-216.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-217.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-218.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-219.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-220.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-221.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-222.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-223.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-224.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-225.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-226.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-227.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-228.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-229.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-230.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-231.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-232.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-233.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-234.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-235.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-236.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-237.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-238.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-239.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-240.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-241.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-242.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-243.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-244.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-245.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-246.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-247.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-248.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-249.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-250.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-251.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-252.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-253.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-254.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-255.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-256.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-257.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-258.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-259.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-260.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-261.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-262.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-263.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-264.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-265.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-266.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-267.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-268.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-269.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-270.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-271.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-272.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-273.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-274.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-275.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-276.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-277.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-278.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-279.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-280.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-281.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-282.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-283.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-284.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-285.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-286.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-287.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-288.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-289.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-290.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-291.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-292.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-293.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-294.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-295.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-296.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-297.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-298.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-299.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-300.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-301.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-302.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-303.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-304.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-305.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-306.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-307.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-308.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-309.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-310.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-311.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-312.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-313.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-314.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-315.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-316.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-317.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-318.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-319.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-320.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-321.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-322.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-323.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-324.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-325.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-326.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-327.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-328.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-329.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-330.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-331.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-332.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-333.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-334.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-335.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-336.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-337.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-338.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-339.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-340.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-341.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-342.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-343.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-344.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-345.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-346.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-347.m4s
+#EXTINF:0.96,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-348.m4s
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/8/4/0/6/95865/u-6600-a-128-1-i.mp4"
+#EXTINF:3,
+https://vod.streaming.a2d.tv/ys/8/4/0/6/95865/u-6600-a-128-1-0.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/7/3/2/6/50485/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/7/3/2/6/50485/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/7/3/2/6/50485/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/7/3/2/6/50485/u-6600-a-128-1-2.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/7/3/2/6/50485/u-6600-a-128-1-3.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/7/3/2/6/50485/u-6600-a-128-1-4.mp4
+#EXTINF:0.8,
+https://vod.streaming.a2d.tv/ys/7/3/2/6/50485/u-6600-a-128-1-5.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/4/5/9/3/11985/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/4/5/9/3/11985/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/4/5/9/3/11985/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/4/5/9/3/11985/u-6600-a-128-1-2.mp4
+#EXTINF:3.48,
+https://vod.streaming.a2d.tv/ys/4/5/9/3/11985/u-6600-a-128-1-3.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/3/7/4/7/79585/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/3/7/4/7/79585/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/3/7/4/7/79585/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/3/7/4/7/79585/u-6600-a-128-1-2.mp4
+#EXTINF:3.48,
+https://vod.streaming.a2d.tv/ys/3/7/4/7/79585/u-6600-a-128-1-3.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/4/6/4/8/07685/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/4/6/4/8/07685/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/4/6/4/8/07685/u-6600-a-128-1-1.mp4
+#EXTINF:2.32,
+https://vod.streaming.a2d.tv/ys/4/6/4/8/07685/u-6600-a-128-1-2.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/8/2/3/0/82385/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/2/3/0/82385/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/2/3/0/82385/u-6600-a-128-1-1.mp4
+#EXTINF:2.32,
+https://vod.streaming.a2d.tv/ys/8/2/3/0/82385/u-6600-a-128-1-2.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/6/6/6/8/40485/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/6/6/6/8/40485/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/6/6/6/8/40485/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/6/6/6/8/40485/u-6600-a-128-1-2.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/6/6/6/8/40485/u-6600-a-128-1-3.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/6/6/6/8/40485/u-6600-a-128-1-4.mp4
+#EXTINF:0.8,
+https://vod.streaming.a2d.tv/ys/6/6/6/8/40485/u-6600-a-128-1-5.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/8/9/1/4/11985/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/9/1/4/11985/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/9/1/4/11985/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/8/9/1/4/11985/u-6600-a-128-1-2.mp4
+#EXTINF:3.48,
+https://vod.streaming.a2d.tv/ys/8/9/1/4/11985/u-6600-a-128-1-3.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/3/8/0/6/95865/u-6600-a-128-1-i.mp4"
+#EXTINF:3,
+https://vod.streaming.a2d.tv/ys/3/8/0/6/95865/u-6600-a-128-1-0.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/1/0/8/4/91885/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/0/8/4/91885/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/0/8/4/91885/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/0/8/4/91885/u-6600-a-128-1-2.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/0/8/4/91885/u-6600-a-128-1-3.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/0/8/4/91885/u-6600-a-128-1-4.mp4
+#EXTINF:0.8,
+https://vod.streaming.a2d.tv/ys/1/0/8/4/91885/u-6600-a-128-1-5.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/9/4/0/1/88485/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/9/4/0/1/88485/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/9/4/0/1/88485/u-6600-a-128-1-1.mp4
+#EXTINF:1.32,
+https://vod.streaming.a2d.tv/ys/9/4/0/1/88485/u-6600-a-128-1-2.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000.m4s"
+#EXTINF:2.88,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-349.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-350.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-351.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-352.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-353.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-354.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-355.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-356.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-357.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-358.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-359.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-360.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-361.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-362.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-363.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-364.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-365.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-366.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-367.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-368.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-369.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-370.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-371.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-372.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-373.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-374.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-375.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-376.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-377.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-378.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-379.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-380.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-381.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-382.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-383.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-384.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-385.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-386.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-387.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-388.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-389.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-390.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-391.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-392.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-393.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-394.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-395.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-396.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-397.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-398.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-399.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-400.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-401.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-402.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-403.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-404.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-405.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-406.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-407.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-408.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-409.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-410.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-411.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-412.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-413.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-414.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-415.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-416.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-417.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-418.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-419.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-420.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-421.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-422.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-423.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-424.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-425.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-426.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-427.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-428.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-429.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-430.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-431.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-432.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-433.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-434.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-435.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-436.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-437.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-438.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-439.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-440.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-441.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-442.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-443.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-444.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-445.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-446.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-447.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-448.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-449.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-450.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-451.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-452.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-453.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-454.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-455.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-456.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-457.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-458.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-459.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-460.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-461.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-462.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-463.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-464.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-465.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-466.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-467.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-468.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-469.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-470.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-471.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-472.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-473.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-474.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-475.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-476.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-477.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-478.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-479.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-480.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-481.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-482.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-483.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-484.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-485.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-486.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-487.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-488.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-489.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-490.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-491.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-492.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-493.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-494.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-495.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-496.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-497.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-498.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-499.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-500.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-501.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-502.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-503.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-504.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-505.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-506.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-507.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-508.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-509.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-510.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-511.m4s
+#EXTINF:0.896,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-512.m4s
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/3/7/9/3/04085/u-6600-a-128-1-i.mp4"
+#EXTINF:3,
+https://vod.streaming.a2d.tv/ys/3/7/9/3/04085/u-6600-a-128-1-0.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/3/0/8/7/07685/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/3/0/8/7/07685/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/3/0/8/7/07685/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/3/0/8/7/07685/u-6600-a-128-1-2.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/3/0/8/7/07685/u-6600-a-128-1-3.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/3/0/8/7/07685/u-6600-a-128-1-4.mp4
+#EXTINF:0.8,
+https://vod.streaming.a2d.tv/ys/3/0/8/7/07685/u-6600-a-128-1-5.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/1/9/1/8/07685/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/9/1/8/07685/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/9/1/8/07685/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/9/1/8/07685/u-6600-a-128-1-2.mp4
+#EXTINF:3.48,
+https://vod.streaming.a2d.tv/ys/1/9/1/8/07685/u-6600-a-128-1-3.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/7/7/9/3/04085/u-6600-a-128-1-i.mp4"
+#EXTINF:3,
+https://vod.streaming.a2d.tv/ys/7/7/9/3/04085/u-6600-a-128-1-0.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/1/5/9/4/23095/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/5/9/4/23095/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/5/9/4/23095/u-6600-a-128-1-1.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/5/9/4/23095/u-6600-a-128-1-2.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/5/9/4/23095/u-6600-a-128-1-3.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/5/9/4/23095/u-6600-a-128-1-4.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/5/9/4/23095/u-6600-a-128-1-5.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/1/5/9/4/23095/u-6600-a-128-1-6.mp4
+#EXTINF:3.12,
+https://vod.streaming.a2d.tv/ys/1/5/9/4/23095/u-6600-a-128-1-7.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/ys/5/4/0/1/88485/u-6600-a-128-1-i.mp4"
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/5/4/0/1/88485/u-6600-a-128-1-0.mp4
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/ys/5/4/0/1/88485/u-6600-a-128-1-1.mp4
+#EXTINF:1.32,
+https://vod.streaming.a2d.tv/ys/5/4/0/1/88485/u-6600-a-128-1-2.mp4
+#EXT-X-DISCONTINUITY
+#EXT-X-MAP:URI="https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000.m4s"
+#EXTINF:2.944,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-513.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-514.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-515.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-516.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-517.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-518.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-519.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-520.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-521.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-522.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-523.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-524.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-525.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-526.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-527.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-528.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-529.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-530.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-531.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-532.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-533.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-534.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-535.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-536.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-537.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-538.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-539.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-540.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-541.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-542.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-543.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-544.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-545.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-546.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-547.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-548.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-549.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-550.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-551.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-552.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-553.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-554.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-555.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-556.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-557.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-558.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-559.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-560.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-561.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-562.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-563.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-564.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-565.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-566.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-567.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-568.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-569.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-570.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-571.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-572.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-573.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-574.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-575.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-576.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-577.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-578.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-579.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-580.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-581.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-582.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-583.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-584.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-585.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-586.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-587.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-588.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-589.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-590.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-591.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-592.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-593.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-594.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-595.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-596.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-597.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-598.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-599.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-600.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-601.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-602.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-603.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-604.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-605.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-606.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-607.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-608.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-609.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-610.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-611.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-612.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-613.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-614.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-615.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-616.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-617.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-618.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-619.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-620.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-621.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-622.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-623.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-624.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-625.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-626.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-627.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-628.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-629.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-630.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-631.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-632.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-633.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-634.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-635.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-636.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-637.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-638.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-639.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-640.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-641.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-642.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-643.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-644.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-645.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-646.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-647.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-648.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-649.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-650.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-651.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-652.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-653.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-654.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-655.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-656.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-657.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-658.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-659.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-660.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-661.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-662.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-663.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-664.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-665.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-666.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-667.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-668.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-669.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-670.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-671.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-672.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-673.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-674.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-675.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-676.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-677.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-678.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-679.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-680.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-681.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-682.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-683.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-684.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-685.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-686.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-687.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-688.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-689.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-690.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-691.m4s
+#EXTINF:3.84,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-692.m4s
+#EXTINF:3.499,
+https://vod.streaming.a2d.tv/3e542405-583b-4edc-93ab-eca86427d148/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209.ism/hls/ab92a690-62de-11ed-aa51-c96fb4f9434f_20337209-audio=128000-693.m4s
+#EXT-X-ENDLIST
diff --git a/testvectors/hls_subs3/index.m3u8 b/testvectors/hls_subs3/index.m3u8
new file mode 100644
index 0000000..b69ff80
--- /dev/null
+++ b/testvectors/hls_subs3/index.m3u8
@@ -0,0 +1,7 @@
+#EXTM3U
+#EXT-X-VERSION:6
+
+#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",FORCED=NO,AUTOSELECT=YES,URI="subs/sub.m3u8",LANGUAGE="en"
+
+#EXT-X-STREAM-INF:BANDWIDTH=3370400,RESOLUTION=1280x720,CODECS="avc1.64001f,mp4a.40.2",SUBTITLES="subs"
+stream_0/index.m3u8
diff --git a/testvectors/hls_subs3/stream_0/index.m3u8 b/testvectors/hls_subs3/stream_0/index.m3u8
new file mode 100644
index 0000000..383ed54
--- /dev/null
+++ b/testvectors/hls_subs3/stream_0/index.m3u8
@@ -0,0 +1,23 @@
+#EXTM3U
+#EXT-X-VERSION:6
+#EXT-X-TARGETDURATION:4
+#EXT-X-MEDIA-SEQUENCE:0
+#EXT-X-PLAYLIST-TYPE:VOD
+#EXT-X-INDEPENDENT-SEGMENTS
+#EXTINF:4.000000,
+seg-00.ts
+#EXTINF:4.000000,
+seg-01.ts
+#EXTINF:4.000000,
+seg-02.ts
+#EXTINF:4.000000,
+seg-03.ts
+#EXTINF:4.000000,
+seg-04.ts
+#EXTINF:4.000000,
+seg-05.ts
+#EXTINF:4.000000,
+seg-06.ts
+#EXTINF:2.000000,
+seg-07.ts
+#EXT-X-ENDLIST
diff --git a/testvectors/hls_subs3/subs/sub.m3u8 b/testvectors/hls_subs3/subs/sub.m3u8
new file mode 100644
index 0000000..b626fa2
--- /dev/null
+++ b/testvectors/hls_subs3/subs/sub.m3u8
@@ -0,0 +1,14 @@
+#EXTM3U
+#EXT-X-VERSION:3
+#EXT-X-TARGETDURATION:6
+#EXT-X-MEDIA-SEQUENCE:0
+#EXTINF:6.0,
+1.webvtt
+#EXTINF:6.0,
+2.webvtt
+#EXTINF:6.0,
+3.webvtt
+#EXTINF:6.0,
+4.webvtt
+#EXTINF:6.0,
+5.webvtt
\ No newline at end of file
diff --git a/testvectors/hls_subs4/index.m3u8 b/testvectors/hls_subs4/index.m3u8
new file mode 100644
index 0000000..a539ec3
--- /dev/null
+++ b/testvectors/hls_subs4/index.m3u8
@@ -0,0 +1,8 @@
+#EXTM3U
+#EXT-X-VERSION:6
+
+#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="French",FORCED=NO,AUTOSELECT=YES,URI="subs/sub.m3u8",LANGUAGE="fr"
+#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Chinese",FORCED=NO,AUTOSELECT=YES,URI="subs/sub.m3u8",LANGUAGE="zh"
+
+#EXT-X-STREAM-INF:BANDWIDTH=3370400,RESOLUTION=1280x720,CODECS="avc1.64001f,mp4a.40.2",SUBTITLES="subs"
+stream_0/index.m3u8
diff --git a/testvectors/hls_subs4/stream_0/index.m3u8 b/testvectors/hls_subs4/stream_0/index.m3u8
new file mode 100644
index 0000000..383ed54
--- /dev/null
+++ b/testvectors/hls_subs4/stream_0/index.m3u8
@@ -0,0 +1,23 @@
+#EXTM3U
+#EXT-X-VERSION:6
+#EXT-X-TARGETDURATION:4
+#EXT-X-MEDIA-SEQUENCE:0
+#EXT-X-PLAYLIST-TYPE:VOD
+#EXT-X-INDEPENDENT-SEGMENTS
+#EXTINF:4.000000,
+seg-00.ts
+#EXTINF:4.000000,
+seg-01.ts
+#EXTINF:4.000000,
+seg-02.ts
+#EXTINF:4.000000,
+seg-03.ts
+#EXTINF:4.000000,
+seg-04.ts
+#EXTINF:4.000000,
+seg-05.ts
+#EXTINF:4.000000,
+seg-06.ts
+#EXTINF:2.000000,
+seg-07.ts
+#EXT-X-ENDLIST
diff --git a/testvectors/hls_subs4/subs/sub.m3u8 b/testvectors/hls_subs4/subs/sub.m3u8
new file mode 100644
index 0000000..a2e1886
--- /dev/null
+++ b/testvectors/hls_subs4/subs/sub.m3u8
@@ -0,0 +1,20 @@
+#EXTM3U
+#EXT-X-VERSION:3
+#EXT-X-TARGETDURATION:6
+#EXT-X-MEDIA-SEQUENCE:0
+#EXTINF:4.0,
+0.webvtt
+#EXTINF:4.0,
+1.webvtt
+#EXTINF:4.0,
+2.webvtt
+#EXTINF:4.0,
+3.webvtt
+#EXTINF:4.0,
+4.webvtt
+#EXTINF:4.0,
+5.webvtt
+#EXTINF:4.0,
+6.webvtt
+#EXTINF:2.0,
+7.webvtt
\ No newline at end of file
diff --git a/testvectors/hls_subs_no_subs/b160000-english.m3u8 b/testvectors/hls_subs_no_subs/b160000-english.m3u8
new file mode 100644
index 0000000..dc8b77c
--- /dev/null
+++ b/testvectors/hls_subs_no_subs/b160000-english.m3u8
@@ -0,0 +1,224 @@
+#EXTM3U
+#EXT-X-VERSION:3
+#EXT-X-TARGETDURATION:6
+#EXT-X-MEDIA-SEQUENCE:0
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_0.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_1.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_2.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_3.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_4.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_5.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_6.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_7.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_8.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_9.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_10.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_11.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_12.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_13.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_14.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_15.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_16.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_17.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_18.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_19.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_20.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_21.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_22.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_23.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_24.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_25.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_26.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_27.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_28.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_29.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_30.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_31.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_32.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_33.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_34.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_35.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_36.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_37.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_38.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_39.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_40.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_41.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_42.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_43.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_44.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_45.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_46.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_47.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_48.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_49.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_50.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_51.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_52.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_53.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_54.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_55.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_56.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_57.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_58.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_59.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_60.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_61.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_62.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_63.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_64.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_65.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_66.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_67.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_68.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_69.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_70.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_71.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_72.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_73.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_74.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_75.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_76.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_77.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_78.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_79.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_80.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_81.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_82.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_83.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_84.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_85.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_86.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_87.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_88.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_89.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_90.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_91.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_92.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_93.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_94.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_95.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_96.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_97.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_98.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_99.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_100.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_101.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_102.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_103.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_104.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_105.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_106.aac
+#EXTINF:6.0,
+media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_107.aac
+# #EXTINF:5.827,
+# media_w1204859437_b160000_ao_slen_t64RW5nbGlzaA==_108.aac
+#EXT-X-ENDLIST
+
diff --git a/testvectors/hls_subs_no_subs/b2962000-video.m3u8 b/testvectors/hls_subs_no_subs/b2962000-video.m3u8
new file mode 100644
index 0000000..e434601
--- /dev/null
+++ b/testvectors/hls_subs_no_subs/b2962000-video.m3u8
@@ -0,0 +1,223 @@
+#EXTM3U
+#EXT-X-VERSION:3
+#EXT-X-TARGETDURATION:6
+#EXT-X-MEDIA-SEQUENCE:0
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_0.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_1.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_2.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_3.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_4.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_5.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_6.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_7.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_8.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_9.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_10.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_11.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_12.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_13.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_14.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_15.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_16.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_17.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_18.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_19.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_20.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_21.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_22.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_23.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_24.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_25.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_26.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_27.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_28.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_29.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_30.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_31.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_32.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_33.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_34.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_35.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_36.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_37.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_38.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_39.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_40.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_41.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_42.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_43.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_44.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_45.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_46.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_47.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_48.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_49.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_50.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_51.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_52.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_53.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_54.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_55.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_56.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_57.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_58.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_59.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_60.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_61.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_62.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_63.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_64.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_65.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_66.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_67.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_68.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_69.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_70.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_71.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_72.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_73.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_74.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_75.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_76.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_77.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_78.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_79.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_80.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_81.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_82.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_83.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_84.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_85.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_86.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_87.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_88.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_89.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_90.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_91.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_92.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_93.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_94.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_95.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_96.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_97.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_98.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_99.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_100.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_101.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_102.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_103.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_104.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_105.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_106.ts
+#EXTINF:6.0,
+media_w1204859437_b2962000_vo_slen_t64TWFpbg==_107.ts
+# #EXTINF:5.75,
+# media_w1204859437_b2962000_vo_slen_t64TWFpbg==_108.ts
+#EXT-X-ENDLIST
\ No newline at end of file
diff --git a/testvectors/hls_subs_no_subs/master.m3u8 b/testvectors/hls_subs_no_subs/master.m3u8
new file mode 100644
index 0000000..76f6648
--- /dev/null
+++ b/testvectors/hls_subs_no_subs/master.m3u8
@@ -0,0 +1,5 @@
+#EXTM3U
+#EXT-X-VERSION:3
+#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",LANGUAGE="en",NAME="Commentary (eng)",DEFAULT=NO,AUTOSELECT=NO,URI="b160000-english.m3u8"
+#EXT-X-STREAM-INF:BANDWIDTH=2962000,NAME="Main",CODECS="avc1.66.30",RESOLUTION=1280x720,AUDIO="aac"
+media/b2962000-video.m3u8
diff --git a/testvectors/hls_widevine/index.m3u8 b/testvectors/hls_widevine/index.m3u8
index 1c7eb8d..2868783 100644
--- a/testvectors/hls_widevine/index.m3u8
+++ b/testvectors/hls_widevine/index.m3u8
@@ -3,18 +3,13 @@
#EXT-X-MEDIA:TYPE=AUDIO,URI="playlist_a-eng-0384k-aac-6c.mp4.m3u8",GROUP-ID="default-audio-group",LANGUAGE="en",NAME="stream_6",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="6"
-#EXT-X-MEDIA:TYPE=SUBTITLES,URI="playlist_s-en.webvtt.m3u8",GROUP-ID="default-text-group",LANGUAGE="en",NAME="stream_0",DEFAULT=YES,AUTOSELECT=YES
-#EXT-X-MEDIA:TYPE=SUBTITLES,URI="playlist_s-el.webvtt.m3u8",GROUP-ID="default-text-group",LANGUAGE="el",NAME="stream_1",AUTOSELECT=YES
-#EXT-X-MEDIA:TYPE=SUBTITLES,URI="playlist_s-fr.webvtt.m3u8",GROUP-ID="default-text-group",LANGUAGE="fr",NAME="stream_2",AUTOSELECT=YES
-#EXT-X-MEDIA:TYPE=SUBTITLES,URI="playlist_s-pt-BR.webvtt.m3u8",GROUP-ID="default-text-group",LANGUAGE="pt-BR",NAME="stream_3",AUTOSELECT=YES
-
-#EXT-X-STREAM-INF:BANDWIDTH=831086,AVERAGE-BANDWIDTH=487727,CODECS="avc1.42c01e,mp4a.40.2",RESOLUTION=192x144,AUDIO="default-audio-group",SUBTITLES="default-text-group"
+#EXT-X-STREAM-INF:BANDWIDTH=831086,AVERAGE-BANDWIDTH=487727,CODECS="avc1.42c01e,mp4a.40.2",RESOLUTION=192x144,AUDIO="default-audio-group"
playlist_v-0144p-0100k-libx264.mp4.m3u8
-#EXT-X-STREAM-INF:BANDWIDTH=8065760,AVERAGE-BANDWIDTH=1830288,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=768x576,AUDIO="default-audio-group",SUBTITLES="default-text-group"
+#EXT-X-STREAM-INF:BANDWIDTH=8065760,AVERAGE-BANDWIDTH=1830288,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=768x576,AUDIO="default-audio-group"
playlist_v-0576p-1400k-libx264.mp4.m3u8
-#EXT-X-STREAM-INF:BANDWIDTH=6099164,AVERAGE-BANDWIDTH=1416550,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=640x480,AUDIO="default-audio-group",SUBTITLES="default-text-group"
+#EXT-X-STREAM-INF:BANDWIDTH=6099164,AVERAGE-BANDWIDTH=1416550,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=640x480,AUDIO="default-audio-group"
playlist_v-0480p-1000k-libx264.mp4.m3u8
-#EXT-X-STREAM-INF:BANDWIDTH=2193558,AVERAGE-BANDWIDTH=789576,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=320x240,AUDIO="default-audio-group",SUBTITLES="default-text-group"
+#EXT-X-STREAM-INF:BANDWIDTH=2193558,AVERAGE-BANDWIDTH=789576,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=320x240,AUDIO="default-audio-group"
playlist_v-0240p-0400k-libx264.mp4.m3u8
-#EXT-X-STREAM-INF:BANDWIDTH=4008262,AVERAGE-BANDWIDTH=1152321,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=480x360,AUDIO="default-audio-group",SUBTITLES="default-text-group"
+#EXT-X-STREAM-INF:BANDWIDTH=4008262,AVERAGE-BANDWIDTH=1152321,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=480x360,AUDIO="default-audio-group"
playlist_v-0360p-0750k-libx264.mp4.m3u8