// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/exceptions/InvalidTagParameters.java
// public class InvalidTagParameters extends Exception {
//     public InvalidTagParameters() {
//         super();
//     }
// 
//     public InvalidTagParameters(String message) {
//         super(message);
//     }
// 
//     public static InvalidTagParameters required(String parameter) {
//         return new InvalidTagParameters("Required "+parameter+" parameter is missing");
//     }
// }
// 
// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/tags/Tag.java
// public interface Tag {
//     public String getName();
//     public TagType getType();
//     public int minVersion();
//     public boolean isOneTime();
//     public boolean shouldBeFollowedByURI();
//     public boolean shouldBeUnique();
// }
// 
// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/tags/TagType.java
// public enum TagType {
//     PLAYLIST,
//     MASTER_PLAYLIST,
//     MEDIA_PLAYLIST;
// }


import org.fbk.cit.hlt.parsers.hls.exceptions.InvalidTagParameters;
import org.fbk.cit.hlt.parsers.hls.tags.HLSTag;
import org.fbk.cit.hlt.parsers.hls.tags.Tag;
import org.fbk.cit.hlt.parsers.hls.tags.TagType;
        version = Integer.valueOf(properties);
    }
    
    @Override
    public String getName() {
        return "EXT-X-VERSION";
    }

    @Override
    public TagType getType() {
        return TagType.PLAYLIST;
    }

    @Override
    public int minVersion() {
        return 0;
    }

    @Override
    public boolean isOneTime() {
        return false;
    }

    @Override
    public boolean shouldBeFollowedByURI() {
        return false;
    }

    @Override
    public boolean shouldBeUnique() {
// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/exceptions/InvalidTagParameters.java
// public class InvalidTagParameters extends Exception {
//     public InvalidTagParameters() {
//         super();
//     }
// 
//     public InvalidTagParameters(String message) {
//         super(message);
//     }
// 
//     public static InvalidTagParameters required(String parameter) {
//         return new InvalidTagParameters("Required "+parameter+" parameter is missing");
//     }
// }
// 
// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/tags/Tag.java
// public interface Tag {
//     public String getName();
//     public TagType getType();
//     public int minVersion();
//     public boolean isOneTime();
//     public boolean shouldBeFollowedByURI();
//     public boolean shouldBeUnique();
// }
// 
// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/tags/TagType.java
// public enum TagType {
//     PLAYLIST,
//     MASTER_PLAYLIST,
//     MEDIA_PLAYLIST;
// }


// Path: src/main/java/org/fbk/cit/hlt/parsers/hls/tags/general/VersionTag.java
import org.fbk.cit.hlt.parsers.hls.exceptions.InvalidTagParameters;
import org.fbk.cit.hlt.parsers.hls.tags.HLSTag;
import org.fbk.cit.hlt.parsers.hls.tags.Tag;
import org.fbk.cit.hlt.parsers.hls.tags.TagType;

        version = Integer.valueOf(properties);
    }
    
    @Override
    public String getName() {
        return "EXT-X-VERSION";
    }

    @Override
    public TagType getType() {
        return TagType.PLAYLIST;
    }

    @Override
    public int minVersion() {
        return 0;
    }

    @Override
    public boolean isOneTime() {
        return false;
    }

    @Override
    public boolean shouldBeFollowedByURI() {
        return false;
    }

    @Override
    public boolean shouldBeUnique() {
        return true;