{
  "status": "success",
  "data": {
    "hosts": {
      "1fichier": {
        "name": "1fichier",
        "type": "premium",
        "domains": [
          "1fichier.com",
          "megadl.fr",
          "alterupload.com",
          "cjoint.net",
          "desfichiers.com",
          "dfichiers.com",
          "mesfichiers.org",
          "piecejointe.net",
          "pjointe.com",
          "tenvoi.com",
          "dl4free.com"
        ],
        "regexps": [
          "((1fichier\\.com|megadl\\.fr|alterupload\\.com|cjoint\\.net|desfichiers\\.com|dfichiers\\.com|mesfichiers\\.org|piecejointe\\.net|pjointe\\.com|tenvoi\\.com|dl4free\\.com)/\\?[a-zA-Z0-9]{5,30}(&pw=[^&]+)?)"
        ],
        "regexp": "((1fichier\\.com|megadl\\.fr|alterupload\\.com|cjoint\\.net|desfichiers\\.com|dfichiers\\.com|mesfichiers\\.org|piecejointe\\.net|pjointe\\.com|tenvoi\\.com|dl4free\\.com)/\\?[a-zA-Z0-9]{5,30}(&pw=[^&]+)?)",
        "status": true
      },
      "rapidgator": {
        "name": "rapidgator",
        "type": "premium",
        "domains": [
          "rapidgator.net",
          "rg.to",
          "rapidgator.asia"
        ],
        "regexps": [
          "(rapidgator\\.net|rg\\.to|rapidgator\\.asia)/file/([0-9a-zA-Z]{32})",
          "(rapidgator\\.net/file/[0-9]{7,8})"
        ],
        "regexp": "((rapidgator\\.net|rg\\.to|rapidgator\\.asia)/file/([0-9a-zA-Z]{32}))|((rapidgator\\.net/file/[0-9]{7,8}))",
        "status": true
      },
      "turbobit": {
        "name": "turbobit",
        "type": "premium",
        "domains": [
          "turbobit.net",
          "wayupload.com",
          "turbobit.cloud",
          "htfl.net",
          "turbobit.cc",
          "tourbobit.net",
          "torbobit.net",
          "turbo.to",
          "turb.cc",
          "turb.pw",
          "hitf.cc",
          "hitf.to",
          "turbobif.com",
          "turbobif.cc",
          "turbobif.net",
          "trbbt.net",
          "trbt.cc"
        ],
        "regexps": [
          "turbobit5?a?\\.(net|cc|com)/([a-z0-9]{12})",
          "turbobif\\.(net|cc|com)/([a-z0-9]{12})",
          "turb[o]?\\.(to|cc|pw)\\/([a-z0-9]{12})",
          "turbobit\\.(net|cc)/download/free/([a-z0-9]{12})",
          "(trbbt|tourbobit|torbobit|tbit|turbobita|trbt)\\.(net|cc|com|to)/([a-z0-9]{12})",
          "(turbobit\\.cloud/turbo/[a-z0-9]+)",
          "(wayupload\\.com/[a-z0-9]{12}\\.html)"
        ],
        "regexp": "(turbobit5?a?\\.(net|cc|com)/([a-z0-9]{12}))|(turbobif\\.(net|cc|com)/([a-z0-9]{12}))|(turb[o]?\\.(to|cc|pw)\\/([a-z0-9]{12}))|(turbobit\\.(net|cc)/download/free/([a-z0-9]{12}))|((trbbt|tourbobit|torbobit|tbit|turbobita|trbt)\\.(net|cc|com|to)/([a-z0-9]{12}))|((turbobit\\.cloud/turbo/[a-z0-9]+))|((wayupload\\.com/[a-z0-9]{12}\\.html))",
        "status": true
      },
      "hitfile": {
        "name": "hitfile",
        "type": "premium",
        "domains": [
          "hitfile.net",
          "hitfile.com",
          "hitf.to",
          "hitf.cc",
          "htfl.net",
          "htfl.to",
          "htfl.cc"
        ],
        "regexps": [
          "hitf\\.(to|cc)/([a-z0-9A-Z]{4,9})",
          "htfl\\.(net|to|cc)/([a-z0-9A-Z]{4,9})",
          "hitfile\\.(net)/download/free/([a-z0-9A-Z]{4,9})",
          "(hitfile\\.net/[a-z0-9A-Z]{4,9})"
        ],
        "regexp": "(hitf\\.(to|cc)/([a-z0-9A-Z]{4,9}))|(htfl\\.(net|to|cc)/([a-z0-9A-Z]{4,9}))|(hitfile\\.(net)/download/free/([a-z0-9A-Z]{4,9}))|((hitfile\\.net/[a-z0-9A-Z]{4,9}))",
        "status": false
      },
      "mega": {
        "name": "mega",
        "type": "premium",
        "domains": [
          "mega.co.nz",
          "mega.nz"
        ],
        "regexps": [
          "mega\\.nz/(\\?fbclid=[^\\#]+)?\\#N(![a-zA-Z0-9-_/+=]+![a-zA-Z0-9-_/+=%]+)\\#\\#\\#n=([a-zA-Z0-9-_/+=]+)",
          "(mega\\.co\\.nz/(\\?fbclid=[^\\#]+)?\\#![a-zA-Z0-9-_/+=]+![a-zA-Z0-9-_/+~=%]+(![a-zA-Z0-9-_/+~=%]+)?)",
          "mega\\.nz/(\\?fbclid=[^\\#]+)?(\\#![a-zA-Z0-9-_/+=]+![a-zA-Z0-9-_/+~=%]+(![a-zA-Z0-9-_/+~=%]+)?)",
          "mega\\.nz/file/([a-zA-Z0-9-_/+=]+)\\#([a-zA-Z0-9-_/+~=%]+(![a-zA-Z0-9-_/+~=%]+)?)",
          "(mega\\.nz/folder/([a-zA-Z0-9-_/+=]+)\\#([a-zA-Z0-9-_/+~=%]+/file/([a-zA-Z0-9-_/+~=%]+)))"
        ],
        "regexp": "(mega\\.nz/(\\?fbclid=[^\\#]+)?\\#N(![a-zA-Z0-9-_/+=]+![a-zA-Z0-9-_/+=%]+)\\#\\#\\#n=([a-zA-Z0-9-_/+=]+))|((mega\\.co\\.nz/(\\?fbclid=[^\\#]+)?\\#![a-zA-Z0-9-_/+=]+![a-zA-Z0-9-_/+~=%]+(![a-zA-Z0-9-_/+~=%]+)?))|(mega\\.nz/(\\?fbclid=[^\\#]+)?(\\#![a-zA-Z0-9-_/+=]+![a-zA-Z0-9-_/+~=%]+(![a-zA-Z0-9-_/+~=%]+)?))|(mega\\.nz/file/([a-zA-Z0-9-_/+=]+)\\#([a-zA-Z0-9-_/+~=%]+(![a-zA-Z0-9-_/+~=%]+)?))|((mega\\.nz/folder/([a-zA-Z0-9-_/+=]+)\\#([a-zA-Z0-9-_/+~=%]+/file/([a-zA-Z0-9-_/+~=%]+))))",
        "status": true
      },
      "4shared": {
        "name": "4shared",
        "type": "premium",
        "domains": [
          "4shared.com",
          "4s.io"
        ],
        "regexps": [
          "(4shared\\.com/file/[0-9a-zA-Z\\-_]{8,})",
          "(4shared\\.com/[a-z3]{2,10}/[0-9a-zA-Z\\-_]{8,})",
          "(4s\\.io/[a-z3]{2,10}/[0-9a-zA-Z\\-_]{8,})"
        ],
        "regexp": "((4shared\\.com/file/[0-9a-zA-Z\\-_]{8,}))|((4shared\\.com/[a-z3]{2,10}/[0-9a-zA-Z\\-_]{8,}))|((4s\\.io/[a-z3]{2,10}/[0-9a-zA-Z\\-_]{8,}))",
        "status": true
      },
      "9xupload": {
        "name": "9xupload",
        "type": "premium",
        "domains": [
          "9xupload.asia",
          "9xupload.info"
        ],
        "regexps": [
          "(9xupload\\.asia/[0-9a-zA-Z]{12})",
          "9xupload\\.info/([0-9a-zA-Z]{12})"
        ],
        "regexp": "((9xupload\\.asia/[0-9a-zA-Z]{12}))|(9xupload\\.info/([0-9a-zA-Z]{12}))"
      },
      "alfafile": {
        "name": "alfafile",
        "type": "premium",
        "domains": [
          "alfafile.net"
        ],
        "regexps": [
          "(alfafile\\.net/file/[a-zA-Z0-9]{3,6})"
        ],
        "regexp": "(alfafile\\.net/file/[a-zA-Z0-9]{3,6})",
        "status": false
      },
      "alldebrid": {
        "name": "alldebrid",
        "type": "premium",
        "domains": [
          "alldebrid.com"
        ],
        "display": "hidden",
        "regexps": [
          "alldebrid\\.com/f/([a-zA-Z0-9\\_\\-]+)"
        ],
        "regexp": [
          "alldebrid\\.com/f/([a-zA-Z0-9\\_\\-]+)"
        ]
      },
      "clicknupload": {
        "name": "clicknupload",
        "type": "premium",
        "domains": [
          "clicknupload.click",
          "clickndownload.cc",
          "clickndownload.click",
          "clickndownload.link",
          "clickndownload.name",
          "clickndownload.org",
          "clickndownload.space",
          "clickndownload.xyz",
          "clicknupload.cc",
          "clicknupload.club",
          "clicknupload.co",
          "clicknupload.download",
          "clicknupload.link",
          "clicknupload.name",
          "clicknupload.one",
          "clicknupload.online",
          "clicknupload.org",
          "clicknupload.red",
          "clicknupload.site",
          "clicknupload.space",
          "clicknupload.to",
          "clicknupload.vip",
          "clicknupload.xyz"
        ],
        "regexps": [
          "clicknupload\\.(link|org|red|co|cc|vip|to|club|click|xyz|online|download|site|space|one|name)/([a-zA-Z0-9]+)",
          "clickndownload\\.(org|space|link|click|link|xyz|name|cc)/([a-zA-Z0-9]+)"
        ],
        "regexp": "(clicknupload\\.(link|org|red|co|cc|vip|to|club|click|xyz|online|download|site|space|one|name)/([a-zA-Z0-9]+))|(clickndownload\\.(org|space|link|click|link|xyz|name|cc)/([a-zA-Z0-9]+))"
      },
      "clipwatching": {
        "name": "clipwatching",
        "type": "premium",
        "domains": [
          "clipwatching.com",
          "highstream.tv"
        ],
        "regexps": [
          "((clipwatching\\.com|highstream\\.tv)/(embed\\-)?([a-z0-9]{12}))"
        ],
        "regexp": "((clipwatching\\.com|highstream\\.tv)/(embed\\-)?([a-z0-9]{12}))"
      },
      "dailyuploads": {
        "name": "dailyuploads",
        "type": "free",
        "domains": [
          "dailyuploads.net"
        ],
        "regexps": [
          "(dailyuploads\\.net/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(dailyuploads\\.net/[0-9a-zA-Z]{12})"
      },
      "ddl": {
        "name": "ddl",
        "type": "premium",
        "domains": [
          "ddl.to",
          "ddownload.com"
        ],
        "regexps": [
          "(ddownload\\.com/[0-9a-zA-Z]{12})",
          "ddl\\.to/([0-9a-zA-Z]{12})"
        ],
        "regexp": "((ddownload\\.com/[0-9a-zA-Z]{12}))|(ddl\\.to/([0-9a-zA-Z]{12}))",
        "status": true
      },
      "dropapk": {
        "name": "dropapk",
        "type": "premium",
        "domains": [
          "dropapk.to",
          "drop.download"
        ],
        "regexps": [
          "dropapk\\.to/([0-9a-zA-Z]{9,12})",
          "(drop\\.download/[0-9a-zA-Z]{9,12})"
        ],
        "regexp": "(dropapk\\.to/([0-9a-zA-Z]{9,12}))|((drop\\.download/[0-9a-zA-Z]{9,12}))",
        "status": false,
        "hardRedirect": [
          "drop\\.download/([0-9a-zA-Z]{12})"
        ]
      },
      "dropgalaxy": {
        "name": "dropgalaxy",
        "type": "premium",
        "domains": [
          "dropgalaxy.in",
          "dgdrive.pro",
          "dgdrive.xyz",
          "dgdrive.site",
          "dgdrive.store",
          "dropgalaxy.com",
          "dropgalaxy.vip"
        ],
        "regexps": [
          "dgdrive\\.pro/([0-9a-zA-Z]{12})",
          "dgdrive\\.xyz/([0-9a-zA-Z]{12})",
          "dgdrive\\.site/([0-9a-zA-Z]{12})",
          "dgdrive\\.store/([0-9a-zA-Z]{12})",
          "dropgalaxy\\.(in|com|vip)(/drive)?/([0-9a-zA-Z]{12})"
        ],
        "regexp": "(dgdrive\\.pro/([0-9a-zA-Z]{12}))|(dgdrive\\.xyz/([0-9a-zA-Z]{12}))|(dgdrive\\.site/([0-9a-zA-Z]{12}))|(dgdrive\\.store/([0-9a-zA-Z]{12}))|(dropgalaxy\\.(in|com|vip)(/drive)?/([0-9a-zA-Z]{12}))",
        "status": false
      },
      "example": {
        "name": "example",
        "type": "premium",
        "domains": [
          "example.com",
          "example.net"
        ],
        "regexps": [
          "(example\\.com/[0-9a-zA-Z]{4,20})",
          "example\\.net/([0-9a-zA-Z]{4,20})"
        ],
        "regexp": "((example\\.com/[0-9a-zA-Z]{4,20}))|(example\\.net/([0-9a-zA-Z]{4,20}))"
      },
      "exload": {
        "name": "exload",
        "type": "free",
        "domains": [
          "exload.com",
          "mixdrop.to",
          "mixdrop.sx"
        ],
        "regexps": [
          "(ex\\-load\\.com/[0-9a-zA-Z]{12})",
          "ex-load\\.com/dl\\?op=[0-9a-zA-Z]+&id=([0-9a-zA-Z]{12})"
        ],
        "regexp": "((ex\\-load\\.com/[0-9a-zA-Z]{12}))|(ex-load\\.com/dl\\?op=[0-9a-zA-Z]+&id=([0-9a-zA-Z]{12}))"
      },
      "fastbit": {
        "name": "fastbit",
        "type": "premium",
        "domains": [
          "fastbit.cc"
        ],
        "regexps": [
          "(fastbit\\.cc/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(fastbit\\.cc/[0-9a-zA-Z]{12})",
        "status": true
      },
      "file-upload": {
        "name": "file-upload",
        "type": "premium",
        "domains": [
          "file-upload.com",
          "file-upload.org",
          "file-upload.in",
          "file-up.org"
        ],
        "regexps": [
          "(file-up\\.org|file-upload\\.com|file-upload\\.org|file-upload\\.in)/([0-9a-zA-Z]{12})"
        ],
        "regexp": "(file-up\\.org|file-upload\\.com|file-upload\\.org|file-upload\\.in)/([0-9a-zA-Z]{12})",
        "status": true
      },
      "fileal": {
        "name": "fileal",
        "type": "premium",
        "domains": [
          "file.al"
        ],
        "regexps": [
          "(file\\.al/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(file\\.al/[0-9a-zA-Z]{12})",
        "status": true
      },
      "filedot": {
        "name": "filedot",
        "type": "premium",
        "domains": [
          "filedot.to",
          "filedot.xyz",
          "filedot.top"
        ],
        "regexps": [
          "filedot\\.(xyz|to|top)/([0-9a-zA-Z]{12})"
        ],
        "regexp": "filedot\\.(xyz|to|top)/([0-9a-zA-Z]{12})",
        "status": true
      },
      "filefactory": {
        "name": "filefactory",
        "type": "premium",
        "domains": [
          "filefactory.com"
        ],
        "regexps": [
          "(filefactory\\.com/file/([0-9a-zA-Z]+))"
        ],
        "regexp": "(filefactory\\.com/file/([0-9a-zA-Z]+))",
        "status": false
      },
      "filerio": {
        "name": "filerio",
        "type": "free",
        "domains": [
          "filerio.in"
        ],
        "regexps": [
          "(filerio\\.in/[a-zA-Z0-9]{12})"
        ],
        "regexp": "(filerio\\.in/[a-zA-Z0-9]{12})"
      },
      "filespace": {
        "name": "filespace",
        "type": "premium",
        "domains": [
          "filespace.com"
        ],
        "regexps": [
          "filespace\\.com/fd/([a-zA-Z0-9]{12})",
          "(filespace\\.com/[a-zA-Z0-9]{12})"
        ],
        "regexp": "(filespace\\.com/fd/([a-zA-Z0-9]{12}))|((filespace\\.com/[a-zA-Z0-9]{12}))",
        "status": false
      },
      "filezip": {
        "name": "filezip",
        "type": "free",
        "domains": [
          "filezip.cc"
        ],
        "regexps": [
          "(filezip\\.cc/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(filezip\\.cc/[0-9a-zA-Z]{12})"
      },
      "gigapeta": {
        "name": "gigapeta",
        "type": "premium",
        "domains": [
          "gigapeta.com"
        ],
        "regexps": [
          "(gigapeta\\.com/dl/[0-9a-zA-Z]{13,15})"
        ],
        "regexp": "(gigapeta\\.com/dl/[0-9a-zA-Z]{13,15})",
        "status": true
      },
      "google": {
        "name": "google",
        "type": "premium",
        "domains": [
          "drive.google.com"
        ],
        "regexps": [
          "((drive|docs)\\.google\\.com/open\\?id=([0-9A-Za-z_-]+))",
          "(drive|docs)\\.google\\.com/file/d/([0-9A-Za-z_-]+)",
          "google\\.com/uc\\?id=([0-9A-Za-z_-]+)"
        ],
        "regexp": "(((drive|docs)\\.google\\.com/open\\?id=([0-9A-Za-z_-]+)))|((drive|docs)\\.google\\.com/file/d/([0-9A-Za-z_-]+))|(google\\.com/uc\\?id=([0-9A-Za-z_-]+))",
        "status": false
      },
      "hexupload": {
        "name": "hexupload",
        "type": "premium",
        "domains": [
          "hexupload.net",
          "hexload.com"
        ],
        "regexps": [
          "(hexupload\\.net|hexload\\.com)/([a-zA-Z0-9]{12})"
        ],
        "regexp": "(hexupload\\.net|hexload\\.com)/([a-zA-Z0-9]{12})",
        "status": false
      },
      "hot4share": {
        "name": "hot4share",
        "type": "free",
        "domains": [
          "hot4share.com"
        ],
        "regexps": [
          "(hot4share\\.com/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(hot4share\\.com/[0-9a-zA-Z]{12})"
      },
      "indishare": {
        "name": "indishare",
        "type": "free",
        "domains": [
          "indishare.me",
          "indishare.org",
          "indishare.info"
        ],
        "regexps": [
          "indishare\\.(me|org|info)/([0-9a-zA-Z]{12})"
        ],
        "regexp": "indishare\\.(me|org|info)/([0-9a-zA-Z]{12})",
        "status": false
      },
      "isra": {
        "name": "isra",
        "type": "premium",
        "domains": [
          "isra.cloud"
        ],
        "regexps": [
          "(isra\\.cloud/[0-9a-zA-Z]{12})",
          "isra\\.cloud/\\?op=report_file&id=([0-9a-zA-Z]{12})"
        ],
        "regexp": "((isra\\.cloud/[0-9a-zA-Z]{12}))|(isra\\.cloud/\\?op=report_file&id=([0-9a-zA-Z]{12}))",
        "status": true,
        "hardRedirect": [
          "isra\\.cloud/([0-9a-zA-Z]{12})"
        ]
      },
      "katfile": {
        "name": "katfile",
        "type": "premium",
        "domains": [
          "katfile.com",
          "katfile.cloud",
          "katfile.online"
        ],
        "regexps": [
          "katfile\\.(cloud|online)/([0-9a-zA-Z]{12})",
          "(katfile\\.com/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(katfile\\.(cloud|online)/([0-9a-zA-Z]{12}))|((katfile\\.com/[0-9a-zA-Z]{12}))",
        "status": true
      },
      "mediafire": {
        "name": "mediafire",
        "type": "premium",
        "domains": [
          "mediafire.com"
        ],
        "regexps": [
          "mediafire\\.com/(\\?|download/|file/|download\\.php\\?)([0-9a-z]{15})"
        ],
        "regexp": "mediafire\\.com/(\\?|download/|file/|download\\.php\\?)([0-9a-z]{15})",
        "status": true
      },
      "mexashare": {
        "name": "mexashare",
        "type": "premium",
        "domains": [
          "mexashare.com",
          "mx-sh.net",
          "mexa.sh"
        ],
        "regexps": [
          "((mexashare\\.com|mx-sh\\.net|mexa\\.sh)/[0-9a-zA-Z]{12})"
        ],
        "regexp": "((mexashare\\.com|mx-sh\\.net|mexa\\.sh)/[0-9a-zA-Z]{12})",
        "status": false
      },
      "mixdrop": {
        "name": "mixdrop",
        "type": "free",
        "domains": [
          "mixdrop.co",
          "mixdrop.to",
          "mixdrop.sx"
        ],
        "regexps": [
          "(mixdrop\\.(co|to|sx)/(f|e)/([0-9a-zA-Z]{5,15}))"
        ],
        "regexp": "(mixdrop\\.(co|to|sx)/(f|e)/([0-9a-zA-Z]{5,15}))"
      },
      "modsbase": {
        "name": "modsbase",
        "type": "premium",
        "domains": [
          "modsbase.com"
        ],
        "regexps": [
          "(modsbase\\.com/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(modsbase\\.com/[0-9a-zA-Z]{12})",
        "status": false
      },
      "mp4upload": {
        "name": "mp4upload",
        "type": "premium",
        "domains": [
          "mp4upload.com"
        ],
        "regexps": [
          "(mp4upload\\.com/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(mp4upload\\.com/[0-9a-zA-Z]{12})",
        "status": true
      },
      "prefiles": {
        "name": "prefiles",
        "type": "premium",
        "domains": [
          "prefiles.com"
        ],
        "regexps": [
          "(prefiles\\.com/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(prefiles\\.com/[0-9a-zA-Z]{12})",
        "status": true
      },
      "scribd": {
        "name": "scribd",
        "type": "premium",
        "domains": [
          "scribd.com"
        ],
        "regexps": [
          "(scribd\\.com/(doc|document|presentation)/[0-9]+/[!\\#$&-;=?-\\[\\]_a-zA-Z0-9~]*)"
        ],
        "regexp": "(scribd\\.com/(doc|document|presentation)/[0-9]+/[!\\#$&-;=?-\\[\\]_a-zA-Z0-9~]*)",
        "status": false
      },
      "sendit": {
        "name": "sendit",
        "type": "premium",
        "domains": [
          "sendit.cloud",
          "send.cm",
          "send.now"
        ],
        "regexps": [
          "(send\\.(cm|now)/[a-zA-Z0-9]{12})",
          "(sendit\\.cloud/[a-zA-Z0-9]{12})",
          "sendit\\.cloud/embedmp3-([a-zA-Z0-9]{12})"
        ],
        "regexp": "((send\\.(cm|now)/[a-zA-Z0-9]{12}))|((sendit\\.cloud/[a-zA-Z0-9]{12}))|(sendit\\.cloud/embedmp3-([a-zA-Z0-9]{12}))",
        "status": false
      },
      "sharemods": {
        "name": "sharemods",
        "type": "premium",
        "domains": [
          "sharemods.com"
        ],
        "regexps": [
          "(sharemods\\.com/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(sharemods\\.com/[0-9a-zA-Z]{12})",
        "status": false
      },
      "simfileshare": {
        "name": "simfileshare",
        "type": "premium",
        "domains": [
          "simfileshare.net"
        ],
        "regexps": [
          "(simfileshare\\.net/download/[0-9]+/)"
        ],
        "regexp": "(simfileshare\\.net/download/[0-9]+/)",
        "status": true
      },
      "streamtape": {
        "name": "streamtape",
        "type": "premium",
        "domains": [
          "streamtape.com"
        ],
        "regexps": [
          "(streamtape\\.com/v/[0-9a-zA-Z]{10,})"
        ],
        "regexp": "(streamtape\\.com/v/[0-9a-zA-Z]{10,})"
      },
      "upload42": {
        "name": "upload42",
        "type": "premium",
        "domains": [
          "upload42.com"
        ],
        "regexps": [
          "(upload42\\.com/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(upload42\\.com/[0-9a-zA-Z]{12})",
        "status": true
      },
      "uploadbank": {
        "name": "uploadbank",
        "type": "free",
        "domains": [
          "uploadbank.com"
        ],
        "regexps": [
          "(uploadbank\\.com/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(uploadbank\\.com/[0-9a-zA-Z]{12})"
      },
      "uploadbox": {
        "name": "uploadbox",
        "type": "free",
        "domains": [
          "uploadbox.io"
        ],
        "regexps": [
          "(uploadbox\\.io/[0-9a-zA-Z]{12}(\\?token=[a-zA-Z0-9._-]+)?)"
        ],
        "regexp": "(uploadbox\\.io/[0-9a-zA-Z]{12}(\\?token=[a-zA-Z0-9._-]+)?)"
      },
      "uploadboy": {
        "name": "uploadboy",
        "type": "premium",
        "domains": [
          "uploadboy.com"
        ],
        "regexps": [
          "(uploadboy\\.com/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(uploadboy\\.com/[0-9a-zA-Z]{12})",
        "status": false
      },
      "uploader": {
        "name": "uploader",
        "type": "premium",
        "domains": [
          "uploader.link"
        ],
        "regexps": [
          "(uploader\\.link/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(uploader\\.link/[0-9a-zA-Z]{12})"
      },
      "uploadhaven": {
        "name": "uploadhaven",
        "type": "premium",
        "domains": [
          "uploadhaven.com"
        ],
        "regexps": [
          "(uploadhaven\\.com/download/[0-9a-z]{32})"
        ],
        "regexp": "(uploadhaven\\.com/download/[0-9a-z]{32})"
      },
      "uploadrar": {
        "name": "uploadrar",
        "type": "premium",
        "domains": [
          "uploadrar.com"
        ],
        "regexps": [
          "(get|cloud)\\.rahim-soft\\.com/([0-9a-z]{12})",
          "(fingau\\.com/([0-9a-z]{12}))",
          "(tech|miui|cloud|flash)\\.getpczone\\.com/([0-9a-z]{12})",
          "miui.rahim-soft\\.com/([0-9a-z]{12})",
          "uploadrar\\.(net|com)/([0-9a-z]{12})"
        ],
        "regexp": "((get|cloud)\\.rahim-soft\\.com/([0-9a-z]{12}))|((fingau\\.com/([0-9a-z]{12})))|((tech|miui|cloud|flash)\\.getpczone\\.com/([0-9a-z]{12}))|(miui.rahim-soft\\.com/([0-9a-z]{12}))|(uploadrar\\.(net|com)/([0-9a-z]{12}))",
        "status": true,
        "hardRedirect": [
          "uploadrar.com/([0-9a-zA-Z]{12})"
        ]
      },
      "usersdrive": {
        "name": "usersdrive",
        "type": "free",
        "domains": [
          "usersdrive.com"
        ],
        "regexps": [
          "(usersdrive\\.com/[0-9a-zA-Z]{12})"
        ],
        "regexp": "(usersdrive\\.com/[0-9a-zA-Z]{12})"
      },
      "vev": {
        "name": "vev",
        "type": "premium",
        "domains": [
          "vev.io",
          "thevideo.me"
        ],
        "regexps": [
          "((vev\\.io)/(embed[/-])?([a-z0-9]{12}))",
          "((thevideo\\.me)/(embed[/-])?([a-z0-9]{12}))"
        ],
        "regexp": "(((vev\\.io)/(embed[/-])?([a-z0-9]{12})))|(((thevideo\\.me)/(embed[/-])?([a-z0-9]{12})))"
      },
      "vidoza": {
        "name": "vidoza",
        "type": "premium",
        "domains": [
          "vidoza.net",
          "vidoza.org"
        ],
        "regexps": [
          "((vidoza\\.(net|org))/(embed\\-)?([a-z0-9]{12}))"
        ],
        "regexp": "((vidoza\\.(net|org))/(embed\\-)?([a-z0-9]{12}))",
        "status": true
      },
      "vidtodo": {
        "name": "vidtodo",
        "type": "premium",
        "domains": [
          "playvidto.com",
          "vidtodo.com",
          "vidto-do.com",
          "widtodo.com",
          "widtodo.com"
        ],
        "regexps": [
          "((playvidto|vidtodo|vidto-do|widtodo)\\.com/(embed\\-)?([a-z0-9]{12}))"
        ],
        "regexp": "((playvidto|vidtodo|vidto-do|widtodo)\\.com/(embed\\-)?([a-z0-9]{12}))"
      },
      "world-files": {
        "name": "world-files",
        "type": "premium",
        "domains": [
          "world-files.com",
          "upl.wf"
        ],
        "regexps": [
          "(world\\-files\\.com/[0-9a-zA-Z]{12})",
          "(upl\\.wf/d/[0-9a-zA-Z]+)"
        ],
        "regexp": "((world\\-files\\.com/[0-9a-zA-Z]{12}))|((upl\\.wf/d/[0-9a-zA-Z]+))",
        "status": true,
        "hardRedirect": [
          "world\\-files\\.com/([0-9a-zA-Z]{12})"
        ]
      },
      "worldbytez": {
        "name": "worldbytez",
        "type": "premium",
        "domains": [
          "worldbytez.com",
          "worldbytez.net"
        ],
        "regexps": [
          "(worldbytez\\.(net|com)/[a-zA-Z0-9]{12})"
        ],
        "regexp": "(worldbytez\\.(net|com)/[a-zA-Z0-9]{12})",
        "status": false
      }
    },
    "streams": {
      "dailymotion": {
        "name": "dailymotion",
        "type": "free",
        "domains": [
          "dailymotion.com",
          "geo.dailymotion.com",
          "lequipe.fr",
          "dai.ly"
        ],
        "regexps": [
          "(?ix)\n                    (?:https?:)?//\n                    (?:\n                        dai\\.ly/|\n                        (?:\n                            (?:(?:www|touch|geo)\\.)?dailymotion\\.[a-z]{2,3}|\n                            (?:www\\.)?lequipe\\.fr\n                        )/\n                        (?:\n                            swf/(?!video)|\n                            (?:(?:crawler|embed|swf)/)?video/|\n                            player(?:/[\\da-z]+)?\\.html\\?(?:video|(playlist))=\n                        )\n                    )\n                    ([^/?_&#]+)(?:[\\w-]*\\?playlist=(x[0-9a-z]+))?\n    ",
          "(?:https?://)?(?:www\\.)?dailymotion\\.[a-z]{2,3}/playlist/(x[0-9a-z]+)",
          "https?://(?:www\\.)?dailymotion\\.[a-z]{2,3}/search/([^/?#]+)/videos",
          "https?://(?:www\\.)?dailymotion\\.[a-z]{2,3}/(?!(?:embed|swf|#|video|playlist|search|crawler)/)(?:(?:old/)?user/)?([^/?#]+)"
        ],
        "regexp": "((?ix)\n                    (?:https?:)?//\n                    (?:\n                        dai\\.ly/|\n                        (?:\n                            (?:(?:www|touch|geo)\\.)?dailymotion\\.[a-z]{2,3}|\n                            (?:www\\.)?lequipe\\.fr\n                        )/\n                        (?:\n                            swf/(?!video)|\n                            (?:(?:crawler|embed|swf)/)?video/|\n                            player(?:/[\\da-z]+)?\\.html\\?(?:video|(playlist))=\n                        )\n                    )\n                    ([^/?_&#]+)(?:[\\w-]*\\?playlist=(x[0-9a-z]+))?\n    )|((?:https?://)?(?:www\\.)?dailymotion\\.[a-z]{2,3}/playlist/(x[0-9a-z]+))|(https?://(?:www\\.)?dailymotion\\.[a-z]{2,3}/search/([^/?#]+)/videos)|(https?://(?:www\\.)?dailymotion\\.[a-z]{2,3}/(?!(?:embed|swf|#|video|playlist|search|crawler)/)(?:(?:old/)?user/)?([^/?#]+))"
      },
      "twitch": {
        "name": "twitch",
        "type": "free",
        "domains": [
          "clips.twitch.tv",
          "twitch.tv",
          "m.twitch.tv",
          "go.twitch.tv",
          "player.twitch.tv"
        ],
        "regexps": [
          "https?://(?:clips\\.twitch\\.tv/(?:embed\\?.*?\\bclip=|(?:[^/]+/)*)|(?:(?:www|go|m)\\.)?twitch\\.tv/(?:[^/]+/)?clip/)([^/?#&]+)",
          "https?://(?:(?:www|go|m)\\.)?twitch\\.tv/collections/([^/]+)",
          "https?://(?:(?:(?:www|go|m)\\.)?twitch\\.tv/|player\\.twitch\\.tv/\\?.*?\\bchannel=)([^/#?]+)",
          "https?://(?:(?:www|go|m)\\.)?twitch\\.tv/([^/]+)/(?:clips|videos/*?\\?.*?\\bfilter=clips)",
          "https?://(?:(?:www|go|m)\\.)?twitch\\.tv/([^/]+)/videos/*?\\?.*?\\bfilter=collections",
          "https?://(?:(?:www|go|m)\\.)?twitch\\.tv/([^/]+)/(?:videos|profile)",
          "https?://(?:(?:(?:www|go|m)\\.)?twitch\\.tv/(?:[^/]+/v(?:ideo)?|videos)/|player\\.twitch\\.tv/\\?.*?\\bvideo=v?|www\\.twitch\\.tv/[^/]+/schedule\\?vodID=)(\\d+)"
        ],
        "regexp": "(https?://(?:clips\\.twitch\\.tv/(?:embed\\?.*?\\bclip=|(?:[^/]+/)*)|(?:(?:www|go|m)\\.)?twitch\\.tv/(?:[^/]+/)?clip/)([^/?#&]+))|(https?://(?:(?:www|go|m)\\.)?twitch\\.tv/collections/([^/]+))|(https?://(?:(?:(?:www|go|m)\\.)?twitch\\.tv/|player\\.twitch\\.tv/\\?.*?\\bchannel=)([^/#?]+))|(https?://(?:(?:www|go|m)\\.)?twitch\\.tv/([^/]+)/(?:clips|videos/*?\\?.*?\\bfilter=clips))|(https?://(?:(?:www|go|m)\\.)?twitch\\.tv/([^/]+)/videos/*?\\?.*?\\bfilter=collections)|(https?://(?:(?:www|go|m)\\.)?twitch\\.tv/([^/]+)/(?:videos|profile))|(https?://(?:(?:(?:www|go|m)\\.)?twitch\\.tv/(?:[^/]+/v(?:ideo)?|videos)/|player\\.twitch\\.tv/\\?.*?\\bvideo=v?|www\\.twitch\\.tv/[^/]+/schedule\\?vodID=)(\\d+))"
      },
      "soundcloud": {
        "name": "soundcloud",
        "type": "free",
        "domains": [
          "soundcloud.com",
          "api.soundcloud.com"
        ],
        "regexps": [
          "^(?:https?://)?(?:(?:(?:www\\.|m\\.)?soundcloud\\.com/(?!stations/track)([\\w\\d-]+)/(?!(?:tracks|albums|sets(?:/.+?)?|reposts|likes|spotlight|comments)/?(?:$|[?#]))([\\w\\d-]+)(?:/((?!(?:albums|sets|recommended))[^?]+?))?(?:[?].*)?$)|(?:api(?:-v2)?\\.soundcloud\\.com/tracks/(?:soundcloud%3Atracks%3A)?(\\d+)(?:/?\\?secret_token=([^&]+))?))",
          "https?://api(?:-v2)?\\.soundcloud\\.com/playlists/(?:soundcloud(?:%3A|:)playlists(?:%3A|:))?([0-9]+)(?:/?\\?secret_token=([^&]+?))?$",
          "https?://(?:(?:www|m)\\.)?soundcloud\\.com/([\\w\\d-]+/[\\w\\d-]+)/(albums|sets|recommended)",
          "scsearch(|[1-9][0-9]*|all):([\\s\\S]+)",
          "https?://(?:(?:www|m)\\.)?soundcloud\\.com/([\\w\\d-]+)/sets/([:\\w\\d-]+)(?:/([^?/]+))?",
          "https?://(?:(?:www|m)\\.)?soundcloud\\.com/stations/track/[^/]+/([^/?#&]+)",
          "https?://(?:(?:www|m)\\.)?soundcloud\\.com/([^/]+)(?:/(tracks|albums|sets|reposts|likes|spotlight|comments))?/?(?:[?#].*)?$",
          "https?://api\\.soundcloud\\.com/users/(\\d+)"
        ],
        "regexp": "(^(?:https?://)?(?:(?:(?:www\\.|m\\.)?soundcloud\\.com/(?!stations/track)([\\w\\d-]+)/(?!(?:tracks|albums|sets(?:/.+?)?|reposts|likes|spotlight|comments)/?(?:$|[?#]))([\\w\\d-]+)(?:/((?!(?:albums|sets|recommended))[^?]+?))?(?:[?].*)?$)|(?:api(?:-v2)?\\.soundcloud\\.com/tracks/(?:soundcloud%3Atracks%3A)?(\\d+)(?:/?\\?secret_token=([^&]+))?)))|(https?://api(?:-v2)?\\.soundcloud\\.com/playlists/(?:soundcloud(?:%3A|:)playlists(?:%3A|:))?([0-9]+)(?:/?\\?secret_token=([^&]+?))?$)|(https?://(?:(?:www|m)\\.)?soundcloud\\.com/([\\w\\d-]+/[\\w\\d-]+)/(albums|sets|recommended))|(scsearch(|[1-9][0-9]*|all):([\\s\\S]+))|(https?://(?:(?:www|m)\\.)?soundcloud\\.com/([\\w\\d-]+)/sets/([:\\w\\d-]+)(?:/([^?/]+))?)|(https?://(?:(?:www|m)\\.)?soundcloud\\.com/stations/track/[^/]+/([^/?#&]+))|(https?://(?:(?:www|m)\\.)?soundcloud\\.com/([^/]+)(?:/(tracks|albums|sets|reposts|likes|spotlight|comments))?/?(?:[?#].*)?$)|(https?://api\\.soundcloud\\.com/users/(\\d+))"
      },
      "vimeo": {
        "name": "vimeo",
        "type": "free",
        "domains": [
          "vimeo.com",
          "player.vimeo.com",
          "vimeopro.com"
        ],
        "regexps": [
          "https://vimeo\\.com/(?:album|showcase)/([^/?#]+)(?:$|[?#]|(/embed))",
          "https://vimeo\\.com/channels/([^/?#]+)/?(?:$|[?#])",
          "https?://(?:www\\.)?vimeo\\.com/event/(\\d+)(?:/(?:(?:embed/)?([\\da-f]{10})|videos/(\\d+)))?",
          "https://vimeo\\.com/groups/([^/]+)(?:/(?!videos?/\\d+)|$)",
          "https?://(?:(?:www|player)\\.)?vimeo\\.com/(?:(user)|(?!(?:channels|album|showcase)/[^/?#]+/?(?:$|[?#])|[^/]+/review/|ondemand/)(?:(?!event/).*?/)??((?:play_redirect_hls|moogaloop\\.swf)\\?clip_id=)?(?:videos?/)?)([0-9]+)(/(?!videos|likes)[^/?#]+/?|(|/([\\da-f]{10}))?)(?:([&]|(|/?)[?]).*?)?(?:[#].*)?$",
          "https://(?:www\\.)?vimeo\\.com/([^/]+)/likes/?(?:$|[?#]|sort:)",
          "https?://(?:www\\.)?vimeo\\.com/ondemand/(?:[^/]+/)?([^/?#&]+)",
          "https?://(?:www\\.)?vimeopro\\.com/[^/?#]+/([^/?#]+)(?:(?:/videos?/([0-9]+)))?",
          "https?://vimeo\\.com/([^/?#]+)/review/(\\d+)/([\\da-f]{10})",
          "https://vimeo\\.com/(?!(?:[0-9]+|watchlater)(?:$|[?#/]))([^/]+)(?:/videos)?/?(?:$|[?#])",
          "https://vimeo\\.com/(?:home/)?watchlater|:vimeowatchlater"
        ],
        "regexp": "(https://vimeo\\.com/(?:album|showcase)/([^/?#]+)(?:$|[?#]|(/embed)))|(https://vimeo\\.com/channels/([^/?#]+)/?(?:$|[?#]))|(https?://(?:www\\.)?vimeo\\.com/event/(\\d+)(?:/(?:(?:embed/)?([\\da-f]{10})|videos/(\\d+)))?)|(https://vimeo\\.com/groups/([^/]+)(?:/(?!videos?/\\d+)|$))|(https?://(?:(?:www|player)\\.)?vimeo\\.com/(?:(user)|(?!(?:channels|album|showcase)/[^/?#]+/?(?:$|[?#])|[^/]+/review/|ondemand/)(?:(?!event/).*?/)??((?:play_redirect_hls|moogaloop\\.swf)\\?clip_id=)?(?:videos?/)?)([0-9]+)(/(?!videos|likes)[^/?#]+/?|(|/([\\da-f]{10}))?)(?:([&]|(|/?)[?]).*?)?(?:[#].*)?$)|(https://(?:www\\.)?vimeo\\.com/([^/]+)/likes/?(?:$|[?#]|sort:))|(https?://(?:www\\.)?vimeo\\.com/ondemand/(?:[^/]+/)?([^/?#&]+))|(https?://(?:www\\.)?vimeopro\\.com/[^/?#]+/([^/?#]+)(?:(?:/videos?/([0-9]+)))?)|(https?://vimeo\\.com/([^/?#]+)/review/(\\d+)/([\\da-f]{10}))|(https://vimeo\\.com/(?!(?:[0-9]+|watchlater)(?:$|[?#/]))([^/]+)(?:/videos)?/?(?:$|[?#]))|(https://vimeo\\.com/(?:home/)?watchlater|:vimeowatchlater)"
      },
      "1news": {
        "name": "1news",
        "type": "free",
        "domains": [
          "1news.co.nz",
          "onenews.co.nz"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:1|one)news\\.co\\.nz/\\d+/\\d+/\\d+/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:1|one)news\\.co\\.nz/\\d+/\\d+/\\d+/([^/?#&]+)"
      },
      "1tv": {
        "name": "1tv",
        "type": "free",
        "domains": [
          "1tv.ru",
          "sport1tv.ru"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:sport)?1tv\\.ru/(?:[^/?#]+/)+([^/?#]+)",
          "https?://(?:www\\.)?1tv\\.ru/live"
        ],
        "regexp": "(https?://(?:www\\.)?(?:sport)?1tv\\.ru/(?:[^/?#]+/)+([^/?#]+))|(https?://(?:www\\.)?1tv\\.ru/live)"
      },
      "3qsdn": {
        "name": "3qsdn",
        "type": "free",
        "domains": [
          "playout.3qsdn.com"
        ],
        "regexps": [
          "https?://playout\\.3qsdn\\.com/([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
        ],
        "regexp": "https?://playout\\.3qsdn\\.com/([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
      },
      "3sat": {
        "name": "3sat",
        "type": "free",
        "domains": [
          "3sat.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?3sat\\.de/(?:[^/?#]+/)*([^/?#&]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?3sat\\.de/(?:[^/?#]+/)*([^/?#&]+)\\.html"
      },
      "4tube": {
        "name": "4tube",
        "type": "free",
        "domains": [
          "4tube.com",
          "m.4tube.com"
        ],
        "regexps": [
          "https?://(?:(www|m)\\.)?4tube\\.com/(?:videos|embed)/(\\d+)(?:/([^/?#&]+))?"
        ],
        "regexp": "https?://(?:(www|m)\\.)?4tube\\.com/(?:videos|embed)/(\\d+)(?:/([^/?#&]+))?"
      },
      "7plus": {
        "name": "7plus",
        "type": "free",
        "domains": [
          "7plus.com.au"
        ],
        "regexps": [
          "https?://(?:www\\.)?7plus\\.com\\.au/([^?]+\\?.*?\\bepisode-id=([^&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?7plus\\.com\\.au/([^?]+\\?.*?\\bepisode-id=([^&#]+))"
      },
      "8tracks": {
        "name": "8tracks",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://8tracks\\.com/([^/]+)/([^/#]+)(?:#.*)?$"
        ],
        "regexp": "https?://8tracks\\.com/([^/]+)/([^/#]+)(?:#.*)?$"
      },
      "9c9media": {
        "name": "9c9media",
        "type": "free",
        "domains": [],
        "regexps": [
          "9c9media:([^:]+):(\\d+)"
        ],
        "regexp": "9c9media:([^:]+):(\\d+)"
      },
      "9news": {
        "name": "9news",
        "type": "free",
        "domains": [
          "9news.com.au"
        ],
        "regexps": [
          "https?://(?:www\\.)?9news\\.com\\.au/(?:[\\w-]+/){2,3}([\\w-]+)/?(?:$|[?#])"
        ],
        "regexp": "https?://(?:www\\.)?9news\\.com\\.au/(?:[\\w-]+/){2,3}([\\w-]+)/?(?:$|[?#])"
      },
      "9now.com.au": {
        "name": "9now.com.au",
        "type": "free",
        "domains": [
          "9now.com.au"
        ],
        "regexps": [
          "https?://(?:www\\.)?9now\\.com\\.au/(?:[^/?#]+/){2}((clip|episode)-[^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?9now\\.com\\.au/(?:[^/?#]+/){2}((clip|episode)-[^/?#]+)"
      },
      "10play": {
        "name": "10play",
        "type": "free",
        "domains": [
          "10.com.au",
          "10play.com.au"
        ],
        "regexps": [
          "https?://(?:www\\.)?10(?:play)?\\.com\\.au/(?:[^/?#]+/)+(tpv\\d{6}[a-z]{5})",
          "https?://(?:www\\.)?10(?:play)?\\.com\\.au/([^/?#]+)/episodes/([^/?#]+)/?(?:$|[?#])"
        ],
        "regexp": "(https?://(?:www\\.)?10(?:play)?\\.com\\.au/(?:[^/?#]+/)+(tpv\\d{6}[a-z]{5}))|(https?://(?:www\\.)?10(?:play)?\\.com\\.au/([^/?#]+)/episodes/([^/?#]+)/?(?:$|[?#]))"
      },
      "17live": {
        "name": "17live",
        "type": "free",
        "domains": [
          "17.live"
        ],
        "regexps": [
          "https?://(?:www\\.)?17\\.live/(?:[^/]+/)*profile/r/(\\d+)/clip/([^/]+)",
          "https?://(?:www\\.)?17\\.live/(?:[^/]+/)*(?:live|profile/r)/(\\d+)",
          "https?://(?:www\\.)?17\\.live/ja/vod/[^/?#]+/([^/?#]+)"
        ],
        "regexp": "(https?://(?:www\\.)?17\\.live/(?:[^/]+/)*profile/r/(\\d+)/clip/([^/]+))|(https?://(?:www\\.)?17\\.live/(?:[^/]+/)*(?:live|profile/r)/(\\d+))|(https?://(?:www\\.)?17\\.live/ja/vod/[^/?#]+/([^/?#]+))"
      },
      "20min": {
        "name": "20min",
        "type": "free",
        "domains": [
          "20min.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?20min\\.ch/(?:videotv/*\\?.*?\\bvid=|videoplayer/videoplayer\\.html\\?.*?\\bvideoId@)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?20min\\.ch/(?:videotv/*\\?.*?\\bvid=|videoplayer/videoplayer\\.html\\?.*?\\bvideoId@)(\\d+)"
      },
      "23video": {
        "name": "23video",
        "type": "free",
        "domains": [
          "video.twentythree.net",
          "bonnier-publications-danmark.23video.com"
        ],
        "regexps": [
          "https?://([^.]+\\.(?:twentythree\\.net|23video\\.com|filmweb\\.no))/v\\.ihtml/player\\.html\\?(.*?\\bphoto(?:_|%5f)id=(\\d+).*)"
        ],
        "regexp": "https?://([^.]+\\.(?:twentythree\\.net|23video\\.com|filmweb\\.no))/v\\.ihtml/player\\.html\\?(.*?\\bphoto(?:_|%5f)id=(\\d+).*)"
      },
      "24tv.ua": {
        "name": "24tv.ua",
        "type": "free",
        "domains": [
          "24tv.ua"
        ],
        "regexps": [
          "https?://24tv\\.ua/news/showPlayer\\.do.*?(?:\\?|&)objectId=(\\d+)"
        ],
        "regexp": "https?://24tv\\.ua/news/showPlayer\\.do.*?(?:\\?|&)objectId=(\\d+)"
      },
      "56.com": {
        "name": "56.com",
        "type": "free",
        "domains": [
          "56.com"
        ],
        "regexps": [
          "https?://(?:(?:www|player)\\.)?56\\.com/(?:.+?/)?(?:v_|(?:play_album.+-))(.+?)\\.(?:html|swf)"
        ],
        "regexp": "https?://(?:(?:www|player)\\.)?56\\.com/(?:.+?/)?(?:v_|(?:play_album.+-))(.+?)\\.(?:html|swf)"
      },
      "247sports": {
        "name": "247sports",
        "type": "free",
        "domains": [
          "247sports.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?247sports\\.com/Video/(?:[^/?#&]+-)?(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?247sports\\.com/Video/(?:[^/?#&]+-)?(\\d+)"
      },
      "abc.net.au": {
        "name": "abc.net.au",
        "type": "free",
        "domains": [
          "abc.net.au",
          "iview.abc.net.au"
        ],
        "regexps": [
          "https?://(?:www\\.)?abc\\.net\\.au/(?:news|btn|listen)/(?:[^/?#]+/){1,4}(\\d{5,})",
          "https?://iview\\.abc\\.net\\.au/(?:[^/]+/)*video/([^/?#]+)",
          "https?://iview\\.abc\\.net\\.au/show/([^/]+)(?:/series/\\d+)?$"
        ],
        "regexp": "(https?://(?:www\\.)?abc\\.net\\.au/(?:news|btn|listen)/(?:[^/?#]+/){1,4}(\\d{5,}))|(https?://iview\\.abc\\.net\\.au/(?:[^/]+/)*video/([^/?#]+))|(https?://iview\\.abc\\.net\\.au/show/([^/]+)(?:/series/\\d+)?$)"
      },
      "abcnews": {
        "name": "abcnews",
        "type": "free",
        "domains": [
          "abcnews.go.com"
        ],
        "regexps": [
          "https?://abcnews\\.go\\.com/(?:[^/]+/)+([0-9a-z-]+)/story\\?id=(\\d+)",
          "https?://(?:abcnews\\.go\\.com/(?:(?:[^/]+/)*video/([0-9a-z-]+)-|video/(?:embed|itemfeed)\\?.*?\\bid=)|fivethirtyeight\\.abcnews\\.go\\.com/video/embed/\\d+/)(\\d+)"
        ],
        "regexp": "(https?://abcnews\\.go\\.com/(?:[^/]+/)+([0-9a-z-]+)/story\\?id=(\\d+))|(https?://(?:abcnews\\.go\\.com/(?:(?:[^/]+/)*video/([0-9a-z-]+)-|video/(?:embed|itemfeed)\\?.*?\\bid=)|fivethirtyeight\\.abcnews\\.go\\.com/video/embed/\\d+/)(\\d+))"
      },
      "abcotvs": {
        "name": "abcotvs",
        "type": "free",
        "domains": [
          "abc7news.com",
          "6abc.com"
        ],
        "regexps": [
          "https?://clips\\.abcotvs\\.com/(?:[^/]+/)*video/(\\d+)",
          "https?://(abc(?:7(?:news|ny|chicago)?|11|13|30)|6abc)\\.com(?:(?:/[^/]+)*/([^/]+))?/(\\d+)"
        ],
        "regexp": "(https?://clips\\.abcotvs\\.com/(?:[^/]+/)*video/(\\d+))|(https?://(abc(?:7(?:news|ny|chicago)?|11|13|30)|6abc)\\.com(?:(?:/[^/]+)*/([^/]+))?/(\\d+))"
      },
      "abematv": {
        "name": "abematv",
        "type": "free",
        "domains": [
          "abema.tv"
        ],
        "regexps": [
          "https?://abema\\.tv/(now-on-air|video/episode|channels/.+?/slots)/([^?/]+)"
        ],
        "regexp": "https?://abema\\.tv/(now-on-air|video/episode|channels/.+?/slots)/([^?/]+)"
      },
      "abematvtitle": {
        "name": "abematvtitle",
        "type": "free",
        "domains": [
          "abema.tv"
        ],
        "regexps": [
          "https?://abema\\.tv/video/title/([^?/#]+)/?(?:\\?(?:[^#]+&)?s=([^&#]+))?"
        ],
        "regexp": "https?://abema\\.tv/video/title/([^?/#]+)/?(?:\\?(?:[^#]+&)?s=([^&#]+))?"
      },
      "academicearth": {
        "name": "academicearth",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?academicearth\\.org/playlists/([^?#/]+)"
        ],
        "regexp": "https?://(?:www\\.)?academicearth\\.org/playlists/([^?#/]+)"
      },
      "acast": {
        "name": "acast",
        "type": "free",
        "domains": [
          "acast.com",
          "play.acast.com",
          "shows.acast.com",
          "embed.acast.com"
        ],
        "regexps": [
          "https?://(?:(?:(?:www|shows)\\.)?acast\\.com/|play\\.acast\\.com/s/)([^/#?]+)",
          "(?x:\n                    https?://\n                        (?:\n                            (?:(?:embed|www|shows)\\.)?acast\\.com/|\n                            play\\.acast\\.com/s/\n                        )\n                        ([^/?#]+)/(?:episodes/)?([^/#?\"]+)\n                    )"
        ],
        "regexp": "(https?://(?:(?:(?:www|shows)\\.)?acast\\.com/|play\\.acast\\.com/s/)([^/#?]+))|((?x:\n                    https?://\n                        (?:\n                            (?:(?:embed|www|shows)\\.)?acast\\.com/|\n                            play\\.acast\\.com/s/\n                        )\n                        ([^/?#]+)/(?:episodes/)?([^/#?\"]+)\n                    ))"
      },
      "acfunbangumi": {
        "name": "acfunbangumi",
        "type": "free",
        "domains": [
          "acfun.cn"
        ],
        "regexps": [
          "https?://www\\.acfun\\.cn/bangumi/(aa[_\\d]+)"
        ],
        "regexp": "https?://www\\.acfun\\.cn/bangumi/(aa[_\\d]+)"
      },
      "acfunvideo": {
        "name": "acfunvideo",
        "type": "free",
        "domains": [
          "acfun.cn"
        ],
        "regexps": [
          "https?://www\\.acfun\\.cn/v/ac([_\\d]+)"
        ],
        "regexp": "https?://www\\.acfun\\.cn/v/ac([_\\d]+)"
      },
      "adn": {
        "name": "adn",
        "type": "free",
        "domains": [
          "animationdigitalnetwork.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?animationdigitalnetwork\\.com/(?:(de)/)?video/[^/?#]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?animationdigitalnetwork\\.com/(?:(de)/)?video/[^/?#]+/(\\d+)"
      },
      "adnseason": {
        "name": "adnseason",
        "type": "free",
        "domains": [
          "animationdigitalnetwork.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?animationdigitalnetwork\\.com/(?:(de)/)?video/(\\d+)[^/?#]*/?(?:$|[#?])"
        ],
        "regexp": "https?://(?:www\\.)?animationdigitalnetwork\\.com/(?:(de)/)?video/(\\d+)[^/?#]*/?(?:$|[#?])"
      },
      "adobeconnect": {
        "name": "adobeconnect",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://\\w+\\.adobeconnect\\.com/([\\w-]+)"
        ],
        "regexp": "https?://\\w+\\.adobeconnect\\.com/([\\w-]+)"
      },
      "adobetv": {
        "name": "adobetv",
        "type": "free",
        "domains": [
          "video.tv.adobe.com"
        ],
        "regexps": [
          "https?://video\\.tv\\.adobe\\.com/v/(\\d+)"
        ],
        "regexp": "https?://video\\.tv\\.adobe\\.com/v/(\\d+)"
      },
      "adultswim": {
        "name": "adultswim",
        "type": "free",
        "domains": [
          "adultswim.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?adultswim\\.com/videos/([^/?#]+)(?:/([^/?#]+))?"
        ],
        "regexp": "https?://(?:www\\.)?adultswim\\.com/videos/([^/?#]+)(?:/([^/?#]+))?"
      },
      "aenetworks": {
        "name": "aenetworks",
        "type": "free",
        "domains": [
          "watch.historyvault.com",
          "historyvault.com",
          "history.com",
          "aetv.com",
          "play.mylifetime.com",
          "fyi.tv",
          "mylifetime.com",
          "watch.lifetimemovieclub.com",
          "play.aetv.com"
        ],
        "regexps": [
          "https?://(?:(?:www|play|watch)\\.)?((?:history(?:vault)?|aetv|mylifetime|lifetimemovieclub)\\.com|fyi\\.tv)/(?:[^/]+/)*(?:list|collections)/([^/?#&]+)/?(?:[?#&]|$)",
          "https?://(?:(?:www|play|watch)\\.)?((?:history(?:vault)?|aetv|mylifetime|lifetimemovieclub)\\.com|fyi\\.tv)/(shows/[^/?#]+/season-\\d+/episode-\\d+|(movie|special)s/[^/?#]+(/[^/?#]+)?|(?:shows/[^/?#]+/)?videos/[^/?#]+)",
          "https?://(?:(?:www|play|watch)\\.)?((?:history(?:vault)?|aetv|mylifetime|lifetimemovieclub)\\.com|fyi\\.tv)/shows/([^/?#&]+)/?(?:[?#&]|$)"
        ],
        "regexp": "(https?://(?:(?:www|play|watch)\\.)?((?:history(?:vault)?|aetv|mylifetime|lifetimemovieclub)\\.com|fyi\\.tv)/(?:[^/]+/)*(?:list|collections)/([^/?#&]+)/?(?:[?#&]|$))|(https?://(?:(?:www|play|watch)\\.)?((?:history(?:vault)?|aetv|mylifetime|lifetimemovieclub)\\.com|fyi\\.tv)/(shows/[^/?#]+/season-\\d+/episode-\\d+|(movie|special)s/[^/?#]+(/[^/?#]+)?|(?:shows/[^/?#]+/)?videos/[^/?#]+))|(https?://(?:(?:www|play|watch)\\.)?((?:history(?:vault)?|aetv|mylifetime|lifetimemovieclub)\\.com|fyi\\.tv)/shows/([^/?#&]+)/?(?:[?#&]|$))"
      },
      "aeonco": {
        "name": "aeonco",
        "type": "free",
        "domains": [
          "aeon.co"
        ],
        "regexps": [
          "https?://(?:www\\.)?aeon\\.co/videos/([^/?]+)"
        ],
        "regexp": "https?://(?:www\\.)?aeon\\.co/videos/([^/?]+)"
      },
      "agalega": {
        "name": "agalega",
        "type": "free",
        "domains": [
          "agalega.gal"
        ],
        "regexps": [
          "https?://(?:www\\.)?agalega\\.gal/videos/(?:detail/)?([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?agalega\\.gal/videos/(?:detail/)?([0-9]+)"
      },
      "airtv": {
        "name": "airtv",
        "type": "free",
        "domains": [
          "air.tv"
        ],
        "regexps": [
          "https?://www\\.air\\.tv/watch\\?v=(\\w+)"
        ],
        "regexp": "https?://www\\.air\\.tv/watch\\?v=(\\w+)"
      },
      "aitubekzvideo": {
        "name": "aitubekzvideo",
        "type": "free",
        "domains": [
          "aitube.kz"
        ],
        "regexps": [
          "https?://aitube\\.kz/(?:video|embed/)\\?(?:[^\\?]+)?id=([\\w-]+)"
        ],
        "regexp": "https?://aitube\\.kz/(?:video|embed/)\\?(?:[^\\?]+)?id=([\\w-]+)"
      },
      "alibaba": {
        "name": "alibaba",
        "type": "free",
        "domains": [
          "alibaba.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?alibaba\\.com/product-detail/[\\w-]+_(\\d+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?alibaba\\.com/product-detail/[\\w-]+_(\\d+)\\.html"
      },
      "aliexpresslive": {
        "name": "aliexpresslive",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://live\\.aliexpress\\.com/live/(\\d+)"
        ],
        "regexp": "https?://live\\.aliexpress\\.com/live/(\\d+)"
      },
      "aljazeera": {
        "name": "aljazeera",
        "type": "free",
        "domains": [
          "balkans.aljazeera.net"
        ],
        "regexps": [
          "https?://(\\w+\\.aljazeera\\.\\w+)/(programs?/[^/]+|(?:feature|video|new)s)?/\\d{4}/\\d{1,2}/\\d{1,2}/([^/?&#]+)"
        ],
        "regexp": "https?://(\\w+\\.aljazeera\\.\\w+)/(programs?/[^/]+|(?:feature|video|new)s)?/\\d{4}/\\d{1,2}/\\d{1,2}/([^/?&#]+)"
      },
      "allocine": {
        "name": "allocine",
        "type": "free",
        "domains": [
          "allocine.fr"
        ],
        "regexps": [
          "https?://(?:www\\.)?allocine\\.fr/(?:article|video|film)/(?:fichearticle_gen_carticle=|player_gen_cmedia=|fichefilm_gen_cfilm=|video-)([0-9]+)(?:\\.html)?"
        ],
        "regexp": "https?://(?:www\\.)?allocine\\.fr/(?:article|video|film)/(?:fichearticle_gen_carticle=|player_gen_cmedia=|fichefilm_gen_cfilm=|video-)([0-9]+)(?:\\.html)?"
      },
      "allstarprofile": {
        "name": "allstarprofile",
        "type": "free",
        "domains": [
          "allstar.gg"
        ],
        "regexps": [
          "https?://(?:www\\.)?allstar\\.gg/(?:profile\\?user=|u/)([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?allstar\\.gg/(?:profile\\?user=|u/)([^/?#&]+)"
      },
      "alphaporno": {
        "name": "alphaporno",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?alphaporno\\.com/videos/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?alphaporno\\.com/videos/([^/]+)"
      },
      "alsace20tv": {
        "name": "alsace20tv",
        "type": "free",
        "domains": [
          "alsace20.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?alsace20\\.tv/(?:[\\w-]+/)+[\\w-]+-([\\w]+)"
        ],
        "regexp": "https?://(?:www\\.)?alsace20\\.tv/(?:[\\w-]+/)+[\\w-]+-([\\w]+)"
      },
      "alsace20tvembed": {
        "name": "alsace20tvembed",
        "type": "free",
        "domains": [
          "alsace20.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?alsace20\\.tv/emb/([\\w]+)"
        ],
        "regexp": "https?://(?:www\\.)?alsace20\\.tv/emb/([\\w]+)"
      },
      "altcensored": {
        "name": "altcensored",
        "type": "free",
        "domains": [
          "altcensored.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?altcensored\\.com/channel/(?!page|table)([^/?#]+)",
          "https?://(?:www\\.)?altcensored\\.com/(?:watch\\?v=|embed/)([^/?#]+)"
        ],
        "regexp": "(https?://(?:www\\.)?altcensored\\.com/channel/(?!page|table)([^/?#]+))|(https?://(?:www\\.)?altcensored\\.com/(?:watch\\?v=|embed/)([^/?#]+))"
      },
      "alura": {
        "name": "alura",
        "type": "free",
        "domains": [
          "cursos.alura.com.br"
        ],
        "regexps": [
          "https?://(?:cursos\\.)?alura\\.com\\.br/course/([^/]+)/task/(\\d+)"
        ],
        "regexp": "https?://(?:cursos\\.)?alura\\.com\\.br/course/([^/]+)/task/(\\d+)"
      },
      "aluracourse": {
        "name": "aluracourse",
        "type": "free",
        "domains": [
          "cursos.alura.com.br"
        ],
        "regexps": [
          "https?://(?:cursos\\.)?alura\\.com\\.br/course/([^/]+)"
        ],
        "regexp": "https?://(?:cursos\\.)?alura\\.com\\.br/course/([^/]+)"
      },
      "amadeustv": {
        "name": "amadeustv",
        "type": "free",
        "domains": [
          "amadeus.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?amadeus\\.tv/library/([\\da-f]+)"
        ],
        "regexp": "https?://(?:www\\.)?amadeus\\.tv/library/([\\da-f]+)"
      },
      "amara": {
        "name": "amara",
        "type": "free",
        "domains": [
          "amara.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?amara\\.org/(?:\\w+/)?videos/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?amara\\.org/(?:\\w+/)?videos/(\\w+)"
      },
      "amazonminitv": {
        "name": "amazonminitv",
        "type": "free",
        "domains": [
          "amazon.in"
        ],
        "regexps": [
          "(?:https?://(?:www\\.)?amazon\\.in/minitv/tp/|amazonminitv:(?:amzn1\\.dv\\.gti\\.)?)([a-f0-9-]+)",
          "amazonminitv:season:(?:amzn1\\.dv\\.gti\\.)?([a-f0-9-]+)",
          "amazonminitv:series:(?:amzn1\\.dv\\.gti\\.)?([a-f0-9-]+)"
        ],
        "regexp": "((?:https?://(?:www\\.)?amazon\\.in/minitv/tp/|amazonminitv:(?:amzn1\\.dv\\.gti\\.)?)([a-f0-9-]+))|(amazonminitv:season:(?:amzn1\\.dv\\.gti\\.)?([a-f0-9-]+))|(amazonminitv:series:(?:amzn1\\.dv\\.gti\\.)?([a-f0-9-]+))"
      },
      "amazonreviews": {
        "name": "amazonreviews",
        "type": "free",
        "domains": [
          "amazon.com",
          "amazon.in"
        ],
        "regexps": [
          "https?://(?:www\\.)?amazon\\.(?:[a-z]{2,3})(?:\\.[a-z]{2})?/gp/customer-reviews/([^/&#$?]+)"
        ],
        "regexp": "https?://(?:www\\.)?amazon\\.(?:[a-z]{2,3})(?:\\.[a-z]{2})?/gp/customer-reviews/([^/&#$?]+)"
      },
      "amazonstore": {
        "name": "amazonstore",
        "type": "free",
        "domains": [
          "amazon.co.uk",
          "amazon.in",
          "amazon.com",
          "amazon.es"
        ],
        "regexps": [
          "https?://(?:www\\.)?amazon\\.(?:[a-z]{2,3})(?:\\.[a-z]{2})?/(?:[^/]+/)?(?:dp|gp/product)/([^/&#$?]+)"
        ],
        "regexp": "https?://(?:www\\.)?amazon\\.(?:[a-z]{2,3})(?:\\.[a-z]{2})?/(?:[^/]+/)?(?:dp|gp/product)/([^/&#$?]+)"
      },
      "amcnetworks": {
        "name": "amcnetworks",
        "type": "free",
        "domains": [
          "amc.com",
          "bbcamerica.com",
          "wetv.com",
          "ifc.com",
          "sundancetv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:amc|bbcamerica|ifc|(?:we|sundance)tv)\\.com/((?:movies|shows(?:/[^/?#]+)+)/[^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:amc|bbcamerica|ifc|(?:we|sundance)tv)\\.com/((?:movies|shows(?:/[^/?#]+)+)/[^/?#&]+)"
      },
      "americastestkitchen": {
        "name": "americastestkitchen",
        "type": "free",
        "domains": [
          "americastestkitchen.com",
          "cookscountry.com",
          "cooksillustrated.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:americastestkitchen|cooks(?:country|illustrated))\\.com/(?:cooks(?:country|illustrated)/)?(episode|videos)/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:americastestkitchen|cooks(?:country|illustrated))\\.com/(?:cooks(?:country|illustrated)/)?(episode|videos)/(\\d+)"
      },
      "amhistorychannel": {
        "name": "amhistorychannel",
        "type": "free",
        "domains": [
          "ahctv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?ahctv\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?ahctv\\.com/video/([^/]+/[^/?#]+)"
      },
      "anchorfmepisode": {
        "name": "anchorfmepisode",
        "type": "free",
        "domains": [
          "anchor.fm"
        ],
        "regexps": [
          "https?://anchor\\.fm/(\\w+)/(?:embed/)?episodes/[\\w-]+-(\\w+)"
        ],
        "regexp": "https?://anchor\\.fm/(\\w+)/(?:embed/)?episodes/[\\w-]+-(\\w+)"
      },
      "anderetijden": {
        "name": "anderetijden",
        "type": "free",
        "domains": [
          "anderetijden.nl"
        ],
        "regexps": [
          "https?://(?:www\\.)?anderetijden\\.nl/programma/(?:[^/]+/)+([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?anderetijden\\.nl/programma/(?:[^/]+/)+([^/?#&]+)"
      },
      "angel": {
        "name": "angel",
        "type": "free",
        "domains": [
          "angel.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?angel\\.com/watch/([^/?#]+)/episode/([\\w-]+)/season-(\\d+)/episode-(\\d+)/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?angel\\.com/watch/([^/?#]+)/episode/([\\w-]+)/season-(\\d+)/episode-(\\d+)/([^/?#]+)"
      },
      "animalplanet": {
        "name": "animalplanet",
        "type": "free",
        "domains": [
          "animalplanet.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?animalplanet\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?animalplanet\\.com/video/([^/]+/[^/?#]+)"
      },
      "ant1newsgr": {
        "name": "ant1newsgr",
        "type": "free",
        "domains": [
          "ant1news.gr",
          "antenna.gr"
        ],
        "regexps": [
          "https?://(?:www\\.)?ant1news\\.gr/[^/]+/article/(\\d+)/",
          "(?:https?:)?//(?:[a-zA-Z0-9\\-]+\\.)?(?:antenna|ant1news)\\.gr/templates/pages/player\\?([^#]+&)?cid=([^#&]+)"
        ],
        "regexp": "(https?://(?:www\\.)?ant1news\\.gr/[^/]+/article/(\\d+)/)|((?:https?:)?//(?:[a-zA-Z0-9\\-]+\\.)?(?:antenna|ant1news)\\.gr/templates/pages/player\\?([^#]+&)?cid=([^#&]+))"
      },
      "antenna": {
        "name": "antenna",
        "type": "free",
        "domains": [
          "ant1news.gr",
          "antenna.gr"
        ],
        "regexps": [
          "https?://((?:www\\.)?(?:antenna|ant1news)\\.gr)/watch/(\\d+)/"
        ],
        "regexp": "https?://((?:www\\.)?(?:antenna|ant1news)\\.gr)/watch/(\\d+)/"
      },
      "anvato": {
        "name": "anvato",
        "type": "free",
        "domains": [],
        "regexps": [
          "anvato:([^:]+):(\\d+)"
        ],
        "regexp": "anvato:([^:]+):(\\d+)"
      },
      "aol.com": {
        "name": "aol.com",
        "type": "free",
        "domains": [
          "aol.com",
          "aol.ca",
          "aol.co.uk",
          "aol.de",
          "aol.jp"
        ],
        "regexps": [
          "(?:aol-video:|https?://(?:www\\.)?aol\\.(?:com|ca|co\\.uk|de|jp)/video/(?:[^/]+/)*)(\\d{9}|[0-9a-f]{24}|[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12})"
        ],
        "regexp": "(?:aol-video:|https?://(?:www\\.)?aol\\.(?:com|ca|co\\.uk|de|jp)/video/(?:[^/]+/)*)(\\d{9}|[0-9a-f]{24}|[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12})"
      },
      "apa": {
        "name": "apa",
        "type": "free",
        "domains": [
          "uvp.apa.at",
          "uvp-apapublisher.sf.apa.at",
          "uvp-rma.sf.apa.at",
          "uvp-kleinezeitung.sf.apa.at"
        ],
        "regexps": [
          "(https?://[^/]+\\.apa\\.at)/embed/([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
        ],
        "regexp": "(https?://[^/]+\\.apa\\.at)/embed/([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
      },
      "aparat": {
        "name": "aparat",
        "type": "free",
        "domains": [
          "aparat.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?aparat\\.com/(?:v/|video/video/embed/videohash/)([a-zA-Z0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?aparat\\.com/(?:v/|video/video/embed/videohash/)([a-zA-Z0-9]+)"
      },
      "apple": {
        "name": "apple",
        "type": "free",
        "domains": [
          "music.apple.com"
        ],
        "regexps": [
          "https?://music\\.apple\\.com/[\\w-]+/post/(\\d+)"
        ],
        "regexp": "https?://music\\.apple\\.com/[\\w-]+/post/(\\d+)"
      },
      "applepodcasts": {
        "name": "applepodcasts",
        "type": "free",
        "domains": [
          "podcasts.apple.com"
        ],
        "regexps": [
          "https?://podcasts\\.apple\\.com/(?:[^/]+/)?podcast(?:/[^/]+){1,2}.*?\\bi=(\\d+)"
        ],
        "regexp": "https?://podcasts\\.apple\\.com/(?:[^/]+/)?podcast(?:/[^/]+){1,2}.*?\\bi=(\\d+)"
      },
      "appletrailers": {
        "name": "appletrailers",
        "type": "free",
        "domains": [
          "trailers.apple.com",
          "movietrailers.apple.com"
        ],
        "regexps": [
          "https?://(?:www\\.|movie)?trailers\\.apple\\.com/(?:trailers|ca)/([^/]+)/([^/]+)",
          "https?://(?:www\\.)?trailers\\.apple\\.com/#section=(justadded|exclusive|justhd|mostpopular|moviestudios)"
        ],
        "regexp": "(https?://(?:www\\.|movie)?trailers\\.apple\\.com/(?:trailers|ca)/([^/]+)/([^/]+))|(https?://(?:www\\.)?trailers\\.apple\\.com/#section=(justadded|exclusive|justhd|mostpopular|moviestudios))"
      },
      "archive.org": {
        "name": "archive.org",
        "type": "free",
        "domains": [
          "archive.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?archive\\.org/(?:details|embed)/([^?#]+)(?:[?].*)?$"
        ],
        "regexp": "https?://(?:www\\.)?archive\\.org/(?:details|embed)/([^?#]+)(?:[?].*)?$"
      },
      "arcpublishing": {
        "name": "arcpublishing",
        "type": "free",
        "domains": [],
        "regexps": [
          "arcpublishing:([a-z]+):([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})"
        ],
        "regexp": "arcpublishing:([a-z]+):([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})"
      },
      "ard": {
        "name": "ard",
        "type": "free",
        "domains": [
          "daserste.de"
        ],
        "regexps": [
          "(https?://(?:www\\.)?daserste\\.de/(?:[^/?#&]+/)+([^/?#&]+))\\.html"
        ],
        "regexp": "(https?://(?:www\\.)?daserste\\.de/(?:[^/?#&]+/)+([^/?#&]+))\\.html"
      },
      "ardaudiothek": {
        "name": "ardaudiothek",
        "type": "free",
        "domains": [
          "ardaudiothek.de"
        ],
        "regexps": [
          "https:?//(?:www\\.)?ardaudiothek\\.de/episode/(urn:ard:(?:episode|section|extra):[a-f0-9]{16})"
        ],
        "regexp": "https:?//(?:www\\.)?ardaudiothek\\.de/episode/(urn:ard:(?:episode|section|extra):[a-f0-9]{16})"
      },
      "ardaudiothekplaylist": {
        "name": "ardaudiothekplaylist",
        "type": "free",
        "domains": [
          "ardaudiothek.de"
        ],
        "regexps": [
          "https:?//(?:www\\.)?ardaudiothek\\.de/sendung/([\\w-]+)/(urn:ard:show:[a-f0-9]{16})"
        ],
        "regexp": "https:?//(?:www\\.)?ardaudiothek\\.de/sendung/([\\w-]+)/(urn:ard:show:[a-f0-9]{16})"
      },
      "ardmediathek": {
        "name": "ardmediathek",
        "type": "free",
        "domains": [
          "ardmediathek.de",
          "beta.ardmediathek.de"
        ],
        "regexps": [
          "https?://(?:(?:beta|www)\\.)?ardmediathek\\.de/(?:[^/]+/)?(?:player|live|video)/(?:[^?#]+/)?([a-zA-Z0-9]+)/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:(?:beta|www)\\.)?ardmediathek\\.de/(?:[^/]+/)?(?:player|live|video)/(?:[^?#]+/)?([a-zA-Z0-9]+)/?(?:[?#]|$)"
      },
      "ardmediathekcollection": {
        "name": "ardmediathekcollection",
        "type": "free",
        "domains": [
          "ardmediathek.de"
        ],
        "regexps": [
          "https?://(?:(?:beta|www)\\.)?ardmediathek\\.de/(?:[^/?#]+/)?(sendung|serie|sammlung)/(?:([^?#]+?)/)?([a-zA-Z0-9]+)(?:/(\\d+)(?:/(OV|AD))?)?/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:(?:beta|www)\\.)?ardmediathek\\.de/(?:[^/?#]+/)?(sendung|serie|sammlung)/(?:([^?#]+?)/)?([a-zA-Z0-9]+)(?:/(\\d+)(?:/(OV|AD))?)?/?(?:[?#]|$)"
      },
      "art19": {
        "name": "art19",
        "type": "free",
        "domains": [
          "rss.art19.com",
          "art19.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?art19\\.com/shows/[^/#?]+/episodes/([\\da-f]{8}-?[\\da-f]{4}-?[\\da-f]{4}-?[\\da-f]{4}-?[\\da-f]{12})",
          "https?://rss\\.art19\\.com/episodes/([\\da-f]{8}-?[\\da-f]{4}-?[\\da-f]{4}-?[\\da-f]{4}-?[\\da-f]{12})\\.mp3"
        ],
        "regexp": "(https?://(?:www\\.)?art19\\.com/shows/[^/#?]+/episodes/([\\da-f]{8}-?[\\da-f]{4}-?[\\da-f]{4}-?[\\da-f]{4}-?[\\da-f]{12}))|(https?://rss\\.art19\\.com/episodes/([\\da-f]{8}-?[\\da-f]{4}-?[\\da-f]{4}-?[\\da-f]{4}-?[\\da-f]{12})\\.mp3)"
      },
      "art19show": {
        "name": "art19show",
        "type": "free",
        "domains": [
          "art19.com",
          "rss.art19.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?art19\\.com/shows/([\\w-]+)(?:/embed)?/?(?:$|[#?])",
          "https?://rss\\.art19\\.com/([\\w-]+)/?(?:$|[#?])"
        ],
        "regexp": "(https?://(?:www\\.)?art19\\.com/shows/([\\w-]+)(?:/embed)?/?(?:$|[#?]))|(https?://rss\\.art19\\.com/([\\w-]+)/?(?:$|[#?]))"
      },
      "arte.sky.it": {
        "name": "arte.sky.it",
        "type": "free",
        "domains": [
          "arte.sky.it"
        ],
        "regexps": [
          "https?://arte\\.sky\\.it/video/([^/?&#]+)"
        ],
        "regexp": "https?://arte\\.sky\\.it/video/([^/?&#]+)"
      },
      "artetv": {
        "name": "artetv",
        "type": "free",
        "domains": [
          "arte.tv",
          "api.arte.tv"
        ],
        "regexps": [
          "(?:https?://(?:(?:www\\.)?arte\\.tv/(fr|de|en|es|it|pl)/videos|api\\.arte\\.tv/api/player/v\\d+/config/(fr|de|en|es|it|pl))|arte://program)/(\\d{6}-\\d{3}-[AF]|LIVE)"
        ],
        "regexp": "(?:https?://(?:(?:www\\.)?arte\\.tv/(fr|de|en|es|it|pl)/videos|api\\.arte\\.tv/api/player/v\\d+/config/(fr|de|en|es|it|pl))|arte://program)/(\\d{6}-\\d{3}-[AF]|LIVE)"
      },
      "artetvcategory": {
        "name": "artetvcategory",
        "type": "free",
        "domains": [
          "arte.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?arte\\.tv/(fr|de|en|es|it|pl)/videos/([\\w-]+(?:/[\\w-]+)*)/?\\s*$"
        ],
        "regexp": "https?://(?:www\\.)?arte\\.tv/(fr|de|en|es|it|pl)/videos/([\\w-]+(?:/[\\w-]+)*)/?\\s*$"
      },
      "artetvembed": {
        "name": "artetvembed",
        "type": "free",
        "domains": [
          "arte.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?arte\\.tv/player/v\\d+/index\\.php\\?.*?\\bjson_url=.+"
        ],
        "regexp": "https?://(?:www\\.)?arte\\.tv/player/v\\d+/index\\.php\\?.*?\\bjson_url=.+"
      },
      "artetvplaylist": {
        "name": "artetvplaylist",
        "type": "free",
        "domains": [
          "arte.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?arte\\.tv/(fr|de|en|es|it|pl)/videos/(RC-\\d{6})"
        ],
        "regexp": "https?://(?:www\\.)?arte\\.tv/(fr|de|en|es|it|pl)/videos/(RC-\\d{6})"
      },
      "asobichannel": {
        "name": "asobichannel",
        "type": "free",
        "domains": [
          "asobichannel.asobistore.jp"
        ],
        "regexps": [
          "https?://asobichannel\\.asobistore\\.jp/watch/([\\w-]+)",
          "https?://asobichannel\\.asobistore\\.jp/tag/([a-z0-9-_]+)"
        ],
        "regexp": "(https?://asobichannel\\.asobistore\\.jp/watch/([\\w-]+))|(https?://asobichannel\\.asobistore\\.jp/tag/([a-z0-9-_]+))"
      },
      "asobistage": {
        "name": "asobistage",
        "type": "free",
        "domains": [
          "asobistage.asobistore.jp"
        ],
        "regexps": [
          "https?://asobistage\\.asobistore\\.jp/event/((\\w+)/(archive|player)/(\\w+))(?:[?#]|$)"
        ],
        "regexp": "https?://asobistage\\.asobistore\\.jp/event/((\\w+)/(archive|player)/(\\w+))(?:[?#]|$)"
      },
      "atresplayer": {
        "name": "atresplayer",
        "type": "free",
        "domains": [
          "atresplayer.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?atresplayer\\.com/(?:[^/?#]+/){4}(.+?)_([0-9a-f]{24})"
        ],
        "regexp": "https?://(?:www\\.)?atresplayer\\.com/(?:[^/?#]+/){4}(.+?)_([0-9a-f]{24})"
      },
      "atscaleconfevent": {
        "name": "atscaleconfevent",
        "type": "free",
        "domains": [
          "atscaleconference.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?atscaleconference\\.com/events/([^/&$?]+)"
        ],
        "regexp": "https?://(?:www\\.)?atscaleconference\\.com/events/([^/&$?]+)"
      },
      "atvat": {
        "name": "atvat",
        "type": "free",
        "domains": [
          "atv.at"
        ],
        "regexps": [
          "https?://(?:www\\.)?atv\\.at/tv/(?:[^/]+/){2,3}(.*)"
        ],
        "regexp": "https?://(?:www\\.)?atv\\.at/tv/(?:[^/]+/){2,3}(.*)"
      },
      "audimedia": {
        "name": "audimedia",
        "type": "free",
        "domains": [
          "audi-mediacenter.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?audi-mediacenter\\.com/(?:en|de)/audimediatv/(?:video/)?([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?audi-mediacenter\\.com/(?:en|de)/audimediatv/(?:video/)?([^/?#]+)"
      },
      "audioboom": {
        "name": "audioboom",
        "type": "free",
        "domains": [
          "audioboom.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?audioboom\\.com/(?:boos|posts)/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?audioboom\\.com/(?:boos|posts)/([0-9]+)"
      },
      "audiodraft": {
        "name": "audiodraft",
        "type": "free",
        "domains": [
          "nokiatune.audiodraft.com",
          "vikinggrace.audiodraft.com",
          "timferriss.audiodraft.com",
          "audiodraft.com"
        ],
        "regexps": [
          "https?://(?:[-\\w]+)\\.audiodraft\\.com/entry/(\\d+)",
          "https?://www\\.audiodraft\\.com/contests/[^/#]+#entries&eid=(\\d+)"
        ],
        "regexp": "(https?://(?:[-\\w]+)\\.audiodraft\\.com/entry/(\\d+))|(https?://www\\.audiodraft\\.com/contests/[^/#]+#entries&eid=(\\d+))"
      },
      "audiomack": {
        "name": "audiomack",
        "type": "free",
        "domains": [
          "audiomack.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?audiomack\\.com/(?:album/|(?=.+/album/))([\\w/-]+)",
          "https?://(?:www\\.)?audiomack\\.com/(?:song/|(?=.+/song/))([\\w/-]+)"
        ],
        "regexp": "(https?://(?:www\\.)?audiomack\\.com/(?:album/|(?=.+/album/))([\\w/-]+))|(https?://(?:www\\.)?audiomack\\.com/(?:song/|(?=.+/song/))([\\w/-]+))"
      },
      "audius": {
        "name": "audius",
        "type": "free",
        "domains": [
          "audius.co"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:audius\\.co/([\\w\\d-]+)(?!/album|/playlist)/(\\S+))",
          "https?://(?:www\\.)?audius\\.co/([\\w\\d-]+)/(?:album|playlist)/(\\S+)",
          "https?://(?:www)?audius\\.co/([^\\/]+)/?(?:[?#]|$)",
          "(?:audius:)(?:https?://(?:www\\.)?.+/v1/tracks/)?(\\w+)"
        ],
        "regexp": "(https?://(?:www\\.)?(?:audius\\.co/([\\w\\d-]+)(?!/album|/playlist)/(\\S+)))|(https?://(?:www\\.)?audius\\.co/([\\w\\d-]+)/(?:album|playlist)/(\\S+))|(https?://(?:www)?audius\\.co/([^\\/]+)/?(?:[?#]|$))|((?:audius:)(?:https?://(?:www\\.)?.+/v1/tracks/)?(\\w+))"
      },
      "awaan": {
        "name": "awaan",
        "type": "free",
        "domains": [
          "dcndigital.ae",
          "awaan.ae"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:awaan|dcndigital)\\.ae/(?:#/)?show/(\\d+)/[^/]+(?:/(\\d+)/(\\d+))?",
          "https?://(?:www\\.)?(?:awaan|dcndigital)\\.ae/(?:#/)?live/(\\d+)",
          "https?://(?:www\\.)?(?:awaan|dcndigital)\\.ae/(?:#/)?program/(?:(\\d+)|season/(\\d+))",
          "https?://(?:www\\.)?(?:awaan|dcndigital)\\.ae/(?:#/)?(?:video(?:/[^/]+)?|media|catchup/[^/]+/[^/]+)/(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?(?:awaan|dcndigital)\\.ae/(?:#/)?show/(\\d+)/[^/]+(?:/(\\d+)/(\\d+))?)|(https?://(?:www\\.)?(?:awaan|dcndigital)\\.ae/(?:#/)?live/(\\d+))|(https?://(?:www\\.)?(?:awaan|dcndigital)\\.ae/(?:#/)?program/(?:(\\d+)|season/(\\d+)))|(https?://(?:www\\.)?(?:awaan|dcndigital)\\.ae/(?:#/)?(?:video(?:/[^/]+)?|media|catchup/[^/]+/[^/]+)/(\\d+))"
      },
      "axs.tv": {
        "name": "axs.tv",
        "type": "free",
        "domains": [
          "axs.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?axs\\.tv/(?:channel/(?:[^/?#]+/)+)?video/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?axs\\.tv/(?:channel/(?:[^/?#]+/)+)?video/([^/?#]+)"
      },
      "azmedien": {
        "name": "azmedien",
        "type": "free",
        "domains": [
          "tv.telezueri.ch",
          "telebaern.tv"
        ],
        "regexps": [
          "https?://(?:www\\.|tv\\.)?(?:telezueri\\.ch|telebaern\\.tv|telem1\\.ch|tvo-online\\.ch)/[^/?#]+/([^/?#]+-\\d+)(?:\\#video=([_0-9a-z]+))?"
        ],
        "regexp": "https?://(?:www\\.|tv\\.)?(?:telezueri\\.ch|telebaern\\.tv|telem1\\.ch|tvo-online\\.ch)/[^/?#]+/([^/?#]+-\\d+)(?:\\#video=([_0-9a-z]+))?"
      },
      "baiduvideo": {
        "name": "baiduvideo",
        "type": "free",
        "domains": [
          "v.baidu.com"
        ],
        "regexps": [
          "https?://v\\.baidu\\.com/([a-z]+)/(\\d+)\\.htm"
        ],
        "regexp": "https?://v\\.baidu\\.com/([a-z]+)/(\\d+)\\.htm"
      },
      "banbye": {
        "name": "banbye",
        "type": "free",
        "domains": [
          "banbye.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?banbye\\.com/(?:en/)?watch/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?banbye\\.com/(?:en/)?watch/([\\w-]+)"
      },
      "banbyechannel": {
        "name": "banbyechannel",
        "type": "free",
        "domains": [
          "banbye.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?banbye\\.com/(?:en/)?channel/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?banbye\\.com/(?:en/)?channel/(\\w+)"
      },
      "bandcamp": {
        "name": "bandcamp",
        "type": "free",
        "domains": [
          "blazo.bandcamp.com",
          "nightbringer.bandcamp.com",
          "jstrecords.bandcamp.com",
          "insulters.bandcamp.com",
          "youtube-dl.bandcamp.com",
          "benprunty.bandcamp.com",
          "relapsealumni.bandcamp.com",
          "diskotopia.bandcamp.com",
          "adrianvonziegler.bandcamp.com",
          "dotscale.bandcamp.com",
          "nightcallofficial.bandcamp.com",
          "steviasphere.bandcamp.com",
          "coldworldofficial.bandcamp.com",
          "nuclearwarnowproductions.bandcamp.com",
          "bandcamp.com"
        ],
        "regexps": [
          "https?://(?:([^.]+)\\.)?bandcamp\\.com/album/([^/?#&]+)",
          "https?://([^/]+)\\.bandcamp\\.com/track/([^/?#&]+)",
          "https?://(?!www\\.)([^.]+)\\.bandcamp\\.com(?:/music)?/?(?:[#?]|$)",
          "https?://(?:www\\.)?bandcamp\\.com/radio/?\\?(?:[^#]+&)?show=(\\d+)"
        ],
        "regexp": "(https?://(?:([^.]+)\\.)?bandcamp\\.com/album/([^/?#&]+))|(https?://([^/]+)\\.bandcamp\\.com/track/([^/?#&]+))|(https?://(?!www\\.)([^.]+)\\.bandcamp\\.com(?:/music)?/?(?:[#?]|$))|(https?://(?:www\\.)?bandcamp\\.com/radio/?\\?(?:[^#]+&)?show=(\\d+))"
      },
      "bandlab": {
        "name": "bandlab",
        "type": "free",
        "domains": [
          "bandlab.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bandlab.com/(track|post|revision)/([\\da-f_-]+)",
          "https?://(?:www\\.)?bandlab.com/(embed)/\\?(?:[^#]*&)?id=([\\da-f-]+)"
        ],
        "regexp": "(https?://(?:www\\.)?bandlab.com/(track|post|revision)/([\\da-f_-]+))|(https?://(?:www\\.)?bandlab.com/(embed)/\\?(?:[^#]*&)?id=([\\da-f-]+))"
      },
      "bandlabplaylist": {
        "name": "bandlabplaylist",
        "type": "free",
        "domains": [
          "bandlab.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bandlab.com/(?:[\\w]+/)?(albums|collections)/([\\da-f-]+)",
          "https?://(?:www\\.)?bandlab.com/(embed)/collection/\\?(?:[^#]*&)?id=([\\da-f-]+)"
        ],
        "regexp": "(https?://(?:www\\.)?bandlab.com/(?:[\\w]+/)?(albums|collections)/([\\da-f-]+))|(https?://(?:www\\.)?bandlab.com/(embed)/collection/\\?(?:[^#]*&)?id=([\\da-f-]+))"
      },
      "bannedvideo": {
        "name": "bannedvideo",
        "type": "free",
        "domains": [
          "banned.video"
        ],
        "regexps": [
          "https?://(?:www\\.)?banned\\.video/watch\\?id=([0-f]{24})"
        ],
        "regexp": "https?://(?:www\\.)?banned\\.video/watch\\?id=([0-f]{24})"
      },
      "bbc": {
        "name": "bbc",
        "type": "free",
        "domains": [
          "bbc.com",
          "bbc.co.uk",
          "bbcnewsd73hkzno2ini43t4gblxvycyac5aw4gnv7t2rccijh7745uqd.onion",
          "bbcweb3hytmzhn5d532owbu6oqadra5z3ar726vq5kgwwn6aucdccrad.onion"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:bbc\\.(?:com|co\\.uk)|bbcnewsd73hkzno2ini43t4gblxvycyac5aw4gnv7t2rccijh7745uqd\\.onion|bbcweb3hytmzhn5d532owbu6oqadra5z3ar726vq5kgwwn6aucdccrad\\.onion)/(?:[^/]+/)+([^/#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:bbc\\.(?:com|co\\.uk)|bbcnewsd73hkzno2ini43t4gblxvycyac5aw4gnv7t2rccijh7745uqd\\.onion|bbcweb3hytmzhn5d532owbu6oqadra5z3ar726vq5kgwwn6aucdccrad\\.onion)/(?:[^/]+/)+([^/#?]+)"
      },
      "bbc.co.uk": {
        "name": "bbc.co.uk",
        "type": "free",
        "domains": [
          "bbc.co.uk"
        ],
        "regexps": [
          "https?://(?:www\\.)?bbc\\.co\\.uk/programmes/articles/([a-zA-Z0-9]+)",
          "https?://(?:www\\.)?bbc\\.co\\.uk/(?:programmes/(?!articles/)|iplayer(?:/[^/]+)?/(?:episode/|playlist/)|music/(?:clips|audiovideo/popular)[/#]|radio/player/|events/[^/]+/play/[^/]+/)((?:[pbml][\\da-z]{7}|w[\\da-z]{7,14}))(?!/(?:episodes|broadcasts|clips))",
          "https?://(?:www\\.)?bbc\\.co\\.uk/iplayer/episodes/((?:[pbml][\\da-z]{7}|w[\\da-z]{7,14}))",
          "https?://(?:www\\.)?bbc\\.co\\.uk/iplayer/group/((?:[pbml][\\da-z]{7}|w[\\da-z]{7,14}))",
          "https?://(?:www\\.)?bbc\\.co\\.uk/programmes/((?:[pbml][\\da-z]{7}|w[\\da-z]{7,14}))/(?:episodes|broadcasts|clips)"
        ],
        "regexp": "(https?://(?:www\\.)?bbc\\.co\\.uk/programmes/articles/([a-zA-Z0-9]+))|(https?://(?:www\\.)?bbc\\.co\\.uk/(?:programmes/(?!articles/)|iplayer(?:/[^/]+)?/(?:episode/|playlist/)|music/(?:clips|audiovideo/popular)[/#]|radio/player/|events/[^/]+/play/[^/]+/)((?:[pbml][\\da-z]{7}|w[\\da-z]{7,14}))(?!/(?:episodes|broadcasts|clips)))|(https?://(?:www\\.)?bbc\\.co\\.uk/iplayer/episodes/((?:[pbml][\\da-z]{7}|w[\\da-z]{7,14})))|(https?://(?:www\\.)?bbc\\.co\\.uk/iplayer/group/((?:[pbml][\\da-z]{7}|w[\\da-z]{7,14})))|(https?://(?:www\\.)?bbc\\.co\\.uk/programmes/((?:[pbml][\\da-z]{7}|w[\\da-z]{7,14}))/(?:episodes|broadcasts|clips))"
      },
      "bbvtv": {
        "name": "bbvtv",
        "type": "free",
        "domains": [
          "bbv-tv.net"
        ],
        "regexps": [
          "https?://(?:www\\.)?bbv\\-tv\\.net/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?bbv\\-tv\\.net/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "bbvtvlive": {
        "name": "bbvtvlive",
        "type": "free",
        "domains": [
          "bbv-tv.net"
        ],
        "regexps": [
          "https?://(?:www\\.)?bbv\\-tv\\.net/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?bbv\\-tv\\.net/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "bbvtvrecordings": {
        "name": "bbvtvrecordings",
        "type": "free",
        "domains": [
          "bbv-tv.net"
        ],
        "regexps": [
          "https?://(?:www\\.)?bbv\\-tv\\.net/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?bbv\\-tv\\.net/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "beacontv": {
        "name": "beacontv",
        "type": "free",
        "domains": [
          "beacon.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?beacon\\.tv/content/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?beacon\\.tv/content/([\\w-]+)"
      },
      "beatbumpplaylist": {
        "name": "beatbumpplaylist",
        "type": "free",
        "domains": [
          "beatbump.ml",
          "beatbump.io"
        ],
        "regexps": [
          "https?://beatbump\\.(?:ml|io)/(?:release\\?id=|artist/|playlist/)([\\w-]+)"
        ],
        "regexp": "https?://beatbump\\.(?:ml|io)/(?:release\\?id=|artist/|playlist/)([\\w-]+)"
      },
      "beatbumpvideo": {
        "name": "beatbumpvideo",
        "type": "free",
        "domains": [
          "beatbump.ml",
          "beatbump.io"
        ],
        "regexps": [
          "https?://beatbump\\.(?:ml|io)/listen\\?id=([\\w-]+)"
        ],
        "regexp": "https?://beatbump\\.(?:ml|io)/listen\\?id=([\\w-]+)"
      },
      "beatport": {
        "name": "beatport",
        "type": "free",
        "domains": [
          "beatport.com"
        ],
        "regexps": [
          "https?://(?:www\\.|pro\\.)?beatport\\.com/track/([^/]+)/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.|pro\\.)?beatport\\.com/track/([^/]+)/([0-9]+)"
      },
      "beeg": {
        "name": "beeg",
        "type": "free",
        "domains": [
          "beeg.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?beeg\\.(?:com(?:/video)?)/-?(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?beeg\\.(?:com(?:/video)?)/-?(\\d+)"
      },
      "behindkink": {
        "name": "behindkink",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?behindkink\\.com/([0-9]{4})/([0-9]{2})/([0-9]{2})/([^/#?_]+)"
        ],
        "regexp": "https?://(?:www\\.)?behindkink\\.com/([0-9]{4})/([0-9]{2})/([0-9]{2})/([^/#?_]+)"
      },
      "berufetv": {
        "name": "berufetv",
        "type": "free",
        "domains": [
          "web.arbeitsagentur.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?web\\.arbeitsagentur\\.de/berufetv/[^?#]+/film;filmId=([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?web\\.arbeitsagentur\\.de/berufetv/[^?#]+/film;filmId=([\\w-]+)"
      },
      "bet": {
        "name": "bet",
        "type": "free",
        "domains": [
          "bet.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bet\\.com/(?:video-clips|episodes)/([\\da-z]{6})"
        ],
        "regexp": "https?://(?:www\\.)?bet\\.com/(?:video-clips|episodes)/([\\da-z]{6})"
      },
      "bfi": {
        "name": "bfi",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://player\\.bfi\\.org\\.uk/[^/]+/film/watch-([\\w-]+)-online"
        ],
        "regexp": "https?://player\\.bfi\\.org\\.uk/[^/]+/film/watch-([\\w-]+)-online"
      },
      "bfmtv": {
        "name": "bfmtv",
        "type": "free",
        "domains": [
          "bfmtv.com",
          "rmc.bfmtv.com"
        ],
        "regexps": [
          "https?://(?:www\\.|rmc\\.)?bfmtv\\.com/(?:[^/]+/)*[^/?&#]+_A[A-Z]-(\\d{12})\\.html",
          "https?://(?:www\\.|rmc\\.)?bfmtv\\.com/(?:[^/]+/)*[^/?&#]+_V[A-Z]-(\\d{12})\\.html",
          "https?://(?:www\\.|rmc\\.)?bfmtv\\.com/((?:[^/]+/)?en-direct)"
        ],
        "regexp": "(https?://(?:www\\.|rmc\\.)?bfmtv\\.com/(?:[^/]+/)*[^/?&#]+_A[A-Z]-(\\d{12})\\.html)|(https?://(?:www\\.|rmc\\.)?bfmtv\\.com/(?:[^/]+/)*[^/?&#]+_V[A-Z]-(\\d{12})\\.html)|(https?://(?:www\\.|rmc\\.)?bfmtv\\.com/((?:[^/]+/)?en-direct))"
      },
      "bibeltv": {
        "name": "bibeltv",
        "type": "free",
        "domains": [
          "bibeltv.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?bibeltv\\.de/livestreams/([\\w-]+)",
          "https?://(?:www\\.)?bibeltv\\.de/mediathek/serien/(\\d+)[\\w-]+",
          "https?://(?:www\\.)?bibeltv\\.de/mediathek/videos/(\\d+)[\\w-]+"
        ],
        "regexp": "(https?://(?:www\\.)?bibeltv\\.de/livestreams/([\\w-]+))|(https?://(?:www\\.)?bibeltv\\.de/mediathek/serien/(\\d+)[\\w-]+)|(https?://(?:www\\.)?bibeltv\\.de/mediathek/videos/(\\d+)[\\w-]+)"
      },
      "bigflix": {
        "name": "bigflix",
        "type": "free",
        "domains": [
          "bigflix.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bigflix\\.com/.+/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?bigflix\\.com/.+/([0-9]+)"
      },
      "bigo": {
        "name": "bigo",
        "type": "free",
        "domains": [
          "bigo.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?bigo\\.tv/(?:[a-z]{2,}/)?([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?bigo\\.tv/(?:[a-z]{2,}/)?([^/]+)"
      },
      "bild": {
        "name": "bild",
        "type": "free",
        "domains": [
          "bild.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?bild\\.de/(?:[^/]+/)+([^/]+)-(\\d+)(?:,auto=true)?\\.bild\\.html"
        ],
        "regexp": "https?://(?:www\\.)?bild\\.de/(?:[^/]+/)+([^/]+)-(\\d+)(?:,auto=true)?\\.bild\\.html"
      },
      "bilibili": {
        "name": "bilibili",
        "type": "free",
        "domains": [
          "bilibili.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bilibili\\.com/(?:video/|festival/[^/?#]+\\?(?:[^#]*&)?bvid=)([aAbB][vV])([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?bilibili\\.com/(?:video/|festival/[^/?#]+\\?(?:[^#]*&)?bvid=)([aAbB][vV])([^/?#&]+)"
      },
      "bilibiliaudio": {
        "name": "bilibiliaudio",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?bilibili\\.com/audio/au(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?bilibili\\.com/audio/au(\\d+)"
      },
      "bilibiliaudioalbum": {
        "name": "bilibiliaudioalbum",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?bilibili\\.com/audio/am(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?bilibili\\.com/audio/am(\\d+)"
      },
      "bilibilibangumi": {
        "name": "bilibilibangumi",
        "type": "free",
        "domains": [
          "bilibili.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bilibili\\.com/bangumi/play/ep(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?bilibili\\.com/bangumi/play/ep(\\d+)"
      },
      "bilibilibangumimedia": {
        "name": "bilibilibangumimedia",
        "type": "free",
        "domains": [
          "bilibili.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bilibili\\.com/bangumi/media/md(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?bilibili\\.com/bangumi/media/md(\\d+)"
      },
      "bilibilibangumiseason": {
        "name": "bilibilibangumiseason",
        "type": "free",
        "domains": [
          "bilibili.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bilibili\\.com/bangumi/play/ss(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?bilibili\\.com/bangumi/play/ss(\\d+)"
      },
      "bilibili category extractor": {
        "name": "bilibili category extractor",
        "type": "free",
        "domains": [
          "bilibili.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bilibili\\.com/v/[a-zA-Z]+\\/[a-zA-Z]+"
        ],
        "regexp": "https?://(?:www\\.)?bilibili\\.com/v/[a-zA-Z]+\\/[a-zA-Z]+"
      },
      "bilibilicheese": {
        "name": "bilibilicheese",
        "type": "free",
        "domains": [
          "bilibili.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bilibili\\.com/cheese/play/ep(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?bilibili\\.com/cheese/play/ep(\\d+)"
      },
      "bilibilicheeseseason": {
        "name": "bilibilicheeseseason",
        "type": "free",
        "domains": [
          "bilibili.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bilibili\\.com/cheese/play/ss(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?bilibili\\.com/cheese/play/ss(\\d+)"
      },
      "bilibilicollectionlist": {
        "name": "bilibilicollectionlist",
        "type": "free",
        "domains": [
          "space.bilibili.com"
        ],
        "regexps": [
          "https?://space\\.bilibili\\.com/(\\d+)/channel/collectiondetail/?\\?sid=(\\d+)",
          "https?://space\\.bilibili\\.com/(\\d+)/lists/(\\d+)"
        ],
        "regexp": "(https?://space\\.bilibili\\.com/(\\d+)/channel/collectiondetail/?\\?sid=(\\d+))|(https?://space\\.bilibili\\.com/(\\d+)/lists/(\\d+))"
      },
      "bilibilidynamic": {
        "name": "bilibilidynamic",
        "type": "free",
        "domains": [
          "t.bilibili.com"
        ],
        "regexps": [
          "https?://(?:t\\.bilibili\\.com|(?:www\\.)?bilibili\\.com/opus)/(\\d+)"
        ],
        "regexp": "https?://(?:t\\.bilibili\\.com|(?:www\\.)?bilibili\\.com/opus)/(\\d+)"
      },
      "bilibilifavoriteslist": {
        "name": "bilibilifavoriteslist",
        "type": "free",
        "domains": [
          "space.bilibili.com",
          "bilibili.com"
        ],
        "regexps": [
          "https?://(?:space\\.bilibili\\.com/\\d+/favlist/?\\?fid=|(?:www\\.)?bilibili\\.com/medialist/detail/ml)(\\d+)"
        ],
        "regexp": "https?://(?:space\\.bilibili\\.com/\\d+/favlist/?\\?fid=|(?:www\\.)?bilibili\\.com/medialist/detail/ml)(\\d+)"
      },
      "bilibiliplayer": {
        "name": "bilibiliplayer",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://player\\.bilibili\\.com/player\\.html\\?.*?\\baid=(\\d+)"
        ],
        "regexp": "https?://player\\.bilibili\\.com/player\\.html\\?.*?\\baid=(\\d+)"
      },
      "bilibiliplaylist": {
        "name": "bilibiliplaylist",
        "type": "free",
        "domains": [
          "bilibili.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bilibili\\.com/(?:medialist/play|list)/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?bilibili\\.com/(?:medialist/play|list)/(\\w+)"
      },
      "bilibilisearch": {
        "name": "bilibilisearch",
        "type": "free",
        "domains": [],
        "regexps": [
          "bilisearch(|[1-9][0-9]*|all):([\\s\\S]+)"
        ],
        "regexp": "bilisearch(|[1-9][0-9]*|all):([\\s\\S]+)"
      },
      "bilibiliserieslist": {
        "name": "bilibiliserieslist",
        "type": "free",
        "domains": [
          "space.bilibili.com"
        ],
        "regexps": [
          "https?://space\\.bilibili\\.com/(\\d+)/channel/seriesdetail/?\\?\\bsid=(\\d+)",
          "https?://space\\.bilibili\\.com/(\\d+)/lists/(\\d+)/?\\?(?:[^#]+&)?type=series(?:[&#]|$)"
        ],
        "regexp": "(https?://space\\.bilibili\\.com/(\\d+)/channel/seriesdetail/?\\?\\bsid=(\\d+))|(https?://space\\.bilibili\\.com/(\\d+)/lists/(\\d+)/?\\?(?:[^#]+&)?type=series(?:[&#]|$))"
      },
      "bilibilispaceaudio": {
        "name": "bilibilispaceaudio",
        "type": "free",
        "domains": [
          "space.bilibili.com"
        ],
        "regexps": [
          "https?://space\\.bilibili\\.com/(\\d+)/(?:upload/)?audio"
        ],
        "regexp": "https?://space\\.bilibili\\.com/(\\d+)/(?:upload/)?audio"
      },
      "bilibilispacevideo": {
        "name": "bilibilispacevideo",
        "type": "free",
        "domains": [
          "space.bilibili.com"
        ],
        "regexps": [
          "https?://space\\.bilibili\\.com/(\\d+)((?:/upload)?/video)?/?(?:[?#]|$)"
        ],
        "regexp": "https?://space\\.bilibili\\.com/(\\d+)((?:/upload)?/video)?/?(?:[?#]|$)"
      },
      "bilibiliwatchlater": {
        "name": "bilibiliwatchlater",
        "type": "free",
        "domains": [
          "bilibili.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bilibili\\.com/watchlater/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:www\\.)?bilibili\\.com/watchlater/?(?:[?#]|$)"
      },
      "biliintl": {
        "name": "biliintl",
        "type": "free",
        "domains": [
          "bilibili.tv",
          "biliintl.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bili(?:bili\\.tv|intl\\.com)/(?:[a-zA-Z]{2}/)?(play/(\\d+)/(\\d+)|video/(\\d+))",
          "https?://(?:www\\.)?bili(?:bili\\.tv|intl\\.com)/(?:[a-zA-Z]{2}/)?(?:play|media)/(\\d+)/?(?:[?#]|$)"
        ],
        "regexp": "(https?://(?:www\\.)?bili(?:bili\\.tv|intl\\.com)/(?:[a-zA-Z]{2}/)?(play/(\\d+)/(\\d+)|video/(\\d+)))|(https?://(?:www\\.)?bili(?:bili\\.tv|intl\\.com)/(?:[a-zA-Z]{2}/)?(?:play|media)/(\\d+)/?(?:[?#]|$))"
      },
      "bililive": {
        "name": "bililive",
        "type": "free",
        "domains": [
          "live.bilibili.com"
        ],
        "regexps": [
          "https?://live\\.bilibili\\.com/(?:blanc/)?(\\d+)"
        ],
        "regexp": "https?://live\\.bilibili\\.com/(?:blanc/)?(\\d+)"
      },
      "biobiochiletv": {
        "name": "biobiochiletv",
        "type": "free",
        "domains": [
          "tv.biobiochile.cl",
          "biobiochile.cl"
        ],
        "regexps": [
          "https?://(?:tv|www)\\.biobiochile\\.cl/(?:notas|noticias)/(?:[^/]+/)+([^/]+)\\.shtml"
        ],
        "regexp": "https?://(?:tv|www)\\.biobiochile\\.cl/(?:notas|noticias)/(?:[^/]+/)+([^/]+)\\.shtml"
      },
      "biography": {
        "name": "biography",
        "type": "free",
        "domains": [
          "biography.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?biography\\.com/video/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?biography\\.com/video/([^/?#&]+)"
      },
      "bitchute": {
        "name": "bitchute",
        "type": "free",
        "domains": [
          "bitchute.com",
          "old.bitchute.com"
        ],
        "regexps": [
          "https?://(?:(?:www|old)\\.)?bitchute\\.com/(?:video|embed|torrent/[^/?#]+)/([^/?#&]+)"
        ],
        "regexp": "https?://(?:(?:www|old)\\.)?bitchute\\.com/(?:video|embed|torrent/[^/?#]+)/([^/?#&]+)"
      },
      "bitchutechannel": {
        "name": "bitchutechannel",
        "type": "free",
        "domains": [
          "bitchute.com",
          "old.bitchute.com"
        ],
        "regexps": [
          "https?://(?:(?:www|old)\\.)?bitchute\\.com/(channel|playlist)/([^/?#&]+)"
        ],
        "regexp": "https?://(?:(?:www|old)\\.)?bitchute\\.com/(channel|playlist)/([^/?#&]+)"
      },
      "bitmovin": {
        "name": "bitmovin",
        "type": "free",
        "domains": [
          "streams.bitmovin.com"
        ],
        "regexps": [
          "https?://streams\\.bitmovin\\.com/(\\w+)"
        ],
        "regexp": "https?://streams\\.bitmovin\\.com/(\\w+)"
      },
      "blackboardcollaborate": {
        "name": "blackboardcollaborate",
        "type": "free",
        "domains": [
          "us-lti.bbcollab.com",
          "eu.bbcollab.com",
          "us.bbcollab.com",
          "ca.bbcollab.com",
          "au.bbcollab.com"
        ],
        "regexps": [
          "https?://([a-z]+)(?:-lti)?\\.bbcollab\\.com/(?:collab/ui/session/playback/load|recording)/([^/?#]+)"
        ],
        "regexp": "https?://([a-z]+)(?:-lti)?\\.bbcollab\\.com/(?:collab/ui/session/playback/load|recording)/([^/?#]+)"
      },
      "blackboardcollaboratelaunch": {
        "name": "blackboardcollaboratelaunch",
        "type": "free",
        "domains": [
          "au.bbcollab.com",
          "us.bbcollab.com",
          "eu.bbcollab.com"
        ],
        "regexps": [
          "https?://[a-z]+\\.bbcollab\\.com/launch/([^/?#]+)"
        ],
        "regexp": "https?://[a-z]+\\.bbcollab\\.com/launch/([^/?#]+)"
      },
      "bleacherreport": {
        "name": "bleacherreport",
        "type": "free",
        "domains": [
          "bleacherreport.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bleacherreport\\.com/articles/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?bleacherreport\\.com/articles/(\\d+)"
      },
      "bleacherreportcms": {
        "name": "bleacherreportcms",
        "type": "free",
        "domains": [
          "bleacherreport.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bleacherreport\\.com/video_embed\\?id=([0-9a-f-]{36}|\\d{5})"
        ],
        "regexp": "https?://(?:www\\.)?bleacherreport\\.com/video_embed\\?id=([0-9a-f-]{36}|\\d{5})"
      },
      "blerp": {
        "name": "blerp",
        "type": "free",
        "domains": [
          "blerp.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?blerp\\.com/soundbites/([0-9a-zA-Z]+)"
        ],
        "regexp": "https?://(?:www\\.)?blerp\\.com/soundbites/([0-9a-zA-Z]+)"
      },
      "blogger.com": {
        "name": "blogger.com",
        "type": "free",
        "domains": [
          "blogger.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?blogger\\.com/video\\.g\\?token=(.+)"
        ],
        "regexp": "https?://(?:www\\.)?blogger\\.com/video\\.g\\?token=(.+)"
      },
      "bloomberg": {
        "name": "bloomberg",
        "type": "free",
        "domains": [
          "bloomberg.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bloomberg\\.com/(?:[^/]+/)*([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?bloomberg\\.com/(?:[^/]+/)*([^/?#]+)"
      },
      "bluesky": {
        "name": "bluesky",
        "type": "free",
        "domains": [
          "bsky.app",
          "main.bsky.dev"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:bsky\\.app|main\\.bsky\\.dev)/profile/([\\w.:%-]+)/post/(\\w+)",
          "at://([\\w.:%-]+)/app\\.bsky\\.feed\\.post/(\\w+)"
        ],
        "regexp": "(https?://(?:www\\.)?(?:bsky\\.app|main\\.bsky\\.dev)/profile/([\\w.:%-]+)/post/(\\w+))|(at://([\\w.:%-]+)/app\\.bsky\\.feed\\.post/(\\w+))"
      },
      "bokecc": {
        "name": "bokecc",
        "type": "free",
        "domains": [
          "union.bokecc.com"
        ],
        "regexps": [
          "https?://union\\.bokecc\\.com/playvideo\\.bo\\?(.*)"
        ],
        "regexp": "https?://union\\.bokecc\\.com/playvideo\\.bo\\?(.*)"
      },
      "bongacams": {
        "name": "bongacams",
        "type": "free",
        "domains": [
          "de.bongacams.com",
          "cn.bongacams.com",
          "de.bongacams.net"
        ],
        "regexps": [
          "https?://((?:[^/]+\\.)?bongacams\\d*\\.(?:com|net))/([^/?&#]+)"
        ],
        "regexp": "https?://((?:[^/]+\\.)?bongacams\\d*\\.(?:com|net))/([^/?&#]+)"
      },
      "boosty": {
        "name": "boosty",
        "type": "free",
        "domains": [
          "boosty.to"
        ],
        "regexps": [
          "https?://(?:www\\.)?boosty\\.to/([^/#?]+)/posts/([^/#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?boosty\\.to/([^/#?]+)/posts/([^/#?]+)"
      },
      "bostonglobe": {
        "name": "bostonglobe",
        "type": "free",
        "domains": [
          "bostonglobe.com"
        ],
        "regexps": [
          "(?i)https?://(?:www\\.)?bostonglobe\\.com/.*/([^/]+)/\\w+(?:\\.html)?"
        ],
        "regexp": "(?i)https?://(?:www\\.)?bostonglobe\\.com/.*/([^/]+)/\\w+(?:\\.html)?"
      },
      "box": {
        "name": "box",
        "type": "free",
        "domains": [
          "mlssoccer.app.box.com",
          "utexas.app.box.com",
          "thejacksonlaboratory.ent.box.com"
        ],
        "regexps": [
          "https?://(?:[^.]+\\.)?(app|ent)\\.box\\.com/s/([^/?#]+)(?:/file/(\\d+))?"
        ],
        "regexp": "https?://(?:[^.]+\\.)?(app|ent)\\.box\\.com/s/([^/?#]+)(?:/file/(\\d+))?"
      },
      "boxcastvideo": {
        "name": "boxcastvideo",
        "type": "free",
        "domains": [
          "boxcast.tv"
        ],
        "regexps": [
          "https?://boxcast\\.tv/(?:view-embed/|channel/\\w+\\?(?:[^#]+&)?b=|video-portal/(?:\\w+/){2})([\\w-]+)"
        ],
        "regexp": "https?://boxcast\\.tv/(?:view-embed/|channel/\\w+\\?(?:[^#]+&)?b=|video-portal/(?:\\w+/){2})([\\w-]+)"
      },
      "bpb": {
        "name": "bpb",
        "type": "free",
        "domains": [
          "bpb.de"
        ],
        "regexps": [
          "https?://(?:www\\.|m\\.)?bpb\\.de/(?:[^/?#]+/)*(\\d+)(?:[/?#]|$)"
        ],
        "regexp": "https?://(?:www\\.|m\\.)?bpb\\.de/(?:[^/?#]+/)*(\\d+)(?:[/?#]|$)"
      },
      "br": {
        "name": "br",
        "type": "free",
        "domains": [
          "br.de",
          "br-klassik.de"
        ],
        "regexps": [
          "(https?://(?:www\\.)?br(?:-klassik)?\\.de)/(?:[a-z0-9\\-_]+/)+([a-z0-9\\-_]+)\\.html"
        ],
        "regexp": "(https?://(?:www\\.)?br(?:-klassik)?\\.de)/(?:[a-z0-9\\-_]+/)+([a-z0-9\\-_]+)\\.html"
      },
      "brainpop": {
        "name": "brainpop",
        "type": "free",
        "domains": [
          "brainpop.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
        ],
        "regexp": "https?://(?:www\\.)?brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
      },
      "brainpopell": {
        "name": "brainpopell",
        "type": "free",
        "domains": [
          "ell.brainpop.com"
        ],
        "regexps": [
          "https?://ell\\.brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
        ],
        "regexp": "https?://ell\\.brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
      },
      "brainpopesp": {
        "name": "brainpopesp",
        "type": "free",
        "domains": [
          "esp.brainpop.com"
        ],
        "regexps": [
          "https?://esp\\.brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
        ],
        "regexp": "https?://esp\\.brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
      },
      "brainpopfr": {
        "name": "brainpopfr",
        "type": "free",
        "domains": [
          "fr.brainpop.com"
        ],
        "regexps": [
          "https?://fr\\.brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
        ],
        "regexp": "https?://fr\\.brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
      },
      "brainpopil": {
        "name": "brainpopil",
        "type": "free",
        "domains": [
          "il.brainpop.com"
        ],
        "regexps": [
          "https?://il\\.brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
        ],
        "regexp": "https?://il\\.brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
      },
      "brainpopjr": {
        "name": "brainpopjr",
        "type": "free",
        "domains": [
          "jr.brainpop.com"
        ],
        "regexps": [
          "https?://jr\\.brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
        ],
        "regexp": "https?://jr\\.brainpop\\.com/([^/]+/[^/]+/([^/?#&]+))"
      },
      "bravotv": {
        "name": "bravotv",
        "type": "free",
        "domains": [
          "bravotv.com",
          "oxygen.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:bravotv|oxygen)\\.com/(?:[^/?#]+/)+([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:bravotv|oxygen)\\.com/(?:[^/?#]+/)+([^/?#]+)"
      },
      "breitbart": {
        "name": "breitbart",
        "type": "free",
        "domains": [
          "breitbart.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?breitbart\\.com/videos/v/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?breitbart\\.com/videos/v/([^/?#]+)"
      },
      "brightcove": {
        "name": "brightcove",
        "type": "free",
        "domains": [
          "c.brightcove.com",
          "link.brightcove.com",
          "players.brightcove.net"
        ],
        "regexps": [
          "(?:https?://.*brightcove\\.com/(services|viewer).*?\\?|brightcove:)(.*)",
          "https?://players\\.brightcove\\.net/(\\d+)/([^/]+)_([^/]+)/index\\.html\\?.*(video|playlist)Id=(\\d+|ref:[^&]+)"
        ],
        "regexp": "((?:https?://.*brightcove\\.com/(services|viewer).*?\\?|brightcove:)(.*))|(https?://players\\.brightcove\\.net/(\\d+)/([^/]+)_([^/]+)/index\\.html\\?.*(video|playlist)Id=(\\d+|ref:[^&]+))"
      },
      "brilliantpala": {
        "name": "brilliantpala",
        "type": "free",
        "domains": [
          "classes.brilliantpala.org",
          "elearn.brilliantpala.org"
        ],
        "regexps": [
          "https?://classes\\.brilliantpala\\.org/courses/(\\d+)/contents/(\\d+)/?",
          "https?://elearn\\.brilliantpala\\.org/courses/(\\d+)/contents/(\\d+)/?"
        ],
        "regexp": "(https?://classes\\.brilliantpala\\.org/courses/(\\d+)/contents/(\\d+)/?)|(https?://elearn\\.brilliantpala\\.org/courses/(\\d+)/contents/(\\d+)/?)"
      },
      "bt": {
        "name": "bt",
        "type": "free",
        "domains": [
          "bt.no"
        ],
        "regexps": [
          "https?://(?:www\\.)?bt\\.no/(?:[^/]+/)+([^/]+)-\\d+\\.html",
          "https?://(?:www\\.)?bt\\.no/spesial/vestlendingen/#!/(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?bt\\.no/(?:[^/]+/)+([^/]+)-\\d+\\.html)|(https?://(?:www\\.)?bt\\.no/spesial/vestlendingen/#!/(\\d+))"
      },
      "btvplus": {
        "name": "btvplus",
        "type": "free",
        "domains": [
          "btvplus.bg"
        ],
        "regexps": [
          "https?://(?:www\\.)?btvplus\\.bg/produkt/(?:predavaniya|seriali|novini)/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?btvplus\\.bg/produkt/(?:predavaniya|seriali|novini)/(\\d+)"
      },
      "bundesliga": {
        "name": "bundesliga",
        "type": "free",
        "domains": [
          "bundesliga.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?bundesliga\\.com/[a-z]{2}/bundesliga/videos(?:/[^?]+)?\\?vid=([a-zA-Z0-9]{8})"
        ],
        "regexp": "https?://(?:www\\.)?bundesliga\\.com/[a-z]{2}/bundesliga/videos(?:/[^?]+)?\\?vid=([a-zA-Z0-9]{8})"
      },
      "bundestag": {
        "name": "bundestag",
        "type": "free",
        "domains": [
          "dbtg.tv",
          "bundestag.de"
        ],
        "regexps": [
          "https?://dbtg\\.tv/[cf]vid/(\\d+)",
          "https?://www\\.bundestag\\.de/mediathek/?\\?(?:[^#]+&)?videoid=(\\d+)"
        ],
        "regexp": "(https?://dbtg\\.tv/[cf]vid/(\\d+))|(https?://www\\.bundestag\\.de/mediathek/?\\?(?:[^#]+&)?videoid=(\\d+))"
      },
      "bunnycdn": {
        "name": "bunnycdn",
        "type": "free",
        "domains": [
          "iframe.mediadelivery.net",
          "player.mediadelivery.net"
        ],
        "regexps": [
          "https?://(?:(?:iframe|player)\\.mediadelivery\\.net|video\\.bunnycdn\\.com)/(?:embed|play)/(\\d+)/([\\da-f-]+)"
        ],
        "regexp": "https?://(?:(?:iframe|player)\\.mediadelivery\\.net|video\\.bunnycdn\\.com)/(?:embed|play)/(\\d+)/([\\da-f-]+)"
      },
      "businessinsider": {
        "name": "businessinsider",
        "type": "free",
        "domains": [
          "uk.businessinsider.com",
          "businessinsider.nl",
          "businessinsider.com"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?businessinsider\\.(?:com|nl)/(?:[^/]+/)*([^/?#&]+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?businessinsider\\.(?:com|nl)/(?:[^/]+/)*([^/?#&]+)"
      },
      "buzzfeed": {
        "name": "buzzfeed",
        "type": "free",
        "domains": [
          "buzzfeed.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?buzzfeed\\.com/[^?#]*?/([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?buzzfeed\\.com/[^?#]*?/([^?#]+)"
      },
      "byutv": {
        "name": "byutv",
        "type": "free",
        "domains": [
          "byutv.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?byutv\\.org/(?:watch|player)/(?!event/)([0-9a-f-]+)(?:/([^/?#&]+))?"
        ],
        "regexp": "https?://(?:www\\.)?byutv\\.org/(?:watch|player)/(?!event/)([0-9a-f-]+)(?:/([^/?#&]+))?"
      },
      "caffeinetv": {
        "name": "caffeinetv",
        "type": "free",
        "domains": [
          "caffeine.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?caffeine\\.tv/[^/?#]+/video/([\\da-f-]+)"
        ],
        "regexp": "https?://(?:www\\.)?caffeine\\.tv/[^/?#]+/video/([\\da-f-]+)"
      },
      "callin": {
        "name": "callin",
        "type": "free",
        "domains": [
          "callin.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?callin\\.com/episode/([-a-zA-Z]+)"
        ],
        "regexp": "https?://(?:www\\.)?callin\\.com/episode/([-a-zA-Z]+)"
      },
      "caltrans": {
        "name": "caltrans",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:[^/]+\\.)?ca\\.gov/vm/loc/[^/]+/([a-z0-9_]+)\\.htm"
        ],
        "regexp": "https?://(?:[^/]+\\.)?ca\\.gov/vm/loc/[^/]+/([a-z0-9_]+)\\.htm"
      },
      "cam4": {
        "name": "cam4",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:[^/]+\\.)?cam4\\.com/([a-z0-9_]+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?cam4\\.com/([a-z0-9_]+)"
      },
      "camdemy": {
        "name": "camdemy",
        "type": "free",
        "domains": [
          "camdemy.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?camdemy\\.com/media/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?camdemy\\.com/media/(\\d+)"
      },
      "camdemyfolder": {
        "name": "camdemyfolder",
        "type": "free",
        "domains": [
          "camdemy.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?camdemy\\.com/folder/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?camdemy\\.com/folder/(\\d+)"
      },
      "camfmepisode": {
        "name": "camfmepisode",
        "type": "free",
        "domains": [
          "camfm.co.uk"
        ],
        "regexps": [
          "https?://(?:www\\.)?camfm\\.co\\.uk/player/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?camfm\\.co\\.uk/player/([^/]+)"
      },
      "camfmshow": {
        "name": "camfmshow",
        "type": "free",
        "domains": [
          "camfm.co.uk"
        ],
        "regexps": [
          "https?://(?:www\\.)?camfm\\.co\\.uk/shows/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?camfm\\.co\\.uk/shows/([^/]+)"
      },
      "cammodels": {
        "name": "cammodels",
        "type": "free",
        "domains": [
          "cammodels.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cammodels\\.com/cam/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?cammodels\\.com/cam/([^/?#&]+)"
      },
      "camsoda": {
        "name": "camsoda",
        "type": "free",
        "domains": [
          "camsoda.com"
        ],
        "regexps": [
          "https?://www\\.camsoda\\.com/([\\w-]+)"
        ],
        "regexp": "https?://www\\.camsoda\\.com/([\\w-]+)"
      },
      "canal1": {
        "name": "canal1",
        "type": "free",
        "domains": [
          "canal1.com.co",
          "noticias.canal1.com.co"
        ],
        "regexps": [
          "https?://(?:www\\.|noticias\\.)?canal1\\.com\\.co/(?:[^?#&])+/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.|noticias\\.)?canal1\\.com\\.co/(?:[^?#&])+/([\\w-]+)"
      },
      "canalalpha": {
        "name": "canalalpha",
        "type": "free",
        "domains": [
          "canalalpha.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?canalalpha\\.ch/play/[^/]+/[^/]+/(\\d+)/?.*"
        ],
        "regexp": "https?://(?:www\\.)?canalalpha\\.ch/play/[^/]+/[^/]+/(\\d+)/?.*"
      },
      "canalc2.tv": {
        "name": "canalc2.tv",
        "type": "free",
        "domains": [
          "canalc2.tv",
          "archives-canalc2.u-strasbg.fr"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?canalc2\\.tv/video/|archives-canalc2\\.u-strasbg\\.fr/video\\.asp\\?.*\\bidVideo=)(\\d+)"
        ],
        "regexp": "https?://(?:(?:www\\.)?canalc2\\.tv/video/|archives-canalc2\\.u-strasbg\\.fr/video\\.asp\\?.*\\bidVideo=)(\\d+)"
      },
      "canalplus": {
        "name": "canalplus",
        "type": "free",
        "domains": [
          "mycanal.fr",
          "piwiplus.fr"
        ],
        "regexps": [
          "https?://(?:www\\.)?(mycanal|piwiplus)\\.fr/(?:[^/]+/)*([^?/]+)(?:\\.html\\?.*\\bvid=|/p/)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?(mycanal|piwiplus)\\.fr/(?:[^/]+/)*([^?/]+)(?:\\.html\\?.*\\bvid=|/p/)(\\d+)"
      },
      "canalsurmas": {
        "name": "canalsurmas",
        "type": "free",
        "domains": [
          "canalsurmas.es"
        ],
        "regexps": [
          "https?://(?:www\\.)?canalsurmas\\.es/videos/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?canalsurmas\\.es/videos/(\\d+)"
      },
      "caracoltvplay": {
        "name": "caracoltvplay",
        "type": "free",
        "domains": [
          "play.caracoltv.com"
        ],
        "regexps": [
          "https?://play\\.caracoltv\\.com/videoDetails/([^/?#]+)"
        ],
        "regexp": "https?://play\\.caracoltv\\.com/videoDetails/([^/?#]+)"
      },
      "cbc.ca": {
        "name": "cbc.ca",
        "type": "free",
        "domains": [
          "cbc.ca"
        ],
        "regexps": [
          "https?://(?:www\\.)?cbc\\.ca/(?!player/|listen/|i/caffeine/syndicate/)(?:[^/?#]+/)+([^/?#]+)",
          "https?://(?:www\\.)?cbc\\.ca/listen/(?:cbc-podcasts|live-radio)/[\\w-]+/[\\w-]+/(\\d+)",
          "(?:cbcplayer:|https?://(?:www\\.)?cbc\\.ca/(?:player/play/(?:video/)?|i/caffeine/syndicate/\\?mediaId=))((?:\\d\\.)?\\d+)",
          "https?://(?:www\\.)?cbc\\.ca/(?:player/)(?!play/)([^?#]+)"
        ],
        "regexp": "(https?://(?:www\\.)?cbc\\.ca/(?!player/|listen/|i/caffeine/syndicate/)(?:[^/?#]+/)+([^/?#]+))|(https?://(?:www\\.)?cbc\\.ca/listen/(?:cbc-podcasts|live-radio)/[\\w-]+/[\\w-]+/(\\d+))|((?:cbcplayer:|https?://(?:www\\.)?cbc\\.ca/(?:player/play/(?:video/)?|i/caffeine/syndicate/\\?mediaId=))((?:\\d\\.)?\\d+))|(https?://(?:www\\.)?cbc\\.ca/(?:player/)(?!play/)([^?#]+))"
      },
      "cbs": {
        "name": "cbs",
        "type": "free",
        "domains": [
          "cbs.com",
          "colbertlateshow.com"
        ],
        "regexps": [
          "(?:cbs:|https?://(?:www\\.)?(?:cbs\\.com/(?:shows|movies)/(?:video|[^/]+/video|[^/]+)/|colbertlateshow\\.com/(?:video|podcasts)/))([\\w-]+)"
        ],
        "regexp": "(?:cbs:|https?://(?:www\\.)?(?:cbs\\.com/(?:shows|movies)/(?:video|[^/]+/video|[^/]+)/|colbertlateshow\\.com/(?:video|podcasts)/))([\\w-]+)"
      },
      "cbslocal": {
        "name": "cbslocal",
        "type": "free",
        "domains": [
          "cbsnews.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cbsnews\\.com/(?:atlanta|baltimore|boston|chicago|colorado|detroit|losangeles|miami|minnesota|newyork|philadelphia|pittsburgh|sacramento|sanfrancisco|texas)/(?:live/)?video/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?cbsnews\\.com/(?:atlanta|baltimore|boston|chicago|colorado|detroit|losangeles|miami|minnesota|newyork|philadelphia|pittsburgh|sacramento|sanfrancisco|texas)/(?:live/)?video/([\\w-]+)"
      },
      "cbslocalarticle": {
        "name": "cbslocalarticle",
        "type": "free",
        "domains": [
          "cbsnews.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cbsnews\\.com/(?:atlanta|baltimore|boston|chicago|colorado|detroit|losangeles|miami|minnesota|newyork|philadelphia|pittsburgh|sacramento|sanfrancisco|texas)/news/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?cbsnews\\.com/(?:atlanta|baltimore|boston|chicago|colorado|detroit|losangeles|miami|minnesota|newyork|philadelphia|pittsburgh|sacramento|sanfrancisco|texas)/news/([\\w-]+)"
      },
      "cbslocallive": {
        "name": "cbslocallive",
        "type": "free",
        "domains": [
          "cbsnews.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cbsnews\\.com/(atlanta|baltimore|boston|chicago|colorado|detroit|losangeles|miami|minnesota|newyork|philadelphia|pittsburgh|sacramento|sanfrancisco|texas)/live/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:www\\.)?cbsnews\\.com/(atlanta|baltimore|boston|chicago|colorado|detroit|losangeles|miami|minnesota|newyork|philadelphia|pittsburgh|sacramento|sanfrancisco|texas)/live/?(?:[?#]|$)"
      },
      "cbsnews": {
        "name": "cbsnews",
        "type": "free",
        "domains": [
          "cbsnews.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cbsnews\\.com/embed/video[^#]*#(.+)",
          "https?://(?:www\\.)?cbsnews\\.com/(?:news|video)/([\\w-]+)",
          "https?://(?:www\\.)?cbsnews\\.com/live/?(?:[?#]|$)",
          "https?://(?:www\\.)?cbsnews\\.com/live/video/([^/?#]+)"
        ],
        "regexp": "(https?://(?:www\\.)?cbsnews\\.com/embed/video[^#]*#(.+))|(https?://(?:www\\.)?cbsnews\\.com/(?:news|video)/([\\w-]+))|(https?://(?:www\\.)?cbsnews\\.com/live/?(?:[?#]|$))|(https?://(?:www\\.)?cbsnews\\.com/live/video/([^/?#]+))"
      },
      "cbssports": {
        "name": "cbssports",
        "type": "free",
        "domains": [
          "cbssports.com",
          "embed.247sports.com"
        ],
        "regexps": [
          "(?ix)https?://(?:(?:www\\.)?cbs|embed\\.247)sports\\.com/player/embed.+?\n        (?:\n            ids%3D([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})|\n            pcid%3D(\\d+)\n        )",
          "https?://(?:www\\.)?cbssports\\.com/[^/]+/video/([^/?#&]+)"
        ],
        "regexp": "((?ix)https?://(?:(?:www\\.)?cbs|embed\\.247)sports\\.com/player/embed.+?\n        (?:\n            ids%3D([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})|\n            pcid%3D(\\d+)\n        ))|(https?://(?:www\\.)?cbssports\\.com/[^/]+/video/([^/?#&]+))"
      },
      "ccma": {
        "name": "ccma",
        "type": "free",
        "domains": [
          "3cat.cat"
        ],
        "regexps": [
          "https?://(?:www\\.)?3cat\\.cat/(?:3cat|tv3/sx3)/[^/?#]+/(video|audio)/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?3cat\\.cat/(?:3cat|tv3/sx3)/[^/?#]+/(video|audio)/(\\d+)"
      },
      "cctv": {
        "name": "cctv",
        "type": "free",
        "domains": [
          "sports.cntv.cn",
          "tv.cctv.com",
          "english.cntv.cn",
          "cctv.cntv.cn",
          "ncpa-classic.com",
          "news.cctv.com",
          "ent.cntv.cn",
          "tv.cntv.cn"
        ],
        "regexps": [
          "https?://(?:(?:[^/]+)\\.(?:cntv|cctv)\\.(?:com|cn)|(?:www\\.)?ncpa-classic\\.com)/(?:[^/]+/)*?([^/?#&]+?)(?:/index)?(?:\\.s?html|[?#&]|$)"
        ],
        "regexp": "https?://(?:(?:[^/]+)\\.(?:cntv|cctv)\\.(?:com|cn)|(?:www\\.)?ncpa-classic\\.com)/(?:[^/]+/)*?([^/?#&]+?)(?:/index)?(?:\\.s?html|[?#&]|$)"
      },
      "cda": {
        "name": "cda",
        "type": "free",
        "domains": [
          "cda.pl",
          "ebd.cda.pl",
          "m.cda.pl"
        ],
        "regexps": [
          "https?://(?:(?:(?:www|m)\\.)?cda\\.pl/video|ebd\\.cda\\.pl/[0-9]+x[0-9]+)/([0-9a-z]+)"
        ],
        "regexp": "https?://(?:(?:(?:www|m)\\.)?cda\\.pl/video|ebd\\.cda\\.pl/[0-9]+x[0-9]+)/([0-9a-z]+)"
      },
      "cdafolder": {
        "name": "cdafolder",
        "type": "free",
        "domains": [
          "cda.pl",
          "m.cda.pl"
        ],
        "regexps": [
          "https?://(?:(?:www|m)\\.)?cda\\.pl/([\\w-]+)/folder/(\\d+)"
        ],
        "regexp": "https?://(?:(?:www|m)\\.)?cda\\.pl/([\\w-]+)/folder/(\\d+)"
      },
      "cellebrite": {
        "name": "cellebrite",
        "type": "free",
        "domains": [
          "cellebrite.com"
        ],
        "regexps": [
          "https?://cellebrite\\.com/(?:\\w+)?/([\\w-]+)"
        ],
        "regexp": "https?://cellebrite\\.com/(?:\\w+)?/([\\w-]+)"
      },
      "ceskatelevize": {
        "name": "ceskatelevize",
        "type": "free",
        "domains": [
          "ceskatelevize.cz"
        ],
        "regexps": [
          "https?://(?:www\\.)?ceskatelevize\\.cz/(?:ivysilani|porady|zive)/(?:[^/?#&]+/)*([^/#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?ceskatelevize\\.cz/(?:ivysilani|porady|zive)/(?:[^/?#&]+/)*([^/#?]+)"
      },
      "cgtn": {
        "name": "cgtn",
        "type": "free",
        "domains": [
          "news.cgtn.com"
        ],
        "regexps": [
          "https?://news\\.cgtn\\.com/news/[0-9]{4}-[0-9]{2}-[0-9]{2}/[a-zA-Z0-9-]+-([a-zA-Z0-9-]+)/index\\.html"
        ],
        "regexp": "https?://news\\.cgtn\\.com/news/[0-9]{4}-[0-9]{2}-[0-9]{2}/[a-zA-Z0-9-]+-([a-zA-Z0-9-]+)/index\\.html"
      },
      "charlierose": {
        "name": "charlierose",
        "type": "free",
        "domains": [
          "charlierose.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?charlierose\\.com/(?:video|episode)(?:s|/player)/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?charlierose\\.com/(?:video|episode)(?:s|/player)/(\\d+)"
      },
      "chaturbate": {
        "name": "chaturbate",
        "type": "free",
        "domains": [
          "chaturbate.com",
          "en.chaturbate.com",
          "chaturbate.eu",
          "chaturbate.global"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?chaturbate\\.(com|eu|global)/(?:fullvideo/?\\?.*?\\bb=)?([^/?&#]+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?chaturbate\\.(com|eu|global)/(?:fullvideo/?\\?.*?\\bb=)?([^/?&#]+)"
      },
      "chilloutzone": {
        "name": "chilloutzone",
        "type": "free",
        "domains": [
          "chilloutzone.net"
        ],
        "regexps": [
          "https?://(?:www\\.)?chilloutzone\\.net/video/([\\w-]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?chilloutzone\\.net/video/([\\w-]+)\\.html"
      },
      "chzzk": {
        "name": "chzzk",
        "type": "free",
        "domains": [
          "chzzk.naver.com"
        ],
        "regexps": [
          "https?://chzzk\\.naver\\.com/live/([\\da-f]+)",
          "https?://chzzk\\.naver\\.com/video/(\\d+)"
        ],
        "regexp": "(https?://chzzk\\.naver\\.com/live/([\\da-f]+))|(https?://chzzk\\.naver\\.com/video/(\\d+))"
      },
      "cielotv.it": {
        "name": "cielotv.it",
        "type": "free",
        "domains": [
          "cielotv.it"
        ],
        "regexps": [
          "https?://(?:www\\.)?cielotv\\.it/video/([^.]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?cielotv\\.it/video/([^.]+)\\.html"
      },
      "cinemax": {
        "name": "cinemax",
        "type": "free",
        "domains": [
          "cinemax.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cinemax\\.com/([^/]+/video/[0-9a-z-]+-(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?cinemax\\.com/([^/]+/video/[0-9a-z-]+-(\\d+))"
      },
      "cinetecamilano": {
        "name": "cinetecamilano",
        "type": "free",
        "domains": [
          "cinetecamilano.it"
        ],
        "regexps": [
          "https?://(?:www\\.)?cinetecamilano\\.it/film/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?cinetecamilano\\.it/film/(\\d+)"
      },
      "cineverse": {
        "name": "cineverse",
        "type": "free",
        "domains": [
          "asiancrush.com",
          "retrocrush.tv"
        ],
        "regexps": [
          "https?://www\\.(cineverse\\.com|asiancrush\\.com|dovechannel\\.com|screambox\\.com|midnightpulp\\.com|fandor\\.com|retrocrush\\.tv)/watch/([A-Z0-9]+)"
        ],
        "regexp": "https?://www\\.(cineverse\\.com|asiancrush\\.com|dovechannel\\.com|screambox\\.com|midnightpulp\\.com|fandor\\.com|retrocrush\\.tv)/watch/([A-Z0-9]+)"
      },
      "cineversedetails": {
        "name": "cineversedetails",
        "type": "free",
        "domains": [
          "retrocrush.tv",
          "asiancrush.com"
        ],
        "regexps": [
          "https?://www\\.(cineverse\\.com|asiancrush\\.com|dovechannel\\.com|screambox\\.com|midnightpulp\\.com|fandor\\.com|retrocrush\\.tv)/details/([A-Z0-9]+)"
        ],
        "regexp": "https?://www\\.(cineverse\\.com|asiancrush\\.com|dovechannel\\.com|screambox\\.com|midnightpulp\\.com|fandor\\.com|retrocrush\\.tv)/details/([A-Z0-9]+)"
      },
      "ciscolivesearch": {
        "name": "ciscolivesearch",
        "type": "free",
        "domains": [
          "ciscolive.cisco.com",
          "ciscolive.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?ciscolive(?:\\.cisco)?\\.com/(?:global/)?on-demand-library(?:\\.html|/)"
        ],
        "regexp": "https?://(?:www\\.)?ciscolive(?:\\.cisco)?\\.com/(?:global/)?on-demand-library(?:\\.html|/)"
      },
      "ciscolivesession": {
        "name": "ciscolivesession",
        "type": "free",
        "domains": [
          "ciscolive.cisco.com",
          "ciscolive.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?ciscolive(?:\\.cisco)?\\.com/[^#]*#/session/([^/?&]+)"
        ],
        "regexp": "https?://(?:www\\.)?ciscolive(?:\\.cisco)?\\.com/[^#]*#/session/([^/?&]+)"
      },
      "ciscowebex": {
        "name": "ciscowebex",
        "type": "free",
        "domains": [
          "demosubdomain.webex.com"
        ],
        "regexps": [
          "(https?://([^/#?]*)\\.webex\\.com/(?:([^/#?]*)/(?:ldr|lsr).php\\?(?:[^#]*&)*RCID=([0-9a-f]{32})|(?:recordingservice|webappng)/sites/([^/#?]*)/recording/(?:playback/|play/)?([0-9a-f]{32})))"
        ],
        "regexp": "(https?://([^/#?]*)\\.webex\\.com/(?:([^/#?]*)/(?:ldr|lsr).php\\?(?:[^#]*&)*RCID=([0-9a-f]{32})|(?:recordingservice|webappng)/sites/([^/#?]*)/recording/(?:playback/|play/)?([0-9a-f]{32})))"
      },
      "cjsw": {
        "name": "cjsw",
        "type": "free",
        "domains": [
          "cjsw.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cjsw\\.com/program/([^/]+)/episode/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?cjsw\\.com/program/([^/]+)/episode/(\\d+)"
      },
      "clipchamp": {
        "name": "clipchamp",
        "type": "free",
        "domains": [
          "clipchamp.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?clipchamp\\.com/watch/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?clipchamp\\.com/watch/([\\w-]+)"
      },
      "clippit": {
        "name": "clippit",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?clippituser\\.tv/c/([a-z]+)"
        ],
        "regexp": "https?://(?:www\\.)?clippituser\\.tv/c/([a-z]+)"
      },
      "cliprs": {
        "name": "cliprs",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?clip\\.rs/([^/]+)/\\d+"
        ],
        "regexp": "https?://(?:www\\.)?clip\\.rs/([^/]+)/\\d+"
      },
      "closertotruth": {
        "name": "closertotruth",
        "type": "free",
        "domains": [
          "closertotruth.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?closertotruth\\.com/(?:[^/]+/)*([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?closertotruth\\.com/(?:[^/]+/)*([^/?#&]+)"
      },
      "cloudflarestream": {
        "name": "cloudflarestream",
        "type": "free",
        "domains": [
          "embed.cloudflarestream.com",
          "watch.cloudflarestream.com",
          "cloudflarestream.com",
          "embed.videodelivery.net",
          "customer-aw5py76sw8wyqzmh.cloudflarestream.com"
        ],
        "regexps": [
          "https?://(?:(?:(?:watch|iframe|customer-\\w+)\\.)?((?:cloudflarestream\\.com|(?:videodelivery|bytehighway)\\.net))/|(?:embed\\.|(?:(?:watch|iframe|customer-\\w+)\\.)?)(?:cloudflarestream\\.com|(?:videodelivery|bytehighway)\\.net)/embed/[^/?#]+\\.js\\?(?:[^#]+&)?video=)([\\da-f]{32}|eyJ[\\w-]+\\.[\\w-]+\\.[\\w-]+)"
        ],
        "regexp": "https?://(?:(?:(?:watch|iframe|customer-\\w+)\\.)?((?:cloudflarestream\\.com|(?:videodelivery|bytehighway)\\.net))/|(?:embed\\.|(?:(?:watch|iframe|customer-\\w+)\\.)?)(?:cloudflarestream\\.com|(?:videodelivery|bytehighway)\\.net)/embed/[^/?#]+\\.js\\?(?:[^#]+&)?video=)([\\da-f]{32}|eyJ[\\w-]+\\.[\\w-]+\\.[\\w-]+)"
      },
      "cloudycdn": {
        "name": "cloudycdn",
        "type": "free",
        "domains": [
          "embed.cloudycdn.services",
          "embed.backscreen.com"
        ],
        "regexps": [
          "(?:https?:)?//embed\\.(cloudycdn\\.services|backscreen\\.com)/([^/?#]+)/media/([\\w-]+)"
        ],
        "regexp": "(?:https?:)?//embed\\.(cloudycdn\\.services|backscreen\\.com)/([^/?#]+)/media/([\\w-]+)"
      },
      "clubic": {
        "name": "clubic",
        "type": "free",
        "domains": [
          "clubic.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?clubic\\.com/video/(?:[^/]+/)*video.*-([0-9]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?clubic\\.com/video/(?:[^/]+/)*video.*-([0-9]+)\\.html"
      },
      "clyp": {
        "name": "clyp",
        "type": "free",
        "domains": [
          "clyp.it"
        ],
        "regexps": [
          "https?://(?:www\\.)?clyp\\.it/([a-z0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?clyp\\.it/([a-z0-9]+)"
      },
      "cnbcvideo": {
        "name": "cnbcvideo",
        "type": "free",
        "domains": [
          "cnbc.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cnbc\\.com/video/(?:[^/?#]+/)+([^./?#&]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?cnbc\\.com/video/(?:[^/?#]+/)+([^./?#&]+)\\.html"
      },
      "cnn": {
        "name": "cnn",
        "type": "free",
        "domains": [
          "cnn.com",
          "edition.cnn.com",
          "cnnespanol.cnn.com"
        ],
        "regexps": [
          "https?://(?:(?:edition|www|money|cnnespanol)\\.)?cnn\\.com/(?!audio/)([^?#]+?)(?:[?#]|$|/index\\.html)"
        ],
        "regexp": "https?://(?:(?:edition|www|money|cnnespanol)\\.)?cnn\\.com/(?!audio/)([^?#]+?)(?:[?#]|$|/index\\.html)"
      },
      "cnnindonesia": {
        "name": "cnnindonesia",
        "type": "free",
        "domains": [
          "cnnindonesia.com"
        ],
        "regexps": [
          "https?://www\\.cnnindonesia\\.com/[\\w-]+/(\\d{8})\\d+-\\d+-(\\d+)/([\\w-]+)"
        ],
        "regexp": "https?://www\\.cnnindonesia\\.com/[\\w-]+/(\\d{8})\\d+-\\d+-(\\d+)/([\\w-]+)"
      },
      "comedycentral": {
        "name": "comedycentral",
        "type": "free",
        "domains": [
          "cc.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cc\\.com/video-clips/([\\da-z]{6})"
        ],
        "regexp": "https?://(?:www\\.)?cc\\.com/video-clips/([\\da-z]{6})"
      },
      "conanclassic": {
        "name": "conanclassic",
        "type": "free",
        "domains": [
          "conanclassic.com",
          "conan25.teamcoco.com"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?conanclassic|conan25\\.teamcoco)\\.com/(([^/]+/)*[^/?#]+)"
        ],
        "regexp": "https?://(?:(?:www\\.)?conanclassic|conan25\\.teamcoco)\\.com/(([^/]+/)*[^/?#]+)"
      },
      "condenast": {
        "name": "condenast",
        "type": "free",
        "domains": [
          "video.wired.com",
          "video.gq.com",
          "player.cnevids.com",
          "vanityfair.com",
          "player-backend.cnevids.com"
        ],
        "regexps": [
          "https?://(?:video|www|player(?:-backend)?)\\.(?:allure|architecturaldigest|arstechnica|bonappetit|brides|cnevids|cntraveler|details|epicurious|glamour|golfdigest|gq|newyorker|self|teenvogue|vanityfair|vogue|wired|wmagazine)\\.com/(?:(?:embed(?:js)?|(?:script|inline)/video)/([0-9a-f]{24})(?:/([0-9a-f]{24}))?(?:.+?\\btarget=([^&]+))?|(watch|series|video)/([^/?#]+))"
        ],
        "regexp": "https?://(?:video|www|player(?:-backend)?)\\.(?:allure|architecturaldigest|arstechnica|bonappetit|brides|cnevids|cntraveler|details|epicurious|glamour|golfdigest|gq|newyorker|self|teenvogue|vanityfair|vogue|wired|wmagazine)\\.com/(?:(?:embed(?:js)?|(?:script|inline)/video)/([0-9a-f]{24})(?:/([0-9a-f]{24}))?(?:.+?\\btarget=([^&]+))?|(watch|series|video)/([^/?#]+))"
      },
      "contv": {
        "name": "contv",
        "type": "free",
        "domains": [
          "contv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?contv\\.com/details-movie/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?contv\\.com/details-movie/([^/]+)"
      },
      "cookingchannel": {
        "name": "cookingchannel",
        "type": "free",
        "domains": [
          "watch.cookingchanneltv.com"
        ],
        "regexps": [
          "https?://(?:watch\\.)?cookingchanneltv\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:watch\\.)?cookingchanneltv\\.com/video/([^/]+/[^/?#]+)"
      },
      "corus": {
        "name": "corus",
        "type": "free",
        "domains": [
          "hgtv.ca",
          "foodnetwork.ca",
          "etcanada.com",
          "history.ca",
          "showcase.ca",
          "bigbrothercanada.ca",
          "seriesplus.com",
          "disneychannel.ca"
        ],
        "regexps": [
          "https?://(?:www\\.)?((?:globaltv|etcanada|seriesplus|wnetwork|ytv)\\.com|(?:hgtv|foodnetwork|slice|history|showcase|bigbrothercanada|abcspark|disney(?:channel|lachaine))\\.ca)/(?:[^/]+/)*(?:video\\.html\\?.*?\\bv=|videos?/(?:[^/]+/)*(?:[a-z0-9-]+-)?)([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|(?:[A-Z]{4})?\\d{12,20})"
        ],
        "regexp": "https?://(?:www\\.)?((?:globaltv|etcanada|seriesplus|wnetwork|ytv)\\.com|(?:hgtv|foodnetwork|slice|history|showcase|bigbrothercanada|abcspark|disney(?:channel|lachaine))\\.ca)/(?:[^/]+/)*(?:video\\.html\\?.*?\\bv=|videos?/(?:[^/]+/)*(?:[a-z0-9-]+-)?)([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|(?:[A-Z]{4})?\\d{12,20})"
      },
      "coub": {
        "name": "coub",
        "type": "free",
        "domains": [
          "coub.com",
          "c-cdn.coub.com"
        ],
        "regexps": [
          "(?:coub:|https?://(?:coub\\.com/(?:view|embed|coubs)/|c-cdn\\.coub\\.com/fb-player\\.swf\\?.*\\bcoub(?:ID|id)=))([\\da-z]+)"
        ],
        "regexp": "(?:coub:|https?://(?:coub\\.com/(?:view|embed|coubs)/|c-cdn\\.coub\\.com/fb-player\\.swf\\?.*\\bcoub(?:ID|id)=))([\\da-z]+)"
      },
      "cozytv": {
        "name": "cozytv",
        "type": "free",
        "domains": [
          "cozy.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?cozy\\.tv/([^/]+)/replays/([^/$#&?]+)"
        ],
        "regexp": "https?://(?:www\\.)?cozy\\.tv/([^/]+)/replays/([^/$#&?]+)"
      },
      "cp24": {
        "name": "cp24",
        "type": "free",
        "domains": [
          "cp24.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cp24\\.com/news/([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?cp24\\.com/news/([^?#]+)"
      },
      "cpac": {
        "name": "cpac",
        "type": "free",
        "domains": [
          "cpac.ca"
        ],
        "regexps": [
          "https?://(?:www\\.)?cpac\\.ca/(l-)?episode\\?id=([\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12})",
          "(?i)https?://(?:www\\.)?cpac\\.ca/(?:program|search|(emission|rechercher))\\?(?:[^&]+&)*?((?:id=\\d+|programId=\\d+|key=[^&]+))"
        ],
        "regexp": "(https?://(?:www\\.)?cpac\\.ca/(l-)?episode\\?id=([\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}))|((?i)https?://(?:www\\.)?cpac\\.ca/(?:program|search|(emission|rechercher))\\?(?:[^&]+&)*?((?:id=\\d+|programId=\\d+|key=[^&]+)))"
      },
      "cracked": {
        "name": "cracked",
        "type": "free",
        "domains": [
          "cracked.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cracked\\.com/video_(\\d+)_[\\da-z-]+\\.html"
        ],
        "regexp": "https?://(?:www\\.)?cracked\\.com/video_(\\d+)_[\\da-z-]+\\.html"
      },
      "craftsy": {
        "name": "craftsy",
        "type": "free",
        "domains": [
          "craftsy.com"
        ],
        "regexps": [
          "https?://www\\.craftsy\\.com/class/([\\w-]+)"
        ],
        "regexp": "https?://www\\.craftsy\\.com/class/([\\w-]+)"
      },
      "croatian.film": {
        "name": "croatian.film",
        "type": "free",
        "domains": [
          "croatian.film"
        ],
        "regexps": [
          "https://?(?:www\\.)?croatian\\.film/[a-z]{2}/[^/?#]+/(\\d+)"
        ],
        "regexp": "https://?(?:www\\.)?croatian\\.film/[a-z]{2}/[^/?#]+/(\\d+)"
      },
      "crooksandliars": {
        "name": "crooksandliars",
        "type": "free",
        "domains": [
          "embed.crooksandliars.com"
        ],
        "regexps": [
          "https?://embed\\.crooksandliars\\.com/(?:embed|v)/([A-Za-z0-9]+)"
        ],
        "regexp": "https?://embed\\.crooksandliars\\.com/(?:embed|v)/([A-Za-z0-9]+)"
      },
      "crowdbunker": {
        "name": "crowdbunker",
        "type": "free",
        "domains": [
          "crowdbunker.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?crowdbunker\\.com/v/([^/?#$&]+)"
        ],
        "regexp": "https?://(?:www\\.)?crowdbunker\\.com/v/([^/?#$&]+)"
      },
      "crowdbunkerchannel": {
        "name": "crowdbunkerchannel",
        "type": "free",
        "domains": [
          "crowdbunker.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?crowdbunker\\.com/@([^/?#$&]+)"
        ],
        "regexp": "https?://(?:www\\.)?crowdbunker\\.com/@([^/?#$&]+)"
      },
      "crtvg": {
        "name": "crtvg",
        "type": "free",
        "domains": [
          "crtvg.es"
        ],
        "regexps": [
          "https?://(?:www\\.)?crtvg\\.es/tvg/a-carta/([^/#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?crtvg\\.es/tvg/a-carta/([^/#?]+)"
      },
      "cspan": {
        "name": "cspan",
        "type": "free",
        "domains": [
          "c-span.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?c-span\\.org/video/\\?([0-9a-f]+)"
        ],
        "regexp": "https?://(?:www\\.)?c-span\\.org/video/\\?([0-9a-f]+)"
      },
      "cspancongress": {
        "name": "cspancongress",
        "type": "free",
        "domains": [
          "c-span.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?c-span\\.org/congress/"
        ],
        "regexp": "https?://(?:www\\.)?c-span\\.org/congress/"
      },
      "ctsnews": {
        "name": "ctsnews",
        "type": "free",
        "domains": [
          "news.cts.com.tw"
        ],
        "regexps": [
          "https?://news\\.cts\\.com\\.tw/[a-z]+/[a-z]+/\\d+/(\\d+)\\.html"
        ],
        "regexp": "https?://news\\.cts\\.com\\.tw/[a-z]+/[a-z]+/\\d+/(\\d+)\\.html"
      },
      "ctvnews": {
        "name": "ctvnews",
        "type": "free",
        "domains": [
          "ctvnews.ca",
          "barrie.ctvnews.ca",
          "stox.ctvnews.ca",
          "ottawa.ctvnews.ca",
          "vancouverisland.ctvnews.ca"
        ],
        "regexps": [
          "https?://(?:[^.]+\\.)?ctvnews\\.ca/video/c(\\d{5,})",
          "https?://(?:[^.]+\\.)?ctvnews\\.ca/video(?:-gallery)?/?\\?clipId=(\\d{5,})",
          "https?://(?:[^.]+\\.)?ctvnews\\.ca/video/?\\?(?:playlist|bin)Id=(\\d\\.\\d{5,})",
          "https?://(?:[^.]+\\.)?ctvnews\\.ca/(?!video/)[^?#]*?(\\d\\.\\d{5,})/?(?:$|[?#])",
          "https?://(?:[^.]+\\.)?ctvnews\\.ca/(?!video/)[^?#]+\\?binId=(\\d\\.\\d{5,})"
        ],
        "regexp": "(https?://(?:[^.]+\\.)?ctvnews\\.ca/video/c(\\d{5,}))|(https?://(?:[^.]+\\.)?ctvnews\\.ca/video(?:-gallery)?/?\\?clipId=(\\d{5,}))|(https?://(?:[^.]+\\.)?ctvnews\\.ca/video/?\\?(?:playlist|bin)Id=(\\d\\.\\d{5,}))|(https?://(?:[^.]+\\.)?ctvnews\\.ca/(?!video/)[^?#]*?(\\d\\.\\d{5,})/?(?:$|[?#]))|(https?://(?:[^.]+\\.)?ctvnews\\.ca/(?!video/)[^?#]+\\?binId=(\\d\\.\\d{5,}))"
      },
      "cu.ntv.co.jp": {
        "name": "cu.ntv.co.jp",
        "type": "free",
        "domains": [
          "cu.ntv.co.jp"
        ],
        "regexps": [
          "https?://cu\\.ntv\\.co\\.jp/(?!program-list|search)([\\w-]+)/?(?:[?#]|$)"
        ],
        "regexp": "https?://cu\\.ntv\\.co\\.jp/(?!program-list|search)([\\w-]+)/?(?:[?#]|$)"
      },
      "cultureunplugged": {
        "name": "cultureunplugged",
        "type": "free",
        "domains": [
          "cultureunplugged.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?cultureunplugged\\.com/(?:documentary/watch-online/)?play/(\\d+)(?:/([^/#?]+))?"
        ],
        "regexp": "https?://(?:www\\.)?cultureunplugged\\.com/(?:documentary/watch-online/)?play/(\\d+)(?:/([^/#?]+))?"
      },
      "curiositystream": {
        "name": "curiositystream",
        "type": "free",
        "domains": [
          "curiositystream.com",
          "app.curiositystream.com"
        ],
        "regexps": [
          "https?://(?:app\\.)?curiositystream\\.com/collections/(\\d+)",
          "https?://(?:app\\.)?curiositystream\\.com/video/(\\d+)",
          "https?://(?:app\\.)?curiositystream\\.com/(?:series|collection)/(\\d+)"
        ],
        "regexp": "(https?://(?:app\\.)?curiositystream\\.com/collections/(\\d+))|(https?://(?:app\\.)?curiositystream\\.com/video/(\\d+))|(https?://(?:app\\.)?curiositystream\\.com/(?:series|collection)/(\\d+))"
      },
      "cybrary": {
        "name": "cybrary",
        "type": "free",
        "domains": [
          "app.cybrary.it"
        ],
        "regexps": [
          "https?://app\\.cybrary\\.it/immersive/([0-9]+)/activity/([0-9]+)"
        ],
        "regexp": "https?://app\\.cybrary\\.it/immersive/([0-9]+)/activity/([0-9]+)"
      },
      "cybrarycourse": {
        "name": "cybrarycourse",
        "type": "free",
        "domains": [
          "app.cybrary.it"
        ],
        "regexps": [
          "https?://app\\.cybrary\\.it/browse/course/([\\w-]+)/?(?:$|[#?])"
        ],
        "regexp": "https?://app\\.cybrary\\.it/browse/course/([\\w-]+)/?(?:$|[#?])"
      },
      "dacastplaylist": {
        "name": "dacastplaylist",
        "type": "free",
        "domains": [
          "iframe.dacast.com"
        ],
        "regexps": [
          "https?://iframe\\.dacast\\.com/playlist/([\\w-]+)/([\\w-]+)"
        ],
        "regexp": "https?://iframe\\.dacast\\.com/playlist/([\\w-]+)/([\\w-]+)"
      },
      "dacastvod": {
        "name": "dacastvod",
        "type": "free",
        "domains": [
          "iframe.dacast.com"
        ],
        "regexps": [
          "https?://iframe\\.dacast\\.com/vod/([\\w-]+)/([\\w-]+)"
        ],
        "regexp": "https?://iframe\\.dacast\\.com/vod/([\\w-]+)/([\\w-]+)"
      },
      "dagelijksekost": {
        "name": "dagelijksekost",
        "type": "free",
        "domains": [
          "dagelijksekost.een.be"
        ],
        "regexps": [
          "https?://dagelijksekost\\.een\\.be/gerechten/([^/?#&]+)"
        ],
        "regexp": "https?://dagelijksekost\\.een\\.be/gerechten/([^/?#&]+)"
      },
      "dailymail": {
        "name": "dailymail",
        "type": "free",
        "domains": [
          "dailymail.co.uk"
        ],
        "regexps": [
          "https?://(?:www\\.)?dailymail\\.co\\.uk/(?:video/[^/]+/video-|embed/video/)([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?dailymail\\.co\\.uk/(?:video/[^/]+/video-|embed/video/)([0-9]+)"
      },
      "dailywire": {
        "name": "dailywire",
        "type": "free",
        "domains": [
          "dailywire.com"
        ],
        "regexps": [
          "https?://(?:www\\.)dailywire(?:\\.com)/(episode|videos)/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)dailywire(?:\\.com)/(episode|videos)/([\\w-]+)"
      },
      "dailywirepodcast": {
        "name": "dailywirepodcast",
        "type": "free",
        "domains": [
          "dailywire.com"
        ],
        "regexps": [
          "https?://(?:www\\.)dailywire(?:\\.com)/(podcasts)/([\\w-]+/([\\w-]+))"
        ],
        "regexp": "https?://(?:www\\.)dailywire(?:\\.com)/(podcasts)/([\\w-]+/([\\w-]+))"
      },
      "damtomo": {
        "name": "damtomo",
        "type": "free",
        "domains": [
          "clubdam.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?clubdam\\.com/app/damtomo/(?:SP/)?karaokePost/StreamingKrk\\.do\\?karaokeContributeId=(\\d+)",
          "https?://(?:www\\.)?clubdam\\.com/app/damtomo/(?:SP/)?karaokeMovie/StreamingDkm\\.do\\?karaokeMovieId=(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?clubdam\\.com/app/damtomo/(?:SP/)?karaokePost/StreamingKrk\\.do\\?karaokeContributeId=(\\d+))|(https?://(?:www\\.)?clubdam\\.com/app/damtomo/(?:SP/)?karaokeMovie/StreamingDkm\\.do\\?karaokeMovieId=(\\d+))"
      },
      "dangalplay": {
        "name": "dangalplay",
        "type": "free",
        "domains": [
          "dangalplay.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?dangalplay.com/shows/([^/?#]+)/((?!episodes)[^/?#]+)/?(?:$|[?#])",
          "https?://(?:www\\.)?dangalplay.com/shows/([^/?#]+)(?:/(ep-[^/?#]+)/episodes)?/?(?:$|[?#])"
        ],
        "regexp": "(https?://(?:www\\.)?dangalplay.com/shows/([^/?#]+)/((?!episodes)[^/?#]+)/?(?:$|[?#]))|(https?://(?:www\\.)?dangalplay.com/shows/([^/?#]+)(?:/(ep-[^/?#]+)/episodes)?/?(?:$|[?#]))"
      },
      "daum.net": {
        "name": "daum.net",
        "type": "free",
        "domains": [
          "tvpot.daum.net",
          "m.tvpot.daum.net",
          "videofarm.daum.net"
        ],
        "regexps": [
          "https?://(?:m\\.)?tvpot\\.daum\\.net/(?:clip/ClipView.(?:do|tv)|mypot/View.do)\\?.*?clipid=(\\d+)",
          "https?://(?:(?:m\\.)?tvpot\\.daum\\.net/v/|videofarm\\.daum\\.net/controller/player/VodPlayer\\.swf\\?vid=)([^?#&]+)",
          "https?://(?:m\\.)?tvpot\\.daum\\.net/mypot/(?:View\\.do|Top\\.tv)\\?.*?playlistid=([0-9]+)",
          "https?://(?:m\\.)?tvpot\\.daum\\.net/mypot/(?:View|Top)\\.(?:do|tv)\\?.*?ownerid=([0-9a-zA-Z]+)"
        ],
        "regexp": "(https?://(?:m\\.)?tvpot\\.daum\\.net/(?:clip/ClipView.(?:do|tv)|mypot/View.do)\\?.*?clipid=(\\d+))|(https?://(?:(?:m\\.)?tvpot\\.daum\\.net/v/|videofarm\\.daum\\.net/controller/player/VodPlayer\\.swf\\?vid=)([^?#&]+))|(https?://(?:m\\.)?tvpot\\.daum\\.net/mypot/(?:View\\.do|Top\\.tv)\\?.*?playlistid=([0-9]+))|(https?://(?:m\\.)?tvpot\\.daum\\.net/mypot/(?:View|Top)\\.(?:do|tv)\\?.*?ownerid=([0-9a-zA-Z]+))"
      },
      "daystar": {
        "name": "daystar",
        "type": "free",
        "domains": [
          "player.daystar.tv"
        ],
        "regexps": [
          "https?://player\\.daystar\\.tv/(\\w+)"
        ],
        "regexp": "https?://player\\.daystar\\.tv/(\\w+)"
      },
      "dbtv": {
        "name": "dbtv",
        "type": "free",
        "domains": [
          "dagbladet.no"
        ],
        "regexps": [
          "https?://(?:www\\.)?dagbladet\\.no/video/(?:(?:embed|([^/]+))/)?([0-9A-Za-z_-]{11}|[a-zA-Z0-9]{8})"
        ],
        "regexp": "https?://(?:www\\.)?dagbladet\\.no/video/(?:(?:embed|([^/]+))/)?([0-9A-Za-z_-]{11}|[a-zA-Z0-9]{8})"
      },
      "dctptv": {
        "name": "dctptv",
        "type": "free",
        "domains": [
          "dctp.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?dctp\\.tv/(?:#/)?filme/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?dctp\\.tv/(?:#/)?filme/([^/?#&]+)"
      },
      "democracynow": {
        "name": "democracynow",
        "type": "free",
        "domains": [
          "democracynow.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?democracynow\\.org/([^\\?]*)"
        ],
        "regexp": "https?://(?:www\\.)?democracynow\\.org/([^\\?]*)"
      },
      "destinationamerica": {
        "name": "destinationamerica",
        "type": "free",
        "domains": [
          "destinationamerica.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?destinationamerica\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?destinationamerica\\.com/video/([^/]+/[^/?#]+)"
      },
      "deuxm": {
        "name": "deuxm",
        "type": "free",
        "domains": [
          "2m.ma"
        ],
        "regexps": [
          "https?://(?:www\\.)?2m\\.ma/[^/]+/replay/single/(([\\w.]{1,24})+)"
        ],
        "regexp": "https?://(?:www\\.)?2m\\.ma/[^/]+/replay/single/(([\\w.]{1,24})+)"
      },
      "deuxmnews": {
        "name": "deuxmnews",
        "type": "free",
        "domains": [
          "2m.ma"
        ],
        "regexps": [
          "https?://(?:www\\.)?2m\\.ma/(\\w+)/news/([^/#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?2m\\.ma/(\\w+)/news/([^/#?]+)"
      },
      "dhm": {
        "name": "dhm",
        "type": "free",
        "domains": [
          "dhm.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?dhm\\.de/filmarchiv/(?:[^/]+/)+([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?dhm\\.de/filmarchiv/(?:[^/]+/)+([^/]+)"
      },
      "digitalconcerthall": {
        "name": "digitalconcerthall",
        "type": "free",
        "domains": [
          "digitalconcerthall.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?digitalconcerthall\\.com/([a-z]+)/(film|concert|work)/([0-9]+)-?([0-9]+)?"
        ],
        "regexp": "https?://(?:www\\.)?digitalconcerthall\\.com/([a-z]+)/(film|concert|work)/([0-9]+)-?([0-9]+)?"
      },
      "digitallyspeaking": {
        "name": "digitallyspeaking",
        "type": "free",
        "domains": [
          "evt.dispeak.com",
          "events.digitallyspeaking.com",
          "sevt.dispeak.com"
        ],
        "regexps": [
          "https?://(?:s?evt\\.dispeak|events\\.digitallyspeaking)\\.com/(?:[^/]+/)+xml/([^.]+)\\.xml"
        ],
        "regexp": "https?://(?:s?evt\\.dispeak|events\\.digitallyspeaking)\\.com/(?:[^/]+/)+xml/([^.]+)\\.xml"
      },
      "digiteka": {
        "name": "digiteka",
        "type": "free",
        "domains": [
          "ultimedia.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:digiteka\\.net|ultimedia\\.com)/(?:deliver/(generic|musique)(?:/[^/]+)*/(?:src|article)|default/index/video(generic|music)/id)/([\\d+a-z]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:digiteka\\.net|ultimedia\\.com)/(?:deliver/(generic|musique)(?:/[^/]+)*/(?:src|article)|default/index/video(generic|music)/id)/([\\d+a-z]+)"
      },
      "digiview": {
        "name": "digiview",
        "type": "free",
        "domains": [
          "ladigitale.dev"
        ],
        "regexps": [
          "https?://(?:www\\.)?ladigitale\\.dev/digiview/#/v/([0-9a-f]+)"
        ],
        "regexp": "https?://(?:www\\.)?ladigitale\\.dev/digiview/#/v/([0-9a-f]+)"
      },
      "discogsreleaseplaylist": {
        "name": "discogsreleaseplaylist",
        "type": "free",
        "domains": [
          "discogs.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?discogs\\.com/(release|master)/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?discogs\\.com/(release|master)/(\\d+)"
      },
      "discoverylife": {
        "name": "discoverylife",
        "type": "free",
        "domains": [
          "discoverylife.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?discoverylife\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?discoverylife\\.com/video/([^/]+/[^/?#]+)"
      },
      "discoverynetworksde": {
        "name": "discoverynetworksde",
        "type": "free",
        "domains": [
          "dmax.de",
          "tlc.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?((?:tlc|dmax)\\.de)/(?:programme|show|sendungen)/([^/?#]+)/(?:video/)?([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?((?:tlc|dmax)\\.de)/(?:programme|show|sendungen)/([^/?#]+)/(?:video/)?([^/?#]+)"
      },
      "discoveryplus": {
        "name": "discoveryplus",
        "type": "free",
        "domains": [
          "discoveryplus.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?discoveryplus\\.com/(?!it/)(?:([a-z]{2})/)?video(?:/sport|/olympics)?/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?discoveryplus\\.com/(?!it/)(?:([a-z]{2})/)?video(?:/sport|/olympics)?/([^/]+/[^/?#]+)"
      },
      "discoveryplusindia": {
        "name": "discoveryplusindia",
        "type": "free",
        "domains": [
          "discoveryplus.in"
        ],
        "regexps": [
          "https?://(?:www\\.)?discoveryplus\\.in/videos?/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?discoveryplus\\.in/videos?/([^/]+/[^/?#]+)"
      },
      "discoveryplusindiashow": {
        "name": "discoveryplusindiashow",
        "type": "free",
        "domains": [
          "discoveryplus.in"
        ],
        "regexps": [
          "https?://(?:www\\.)?discoveryplus\\.in/show/([^/]+)/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:www\\.)?discoveryplus\\.in/show/([^/]+)/?(?:[?#]|$)"
      },
      "discoveryplusitaly": {
        "name": "discoveryplusitaly",
        "type": "free",
        "domains": [
          "discoveryplus.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?discoveryplus\\.com/it/video(?:/sport|/olympics)?/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?discoveryplus\\.com/it/video(?:/sport|/olympics)?/([^/]+/[^/?#]+)"
      },
      "discoveryplusitalyshow": {
        "name": "discoveryplusitalyshow",
        "type": "free",
        "domains": [
          "discoveryplus.it"
        ],
        "regexps": [
          "https?://(?:www\\.)?discoveryplus\\.it/programmi/([^/]+)/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:www\\.)?discoveryplus\\.it/programmi/([^/]+)/?(?:[?#]|$)"
      },
      "disney": {
        "name": "disney",
        "type": "free",
        "domains": [
          "video.disney.com",
          "starwars.com",
          "videos.disneylatino.com",
          "video.en.disneyme.com",
          "video.disneyturkiye.com.tr",
          "disneyjunior.disney.com",
          "spiderman.marvelkids.com",
          "disneyjunior.en.disneyme.com",
          "disneychannel.de"
        ],
        "regexps": [
          "https?://((?:[^/]+\\.)?(?:disney\\.[a-z]{2,3}(?:\\.[a-z]{2})?|disney(?:(?:me|latino)\\.com|turkiye\\.com\\.tr|channel\\.de)|(?:starwars|marvelkids)\\.com))/(?:(?:embed/|(?:[^/]+/)+[\\w-]+-)([a-z0-9]{24})|(?:[^/]+/)?([^/?#]+))"
        ],
        "regexp": "https?://((?:[^/]+\\.)?(?:disney\\.[a-z]{2,3}(?:\\.[a-z]{2})?|disney(?:(?:me|latino)\\.com|turkiye\\.com\\.tr|channel\\.de)|(?:starwars|marvelkids)\\.com))/(?:(?:embed/|(?:[^/]+/)+[\\w-]+-)([a-z0-9]{24})|(?:[^/]+/)?([^/?#]+))"
      },
      "dlf": {
        "name": "dlf",
        "type": "free",
        "domains": [
          "deutschlandfunk.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?deutschlandfunk\\.de/((?![\\w-]+-dlf-[\\da-f]{8})[\\w-]+-\\d+)\\.html",
          "https?://(?:www\\.)?deutschlandfunk\\.de/[\\w-]+-dlf-([\\da-f]{8})-100\\.html"
        ],
        "regexp": "(https?://(?:www\\.)?deutschlandfunk\\.de/((?![\\w-]+-dlf-[\\da-f]{8})[\\w-]+-\\d+)\\.html)|(https?://(?:www\\.)?deutschlandfunk\\.de/[\\w-]+-dlf-([\\da-f]{8})-100\\.html)"
      },
      "dlive": {
        "name": "dlive",
        "type": "free",
        "domains": [
          "dlive.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?dlive\\.tv/(?!p/)([\\w.-]+)",
          "https?://(?:www\\.)?dlive\\.tv/p/(.+?)\\+([^/?#&]+)"
        ],
        "regexp": "(https?://(?:www\\.)?dlive\\.tv/(?!p/)([\\w.-]+))|(https?://(?:www\\.)?dlive\\.tv/p/(.+?)\\+([^/?#&]+))"
      },
      "douyin": {
        "name": "douyin",
        "type": "free",
        "domains": [
          "douyin.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?douyin\\.com/video/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?douyin\\.com/video/([0-9]+)"
      },
      "douyushow": {
        "name": "douyushow",
        "type": "free",
        "domains": [
          "v.douyu.com",
          "vmobile.douyu.com"
        ],
        "regexps": [
          "https?://v(?:mobile)?\\.douyu\\.com/show/([0-9a-zA-Z]+)"
        ],
        "regexp": "https?://v(?:mobile)?\\.douyu\\.com/show/([0-9a-zA-Z]+)"
      },
      "douyutv": {
        "name": "douyutv",
        "type": "free",
        "domains": [
          "douyu.com",
          "douyutv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?douyu(?:tv)?\\.com/(topic/\\w+\\?rid=|(?:[^/]+/))*([A-Za-z0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?douyu(?:tv)?\\.com/(topic/\\w+\\?rid=|(?:[^/]+/))*([A-Za-z0-9]+)"
      },
      "dplay": {
        "name": "dplay",
        "type": "free",
        "domains": [
          "dplay.se",
          "dplay.dk",
          "dplay.no",
          "it.dplay.com",
          "es.dplay.com",
          "dplay.fi",
          "dplay.jp",
          "discoveryplus.se",
          "discoveryplus.dk",
          "discoveryplus.no",
          "discoveryplus.it",
          "discoveryplus.es",
          "discoveryplus.fi"
        ],
        "regexps": [
          "https?://((?:www\\.)?(d(?:play\\.(dk|fi|jp|se|no)|iscoveryplus\\.(dk|es|fi|it|se|no)))|(es|it)\\.dplay\\.com)/[^/]+/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://((?:www\\.)?(d(?:play\\.(dk|fi|jp|se|no)|iscoveryplus\\.(dk|es|fi|it|se|no)))|(es|it)\\.dplay\\.com)/[^/]+/([^/]+/[^/?#]+)"
      },
      "drbonanza": {
        "name": "drbonanza",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?dr\\.dk/bonanza/[^/]+/\\d+/[^/]+/(\\d+)/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?dr\\.dk/bonanza/[^/]+/\\d+/[^/]+/(\\d+)/([^/?#&]+)"
      },
      "drooble": {
        "name": "drooble",
        "type": "free",
        "domains": [
          "drooble.com"
        ],
        "regexps": [
          "https?://drooble\\.com/(?:(?:([^/]+)/)?(song|videos|music/albums)/(\\d+)|([^/]+)/(videos|music))"
        ],
        "regexp": "https?://drooble\\.com/(?:(?:([^/]+)/)?(song|videos|music/albums)/(\\d+)|([^/]+)/(videos|music))"
      },
      "dropbox": {
        "name": "dropbox",
        "type": "free",
        "domains": [
          "dropbox.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?dropbox\\.com/(?:(?:e/)?scl/f[io]|sh?)/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?dropbox\\.com/(?:(?:e/)?scl/f[io]|sh?)/(\\w+)"
      },
      "dropout": {
        "name": "dropout",
        "type": "free",
        "domains": [
          "watch.dropout.tv"
        ],
        "regexps": [
          "https?://(?:watch\\.)?dropout\\.tv/(?:[^/?#]+/)*videos/([^/?#]+)/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:watch\\.)?dropout\\.tv/(?:[^/?#]+/)*videos/([^/?#]+)/?(?:[?#]|$)"
      },
      "dropoutseason": {
        "name": "dropoutseason",
        "type": "free",
        "domains": [
          "watch.dropout.tv"
        ],
        "regexps": [
          "https?://(?:watch\\.)?dropout\\.tv/([^\\/$&?#]+)(?:/?$|/season:([0-9]+)/?$)"
        ],
        "regexp": "https?://(?:watch\\.)?dropout\\.tv/([^\\/$&?#]+)(?:/?$|/season:([0-9]+)/?$)"
      },
      "drtalks": {
        "name": "drtalks",
        "type": "free",
        "domains": [
          "drtalks.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?drtalks\\.com/videos/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?drtalks\\.com/videos/([\\w-]+)"
      },
      "drtuber": {
        "name": "drtuber",
        "type": "free",
        "domains": [
          "drtuber.com",
          "m.drtuber.com"
        ],
        "regexps": [
          "https?://(?:(?:www|m)\\.)?drtuber\\.com/(?:video|embed)/(\\d+)(?:/([\\w-]+))?"
        ],
        "regexp": "https?://(?:(?:www|m)\\.)?drtuber\\.com/(?:video|embed)/(\\d+)(?:/([\\w-]+))?"
      },
      "drtv": {
        "name": "drtv",
        "type": "free",
        "domains": [
          "dr.dk",
          "dr-massive.com"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?dr\\.dk/tv/se(?:/ondemand)?/(?:[^/?#]+/)*|(?:www\\.)?(?:dr\\.dk|dr-massive\\.com)/drtv/(?:se|episode|program)/)([\\da-z_-]+)",
          "https?://(?:www\\.)?dr\\.dk/(?:tv|TV)/live/([\\da-z-]+)",
          "https?://(?:www\\.)?(?:dr\\.dk|dr-massive\\.com)/drtv/saeson/([\\w-]+)_(\\d+)",
          "https?://(?:www\\.)?(?:dr\\.dk|dr-massive\\.com)/drtv/serie/([\\w-]+)_(\\d+)"
        ],
        "regexp": "(https?://(?:(?:www\\.)?dr\\.dk/tv/se(?:/ondemand)?/(?:[^/?#]+/)*|(?:www\\.)?(?:dr\\.dk|dr-massive\\.com)/drtv/(?:se|episode|program)/)([\\da-z_-]+))|(https?://(?:www\\.)?dr\\.dk/(?:tv|TV)/live/([\\da-z-]+))|(https?://(?:www\\.)?(?:dr\\.dk|dr-massive\\.com)/drtv/saeson/([\\w-]+)_(\\d+))|(https?://(?:www\\.)?(?:dr\\.dk|dr-massive\\.com)/drtv/serie/([\\w-]+)_(\\d+))"
      },
      "dtube": {
        "name": "dtube",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?d\\.tube/(?:#!/)?v/([0-9a-z.-]+)/([0-9a-z]{8})"
        ],
        "regexp": "https?://(?:www\\.)?d\\.tube/(?:#!/)?v/([0-9a-z.-]+)/([0-9a-z]{8})"
      },
      "duboku": {
        "name": "duboku",
        "type": "free",
        "domains": [
          "w.duboku.io"
        ],
        "regexps": [
          "(?:https?://[^/]+\\.duboku\\.io/vodplay/)([0-9]+-[0-9-]+)\\.html.*",
          "(?:https?://[^/]+\\.duboku\\.io/voddetail/)([0-9]+)\\.html.*"
        ],
        "regexp": "((?:https?://[^/]+\\.duboku\\.io/vodplay/)([0-9]+-[0-9-]+)\\.html.*)|((?:https?://[^/]+\\.duboku\\.io/voddetail/)([0-9]+)\\.html.*)"
      },
      "dumpert": {
        "name": "dumpert",
        "type": "free",
        "domains": [
          "dumpert.nl",
          "legacy.dumpert.nl"
        ],
        "regexps": [
          "(https?)://(?:(?:www|legacy)\\.)?dumpert\\.nl/(?:(?:mediabase|embed|item)/|[^#]*[?&]selectedId=)([0-9]+[/_][0-9a-zA-Z]+)"
        ],
        "regexp": "(https?)://(?:(?:www|legacy)\\.)?dumpert\\.nl/(?:(?:mediabase|embed|item)/|[^#]*[?&]selectedId=)([0-9]+[/_][0-9a-zA-Z]+)"
      },
      "duoplay": {
        "name": "duoplay",
        "type": "free",
        "domains": [
          "duoplay.ee"
        ],
        "regexps": [
          "https?://duoplay\\.ee/(\\d+)(?:[/?#]|$)"
        ],
        "regexp": "https?://duoplay\\.ee/(\\d+)(?:[/?#]|$)"
      },
      "dvtv": {
        "name": "dvtv",
        "type": "free",
        "domains": [
          "video.aktualne.cz"
        ],
        "regexps": [
          "https?://video\\.aktualne\\.cz/(?:[^/]+/)+r~([0-9a-f]{32})"
        ],
        "regexp": "https?://video\\.aktualne\\.cz/(?:[^/]+/)+r~([0-9a-f]{32})"
      },
      "dw": {
        "name": "dw",
        "type": "free",
        "domains": [
          "dw.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?dw\\.com/(?:[^/]+/)+a-(\\d+)",
          "https?://(?:www\\.)?dw\\.com/(?:[^/]+/)+(?:av|e)-(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?dw\\.com/(?:[^/]+/)+a-(\\d+))|(https?://(?:www\\.)?dw\\.com/(?:[^/]+/)+(?:av|e)-(\\d+))"
      },
      "dzen.ru": {
        "name": "dzen.ru",
        "type": "free",
        "domains": [
          "zen.yandex.ru",
          "dzen.ru"
        ],
        "regexps": [
          "https?://(zen\\.yandex|dzen)\\.ru/(?!media|video)(?:id/)?([a-z0-9-_]+)",
          "https?://(zen\\.yandex|dzen)\\.ru(?:/video)?/(media|watch)/(?:(?:id/[^/]+/|[^/]+/)(?:[a-z0-9-]+)-)?([a-z0-9-]+)"
        ],
        "regexp": "(https?://(zen\\.yandex|dzen)\\.ru/(?!media|video)(?:id/)?([a-z0-9-_]+))|(https?://(zen\\.yandex|dzen)\\.ru(?:/video)?/(media|watch)/(?:(?:id/[^/]+/|[^/]+/)(?:[a-z0-9-]+)-)?([a-z0-9-]+))"
      },
      "ebaumsworld": {
        "name": "ebaumsworld",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?ebaumsworld\\.com/videos/[^/]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?ebaumsworld\\.com/videos/[^/]+/(\\d+)"
      },
      "ebay": {
        "name": "ebay",
        "type": "free",
        "domains": [
          "ebay.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?ebay\\.com/itm/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?ebay\\.com/itm/(\\d+)"
      },
      "egghead": {
        "name": "egghead",
        "type": "free",
        "domains": [
          "egghead.io",
          "app.egghead.io"
        ],
        "regexps": [
          "https?://(?:app\\.)?egghead\\.io/(?:course|playlist)s/([^/?#&]+)",
          "https?://(?:app\\.)?egghead\\.io/(?:api/v1/)?lessons/([^/?#&]+)"
        ],
        "regexp": "(https?://(?:app\\.)?egghead\\.io/(?:course|playlist)s/([^/?#&]+))|(https?://(?:app\\.)?egghead\\.io/(?:api/v1/)?lessons/([^/?#&]+))"
      },
      "eggs": {
        "name": "eggs",
        "type": "free",
        "domains": [
          "eggs.mu"
        ],
        "regexps": [
          "https?://eggs\\.mu/artist/(\\w+)/?(?:[?#&]|$)",
          "https?://eggs\\.mu/artist/[^/?#]+/song/([\\da-f-]+)"
        ],
        "regexp": "(https?://eggs\\.mu/artist/(\\w+)/?(?:[?#&]|$))|(https?://eggs\\.mu/artist/[^/?#]+/song/([\\da-f-]+))"
      },
      "einsundeinstv": {
        "name": "einsundeinstv",
        "type": "free",
        "domains": [
          "1und1.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?1und1\\.tv/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?1und1\\.tv/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "einsundeinstvlive": {
        "name": "einsundeinstvlive",
        "type": "free",
        "domains": [
          "1und1.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?1und1\\.tv/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?1und1\\.tv/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "einsundeinstvrecordings": {
        "name": "einsundeinstvrecordings",
        "type": "free",
        "domains": [
          "1und1.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?1und1\\.tv/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?1und1\\.tv/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "eitb.tv": {
        "name": "eitb.tv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?eitb\\.tv/(?:eu/bideoa|es/video)/[^/]+/\\d+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?eitb\\.tv/(?:eu/bideoa|es/video)/[^/]+/\\d+/(\\d+)"
      },
      "elonet": {
        "name": "elonet",
        "type": "free",
        "domains": [
          "elonet.finna.fi"
        ],
        "regexps": [
          "https?://elonet\\.finna\\.fi/Record/kavi\\.elonet_elokuva_([0-9]+)"
        ],
        "regexp": "https?://elonet\\.finna\\.fi/Record/kavi\\.elonet_elokuva_([0-9]+)"
      },
      "elpais": {
        "name": "elpais",
        "type": "free",
        "domains": [
          "blogs.elpais.com",
          "elcomidista.elpais.com",
          "elpais.com",
          "epv.elpais.com"
        ],
        "regexps": [
          "https?://(?:[^.]+\\.)?elpais\\.com/.*/([^/#?]+)\\.html(?:$|[?#])"
        ],
        "regexp": "https?://(?:[^.]+\\.)?elpais\\.com/.*/([^/#?]+)\\.html(?:$|[?#])"
      },
      "eltrecetv": {
        "name": "eltrecetv",
        "type": "free",
        "domains": [
          "eltrecetv.com.ar"
        ],
        "regexps": [
          "https?://(?:www\\.)?eltrecetv\\.com\\.ar/[\\w-]+/capitulos/temporada-\\d+/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?eltrecetv\\.com\\.ar/[\\w-]+/capitulos/temporada-\\d+/([\\w-]+)"
      },
      "embedly": {
        "name": "embedly",
        "type": "free",
        "domains": [
          "cdn.embedly.com"
        ],
        "regexps": [
          "https?://(?:www|cdn\\.)?embedly\\.com/widgets/media\\.html\\?(?:[^#]*?&)?(?:src|url)=(?:[^#&]+)"
        ],
        "regexp": "https?://(?:www|cdn\\.)?embedly\\.com/widgets/media\\.html\\?(?:[^#]*?&)?(?:src|url)=(?:[^#&]+)"
      },
      "empflix": {
        "name": "empflix",
        "type": "free",
        "domains": [
          "empflix.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(empflix)\\.com/(?:videos/(.+?)-|[^/]+/([^/]+)/video)([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?(empflix)\\.com/(?:videos/(.+?)-|[^/]+/([^/]+)/video)([0-9]+)"
      },
      "epicon": {
        "name": "epicon",
        "type": "free",
        "domains": [
          "epicon.in"
        ],
        "regexps": [
          "https?://(?:www\\.)?epicon\\.in/(?:documentaries|movies|tv-shows/[^/?#]+/[^/?#]+)/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?epicon\\.in/(?:documentaries|movies|tv-shows/[^/?#]+/[^/?#]+)/([^/?#]+)"
      },
      "epiconseries": {
        "name": "epiconseries",
        "type": "free",
        "domains": [
          "epicon.in"
        ],
        "regexps": [
          "(?!.*season)https?://(?:www\\.)?epicon\\.in/tv-shows/([^/?#]+)"
        ],
        "regexp": "(?!.*season)https?://(?:www\\.)?epicon\\.in/tv-shows/([^/?#]+)"
      },
      "epidemicsound": {
        "name": "epidemicsound",
        "type": "free",
        "domains": [
          "epidemicsound.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?epidemicsound\\.com/(?:(sound-effects/tracks)|track)/([0-9a-zA-Z-]+)"
        ],
        "regexp": "https?://(?:www\\.)?epidemicsound\\.com/(?:(sound-effects/tracks)|track)/([0-9a-zA-Z-]+)"
      },
      "eplus": {
        "name": "eplus",
        "type": "free",
        "domains": [
          "live.eplus.jp"
        ],
        "regexps": [
          "https?://live\\.eplus\\.jp/ex/player\\?ib=((?:\\w|%2B|%2F){86}%3D%3D)",
          "https?://live\\.eplus\\.jp/(sample|\\d+)"
        ],
        "regexp": "(https?://live\\.eplus\\.jp/ex/player\\?ib=((?:\\w|%2B|%2F){86}%3D%3D))|(https?://live\\.eplus\\.jp/(sample|\\d+))"
      },
      "epoch": {
        "name": "epoch",
        "type": "free",
        "domains": [
          "theepochtimes.com"
        ],
        "regexps": [
          "https?://www.theepochtimes\\.com/[\\w-]+_(\\d+).html"
        ],
        "regexp": "https?://www.theepochtimes\\.com/[\\w-]+_(\\d+).html"
      },
      "eporner": {
        "name": "eporner",
        "type": "free",
        "domains": [
          "eporner.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?eporner\\.com/(?:(?:hd-porn|embed)/|video-)(\\w+)(?:/([\\w-]+))?"
        ],
        "regexp": "https?://(?:www\\.)?eporner\\.com/(?:(?:hd-porn|embed)/|video-)(\\w+)(?:/([\\w-]+))?"
      },
      "erocast": {
        "name": "erocast",
        "type": "free",
        "domains": [
          "erocast.me"
        ],
        "regexps": [
          "https?://(?:www\\.)?erocast\\.me/track/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?erocast\\.me/track/([0-9]+)"
      },
      "eroprofile": {
        "name": "eroprofile",
        "type": "free",
        "domains": [
          "eroprofile.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?eroprofile\\.com/m/videos/album/([^/]+)",
          "https?://(?:www\\.)?eroprofile\\.com/m/videos/view/([^/]+)"
        ],
        "regexp": "(https?://(?:www\\.)?eroprofile\\.com/m/videos/album/([^/]+))|(https?://(?:www\\.)?eroprofile\\.com/m/videos/view/([^/]+))"
      },
      "errjupiter": {
        "name": "errjupiter",
        "type": "free",
        "domains": [
          "jupiter.err.ee",
          "jupiterpluss.err.ee",
          "lasteekraan.err.ee"
        ],
        "regexps": [
          "https?://(?:jupiter(?:pluss)?|lasteekraan)\\.err\\.ee/(\\d+)"
        ],
        "regexp": "https?://(?:jupiter(?:pluss)?|lasteekraan)\\.err\\.ee/(\\d+)"
      },
      "ertflix": {
        "name": "ertflix",
        "type": "free",
        "domains": [
          "ertflix.gr"
        ],
        "regexps": [
          "ertflix:([\\w-]+)",
          "https?://www\\.ertflix\\.gr/(?:[^/]+/)?(?:series|vod)/([a-z]{3}\\.\\d+)"
        ],
        "regexp": "(ertflix:([\\w-]+))|(https?://www\\.ertflix\\.gr/(?:[^/]+/)?(?:series|vod)/([a-z]{3}\\.\\d+))"
      },
      "ertwebtv": {
        "name": "ertwebtv",
        "type": "free",
        "domains": [
          "ert.gr"
        ],
        "regexps": [
          "https?://www\\.ert\\.gr/webtv/live\\-uni/vod/dt\\-uni\\-vod\\.php\\?([^#]+&)?f=([^#&]+)"
        ],
        "regexp": "https?://www\\.ert\\.gr/webtv/live\\-uni/vod/dt\\-uni\\-vod\\.php\\?([^#]+&)?f=([^#&]+)"
      },
      "espn": {
        "name": "espn",
        "type": "free",
        "domains": [
          "espn.go.com",
          "broadband.espn.go.com",
          "nonredline.sports.espn.go.com",
          "cdn.espn.go.com",
          "espn.com",
          "espnfc.us",
          "espnfc.com"
        ],
        "regexps": [
          "https?://(?:(?:(?:(?:(?:\\w+\\.)+)?espn\\.go|(?:www\\.)?espn)\\.com/(?:(?:video/(?:clip|iframe/twitter)|)(?:.*?\\?.*?\\bid=|/_/id/)|[^/]+/video/))|(?:www\\.)espnfc\\.(?:com|us)/(?:video/)?[^/]+/\\d+/video/)(\\d+)"
        ],
        "regexp": "https?://(?:(?:(?:(?:(?:\\w+\\.)+)?espn\\.go|(?:www\\.)?espn)\\.com/(?:(?:video/(?:clip|iframe/twitter)|)(?:.*?\\?.*?\\bid=|/_/id/)|[^/]+/video/))|(?:www\\.)espnfc\\.(?:com|us)/(?:video/)?[^/]+/\\d+/video/)(\\d+)"
      },
      "espnarticle": {
        "name": "espnarticle",
        "type": "free",
        "domains": [
          "espn.go.com"
        ],
        "regexps": [
          "https?://(?:espn\\.go|(?:www\\.)?espn)\\.com/(?:[^/]+/)*([^/]+)"
        ],
        "regexp": "https?://(?:espn\\.go|(?:www\\.)?espn)\\.com/(?:[^/]+/)*([^/]+)"
      },
      "espncricinfo": {
        "name": "espncricinfo",
        "type": "free",
        "domains": [
          "espncricinfo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?espncricinfo\\.com/(?:cricket-)?videos?/[^#$&?/]+-(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?espncricinfo\\.com/(?:cricket-)?videos?/[^#$&?/]+-(\\d+)"
      },
      "ettutv": {
        "name": "ettutv",
        "type": "free",
        "domains": [
          "ettu.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?ettu\\.tv/[^?#]+/playerpage/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?ettu\\.tv/[^?#]+/playerpage/([0-9]+)"
      },
      "europa": {
        "name": "europa",
        "type": "free",
        "domains": [
          "ec.europa.eu"
        ],
        "regexps": [
          "https?://ec\\.europa\\.eu/avservices/(?:video/player|audio/audioDetails)\\.cfm\\?.*?\\bref=([A-Za-z0-9-]+)"
        ],
        "regexp": "https?://ec\\.europa\\.eu/avservices/(?:video/player|audio/audioDetails)\\.cfm\\?.*?\\bref=([A-Za-z0-9-]+)"
      },
      "europarlwebstream": {
        "name": "europarlwebstream",
        "type": "free",
        "domains": [
          "multimedia.europarl.europa.eu"
        ],
        "regexps": [
          "https?://multimedia\\.europarl\\.europa\\.eu/(?:\\w+/)?webstreaming/(?:[\\w-]+_)?([\\w-]+)"
        ],
        "regexp": "https?://multimedia\\.europarl\\.europa\\.eu/(?:\\w+/)?webstreaming/(?:[\\w-]+_)?([\\w-]+)"
      },
      "europeantour": {
        "name": "europeantour",
        "type": "free",
        "domains": [
          "europeantour.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?europeantour\\.com/dpworld-tour/news/video/([^/&?#$]+)"
        ],
        "regexp": "https?://(?:www\\.)?europeantour\\.com/dpworld-tour/news/video/([^/&?#$]+)"
      },
      "eurosport": {
        "name": "eurosport",
        "type": "free",
        "domains": [
          "eurosport.com",
          "eurosport.de",
          "eurosport.dk",
          "eurosport.nl",
          "eurosport.es",
          "eurosport.fr",
          "eurosport.it",
          "eurosport.hu",
          "eurosport.no",
          "eurosport.ro",
          "eurosport.com.tr",
          "eurosport.tvn24.pl"
        ],
        "regexps": [
          "https?://(?:(?:(?:www|espanol)\\.)?eurosport\\.(?:com(?:\\.tr)?|de|dk|es|fr|hu|it|nl|no|ro)|eurosport\\.tvn24\\.pl)/[\\w-]+/(?:[\\w-]+/[\\d-]+/)?[\\w.-]+_(vid\\d+)"
        ],
        "regexp": "https?://(?:(?:(?:www|espanol)\\.)?eurosport\\.(?:com(?:\\.tr)?|de|dk|es|fr|hu|it|nl|no|ro)|eurosport\\.tvn24\\.pl)/[\\w-]+/(?:[\\w-]+/[\\d-]+/)?[\\w.-]+_(vid\\d+)"
      },
      "euscreen": {
        "name": "euscreen",
        "type": "free",
        "domains": [
          "euscreen.eu"
        ],
        "regexps": [
          "https?://(?:www\\.)?euscreen\\.eu/item.html\\?id=([^&?$/]+)"
        ],
        "regexp": "https?://(?:www\\.)?euscreen\\.eu/item.html\\?id=([^&?$/]+)"
      },
      "ewetv": {
        "name": "ewetv",
        "type": "free",
        "domains": [
          "tvonline.ewe.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvonline\\.ewe\\.de/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?tvonline\\.ewe\\.de/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "ewetvlive": {
        "name": "ewetvlive",
        "type": "free",
        "domains": [
          "tvonline.ewe.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvonline\\.ewe\\.de/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?tvonline\\.ewe\\.de/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "ewetvrecordings": {
        "name": "ewetvrecordings",
        "type": "free",
        "domains": [
          "tvonline.ewe.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvonline\\.ewe\\.de/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?tvonline\\.ewe\\.de/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "expressen": {
        "name": "expressen",
        "type": "free",
        "domains": [
          "expressen.se",
          "di.se"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:expressen|di)\\.se/(?:(?:tvspelare/video|video-?player/embed)/)?(?:tv|nyheter)/(?:[^/?#]+/)*([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:expressen|di)\\.se/(?:(?:tvspelare/video|video-?player/embed)/)?(?:tv|nyheter)/(?:[^/?#]+/)*([^/?#&]+)"
      },
      "eyedotv": {
        "name": "eyedotv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?eyedo\\.tv/[^/]+/(?:#!/)?Live/Detail/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?eyedo\\.tv/[^/]+/(?:#!/)?Live/Detail/([0-9]+)"
      },
      "facebook": {
        "name": "facebook",
        "type": "free",
        "domains": [
          "facebook.com",
          "es-la.facebook.com",
          "m.facebook.com",
          "zh-hk.facebook.com",
          "facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion"
        ],
        "regexps": [
          "https?://(?:[\\w-]+\\.)?facebook\\.com/ads/library/?\\?(?:[^#]+&)?id=(\\d+)",
          "(?:https?://(?:[\\w-]+\\.)?(?:facebook\\.com|facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd\\.onion)/(?:[^#]*?\\#!/)?(?:(?:permalink\\.php|video/video\\.php|photo\\.php|video\\.php|video/embed|story\\.php|watch(?:/live)?/?)\\?(?:.*?)(?:v|video_id|story_fbid)=|[^/]+/videos/(?:[^/]+/)?|[^/]+/posts/|events/(?:[^/]+/)?|groups/[^/]+/(?:permalink|posts)/(?:[\\da-f]+/)?|watchparty/)|facebook:)(pfbid[A-Za-z0-9]+|\\d+)",
          "https?://(?:[\\w-]+\\.)?facebook\\.com/reel/(\\d+)"
        ],
        "regexp": "(https?://(?:[\\w-]+\\.)?facebook\\.com/ads/library/?\\?(?:[^#]+&)?id=(\\d+))|((?:https?://(?:[\\w-]+\\.)?(?:facebook\\.com|facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd\\.onion)/(?:[^#]*?\\#!/)?(?:(?:permalink\\.php|video/video\\.php|photo\\.php|video\\.php|video/embed|story\\.php|watch(?:/live)?/?)\\?(?:.*?)(?:v|video_id|story_fbid)=|[^/]+/videos/(?:[^/]+/)?|[^/]+/posts/|events/(?:[^/]+/)?|groups/[^/]+/(?:permalink|posts)/(?:[\\da-f]+/)?|watchparty/)|facebook:)(pfbid[A-Za-z0-9]+|\\d+))|(https?://(?:[\\w-]+\\.)?facebook\\.com/reel/(\\d+))"
      },
      "facebookpluginsvideo": {
        "name": "facebookpluginsvideo",
        "type": "free",
        "domains": [
          "facebook.com"
        ],
        "regexps": [
          "https?://(?:[\\w-]+\\.)?facebook\\.com/plugins/video\\.php\\?.*?\\bhref=(https.+)"
        ],
        "regexp": "https?://(?:[\\w-]+\\.)?facebook\\.com/plugins/video\\.php\\?.*?\\bhref=(https.+)"
      },
      "fancode": {
        "name": "fancode",
        "type": "free",
        "domains": [
          "fancode.com"
        ],
        "regexps": [
          "https?://(www\\.)?fancode\\.com/match/([0-9]+).+",
          "https?://(?:www\\.)?fancode\\.com/video/([0-9]+)\\b"
        ],
        "regexp": "(https?://(www\\.)?fancode\\.com/match/([0-9]+).+)|(https?://(?:www\\.)?fancode\\.com/video/([0-9]+)\\b)"
      },
      "fathom": {
        "name": "fathom",
        "type": "free",
        "domains": [
          "fathom.video"
        ],
        "regexps": [
          "https?://(?:www\\.)?fathom\\.video/share/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?fathom\\.video/share/([^/?#&]+)"
      },
      "faulio": {
        "name": "faulio",
        "type": "free",
        "domains": [
          "aloula.sba.sa",
          "bahry.com",
          "maraya.sba.net.ae",
          "sat7plus.org"
        ],
        "regexps": [
          "https?://(?:aloula\\.sba\\.sa|bahry\\.com|maraya\\.sba\\.net\\.ae|sat7plus\\.org)/(?:(?:ar|en|fa)/)?(?:episode|media)/([a-zA-Z0-9-]+)"
        ],
        "regexp": "https?://(?:aloula\\.sba\\.sa|bahry\\.com|maraya\\.sba\\.net\\.ae|sat7plus\\.org)/(?:(?:ar|en|fa)/)?(?:episode|media)/([a-zA-Z0-9-]+)"
      },
      "fauliolive": {
        "name": "fauliolive",
        "type": "free",
        "domains": [
          "aloula.sba.sa",
          "bahry.com",
          "maraya.sba.net.ae",
          "sat7plus.org"
        ],
        "regexps": [
          "https?://(?:aloula\\.sba\\.sa|bahry\\.com|maraya\\.sba\\.net\\.ae|sat7plus\\.org)/(?:(?:ar|en|fa)/)?live/([a-zA-Z0-9-]+)"
        ],
        "regexp": "https?://(?:aloula\\.sba\\.sa|bahry\\.com|maraya\\.sba\\.net\\.ae|sat7plus\\.org)/(?:(?:ar|en|fa)/)?live/([a-zA-Z0-9-]+)"
      },
      "faz.net": {
        "name": "faz.net",
        "type": "free",
        "domains": [
          "faz.net"
        ],
        "regexps": [
          "https?://(?:www\\.)?faz\\.net/(?:[^/]+/)*.*?-(\\d+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?faz\\.net/(?:[^/]+/)*.*?-(\\d+)\\.html"
      },
      "fc2": {
        "name": "fc2",
        "type": "free",
        "domains": [
          "video.fc2.com",
          "live.fc2.com"
        ],
        "regexps": [
          "https?://video\\.fc2\\.com/flv2\\.swf\\?(.+)",
          "(?:https?://video\\.fc2\\.com/(?:[^/]+/)*content/|fc2:)([^/]+)",
          "https?://live\\.fc2\\.com/(\\d+)"
        ],
        "regexp": "(https?://video\\.fc2\\.com/flv2\\.swf\\?(.+))|((?:https?://video\\.fc2\\.com/(?:[^/]+/)*content/|fc2:)([^/]+))|(https?://live\\.fc2\\.com/(\\d+))"
      },
      "fczenit": {
        "name": "fczenit",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?fc-zenit\\.ru/video/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?fc-zenit\\.ru/video/([0-9]+)"
      },
      "fifa": {
        "name": "fifa",
        "type": "free",
        "domains": [
          "fifa.com"
        ],
        "regexps": [
          "https?://www\\.fifa\\.com/fifaplus/\\w{2}/watch/([^#?]+/)?(\\w+)"
        ],
        "regexp": "https?://www\\.fifa\\.com/fifaplus/\\w{2}/watch/([^#?]+/)?(\\w+)"
      },
      "filmarchiv": {
        "name": "filmarchiv",
        "type": "free",
        "domains": [
          "filmarchiv.at"
        ],
        "regexps": [
          "https?://(?:www\\.)?filmarchiv\\.at/de/filmarchiv-on/video/(f_[0-9a-zA-Z]{5,})"
        ],
        "regexp": "https?://(?:www\\.)?filmarchiv\\.at/de/filmarchiv-on/video/(f_[0-9a-zA-Z]{5,})"
      },
      "filmon": {
        "name": "filmon",
        "type": "free",
        "domains": [
          "filmon.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?filmon\\.com/(?:tv|channel)/([a-z0-9-]+)",
          "(?:https?://(?:www\\.)?filmon\\.com/vod/view/|filmon:)(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?filmon\\.com/(?:tv|channel)/([a-z0-9-]+))|((?:https?://(?:www\\.)?filmon\\.com/vod/view/|filmon:)(\\d+))"
      },
      "filmweb": {
        "name": "filmweb",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?filmweb\\.no/(trailere|filmnytt)/article(\\d+)\\.ece"
        ],
        "regexp": "https?://(?:www\\.)?filmweb\\.no/(trailere|filmnytt)/article(\\d+)\\.ece"
      },
      "fivethirtyeight": {
        "name": "fivethirtyeight",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?fivethirtyeight\\.com/features/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?fivethirtyeight\\.com/features/([^/?#]+)"
      },
      "fivetv": {
        "name": "fivetv",
        "type": "free",
        "domains": [
          "5-tv.ru"
        ],
        "regexps": [
          "https?://(?:www\\.)?5-tv\\.ru/(?:(?:[^/]+/)+(\\d+)|([^/?#]+)(?:[/?#])?)"
        ],
        "regexp": "https?://(?:www\\.)?5-tv\\.ru/(?:(?:[^/]+/)+(\\d+)|([^/?#]+)(?:[/?#])?)"
      },
      "flickr": {
        "name": "flickr",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.|secure\\.)?flickr\\.com/photos/[\\w\\-_@]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.|secure\\.)?flickr\\.com/photos/[\\w\\-_@]+/(\\d+)"
      },
      "floatplane": {
        "name": "floatplane",
        "type": "free",
        "domains": [
          "floatplane.com",
          "beta.floatplane.com"
        ],
        "regexps": [
          "https?://(?:(?:www|beta)\\.)?floatplane\\.com/post/(\\w+)"
        ],
        "regexp": "https?://(?:(?:www|beta)\\.)?floatplane\\.com/post/(\\w+)"
      },
      "floatplanechannel": {
        "name": "floatplanechannel",
        "type": "free",
        "domains": [
          "floatplane.com",
          "beta.floatplane.com"
        ],
        "regexps": [
          "https?://(?:(?:www|beta)\\.)?floatplane\\.com/channel/([\\w-]+)/home(?:/([\\w-]+))?"
        ],
        "regexp": "https?://(?:(?:www|beta)\\.)?floatplane\\.com/channel/([\\w-]+)/home(?:/([\\w-]+))?"
      },
      "folketinget": {
        "name": "folketinget",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?ft\\.dk/webtv/video/[^?#]*?\\.([0-9]+)\\.aspx"
        ],
        "regexp": "https?://(?:www\\.)?ft\\.dk/webtv/video/[^?#]*?\\.([0-9]+)\\.aspx"
      },
      "foodnetwork": {
        "name": "foodnetwork",
        "type": "free",
        "domains": [
          "watch.foodnetwork.com"
        ],
        "regexps": [
          "https?://(?:watch\\.)?foodnetwork\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:watch\\.)?foodnetwork\\.com/video/([^/]+/[^/?#]+)"
      },
      "footyroom": {
        "name": "footyroom",
        "type": "free",
        "domains": [
          "footyroom.com"
        ],
        "regexps": [
          "https?://footyroom\\.com/matches/(\\d+)"
        ],
        "regexp": "https?://footyroom\\.com/matches/(\\d+)"
      },
      "formula1": {
        "name": "formula1",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?formula1\\.com/en/latest/video\\.[^.]+\\.(\\d+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?formula1\\.com/en/latest/video\\.[^.]+\\.(\\d+)\\.html"
      },
      "fox": {
        "name": "fox",
        "type": "free",
        "domains": [
          "fox.com",
          "foxsports.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?fox(?:sports)?\\.com/(?:watch|replay)/([\\da-fA-F]+)"
        ],
        "regexp": "https?://(?:www\\.)?fox(?:sports)?\\.com/(?:watch|replay)/([\\da-fA-F]+)"
      },
      "fox9": {
        "name": "fox9",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?fox9\\.com/video/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?fox9\\.com/video/(\\d+)"
      },
      "fox9news": {
        "name": "fox9news",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?fox9\\.com/news/([^/?&#]+)"
        ],
        "regexp": "https?://(?:www\\.)?fox9\\.com/news/([^/?&#]+)"
      },
      "foxnews": {
        "name": "foxnews",
        "type": "free",
        "domains": [
          "foxnews.com",
          "insider.foxnews.com",
          "video.foxnews.com",
          "video.insider.foxnews.com",
          "video.foxbusiness.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:insider\\.)?foxnews\\.com/(?!v)([^/]+/)+([a-z-]+)",
          "https?://video\\.(?:insider\\.)?fox(?:news|business)\\.com/v/(?:video-embed\\.html\\?video_id=)?(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?(?:insider\\.)?foxnews\\.com/(?!v)([^/]+/)+([a-z-]+))|(https?://video\\.(?:insider\\.)?fox(?:news|business)\\.com/v/(?:video-embed\\.html\\?video_id=)?(\\d+))"
      },
      "foxnewsvideo": {
        "name": "foxnewsvideo",
        "type": "free",
        "domains": [
          "foxnews.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?foxnews\\.com/video/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?foxnews\\.com/video/(\\d+)"
      },
      "foxsports": {
        "name": "foxsports",
        "type": "free",
        "domains": [
          "foxsports.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?foxsports\\.com/watch/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?foxsports\\.com/watch/([\\w-]+)"
      },
      "fptplay": {
        "name": "fptplay",
        "type": "free",
        "domains": [
          "fptplay.vn"
        ],
        "regexps": [
          "https?://fptplay\\.vn/xem-video/[^/]+\\-(\\w+)(?:/tap-(\\d+)?/?(?:[?#]|$)|)"
        ],
        "regexp": "https?://fptplay\\.vn/xem-video/[^/]+\\-(\\w+)(?:/tap-(\\d+)?/?(?:[?#]|$)|)"
      },
      "francaisfacile": {
        "name": "francaisfacile",
        "type": "free",
        "domains": [
          "francaisfacile.rfi.fr"
        ],
        "regexps": [
          "https?://francaisfacile\\.rfi\\.fr/[a-z]{2}/(?:actualit%C3%A9|podcasts/[^/#?]+)/([^/#?]+)"
        ],
        "regexp": "https?://francaisfacile\\.rfi\\.fr/[a-z]{2}/(?:actualit%C3%A9|podcasts/[^/#?]+)/([^/#?]+)"
      },
      "franceculture": {
        "name": "franceculture",
        "type": "free",
        "domains": [
          "radiofrance.fr"
        ],
        "regexps": [
          "https?://(?:www\\.)?radiofrance\\.fr/(?:franceculture|franceinfo|franceinter|francemusique|fip|mouv)/podcasts/(?:[^?#]+/)?([^?#]+)-(\\d{6,})(?:$|[?#])"
        ],
        "regexp": "https?://(?:www\\.)?radiofrance\\.fr/(?:franceculture|franceinfo|franceinter|francemusique|fip|mouv)/podcasts/(?:[^?#]+/)?([^?#]+)-(\\d{6,})(?:$|[?#])"
      },
      "franceinter": {
        "name": "franceinter",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?franceinter\\.fr/emissions/([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?franceinter\\.fr/emissions/([^?#]+)"
      },
      "francetv": {
        "name": "francetv",
        "type": "free",
        "domains": [
          "france.tv",
          "mobile.france.tv"
        ],
        "regexps": [
          "francetv:([^@#]+)",
          "https?://(?:(?:www\\.)?france\\.tv|mobile\\.france\\.tv)/(?:[^/]+/)*([^/]+)\\.html"
        ],
        "regexp": "(francetv:([^@#]+))|(https?://(?:(?:www\\.)?france\\.tv|mobile\\.france\\.tv)/(?:[^/]+/)*([^/]+)\\.html)"
      },
      "francetvinfo.fr": {
        "name": "francetvinfo.fr",
        "type": "free",
        "domains": [
          "francetvinfo.fr",
          "france3-regions.francetvinfo.fr"
        ],
        "regexps": [
          "https?://(?:www|mobile|france3-regions)\\.francetvinfo\\.fr/(?:[^/]+/)*([^/?#&.]+)"
        ],
        "regexp": "https?://(?:www|mobile|france3-regions)\\.francetvinfo\\.fr/(?:[^/]+/)*([^/?#&.]+)"
      },
      "freesound": {
        "name": "freesound",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?freesound\\.org/people/[^/]+/sounds/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?freesound\\.org/people/[^/]+/sounds/([^/]+)"
      },
      "freespeech.org": {
        "name": "freespeech.org",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?freespeech\\.org/stories/(.+)"
        ],
        "regexp": "https?://(?:www\\.)?freespeech\\.org/stories/(.+)"
      },
      "freetv": {
        "name": "freetv",
        "type": "free",
        "domains": [
          "freetv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?freetv\\.com/series/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?freetv\\.com/series/([^/]+)"
      },
      "freetvmovies": {
        "name": "freetvmovies",
        "type": "free",
        "domains": [
          "freetv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?freetv\\.com/peliculas/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?freetv\\.com/peliculas/([^/]+)"
      },
      "frontendmasters": {
        "name": "frontendmasters",
        "type": "free",
        "domains": [
          "api.frontendmasters.com"
        ],
        "regexps": [
          "(?:frontendmasters:|https?://api\\.frontendmasters\\.com/v\\d+/kabuki/video/)([^/]+)"
        ],
        "regexp": "(?:frontendmasters:|https?://api\\.frontendmasters\\.com/v\\d+/kabuki/video/)([^/]+)"
      },
      "frontendmasterscourse": {
        "name": "frontendmasterscourse",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?frontendmasters\\.com/courses/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?frontendmasters\\.com/courses/([^/]+)"
      },
      "frontendmasterslesson": {
        "name": "frontendmasterslesson",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?frontendmasters\\.com/courses/([^/]+)/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?frontendmasters\\.com/courses/([^/]+)/([^/]+)"
      },
      "fujitvfodplus7": {
        "name": "fujitvfodplus7",
        "type": "free",
        "domains": [
          "fod.fujitv.co.jp"
        ],
        "regexps": [
          "https?://fod\\.fujitv\\.co\\.jp/title/([0-9a-z]{4})/([0-9a-z]+)"
        ],
        "regexp": "https?://fod\\.fujitv\\.co\\.jp/title/([0-9a-z]{4})/([0-9a-z]+)"
      },
      "funk": {
        "name": "funk",
        "type": "free",
        "domains": [
          "funk.net",
          "play.funk.net"
        ],
        "regexps": [
          "https?://(?:(?:www|origin|play)\\.)?funk\\.net/(?:channel|playlist)/[^/?#]+/([0-9a-z-]+)-(\\d+)"
        ],
        "regexp": "https?://(?:(?:www|origin|play)\\.)?funk\\.net/(?:channel|playlist)/[^/?#]+/([0-9a-z-]+)-(\\d+)"
      },
      "funker530": {
        "name": "funker530",
        "type": "free",
        "domains": [
          "funker530.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?funker530\\.com/video/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?funker530\\.com/video/([^/?#]+)"
      },
      "fux": {
        "name": "fux",
        "type": "free",
        "domains": [
          "fux.com"
        ],
        "regexps": [
          "https?://(?:(www|m)\\.)?fux\\.com/(?:video|embed)/(\\d+)(?:/([^/?#&]+))?"
        ],
        "regexp": "https?://(?:(www|m)\\.)?fux\\.com/(?:video|embed)/(\\d+)(?:/([^/?#&]+))?"
      },
      "fuyintv": {
        "name": "fuyintv",
        "type": "free",
        "domains": [
          "fuyin.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?fuyin\\.tv/html/(?:\\d+)/(\\d+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?fuyin\\.tv/html/(?:\\d+)/(\\d+)\\.html"
      },
      "gab": {
        "name": "gab",
        "type": "free",
        "domains": [
          "gab.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?gab\\.com/[^/]+/posts/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?gab\\.com/[^/]+/posts/(\\d+)"
      },
      "gabtv": {
        "name": "gabtv",
        "type": "free",
        "domains": [
          "tv.gab.com"
        ],
        "regexps": [
          "https?://tv\\.gab\\.com/channel/[^/]+/view/([a-z0-9-]+)"
        ],
        "regexp": "https?://tv\\.gab\\.com/channel/[^/]+/view/([a-z0-9-]+)"
      },
      "gaia": {
        "name": "gaia",
        "type": "free",
        "domains": [
          "gaia.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?gaia\\.com/video/([^/?]+).*?\\bfullplayer=(feature|preview)"
        ],
        "regexp": "https?://(?:www\\.)?gaia\\.com/video/([^/?]+).*?\\bfullplayer=(feature|preview)"
      },
      "gamedevtvdashboard": {
        "name": "gamedevtvdashboard",
        "type": "free",
        "domains": [
          "gamedev.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?gamedev\\.tv/dashboard/courses/(\\d+)(?:/(\\d+))?"
        ],
        "regexp": "https?://(?:www\\.)?gamedev\\.tv/dashboard/courses/(\\d+)(?:/(\\d+))?"
      },
      "gamejolt": {
        "name": "gamejolt",
        "type": "free",
        "domains": [
          "gamejolt.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?gamejolt\\.com/p/(?:[\\w-]*-)?(\\w{8})"
        ],
        "regexp": "https?://(?:www\\.)?gamejolt\\.com/p/(?:[\\w-]*-)?(\\w{8})"
      },
      "gamejoltcommunity": {
        "name": "gamejoltcommunity",
        "type": "free",
        "domains": [
          "gamejolt.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?gamejolt\\.com/c/(([\\w-]+)(?:/([\\w-]+))?)(?:(?:\\?|\\#!?)(?:.*?[&;])??sort=(\\w+))?"
        ],
        "regexp": "https?://(?:www\\.)?gamejolt\\.com/c/(([\\w-]+)(?:/([\\w-]+))?)(?:(?:\\?|\\#!?)(?:.*?[&;])??sort=(\\w+))?"
      },
      "gamejoltgame": {
        "name": "gamejoltgame",
        "type": "free",
        "domains": [
          "gamejolt.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?gamejolt\\.com/games/[\\w-]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?gamejolt\\.com/games/[\\w-]+/(\\d+)"
      },
      "gamejoltgamesoundtrack": {
        "name": "gamejoltgamesoundtrack",
        "type": "free",
        "domains": [
          "gamejolt.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?gamejolt\\.com/get/soundtrack(?:\\?|\\#!?)(?:.*?[&;])??game=((?:\\d+)+)"
        ],
        "regexp": "https?://(?:www\\.)?gamejolt\\.com/get/soundtrack(?:\\?|\\#!?)(?:.*?[&;])??game=((?:\\d+)+)"
      },
      "gamejoltsearch": {
        "name": "gamejoltsearch",
        "type": "free",
        "domains": [
          "gamejolt.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?gamejolt\\.com/search(?:/(communities|users|games))?(?:\\?|\\#!?)(?:.*?[&;])??q=((?:[^&#]+)+)"
        ],
        "regexp": "https?://(?:www\\.)?gamejolt\\.com/search(?:/(communities|users|games))?(?:\\?|\\#!?)(?:.*?[&;])??q=((?:[^&#]+)+)"
      },
      "gamejoltuser": {
        "name": "gamejoltuser",
        "type": "free",
        "domains": [
          "gamejolt.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?gamejolt\\.com/@([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?gamejolt\\.com/@([\\w-]+)"
      },
      "gamespot": {
        "name": "gamespot",
        "type": "free",
        "domains": [
          "gamespot.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?gamespot\\.com/(?:video|article|review)s/(?:[^/]+/\\d+-|embed/)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?gamespot\\.com/(?:video|article|review)s/(?:[^/]+/\\d+-|embed/)(\\d+)"
      },
      "gamestar": {
        "name": "gamestar",
        "type": "free",
        "domains": [
          "gamestar.de",
          "gamepro.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?game(pro|star)\\.de/videos/.*,([0-9]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?game(pro|star)\\.de/videos/.*,([0-9]+)\\.html"
      },
      "gaskrank": {
        "name": "gaskrank",
        "type": "free",
        "domains": [
          "gaskrank.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?gaskrank\\.tv/tv/([^/]+)/([^/]+)\\.htm"
        ],
        "regexp": "https?://(?:www\\.)?gaskrank\\.tv/tv/([^/]+)/([^/]+)\\.htm"
      },
      "gazeta": {
        "name": "gazeta",
        "type": "free",
        "domains": [
          "gazeta.ru"
        ],
        "regexps": [
          "(https?://(?:www\\.)?gazeta\\.ru/(?:[^/]+/)?video/(?:main/)*(?:\\d{4}/\\d{2}/\\d{2}/)?([A-Za-z0-9-_.]+)\\.s?html)"
        ],
        "regexp": "(https?://(?:www\\.)?gazeta\\.ru/(?:[^/]+/)?video/(?:main/)*(?:\\d{4}/\\d{2}/\\d{2}/)?([A-Za-z0-9-_.]+)\\.s?html)"
      },
      "gbnews": {
        "name": "gbnews",
        "type": "free",
        "domains": [
          "gbnews.com",
          "gbnews.uk"
        ],
        "regexps": [
          "https?://(?:www\\.)?gbnews\\.(?:uk|com)/(?:\\w+/)?([^#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?gbnews\\.(?:uk|com)/(?:\\w+/)?([^#?]+)"
      },
      "gdcvault": {
        "name": "gdcvault",
        "type": "free",
        "domains": [
          "gdcvault.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?gdcvault\\.com/play/(\\d+)(?:/([\\w-]+))?"
        ],
        "regexp": "https?://(?:www\\.)?gdcvault\\.com/play/(\\d+)(?:/([\\w-]+))?"
      },
      "gedidigital": {
        "name": "gedidigital",
        "type": "free",
        "domains": [
          "video.lastampa.it",
          "video.huffingtonpost.it",
          "video.espresso.repubblica.it",
          "video.repubblica.it",
          "video.ilsecoloxix.it",
          "video.iltirreno.gelocal.it",
          "video.messaggeroveneto.gelocal.it",
          "video.ilpiccolo.gelocal.it",
          "video.gazzettadimantova.gelocal.it",
          "video.mattinopadova.gelocal.it",
          "video.laprovinciapavese.gelocal.it",
          "video.tribunatreviso.gelocal.it",
          "video.nuovavenezia.gelocal.it",
          "video.gazzettadimodena.gelocal.it",
          "video.lanuovaferrara.gelocal.it",
          "video.corrierealpi.gelocal.it",
          "video.lasentinella.gelocal.it"
        ],
        "regexps": [
          "(?x:((?:https?:)//video\\.\n        (?:\n            (?:\n                (?:espresso\\.)?repubblica\n                |lastampa\n                |ilsecoloxix\n                |huffingtonpost\n            )|\n            (?:\n                iltirreno\n                |messaggeroveneto\n                |ilpiccolo\n                |gazzettadimantova\n                |mattinopadova\n                |laprovinciapavese\n                |tribunatreviso\n                |nuovavenezia\n                |gazzettadimodena\n                |lanuovaferrara\n                |corrierealpi\n                |lasentinella\n            )\\.gelocal\n        )\\.it(?:/[^/]+){2,4}/(\\d+))(?:$|[?&].*))"
        ],
        "regexp": "(?x:((?:https?:)//video\\.\n        (?:\n            (?:\n                (?:espresso\\.)?repubblica\n                |lastampa\n                |ilsecoloxix\n                |huffingtonpost\n            )|\n            (?:\n                iltirreno\n                |messaggeroveneto\n                |ilpiccolo\n                |gazzettadimantova\n                |mattinopadova\n                |laprovinciapavese\n                |tribunatreviso\n                |nuovavenezia\n                |gazzettadimodena\n                |lanuovaferrara\n                |corrierealpi\n                |lasentinella\n            )\\.gelocal\n        )\\.it(?:/[^/]+){2,4}/(\\d+))(?:$|[?&].*))"
      },
      "gem.cbc.ca": {
        "name": "gem.cbc.ca",
        "type": "free",
        "domains": [
          "gem.cbc.ca"
        ],
        "regexps": [
          "https?://gem\\.cbc\\.ca/(?:media/)?([0-9a-z-]+/s([0-9]+)[a-z][0-9]+)",
          "https?://gem\\.cbc\\.ca/live(?:-event)?/(\\d+)",
          "https?://gem\\.cbc\\.ca/(?:media/)?(([0-9a-z-]+)/s([0-9]+))/?(?:[?#]|$)"
        ],
        "regexp": "(https?://gem\\.cbc\\.ca/(?:media/)?([0-9a-z-]+/s([0-9]+)[a-z][0-9]+))|(https?://gem\\.cbc\\.ca/live(?:-event)?/(\\d+))|(https?://gem\\.cbc\\.ca/(?:media/)?(([0-9a-z-]+)/s([0-9]+))/?(?:[?#]|$))"
      },
      "genius": {
        "name": "genius",
        "type": "free",
        "domains": [
          "genius.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?genius\\.com/(?:videos|(a))/([^?/#]+)"
        ],
        "regexp": "https?://(?:www\\.)?genius\\.com/(?:videos|(a))/([^?/#]+)"
      },
      "geniuslyrics": {
        "name": "geniuslyrics",
        "type": "free",
        "domains": [
          "genius.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?genius\\.com/([^?/#]+)-lyrics(?:[?/#]|$)"
        ],
        "regexp": "https?://(?:www\\.)?genius\\.com/([^?/#]+)-lyrics(?:[?/#]|$)"
      },
      "germanupa": {
        "name": "germanupa",
        "type": "free",
        "domains": [
          "germanupa.de"
        ],
        "regexps": [
          "https?://germanupa\\.de/mediathek/([\\w-]+)"
        ],
        "regexp": "https?://germanupa\\.de/mediathek/([\\w-]+)"
      },
      "getcourseru": {
        "name": "getcourseru",
        "type": "free",
        "domains": [
          "academymel.online",
          "academymel.getcourse.ru",
          "manibeauty.getcourse.ru",
          "gaismasmandalas.getcourse.io"
        ],
        "regexps": [
          "https?://(?:(?!player02\\.)[^.]+\\.getcourse\\.(?:ru|io)|academymel\\.online|marafon\\.mani\\-beauty\\.com|on\\.psbook\\.ru)/(?!pl/|teach/)([^?#]+)",
          "https?://(?:(?!player02\\.)[^.]+\\.getcourse\\.(?:ru|io)|academymel\\.online|marafon\\.mani\\-beauty\\.com|on\\.psbook\\.ru)/(?:pl/)?teach/control/lesson/view\\?(?:[^#]+&)?id=(\\d+)"
        ],
        "regexp": "(https?://(?:(?!player02\\.)[^.]+\\.getcourse\\.(?:ru|io)|academymel\\.online|marafon\\.mani\\-beauty\\.com|on\\.psbook\\.ru)/(?!pl/|teach/)([^?#]+))|(https?://(?:(?!player02\\.)[^.]+\\.getcourse\\.(?:ru|io)|academymel\\.online|marafon\\.mani\\-beauty\\.com|on\\.psbook\\.ru)/(?:pl/)?teach/control/lesson/view\\?(?:[^#]+&)?id=(\\d+))"
      },
      "getcourseruplayer": {
        "name": "getcourseruplayer",
        "type": "free",
        "domains": [
          "player02.getcourse.ru",
          "cf-api-2.vhcdn.com"
        ],
        "regexps": [
          "https?://(?:player02\\.getcourse\\.ru|cf-api-2\\.vhcdn\\.com)/sign-player/?\\?(?:[^#]+&)?json=[^#&]+"
        ],
        "regexp": "https?://(?:player02\\.getcourse\\.ru|cf-api-2\\.vhcdn\\.com)/sign-player/?\\?(?:[^#]+&)?json=[^#&]+"
      },
      "gettr": {
        "name": "gettr",
        "type": "free",
        "domains": [
          "gettr.com"
        ],
        "regexps": [
          "https?://(www\\.)?gettr\\.com/post/([a-z0-9]+)"
        ],
        "regexp": "https?://(www\\.)?gettr\\.com/post/([a-z0-9]+)"
      },
      "gettrstreaming": {
        "name": "gettrstreaming",
        "type": "free",
        "domains": [
          "gettr.com"
        ],
        "regexps": [
          "https?://(www\\.)?gettr\\.com/streaming/([a-z0-9]+)"
        ],
        "regexp": "https?://(www\\.)?gettr\\.com/streaming/([a-z0-9]+)"
      },
      "giantbomb": {
        "name": "giantbomb",
        "type": "free",
        "domains": [
          "giantbomb.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?giantbomb\\.com/(?:videos|shows)/([^/]+)/(\\d+-\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?giantbomb\\.com/(?:videos|shows)/([^/]+)/(\\d+-\\d+)"
      },
      "glattvisiontv": {
        "name": "glattvisiontv",
        "type": "free",
        "domains": [
          "iptv.glattvision.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?iptv\\.glattvision\\.ch/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?iptv\\.glattvision\\.ch/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "glattvisiontvlive": {
        "name": "glattvisiontvlive",
        "type": "free",
        "domains": [
          "iptv.glattvision.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?iptv\\.glattvision\\.ch/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?iptv\\.glattvision\\.ch/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "glattvisiontvrecordings": {
        "name": "glattvisiontvrecordings",
        "type": "free",
        "domains": [
          "iptv.glattvision.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?iptv\\.glattvision\\.ch/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?iptv\\.glattvision\\.ch/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "glide": {
        "name": "glide",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://share\\.glide\\.me/([A-Za-z0-9\\-=_+]+)"
        ],
        "regexp": "https?://share\\.glide\\.me/([A-Za-z0-9\\-=_+]+)"
      },
      "globalplayeraudio": {
        "name": "globalplayeraudio",
        "type": "free",
        "domains": [
          "globalplayer.com"
        ],
        "regexps": [
          "https?://www\\.globalplayer\\.com/(?:(podcasts)/|catchup/\\w+/\\w+/)(\\w+)/?(?:$|[?#])"
        ],
        "regexp": "https?://www\\.globalplayer\\.com/(?:(podcasts)/|catchup/\\w+/\\w+/)(\\w+)/?(?:$|[?#])"
      },
      "globalplayeraudioepisode": {
        "name": "globalplayeraudioepisode",
        "type": "free",
        "domains": [
          "globalplayer.com"
        ],
        "regexps": [
          "https?://www\\.globalplayer\\.com/(?:(podcasts)|catchup/\\w+/\\w+)/episodes/(\\w+)/?(?:$|[?#])"
        ],
        "regexp": "https?://www\\.globalplayer\\.com/(?:(podcasts)|catchup/\\w+/\\w+)/episodes/(\\w+)/?(?:$|[?#])"
      },
      "globalplayerlive": {
        "name": "globalplayerlive",
        "type": "free",
        "domains": [
          "globalplayer.com"
        ],
        "regexps": [
          "https?://www\\.globalplayer\\.com/live/(\\w+)/\\w+"
        ],
        "regexp": "https?://www\\.globalplayer\\.com/live/(\\w+)/\\w+"
      },
      "globalplayerliveplaylist": {
        "name": "globalplayerliveplaylist",
        "type": "free",
        "domains": [
          "globalplayer.com"
        ],
        "regexps": [
          "https?://www\\.globalplayer\\.com/playlists/(\\w+)"
        ],
        "regexp": "https?://www\\.globalplayer\\.com/playlists/(\\w+)"
      },
      "globalplayervideo": {
        "name": "globalplayervideo",
        "type": "free",
        "domains": [
          "globalplayer.com"
        ],
        "regexps": [
          "https?://www\\.globalplayer\\.com/videos/(\\w+)"
        ],
        "regexp": "https?://www\\.globalplayer\\.com/videos/(\\w+)"
      },
      "globo": {
        "name": "globo",
        "type": "free",
        "domains": [
          "globoplay.globo.com"
        ],
        "regexps": [
          "(?:globo:|https?://[^/?#]+?\\.globo\\.com/(?:[^/?#]+/))(\\d{7,})"
        ],
        "regexp": "(?:globo:|https?://[^/?#]+?\\.globo\\.com/(?:[^/?#]+/))(\\d{7,})"
      },
      "globoarticle": {
        "name": "globoarticle",
        "type": "free",
        "domains": [
          "g1.globo.com",
          "gq.globo.com",
          "gshow.globo.com",
          "oglobo.globo.com",
          "ge.globo.com",
          "redeglobo.globo.com"
        ],
        "regexps": [
          "https?://(?!globoplay).+?\\.globo\\.com/(?:[^/?#]+/)*([^/?#.]+)(?:\\.html)?"
        ],
        "regexp": "https?://(?!globoplay).+?\\.globo\\.com/(?:[^/?#]+/)*([^/?#.]+)(?:\\.html)?"
      },
      "glomex": {
        "name": "glomex",
        "type": "free",
        "domains": [
          "player.glomex.com",
          "video.glomex.com"
        ],
        "regexps": [
          "https?://player\\.glomex\\.com/integration/[^/]/iframe\\-player\\.html\\?([^#]+&)?playlistId=([^#&]+)",
          "https?://video\\.glomex\\.com/[^/]+/(v-[^-]+)"
        ],
        "regexp": "(https?://player\\.glomex\\.com/integration/[^/]/iframe\\-player\\.html\\?([^#]+&)?playlistId=([^#&]+))|(https?://video\\.glomex\\.com/[^/]+/(v-[^-]+))"
      },
      "gmanetworkvideo": {
        "name": "gmanetworkvideo",
        "type": "free",
        "domains": [
          "gmanetwork.com"
        ],
        "regexps": [
          "https?://(?:www)\\.gmanetwork\\.com/(?:\\w+/){3}(\\d+)/([\\w-]+)/video"
        ],
        "regexp": "https?://(?:www)\\.gmanetwork\\.com/(?:\\w+/){3}(\\d+)/([\\w-]+)/video"
      },
      "go": {
        "name": "go",
        "type": "free",
        "domains": [
          "abc.com",
          "disneynow.com",
          "fxnow.fxnetworks.com",
          "freeform.com",
          "nationalgeographic.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(abc)\\.com/(?:video|episode|movies-and-specials)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})",
          "https?://(?:www\\.)?(freeform)\\.com/(?:video|episode|movies-and-specials)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})",
          "https?://(?:www\\.)?(disneynow)\\.com/(?:video|episode|movies-and-specials)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})",
          "https?://fxnow\\.(fxnetworks)\\.com/(?:video|episode|movies-and-specials)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})",
          "https?://(?:www\\.)?(nationalgeographic)\\.com/tv/(?:video|episode|movies-and-specials)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})"
        ],
        "regexp": "(https?://(?:www\\.)?(abc)\\.com/(?:video|episode|movies-and-specials)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12}))|(https?://(?:www\\.)?(freeform)\\.com/(?:video|episode|movies-and-specials)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12}))|(https?://(?:www\\.)?(disneynow)\\.com/(?:video|episode|movies-and-specials)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12}))|(https?://fxnow\\.(fxnetworks)\\.com/(?:video|episode|movies-and-specials)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12}))|(https?://(?:www\\.)?(nationalgeographic)\\.com/tv/(?:video|episode|movies-and-specials)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12}))"
      },
      "godiscovery": {
        "name": "godiscovery",
        "type": "free",
        "domains": [
          "go.discovery.com",
          "discovery.com"
        ],
        "regexps": [
          "https?://(?:go\\.)?discovery\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:go\\.)?discovery\\.com/video/([^/]+/[^/?#]+)"
      },
      "godresource": {
        "name": "godresource",
        "type": "free",
        "domains": [
          "new.godresource.com"
        ],
        "regexps": [
          "https?://new\\.godresource\\.com/video/(\\w+)"
        ],
        "regexp": "https?://new\\.godresource\\.com/video/(\\w+)"
      },
      "godtube": {
        "name": "godtube",
        "type": "free",
        "domains": [
          "godtube.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?godtube\\.com/watch/\\?v=([\\da-zA-Z]+)"
        ],
        "regexp": "https?://(?:www\\.)?godtube\\.com/watch/\\?v=([\\da-zA-Z]+)"
      },
      "gofile": {
        "name": "gofile",
        "type": "free",
        "domains": [
          "gofile.io"
        ],
        "regexps": [
          "https?://(?:www\\.)?gofile\\.io/d/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?gofile\\.io/d/([^/]+)"
      },
      "golem": {
        "name": "golem",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://video\\.golem\\.de/.+?/(.+?)/"
        ],
        "regexp": "https?://video\\.golem\\.de/.+?/(.+?)/"
      },
      "goodgame": {
        "name": "goodgame",
        "type": "free",
        "domains": [
          "goodgame.ru"
        ],
        "regexps": [
          "https?://goodgame\\.ru/(?!channel/)([\\w.*-]+)"
        ],
        "regexp": "https?://goodgame\\.ru/(?!channel/)([\\w.*-]+)"
      },
      "google": {
        "name": "google",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://podcasts\\.google\\.com/feed/([^/?&#]+)/?(?:[?#&]|$)",
          "https?://podcasts\\.google\\.com/feed/([^/]+)/episode/([^/?&#]+)"
        ],
        "regexp": "(https?://podcasts\\.google\\.com/feed/([^/?&#]+)/?(?:[?#&]|$))|(https?://podcasts\\.google\\.com/feed/([^/]+)/episode/([^/?&#]+))"
      },
      "googledrive": {
        "name": "googledrive",
        "type": "free",
        "domains": [
          "drive.google.com",
          "drive.usercontent.google.com"
        ],
        "regexps": [
          "https?://(?:docs|drive)\\.google\\.com/drive/folders/([\\w-]{28,})",
          "https?://(?:(?:docs|drive|drive\\.usercontent)\\.google\\.com/(?:(?:uc|open|download)\\?.*?id=|file/d/)|video\\.google\\.com/get_player\\?.*?docid=)([a-zA-Z0-9_-]{28,})"
        ],
        "regexp": "(https?://(?:docs|drive)\\.google\\.com/drive/folders/([\\w-]{28,}))|(https?://(?:(?:docs|drive|drive\\.usercontent)\\.google\\.com/(?:(?:uc|open|download)\\?.*?id=|file/d/)|video\\.google\\.com/get_player\\?.*?docid=)([a-zA-Z0-9_-]{28,}))"
      },
      "gopro": {
        "name": "gopro",
        "type": "free",
        "domains": [
          "gopro.com"
        ],
        "regexps": [
          "https?://(www\\.)?gopro\\.com/v/([A-Za-z0-9]+)"
        ],
        "regexp": "https?://(www\\.)?gopro\\.com/v/([A-Za-z0-9]+)"
      },
      "goshgay": {
        "name": "goshgay",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?goshgay\\.com/video(\\d+?)($|/)"
        ],
        "regexp": "https?://(?:www\\.)?goshgay\\.com/video(\\d+?)($|/)"
      },
      "gotostage": {
        "name": "gotostage",
        "type": "free",
        "domains": [
          "gotostage.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?gotostage\\.com/channel/[a-z0-9]+/recording/([a-z0-9]+)/watch"
        ],
        "regexp": "https?://(?:www\\.)?gotostage\\.com/channel/[a-z0-9]+/recording/([a-z0-9]+)/watch"
      },
      "gputechconf": {
        "name": "gputechconf",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://on-demand\\.gputechconf\\.com/gtc/2015/video/S(\\d+)\\.html"
        ],
        "regexp": "https?://on-demand\\.gputechconf\\.com/gtc/2015/video/S(\\d+)\\.html"
      },
      "graspop": {
        "name": "graspop",
        "type": "free",
        "domains": [
          "vod.graspop.be"
        ],
        "regexps": [
          "https?://vod\\.graspop\\.be/[a-z]{2}/(\\d+)/"
        ],
        "regexp": "https?://vod\\.graspop\\.be/[a-z]{2}/(\\d+)/"
      },
      "gronkh": {
        "name": "gronkh",
        "type": "free",
        "domains": [
          "gronkh.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?gronkh\\.tv(?:/feed)?/?(?:#|$)",
          "https?://(?:www\\.)?gronkh\\.tv/(?:watch/)?streams?/(\\d+)",
          "https?://(?:www\\.)?gronkh\\.tv/vods/streams/?(?:#|$)"
        ],
        "regexp": "(https?://(?:www\\.)?gronkh\\.tv(?:/feed)?/?(?:#|$))|(https?://(?:www\\.)?gronkh\\.tv/(?:watch/)?streams?/(\\d+))|(https?://(?:www\\.)?gronkh\\.tv/vods/streams/?(?:#|$))"
      },
      "groupon": {
        "name": "groupon",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?groupon\\.com/deals/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?groupon\\.com/deals/([^/?#&]+)"
      },
      "harpodeon": {
        "name": "harpodeon",
        "type": "free",
        "domains": [
          "harpodeon.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?harpodeon\\.com/(?:video|preview)/\\w+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?harpodeon\\.com/(?:video|preview)/\\w+/(\\d+)"
      },
      "hbo": {
        "name": "hbo",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?hbo\\.com/(?:video|embed)(?:/[^/]+)*/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?hbo\\.com/(?:video|embed)(?:/[^/]+)*/([^/?#]+)"
      },
      "hearthisat": {
        "name": "hearthisat",
        "type": "free",
        "domains": [
          "hearthis.at"
        ],
        "regexps": [
          "https?://(?:www\\.)?hearthis\\.at/([^/?#]+)/([\\w.-]+)"
        ],
        "regexp": "https?://(?:www\\.)?hearthis\\.at/([^/?#]+)/([\\w.-]+)"
      },
      "heise": {
        "name": "heise",
        "type": "free",
        "domains": [
          "heise.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?heise\\.de/(?:[^/]+/)+[^/]+-([0-9]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?heise\\.de/(?:[^/]+/)+[^/]+-([0-9]+)\\.html"
      },
      "hellporno": {
        "name": "hellporno",
        "type": "free",
        "domains": [
          "hellporno.com",
          "hellporno.net"
        ],
        "regexps": [
          "https?://(?:www\\.)?hellporno\\.(?:com/videos|net/v)/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?hellporno\\.(?:com/videos|net/v)/([^/]+)"
      },
      "hetklokhuis": {
        "name": "hetklokhuis",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?hetklokhuis\\.nl/[^/]+/\\d+/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?hetklokhuis\\.nl/[^/]+/\\d+/([^/?#&]+)"
      },
      "hgtv.com": {
        "name": "hgtv.com",
        "type": "free",
        "domains": [
          "hgtv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?hgtv\\.com/shows/[^/]+/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?hgtv\\.com/shows/[^/]+/([^/?#&]+)"
      },
      "hgtvde": {
        "name": "hgtvde",
        "type": "free",
        "domains": [
          "de.hgtv.com"
        ],
        "regexps": [
          "https?://de\\.hgtv\\.com/sendungen/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://de\\.hgtv\\.com/sendungen/([^/]+/[^/?#]+)"
      },
      "hgtvusa": {
        "name": "hgtvusa",
        "type": "free",
        "domains": [
          "watch.hgtv.com"
        ],
        "regexps": [
          "https?://(?:watch\\.)?hgtv\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:watch\\.)?hgtv\\.com/video/([^/]+/[^/?#]+)"
      },
      "hidive": {
        "name": "hidive",
        "type": "free",
        "domains": [
          "hidive.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?hidive\\.com/stream/(([^/]+)/([^/?#&]+))"
        ],
        "regexp": "https?://(?:www\\.)?hidive\\.com/stream/(([^/]+)/([^/?#&]+))"
      },
      "historicfilms": {
        "name": "historicfilms",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?historicfilms\\.com/(?:tapes/|play)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?historicfilms\\.com/(?:tapes/|play)(\\d+)"
      },
      "history": {
        "name": "history",
        "type": "free",
        "domains": [
          "history.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?((?:history|biography)\\.com)/player/(\\d+)",
          "https?://(?:www\\.)?history\\.com/topics/[^/]+/([\\w+-]+?)-video"
        ],
        "regexp": "(https?://(?:www\\.)?((?:history|biography)\\.com)/player/(\\d+))|(https?://(?:www\\.)?history\\.com/topics/[^/]+/([\\w+-]+?)-video)"
      },
      "hitrecord": {
        "name": "hitrecord",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?hitrecord\\.org/records/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?hitrecord\\.org/records/(\\d+)"
      },
      "hketv": {
        "name": "hketv",
        "type": "free",
        "domains": [
          "hkedcity.net"
        ],
        "regexps": [
          "https?://(?:www\\.)?hkedcity\\.net/etv/resource/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?hkedcity\\.net/etv/resource/([0-9]+)"
      },
      "hollywoodreporter": {
        "name": "hollywoodreporter",
        "type": "free",
        "domains": [
          "hollywoodreporter.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?hollywoodreporter\\.com/video/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?hollywoodreporter\\.com/video/([\\w-]+)"
      },
      "hollywoodreporterplaylist": {
        "name": "hollywoodreporterplaylist",
        "type": "free",
        "domains": [
          "hollywoodreporter.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?hollywoodreporter\\.com/vcategory/([\\w-]+)-(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?hollywoodreporter\\.com/vcategory/([\\w-]+)-(\\d+)"
      },
      "holodex": {
        "name": "holodex",
        "type": "free",
        "domains": [
          "holodex.net",
          "staging.holodex.net"
        ],
        "regexps": [
          "https?://(?:www\\.|staging\\.)?holodex\\.net/(?:api/v2/playlist/(\\d+)|watch/([\\w-]{11})(?:\\?(?:[^#]+&)?playlist=(\\d+))?)"
        ],
        "regexp": "https?://(?:www\\.|staging\\.)?holodex\\.net/(?:api/v2/playlist/(\\d+)|watch/([\\w-]{11})(?:\\?(?:[^#]+&)?playlist=(\\d+))?)"
      },
      "hotnewhiphop": {
        "name": "hotnewhiphop",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?hotnewhiphop\\.com/.*\\.(.*)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?hotnewhiphop\\.com/.*\\.(.*)\\.html"
      },
      "hotstar": {
        "name": "hotstar",
        "type": "free",
        "domains": [
          "hotstar.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?hotstar\\.com(?:/in)?/(?!in/)(?:(movies|sports|clips|episode|(tv|shows))/((?:[^/?#]+/){2}|[^?#]*))?[^/?#]+/(\\d{10})",
          "(https?://(?:www\\.)?hotstar\\.com(?:/in)?/(?:tv|shows)/[^/]+/(\\d+))/?(?:[#?]|$)"
        ],
        "regexp": "(https?://(?:www\\.)?hotstar\\.com(?:/in)?/(?!in/)(?:(movies|sports|clips|episode|(tv|shows))/((?:[^/?#]+/){2}|[^?#]*))?[^/?#]+/(\\d{10}))|((https?://(?:www\\.)?hotstar\\.com(?:/in)?/(?:tv|shows)/[^/]+/(\\d+))/?(?:[#?]|$))"
      },
      "hrfernsehen": {
        "name": "hrfernsehen",
        "type": "free",
        "domains": [
          "hessenschau.de",
          "hr-fernsehen.de"
        ],
        "regexps": [
          "https?://www\\.(?:hr-fernsehen|hessenschau)\\.de/.*,video-([0-9]{6})\\.html"
        ],
        "regexp": "https?://www\\.(?:hr-fernsehen|hessenschau)\\.de/.*,video-([0-9]{6})\\.html"
      },
      "hrti": {
        "name": "hrti",
        "type": "free",
        "domains": [
          "hrti.hrt.hr"
        ],
        "regexps": [
          "(?:hrti:([0-9]+)|https?://hrti\\.hrt\\.hr/(?:\\#/)?video/show/([0-9]+)/([^/]+)?)"
        ],
        "regexp": "(?:hrti:([0-9]+)|https?://hrti\\.hrt\\.hr/(?:\\#/)?video/show/([0-9]+)/([^/]+)?)"
      },
      "hrtiplaylist": {
        "name": "hrtiplaylist",
        "type": "free",
        "domains": [
          "hrti.hrt.hr"
        ],
        "regexps": [
          "https?://hrti\\.hrt\\.hr/(?:#/)?video/list/category/([0-9]+)/([^/]+)?"
        ],
        "regexp": "https?://hrti\\.hrt\\.hr/(?:#/)?video/list/category/([0-9]+)/([^/]+)?"
      },
      "hseproduct": {
        "name": "hseproduct",
        "type": "free",
        "domains": [
          "hse.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?hse\\.de/dpl/p/product/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?hse\\.de/dpl/p/product/([0-9]+)"
      },
      "hseshow": {
        "name": "hseshow",
        "type": "free",
        "domains": [
          "hse.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?hse\\.de/dpl/c/tv-shows/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?hse\\.de/dpl/c/tv-shows/([0-9]+)"
      },
      "huajiao": {
        "name": "huajiao",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?huajiao\\.com/l/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?huajiao\\.com/l/([0-9]+)"
      },
      "huffpost": {
        "name": "huffpost",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(embed\\.)?live\\.huffingtonpost\\.com/(?:r/segment/[^/]+/|HPLEmbedPlayer/\\?segmentId=)([0-9a-f]+)"
        ],
        "regexp": "https?://(embed\\.)?live\\.huffingtonpost\\.com/(?:r/segment/[^/]+/|HPLEmbedPlayer/\\?segmentId=)([0-9a-f]+)"
      },
      "hungama": {
        "name": "hungama",
        "type": "free",
        "domains": [
          "hungama.com",
          "un.hungama.com"
        ],
        "regexps": [
          "https?://(?:www\\.|un\\.)?hungama\\.com/(?:(?:video|movie|short-film)/[^/]+/|tv-show/(?:[^/]+/){2}\\d+/episode/[^/]+/)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.|un\\.)?hungama\\.com/(?:(?:video|movie|short-film)/[^/]+/|tv-show/(?:[^/]+/){2}\\d+/episode/[^/]+/)(\\d+)"
      },
      "hungamaalbumplaylist": {
        "name": "hungamaalbumplaylist",
        "type": "free",
        "domains": [
          "hungama.com",
          "un.hungama.com"
        ],
        "regexps": [
          "https?://(?:www\\.|un\\.)?hungama\\.com/(playlists|album)/[^/]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.|un\\.)?hungama\\.com/(playlists|album)/[^/]+/(\\d+)"
      },
      "hungamasong": {
        "name": "hungamasong",
        "type": "free",
        "domains": [
          "hungama.com",
          "un.hungama.com"
        ],
        "regexps": [
          "https?://(?:www\\.|un\\.)?hungama\\.com/song/[^/]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.|un\\.)?hungama\\.com/song/[^/]+/(\\d+)"
      },
      "huya": {
        "name": "huya",
        "type": "free",
        "domains": [
          "huya.com"
        ],
        "regexps": [
          "https?://(?:www\\.|m\\.)?huya\\.com/(?!(?:video/play/))([^/#?&]+)(?:\\D|$)",
          "https?://(?:www\\.)?huya\\.com/video/play/(\\d+)\\.html"
        ],
        "regexp": "(https?://(?:www\\.|m\\.)?huya\\.com/(?!(?:video/play/))([^/#?&]+)(?:\\D|$))|(https?://(?:www\\.)?huya\\.com/video/play/(\\d+)\\.html)"
      },
      "hypem": {
        "name": "hypem",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?hypem\\.com/track/([0-9a-z]{5})"
        ],
        "regexp": "https?://(?:www\\.)?hypem\\.com/track/([0-9a-z]{5})"
      },
      "hytale": {
        "name": "hytale",
        "type": "free",
        "domains": [
          "hytale.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?hytale\\.com/news/\\d+/\\d+/([a-z0-9-]+)"
        ],
        "regexp": "https?://(?:www\\.)?hytale\\.com/news/\\d+/\\d+/([a-z0-9-]+)"
      },
      "icareus": {
        "name": "icareus",
        "type": "free",
        "domains": [
          "helsinkikanava.fi",
          "suite.icareus.com",
          "asahitv.fi",
          "hyvinvointitv.fi",
          "inez.fi",
          "permanto.fi",
          "videos.minifiddlers.org"
        ],
        "regexps": [
          "(https?://(?:www\\.)?(?:asahitv\\.fi|helsinkikanava\\.fi|hyvinvointitv\\.fi|inez\\.fi|permanto\\.fi|suite\\.icareus\\.com|videos\\.minifiddlers\\.org))/[^?#]+/player/[^?#]+\\?(?:[^#]+&)?(?:assetId|eventId)=(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?(?:asahitv\\.fi|helsinkikanava\\.fi|hyvinvointitv\\.fi|inez\\.fi|permanto\\.fi|suite\\.icareus\\.com|videos\\.minifiddlers\\.org))/[^?#]+/player/[^?#]+\\?(?:[^#]+&)?(?:assetId|eventId)=(\\d+)"
      },
      "idagioalbum": {
        "name": "idagioalbum",
        "type": "free",
        "domains": [
          "app.idagio.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?app\\.idagio\\.com(?:/[a-z]{2})?/albums/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?app\\.idagio\\.com(?:/[a-z]{2})?/albums/([\\w-]+)"
      },
      "idagiopersonalplaylist": {
        "name": "idagiopersonalplaylist",
        "type": "free",
        "domains": [
          "app.idagio.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?app\\.idagio\\.com(?:/[a-z]{2})?/playlists/personal/([\\da-f-]+)"
        ],
        "regexp": "https?://(?:www\\.)?app\\.idagio\\.com(?:/[a-z]{2})?/playlists/personal/([\\da-f-]+)"
      },
      "idagioplaylist": {
        "name": "idagioplaylist",
        "type": "free",
        "domains": [
          "app.idagio.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?app\\.idagio\\.com(?:/[a-z]{2})?/playlists/(?!personal/)([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?app\\.idagio\\.com(?:/[a-z]{2})?/playlists/(?!personal/)([\\w-]+)"
      },
      "idagiorecording": {
        "name": "idagiorecording",
        "type": "free",
        "domains": [
          "app.idagio.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?app\\.idagio\\.com(?:/[a-z]{2})?/recordings/(\\d+)(?![^#]*[&?]trackId=\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?app\\.idagio\\.com(?:/[a-z]{2})?/recordings/(\\d+)(?![^#]*[&?]trackId=\\d+)"
      },
      "idagiotrack": {
        "name": "idagiotrack",
        "type": "free",
        "domains": [
          "app.idagio.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?app\\.idagio\\.com(?:/[a-z]{2})?/recordings/\\d+\\?(?:[^#]+&)?trackId=(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?app\\.idagio\\.com(?:/[a-z]{2})?/recordings/\\d+\\?(?:[^#]+&)?trackId=(\\d+)"
      },
      "idolplus": {
        "name": "idolplus",
        "type": "free",
        "domains": [
          "idolplus.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?idolplus\\.com/z[us]/(?:concert/|contents/?\\?(?:[^#]+&)?albumId=)(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?idolplus\\.com/z[us]/(?:concert/|contents/?\\?(?:[^#]+&)?albumId=)(\\w+)"
      },
      "iflix": {
        "name": "iflix",
        "type": "free",
        "domains": [
          "iflix.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?iflix\\.com/(?:[^?#]+/)?play/(\\w+)(?:-[^?#]+)?/(\\w+)(?:-[^?#]+)?"
        ],
        "regexp": "https?://(?:www\\.)?iflix\\.com/(?:[^?#]+/)?play/(\\w+)(?:-[^?#]+)?/(\\w+)(?:-[^?#]+)?"
      },
      "iflixseries": {
        "name": "iflixseries",
        "type": "free",
        "domains": [
          "iflix.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?iflix\\.com/(?:[^?#]+/)?play/(\\w+)(?:-[^/?#]+)?/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:www\\.)?iflix\\.com/(?:[^?#]+/)?play/(\\w+)(?:-[^/?#]+)?/?(?:[?#]|$)"
      },
      "ign.com": {
        "name": "ign.com",
        "type": "free",
        "domains": [
          "ign.com",
          "pcmag.com"
        ],
        "regexps": [
          "https?://(?:.+?\\.ign|www\\.pcmag)\\.com/videos(?:/(?:\\d{4}/\\d{2}/\\d{2}/)?(.+?)(?:[/?&#]|$)|(?:/?\\?([^&#]+))?)"
        ],
        "regexp": "https?://(?:.+?\\.ign|www\\.pcmag)\\.com/videos(?:/(?:\\d{4}/\\d{2}/\\d{2}/)?(.+?)(?:[/?&#]|$)|(?:/?\\?([^&#]+))?)"
      },
      "ignarticle": {
        "name": "ignarticle",
        "type": "free",
        "domains": [
          "me.ign.com",
          "ign.com"
        ],
        "regexps": [
          "https?://.+?\\.ign\\.com/(?:articles(?:/\\d{4}/\\d{2}/\\d{2})?|(?:[a-z]{2}/)?(?:[\\w-]+/)*?feature/\\d+)/([^/?&#]+)"
        ],
        "regexp": "https?://.+?\\.ign\\.com/(?:articles(?:/\\d{4}/\\d{2}/\\d{2})?|(?:[a-z]{2}/)?(?:[\\w-]+/)*?feature/\\d+)/([^/?&#]+)"
      },
      "ignvideo": {
        "name": "ignvideo",
        "type": "free",
        "domains": [
          "me.ign.com",
          "adria.ign.com",
          "kr.ign.com"
        ],
        "regexps": [
          "https?://.+?\\.ign\\.com/(?:[a-z]{2}/)?[^/]+/(\\d+)/(?:video|trailer)/"
        ],
        "regexp": "https?://.+?\\.ign\\.com/(?:[a-z]{2}/)?[^/]+/(\\d+)/(?:video|trailer)/"
      },
      "iheartradio": {
        "name": "iheartradio",
        "type": "free",
        "domains": [
          "iheart.com",
          "iheartpodcastnetwork.com"
        ],
        "regexps": [
          "(?:https?://(?:www\\.)?iheart\\.com/podcast/[^/]+/episode/([^/?&#]+)-|iheartradio:)(\\d+)",
          "https?://(?:www\\.)?iheart(?:podcastnetwork)?\\.com/podcast/[^/?&#]+-(\\d+)/?(?:[?#&]|$)"
        ],
        "regexp": "((?:https?://(?:www\\.)?iheart\\.com/podcast/[^/]+/episode/([^/?&#]+)-|iheartradio:)(\\d+))|(https?://(?:www\\.)?iheart(?:podcastnetwork)?\\.com/podcast/[^/?&#]+-(\\d+)/?(?:[?#&]|$))"
      },
      "ilpost": {
        "name": "ilpost",
        "type": "free",
        "domains": [
          "ilpost.it"
        ],
        "regexps": [
          "https?://(?:www\\.)?ilpost\\.it/episodes/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?ilpost\\.it/episodes/([^/?#]+)"
      },
      "iltalehti": {
        "name": "iltalehti",
        "type": "free",
        "domains": [
          "iltalehti.fi"
        ],
        "regexps": [
          "https?://(?:www\\.)?iltalehti\\.fi/[^/?#]+/a/([^/?#])"
        ],
        "regexp": "https?://(?:www\\.)?iltalehti\\.fi/[^/?#]+/a/([^/?#])"
      },
      "imdb": {
        "name": "imdb",
        "type": "free",
        "domains": [
          "imdb.com"
        ],
        "regexps": [
          "https?://(?:www|m)\\.imdb\\.com/(?:video|title|list).*?[/-]vi(\\d+)",
          "https?://(?:www\\.)?imdb\\.com/list/ls(\\d{9})(?!/videoplayer/vi\\d+)"
        ],
        "regexp": "(https?://(?:www|m)\\.imdb\\.com/(?:video|title|list).*?[/-]vi(\\d+))|(https?://(?:www\\.)?imdb\\.com/list/ls(\\d{9})(?!/videoplayer/vi\\d+))"
      },
      "imgur": {
        "name": "imgur",
        "type": "free",
        "domains": [
          "imgur.com",
          "i.imgur.com"
        ],
        "regexps": [
          "https?://(?:i\\.)?imgur\\.com/a/(?:[^/?#]+-)?([a-zA-Z0-9]+)",
          "https?://(?:i\\.)?imgur\\.com/(?:gallery|(?:t(?:opic)?|r)/[^/?#]+)/(?:[^/?#]+-)?([a-zA-Z0-9]+)",
          "https?://(?:i\\.)?imgur\\.com/(?!(?:a|gallery|t|topic|r)/)(?:[^/?#]+-)?([a-zA-Z0-9]+)"
        ],
        "regexp": "(https?://(?:i\\.)?imgur\\.com/a/(?:[^/?#]+-)?([a-zA-Z0-9]+))|(https?://(?:i\\.)?imgur\\.com/(?:gallery|(?:t(?:opic)?|r)/[^/?#]+)/(?:[^/?#]+-)?([a-zA-Z0-9]+))|(https?://(?:i\\.)?imgur\\.com/(?!(?:a|gallery|t|topic|r)/)(?:[^/?#]+-)?([a-zA-Z0-9]+))"
      },
      "ina": {
        "name": "ina",
        "type": "free",
        "domains": [
          "ina.fr",
          "m.ina.fr"
        ],
        "regexps": [
          "https?://(?:(?:www|m)\\.)?ina\\.fr/(?:[^?#]+/)([\\w-]+)"
        ],
        "regexp": "https?://(?:(?:www|m)\\.)?ina\\.fr/(?:[^?#]+/)([\\w-]+)"
      },
      "inc": {
        "name": "inc",
        "type": "free",
        "domains": [
          "inc.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?inc\\.com/(?:[^/]+/)+([^.]+).html"
        ],
        "regexp": "https?://(?:www\\.)?inc\\.com/(?:[^/]+/)+([^.]+).html"
      },
      "indavideoembed": {
        "name": "indavideoembed",
        "type": "free",
        "domains": [
          "indavideo.hu",
          "embed.indavideo.hu"
        ],
        "regexps": [
          "https?://(?:(?:embed\\.)?indavideo\\.hu/player/video/|assets\\.indavideo\\.hu/swf/player\\.swf\\?.*\\b(?:v(?:ID|id))=)([\\da-f]+)"
        ],
        "regexp": "https?://(?:(?:embed\\.)?indavideo\\.hu/player/video/|assets\\.indavideo\\.hu/swf/player\\.swf\\?.*\\b(?:v(?:ID|id))=)([\\da-f]+)"
      },
      "infoq": {
        "name": "infoq",
        "type": "free",
        "domains": [
          "infoq.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?infoq\\.com/(?:[^/]+/)+([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?infoq\\.com/(?:[^/]+/)+([^/]+)"
      },
      "instagram": {
        "name": "instagram",
        "type": "free",
        "domains": [
          "instagram.com"
        ],
        "regexps": [
          "(https?://(?:www\\.)?instagram\\.com(?:/(?!share/)[^/?#]+)?/(?:p|tv|reels?(?!/audio/))/([^/?#&]+))",
          "https?://(?:www\\.)?instagram\\.com/stories/([^/?#]+)(?:/(\\d+))?",
          "https?://(?:www\\.)?instagram\\.com/explore/tags/([^/]+)",
          "https?://(?:www\\.)?instagram\\.com/([^/]{2,})/?(?:$|[?#])"
        ],
        "regexp": "((https?://(?:www\\.)?instagram\\.com(?:/(?!share/)[^/?#]+)?/(?:p|tv|reels?(?!/audio/))/([^/?#&]+)))|(https?://(?:www\\.)?instagram\\.com/stories/([^/?#]+)(?:/(\\d+))?)|(https?://(?:www\\.)?instagram\\.com/explore/tags/([^/]+))|(https?://(?:www\\.)?instagram\\.com/([^/]{2,})/?(?:$|[?#]))"
      },
      "instagramios": {
        "name": "instagramios",
        "type": "free",
        "domains": [
          "media"
        ],
        "regexps": [
          "instagram://media\\?id=([\\d_]+)"
        ],
        "regexp": "instagram://media\\?id=([\\d_]+)"
      },
      "internazionale": {
        "name": "internazionale",
        "type": "free",
        "domains": [
          "internazionale.it"
        ],
        "regexps": [
          "https?://(?:www\\.)?internazionale\\.it/video/(?:[^/]+/)*([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?internazionale\\.it/video/(?:[^/]+/)*([^/?#&]+)"
      },
      "internetvideoarchive": {
        "name": "internetvideoarchive",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://video\\.internetvideoarchive\\.net/(?:player|flash/players)/.*?\\?.*?publishedid.*?"
        ],
        "regexp": "https?://video\\.internetvideoarchive\\.net/(?:player|flash/players)/.*?\\?.*?publishedid.*?"
      },
      "investigationdiscovery": {
        "name": "investigationdiscovery",
        "type": "free",
        "domains": [
          "investigationdiscovery.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?investigationdiscovery\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?investigationdiscovery\\.com/video/([^/]+/[^/?#]+)"
      },
      "iprima": {
        "name": "iprima",
        "type": "free",
        "domains": [
          "prima.iprima.cz",
          "zoom.iprima.cz",
          "play.iprima.cz",
          "iprima.cz",
          "krimi.iprima.cz",
          "cool.iprima.cz",
          "love.iprima.cz"
        ],
        "regexps": [
          "https?://(?!cnn)(?:[^/]+)\\.iprima\\.cz/(?:[^/]+/)*([^/?#&]+)"
        ],
        "regexp": "https?://(?!cnn)(?:[^/]+)\\.iprima\\.cz/(?:[^/]+/)*([^/?#&]+)"
      },
      "iprimacnn": {
        "name": "iprimacnn",
        "type": "free",
        "domains": [
          "cnn.iprima.cz"
        ],
        "regexps": [
          "https?://cnn\\.iprima\\.cz/(?:[^/]+/)*([^/?#&]+)"
        ],
        "regexp": "https?://cnn\\.iprima\\.cz/(?:[^/]+/)*([^/?#&]+)"
      },
      "iq.com": {
        "name": "iq.com",
        "type": "free",
        "domains": [
          "iq.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?iq\\.com/album/(?:[\\w%-]*-)?(\\w+)",
          "https?://(?:www\\.)?iq\\.com/play/(?:[\\w%-]*-)?(\\w+)"
        ],
        "regexp": "(https?://(?:www\\.)?iq\\.com/album/(?:[\\w%-]*-)?(\\w+))|(https?://(?:www\\.)?iq\\.com/play/(?:[\\w%-]*-)?(\\w+))"
      },
      "iqiyi": {
        "name": "iqiyi",
        "type": "free",
        "domains": [
          "iqiyi.com",
          "yule.iqiyi.com",
          "pps.tv"
        ],
        "regexps": [
          "https?://(?:(?:[^.]+\\.)?iqiyi\\.com|www\\.pps\\.tv)/.+\\.html"
        ],
        "regexp": "https?://(?:(?:[^.]+\\.)?iqiyi\\.com|www\\.pps\\.tv)/.+\\.html"
      },
      "islamchannel": {
        "name": "islamchannel",
        "type": "free",
        "domains": [
          "watch.islamchannel.tv"
        ],
        "regexps": [
          "https?://watch\\.islamchannel\\.tv/watch/(\\d+)"
        ],
        "regexp": "https?://watch\\.islamchannel\\.tv/watch/(\\d+)"
      },
      "islamchannelseries": {
        "name": "islamchannelseries",
        "type": "free",
        "domains": [
          "watch.islamchannel.tv"
        ],
        "regexps": [
          "https?://watch\\.islamchannel\\.tv/series/([a-f\\d-]+)"
        ],
        "regexp": "https?://watch\\.islamchannel\\.tv/series/([a-f\\d-]+)"
      },
      "israelnationalnews": {
        "name": "israelnationalnews",
        "type": "free",
        "domains": [
          "israelnationalnews.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?israelnationalnews\\.com/news/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?israelnationalnews\\.com/news/(\\d+)"
      },
      "itprotv": {
        "name": "itprotv",
        "type": "free",
        "domains": [
          "app.itpro.tv"
        ],
        "regexps": [
          "https?://app\\.itpro\\.tv/course/([\\w-]+)/([\\w-]+)"
        ],
        "regexp": "https?://app\\.itpro\\.tv/course/([\\w-]+)/([\\w-]+)"
      },
      "itprotvcourse": {
        "name": "itprotvcourse",
        "type": "free",
        "domains": [
          "app.itpro.tv"
        ],
        "regexps": [
          "https?://app\\.itpro\\.tv/course/([\\w-]+)/?(?:$|[#?])"
        ],
        "regexp": "https?://app\\.itpro\\.tv/course/([\\w-]+)/?(?:$|[#?])"
      },
      "itv": {
        "name": "itv",
        "type": "free",
        "domains": [
          "itv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?itv\\.com/hub/[^/]+/([0-9a-zA-Z]+)"
        ],
        "regexp": "https?://(?:www\\.)?itv\\.com/hub/[^/]+/([0-9a-zA-Z]+)"
      },
      "itvbtcc": {
        "name": "itvbtcc",
        "type": "free",
        "domains": [
          "itv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?itv\\.com/(?:news|btcc)/(?:[^/]+/)*([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?itv\\.com/(?:news|btcc)/(?:[^/]+/)*([^/?#&]+)"
      },
      "ivi": {
        "name": "ivi",
        "type": "free",
        "domains": [
          "ivi.ru",
          "ivi.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?ivi\\.ru/watch/(?!\\d+)([a-z\\d_-]+)(?:/season(\\d+))?$",
          "https?://(?:www\\.)?ivi\\.(?:ru|tv)/(?:watch/(?:[^/]+/)?|video/player\\?.*?videoId=)(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?ivi\\.ru/watch/(?!\\d+)([a-z\\d_-]+)(?:/season(\\d+))?$)|(https?://(?:www\\.)?ivi\\.(?:ru|tv)/(?:watch/(?:[^/]+/)?|video/player\\?.*?videoId=)(\\d+))"
      },
      "ivideon": {
        "name": "ivideon",
        "type": "free",
        "domains": [
          "ivideon.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?ivideon\\.com/tv/(?:[^/]+/)*camera/(\\d+-[\\da-f]+)/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?ivideon\\.com/tv/(?:[^/]+/)*camera/(\\d+-[\\da-f]+)/(\\d+)"
      },
      "ivoox": {
        "name": "ivoox",
        "type": "free",
        "domains": [
          "ivoox.com",
          "go.ivoox.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?ivoox\\.com/(?:\\w{2}/)?[^/?#]+_rf_([0-9]+)_1\\.html",
          "https?://go\\.ivoox\\.com/rf/([0-9]+)"
        ],
        "regexp": "(https?://(?:www\\.)?ivoox\\.com/(?:\\w{2}/)?[^/?#]+_rf_([0-9]+)_1\\.html)|(https?://go\\.ivoox\\.com/rf/([0-9]+))"
      },
      "ivxplayer": {
        "name": "ivxplayer",
        "type": "free",
        "domains": [],
        "regexps": [
          "ivxplayer:(\\d+):(\\w+)"
        ],
        "regexp": "ivxplayer:(\\d+):(\\w+)"
      },
      "iwara": {
        "name": "iwara",
        "type": "free",
        "domains": [
          "iwara.tv"
        ],
        "regexps": [
          "https?://(?:www\\.|ecchi\\.)?iwara\\.tv/videos?/([a-zA-Z0-9]+)",
          "https?://(?:www\\.)?iwara\\.tv/playlist/([0-9a-f-]+)",
          "https?://(?:www\\.)?iwara\\.tv/profile/([^/?#&]+)"
        ],
        "regexp": "(https?://(?:www\\.|ecchi\\.)?iwara\\.tv/videos?/([a-zA-Z0-9]+))|(https?://(?:www\\.)?iwara\\.tv/playlist/([0-9a-f-]+))|(https?://(?:www\\.)?iwara\\.tv/profile/([^/?#&]+))"
      },
      "ixigua": {
        "name": "ixigua",
        "type": "free",
        "domains": [
          "ixigua.com"
        ],
        "regexps": [
          "https?://(?:\\w+\\.)?ixigua\\.com/(?:video/)?(\\d+).+"
        ],
        "regexp": "https?://(?:\\w+\\.)?ixigua\\.com/(?:video/)?(\\d+).+"
      },
      "izlesene": {
        "name": "izlesene",
        "type": "free",
        "domains": [
          "izlesene.com"
        ],
        "regexps": [
          "https?://(?:(?:www|m)\\.)?izlesene\\.com/(?:video|embedplayer)/(?:[^/]+/)?([0-9]+)"
        ],
        "regexp": "https?://(?:(?:www|m)\\.)?izlesene\\.com/(?:video|embedplayer)/(?:[^/]+/)?([0-9]+)"
      },
      "jamendo": {
        "name": "jamendo",
        "type": "free",
        "domains": [
          "jamendo.com",
          "licensing.jamendo.com"
        ],
        "regexps": [
          "https?://(?:licensing\\.jamendo\\.com/[^/]+|(?:www\\.)?jamendo\\.com)/track/([0-9]+)(?:/([^/?#&]+))?"
        ],
        "regexp": "https?://(?:licensing\\.jamendo\\.com/[^/]+|(?:www\\.)?jamendo\\.com)/track/([0-9]+)(?:/([^/?#&]+))?"
      },
      "jamendoalbum": {
        "name": "jamendoalbum",
        "type": "free",
        "domains": [
          "jamendo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?jamendo\\.com/album/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?jamendo\\.com/album/([0-9]+)"
      },
      "jeuxvideo": {
        "name": "jeuxvideo",
        "type": "free",
        "domains": [
          "jeuxvideo.com"
        ],
        "regexps": [
          "https?://.*?\\.jeuxvideo\\.com/.*/(.*?)\\.htm"
        ],
        "regexp": "https?://.*?\\.jeuxvideo\\.com/.*/(.*?)\\.htm"
      },
      "jiosaavn": {
        "name": "jiosaavn",
        "type": "free",
        "domains": [
          "jiosaavn.com",
          "saavn.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:jio)?saavn\\.com/album/[^/?#]+/([^/?#]+)",
          "https?://(?:www\\.)?(?:jio)?saavn\\.com/artist/[^/?#]+/([^/?#]+)",
          "https?://(?:www\\.)?(?:jio)?saavn\\.com/(?:s/playlist/(?:[^/?#]+/){2}|featured/[^/?#]+/)([^/?#]+)",
          "https?://(?:www\\.)?(?:jio)?saavn\\.com/shows/[^/?#]+/([^/?#]{11,})/?(?:$|[?#])",
          "https?://(?:www\\.)?(?:jio)?saavn\\.com/shows/([^#/?]+)/(\\d+)/[^/?#]+",
          "https?://(?:www\\.)?(?:jio)?saavn\\.com(?:/song/[^/?#]+/|/s/song/(?:[^/?#]+/){3})([^/?#]+)"
        ],
        "regexp": "(https?://(?:www\\.)?(?:jio)?saavn\\.com/album/[^/?#]+/([^/?#]+))|(https?://(?:www\\.)?(?:jio)?saavn\\.com/artist/[^/?#]+/([^/?#]+))|(https?://(?:www\\.)?(?:jio)?saavn\\.com/(?:s/playlist/(?:[^/?#]+/){2}|featured/[^/?#]+/)([^/?#]+))|(https?://(?:www\\.)?(?:jio)?saavn\\.com/shows/[^/?#]+/([^/?#]{11,})/?(?:$|[?#]))|(https?://(?:www\\.)?(?:jio)?saavn\\.com/shows/([^#/?]+)/(\\d+)/[^/?#]+)|(https?://(?:www\\.)?(?:jio)?saavn\\.com(?:/song/[^/?#]+/|/s/song/(?:[^/?#]+/){3})([^/?#]+))"
      },
      "joj": {
        "name": "joj",
        "type": "free",
        "domains": [
          "media.joj.sk"
        ],
        "regexps": [
          "(?:joj:|https?://media\\.joj\\.sk/embed/)([^/?#^]+)"
        ],
        "regexp": "(?:joj:|https?://media\\.joj\\.sk/embed/)([^/?#^]+)"
      },
      "jove": {
        "name": "jove",
        "type": "free",
        "domains": [
          "jove.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?jove\\.com/video/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?jove\\.com/video/([0-9]+)"
      },
      "jstream": {
        "name": "jstream",
        "type": "free",
        "domains": [],
        "regexps": [
          "jstream:(www\\d+):(([a-z0-9]+):(\\d+))"
        ],
        "regexp": "jstream:(www\\d+):(([a-z0-9]+):(\\d+))"
      },
      "jtbc": {
        "name": "jtbc",
        "type": "free",
        "domains": [
          "tv.jtbc.co.kr",
          "vod.jtbc.co.kr"
        ],
        "regexps": [
          "https?://(?:vod\\.jtbc\\.co\\.kr/player/(?:program|clip)|tv\\.jtbc\\.co\\.kr/(?:replay|trailer|clip)/pr\\d+/pm\\d+)/((?:ep|vo)\\d+)",
          "https?://(?:vod\\.jtbc\\.co\\.kr/program|tv\\.jtbc\\.co\\.kr/replay)/(pr\\d+)/(?:replay|pm\\d+)/?(?:$|[?#])"
        ],
        "regexp": "(https?://(?:vod\\.jtbc\\.co\\.kr/player/(?:program|clip)|tv\\.jtbc\\.co\\.kr/(?:replay|trailer|clip)/pr\\d+/pm\\d+)/((?:ep|vo)\\d+))|(https?://(?:vod\\.jtbc\\.co\\.kr/program|tv\\.jtbc\\.co\\.kr/replay)/(pr\\d+)/(?:replay|pm\\d+)/?(?:$|[?#]))"
      },
      "jwplatform": {
        "name": "jwplatform",
        "type": "free",
        "domains": [
          "content.jwplatform.com",
          "cdn.jwplayer.com"
        ],
        "regexps": [
          "(?:https?://(?:content\\.jwplatform|cdn\\.jwplayer)\\.com/(?:(?:feed|player|thumb|preview|manifest)s|jw6|v2/media)/|jwplatform:)([a-zA-Z0-9]{8})"
        ],
        "regexp": "(?:https?://(?:content\\.jwplatform|cdn\\.jwplayer)\\.com/(?:(?:feed|player|thumb|preview|manifest)s|jw6|v2/media)/|jwplatform:)([a-zA-Z0-9]{8})"
      },
      "kakao": {
        "name": "kakao",
        "type": "free",
        "domains": [
          "tv.kakao.com"
        ],
        "regexps": [
          "https?://(?:play-)?tv\\.kakao\\.com/(?:channel/\\d+|embed/player)/cliplink/(\\d+|[^?#&]+@my)"
        ],
        "regexp": "https?://(?:play-)?tv\\.kakao\\.com/(?:channel/\\d+|embed/player)/cliplink/(\\d+|[^?#&]+@my)"
      },
      "kaltura": {
        "name": "kaltura",
        "type": "free",
        "domains": [
          "kaltura.com",
          "cdnapisec.kaltura.com"
        ],
        "regexps": [
          "(?:kaltura:(\\w+):(\\w+)(?::(\\w+))?|https?://(?:(?:www|cdnapi(?:sec)?)\\.)?kaltura\\.com(?::\\d+)?/(?:(?:index\\.php/(?:kwidget|extwidget/preview)|html5/html5lib/[^/]+/mwEmbedFrame\\.php))(?:/([^?]+))?(?:\\?(.*))?)"
        ],
        "regexp": "(?:kaltura:(\\w+):(\\w+)(?::(\\w+))?|https?://(?:(?:www|cdnapi(?:sec)?)\\.)?kaltura\\.com(?::\\d+)?/(?:(?:index\\.php/(?:kwidget|extwidget/preview)|html5/html5lib/[^/]+/mwEmbedFrame\\.php))(?:/([^?]+))?(?:\\?(.*))?)"
      },
      "kankanews": {
        "name": "kankanews",
        "type": "free",
        "domains": [
          "kankanews.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?kankanews\\.com/a/\\d+\\-\\d+\\-\\d+/(\\d+)\\.shtml"
        ],
        "regexp": "https?://(?:www\\.)?kankanews\\.com/a/\\d+\\-\\d+\\-\\d+/(\\d+)\\.shtml"
      },
      "karaoketv": {
        "name": "karaoketv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?karaoketv\\.co\\.il/[^/]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?karaoketv\\.co\\.il/[^/]+/(\\d+)"
      },
      "katsomo": {
        "name": "katsomo",
        "type": "free",
        "domains": [
          "mtv.fi",
          "katsomo.fi",
          "mtvuutiset.fi"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:katsomo|mtv(uutiset)?)\\.fi/(?:sarja/[0-9a-z-]+-\\d+/[0-9a-z-]+-|(?:#!/)?jakso/(?:\\d+/[^/]+/)?|video/prog)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:katsomo|mtv(uutiset)?)\\.fi/(?:sarja/[0-9a-z-]+-\\d+/[0-9a-z-]+-|(?:#!/)?jakso/(?:\\d+/[^/]+/)?|video/prog)(\\d+)"
      },
      "kelbyone": {
        "name": "kelbyone",
        "type": "free",
        "domains": [
          "members.kelbyone.com"
        ],
        "regexps": [
          "https?://members\\.kelbyone\\.com/course/([^$&?#/]+)"
        ],
        "regexp": "https?://members\\.kelbyone\\.com/course/([^$&?#/]+)"
      },
      "kenh14playlist": {
        "name": "kenh14playlist",
        "type": "free",
        "domains": [
          "video.kenh14.vn"
        ],
        "regexps": [
          "https?://video\\.kenh14\\.vn/playlist/[\\w-]+-([0-9]+)\\.chn"
        ],
        "regexp": "https?://video\\.kenh14\\.vn/playlist/[\\w-]+-([0-9]+)\\.chn"
      },
      "kenh14video": {
        "name": "kenh14video",
        "type": "free",
        "domains": [
          "video.kenh14.vn"
        ],
        "regexps": [
          "https?://video\\.kenh14\\.vn/(?:video/)?[\\w-]+-([0-9]+)\\.chn"
        ],
        "regexp": "https?://video\\.kenh14\\.vn/(?:video/)?[\\w-]+-([0-9]+)\\.chn"
      },
      "khanacademy": {
        "name": "khanacademy",
        "type": "free",
        "domains": [
          "khanacademy.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?khanacademy\\.org/((?:[^/]+/){4}v/[^?#/&]+)",
          "https?://(?:www\\.)?khanacademy\\.org/((?:[^/]+/){1,2}[^?#/&]+)/?(?:[?#&]|$)"
        ],
        "regexp": "(https?://(?:www\\.)?khanacademy\\.org/((?:[^/]+/){4}v/[^?#/&]+))|(https?://(?:www\\.)?khanacademy\\.org/((?:[^/]+/){1,2}[^?#/&]+)/?(?:[?#&]|$))"
      },
      "kick": {
        "name": "kick",
        "type": "free",
        "domains": [
          "kick.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?kick\\.com/[\\w-]+(?:/clips/|/?\\?(?:[^#]+&)?clip=)(clip_[\\w-]+)",
          "https?://(?:www\\.)?kick\\.com/(?!(?:video|categories|search|auth)(?:[/?#]|$))([\\w-]+)",
          "https?://(?:www\\.)?kick\\.com/[\\w-]+/videos/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})"
        ],
        "regexp": "(https?://(?:www\\.)?kick\\.com/[\\w-]+(?:/clips/|/?\\?(?:[^#]+&)?clip=)(clip_[\\w-]+))|(https?://(?:www\\.)?kick\\.com/(?!(?:video|categories|search|auth)(?:[/?#]|$))([\\w-]+))|(https?://(?:www\\.)?kick\\.com/[\\w-]+/videos/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12}))"
      },
      "kicker": {
        "name": "kicker",
        "type": "free",
        "domains": [
          "kicker.de"
        ],
        "regexps": [
          "https?://(?:www\\.)kicker\\.(?:de)/([\\w-]+)/video"
        ],
        "regexp": "https?://(?:www\\.)kicker\\.(?:de)/([\\w-]+)/video"
      },
      "kickstarter": {
        "name": "kickstarter",
        "type": "free",
        "domains": [
          "kickstarter.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?kickstarter\\.com/projects/([^/]*)/.*"
        ],
        "regexp": "https?://(?:www\\.)?kickstarter\\.com/projects/([^/]*)/.*"
      },
      "kika": {
        "name": "kika",
        "type": "free",
        "domains": [
          "kika.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?kika\\.de/[\\w/-]+/videos/([a-z-]+\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?kika\\.de/[\\w/-]+/videos/([a-z-]+\\d+)"
      },
      "kikaplaylist": {
        "name": "kikaplaylist",
        "type": "free",
        "domains": [
          "kika.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?kika\\.de/[\\w-]+/([a-z-]+\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?kika\\.de/[\\w-]+/([a-z-]+\\d+)"
      },
      "kinja": {
        "name": "kinja",
        "type": "free",
        "domains": [
          "kinja.com"
        ],
        "regexps": [
          "https?://(?:[^.]+\\.)?(?:avclub|clickhole|deadspin|gizmodo|jalopnik|jezebel|kinja|kotaku|lifehacker|splinternews|the(?:inventory|onion|root|takeout))\\.com/(?:ajax/inset|embed/video)/iframe\\?.*?\\bid=(fb|imgur|instagram|jwp(?:layer)?-video|kinjavideo|mcp|megaphone|soundcloud(?:-playlist)?|tumblr-post|twitch-stream|twitter|ustream-channel|vimeo|vine|youtube-(?:list|video))-([^&]+)"
        ],
        "regexp": "https?://(?:[^.]+\\.)?(?:avclub|clickhole|deadspin|gizmodo|jalopnik|jezebel|kinja|kotaku|lifehacker|splinternews|the(?:inventory|onion|root|takeout))\\.com/(?:ajax/inset|embed/video)/iframe\\?.*?\\bid=(fb|imgur|instagram|jwp(?:layer)?-video|kinjavideo|mcp|megaphone|soundcloud(?:-playlist)?|tumblr-post|twitch-stream|twitter|ustream-channel|vimeo|vine|youtube-(?:list|video))-([^&]+)"
      },
      "kinopoisk": {
        "name": "kinopoisk",
        "type": "free",
        "domains": [
          "kinopoisk.ru"
        ],
        "regexps": [
          "https?://(?:www\\.)?kinopoisk\\.ru/film/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?kinopoisk\\.ru/film/(\\d+)"
      },
      "kommunetv": {
        "name": "kommunetv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://\\w+\\.kommunetv\\.no/archive/(\\w+)"
        ],
        "regexp": "https?://\\w+\\.kommunetv\\.no/archive/(\\w+)"
      },
      "kompasvideo": {
        "name": "kompasvideo",
        "type": "free",
        "domains": [
          "video.kompas.com"
        ],
        "regexps": [
          "https?://video\\.kompas\\.com/\\w+/(\\d+)/([\\w-]+)"
        ],
        "regexp": "https?://video\\.kompas\\.com/\\w+/(\\d+)/([\\w-]+)"
      },
      "koo": {
        "name": "koo",
        "type": "free",
        "domains": [
          "kooapp.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?kooapp\\.com/koo/[^/]+/([^/&#$?]+)"
        ],
        "regexp": "https?://(?:www\\.)?kooapp\\.com/koo/[^/]+/([^/&#$?]+)"
      },
      "krasview": {
        "name": "krasview",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://krasview\\.ru/(?:video|embed)/(\\d+)"
        ],
        "regexp": "https?://krasview\\.ru/(?:video|embed)/(\\d+)"
      },
      "kth": {
        "name": "kth",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://play\\.kth\\.se/(?:[^/]+/)+([a-z0-9_]+)"
        ],
        "regexp": "https?://play\\.kth\\.se/(?:[^/]+/)+([a-z0-9_]+)"
      },
      "ku6": {
        "name": "ku6",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://v\\.ku6\\.com/show/([a-zA-Z0-9\\-\\_]+)(?:\\.)*html"
        ],
        "regexp": "https?://v\\.ku6\\.com/show/([a-zA-Z0-9\\-\\_]+)(?:\\.)*html"
      },
      "kukululive": {
        "name": "kukululive",
        "type": "free",
        "domains": [
          "live.erinn.biz"
        ],
        "regexps": [
          "https?://live\\.erinn\\.biz/live\\.php\\?h(\\d+)"
        ],
        "regexp": "https?://live\\.erinn\\.biz/live\\.php\\?h(\\d+)"
      },
      "kuwo": {
        "name": "kuwo",
        "type": "free",
        "domains": [
          "kuwo.cn"
        ],
        "regexps": [
          "https?://(?:www\\.)?kuwo\\.cn/album/(\\d+?)/",
          "https?://yinyue\\.kuwo\\.cn/yy/cinfo_(\\d+?).htm",
          "https?://yinyue\\.kuwo\\.cn/billboard_([^.]+).htm",
          "https?://(?:www\\.)?kuwo\\.cn/yinyue/(\\d+)",
          "https?://(?:www\\.)?kuwo\\.cn/mv/(\\d+?)/",
          "https?://(?:www\\.)?kuwo\\.cn/mingxing/([^/]+)"
        ],
        "regexp": "(https?://(?:www\\.)?kuwo\\.cn/album/(\\d+?)/)|(https?://yinyue\\.kuwo\\.cn/yy/cinfo_(\\d+?).htm)|(https?://yinyue\\.kuwo\\.cn/billboard_([^.]+).htm)|(https?://(?:www\\.)?kuwo\\.cn/yinyue/(\\d+))|(https?://(?:www\\.)?kuwo\\.cn/mv/(\\d+?)/)|(https?://(?:www\\.)?kuwo\\.cn/mingxing/([^/]+))"
      },
      "la7.it": {
        "name": "la7.it",
        "type": "free",
        "domains": [
          "la7.it"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?la7\\.it/([^/]+)/(?:rivedila7|video|news)/|tg\\.la7\\.it/repliche-tgla7\\?id=)(.+)",
          "https?://(?:www\\.)?la7\\.it/[^/]+/podcast/([^/]+-)?(\\d+)",
          "https?://(?:www\\.)?la7\\.it/([^/]+)/podcast/?(?:$|[#?])"
        ],
        "regexp": "(https?://(?:(?:www\\.)?la7\\.it/([^/]+)/(?:rivedila7|video|news)/|tg\\.la7\\.it/repliche-tgla7\\?id=)(.+))|(https?://(?:www\\.)?la7\\.it/[^/]+/podcast/([^/]+-)?(\\d+))|(https?://(?:www\\.)?la7\\.it/([^/]+)/podcast/?(?:$|[#?]))"
      },
      "laracasts": {
        "name": "laracasts",
        "type": "free",
        "domains": [
          "laracasts.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?laracasts\\.com/series/([\\w-]+/episodes/\\d+)/?(?:[?#]|$)",
          "https?://(?:www\\.)?laracasts\\.com/series/([\\w-]+)/?(?:[?#]|$)"
        ],
        "regexp": "(https?://(?:www\\.)?laracasts\\.com/series/([\\w-]+/episodes/\\d+)/?(?:[?#]|$))|(https?://(?:www\\.)?laracasts\\.com/series/([\\w-]+)/?(?:[?#]|$))"
      },
      "lastfm": {
        "name": "lastfm",
        "type": "free",
        "domains": [
          "last.fm"
        ],
        "regexps": [
          "https?://(?:www\\.)?last\\.fm/music(?:/[^/]+){2}/([^/#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?last\\.fm/music(?:/[^/]+){2}/([^/#?]+)"
      },
      "lastfmplaylist": {
        "name": "lastfmplaylist",
        "type": "free",
        "domains": [
          "last.fm"
        ],
        "regexps": [
          "https?://(?:www\\.)?last\\.fm/(music|tag)/([^/]+)(?:/[^/]+)?/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:www\\.)?last\\.fm/(music|tag)/([^/]+)(?:/[^/]+)?/?(?:[?#]|$)"
      },
      "lastfmuser": {
        "name": "lastfmuser",
        "type": "free",
        "domains": [
          "last.fm"
        ],
        "regexps": [
          "https?://(?:www\\.)?last\\.fm/user/[^/]+/playlists/([^/#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?last\\.fm/user/[^/]+/playlists/([^/#?]+)"
      },
      "laxarxames": {
        "name": "laxarxames",
        "type": "free",
        "domains": [
          "laxarxames.cat"
        ],
        "regexps": [
          "https?://(?:www\\.)?laxarxames\\.cat/(?:[^/?#]+/)*?(player|movie-details)/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?laxarxames\\.cat/(?:[^/?#]+/)*?(player|movie-details)/(\\d+)"
      },
      "lbry": {
        "name": "lbry",
        "type": "free",
        "domains": [
          "lbry.tv",
          "lbry",
          "odysee.com"
        ],
        "regexps": [
          "(?:https?://(?:www\\.)?(?:lbry\\.tv|odysee\\.com)/|lbry://)(@[^$@:/?#&]+(?:[:#][0-9a-f]{1,40})?)/?(?:[?&]|$)",
          "(?:https?://(?:www\\.)?(?:lbry\\.tv|odysee\\.com)/|lbry://)(?:\\$/(?:download|embed)/)?([^$@:/?#]+/[0-9a-f]{1,40}|(?:@[^$@:/?#&]+(?:[:#][0-9a-f]{1,40})?/)?[^$@:/?#&]+(?:[:#][0-9a-f]{1,40})?)",
          "(?:https?://(?:www\\.)?(?:lbry\\.tv|odysee\\.com)/|lbry://)\\$/(?:play)?list/([0-9a-f-]+)"
        ],
        "regexp": "((?:https?://(?:www\\.)?(?:lbry\\.tv|odysee\\.com)/|lbry://)(@[^$@:/?#&]+(?:[:#][0-9a-f]{1,40})?)/?(?:[?&]|$))|((?:https?://(?:www\\.)?(?:lbry\\.tv|odysee\\.com)/|lbry://)(?:\\$/(?:download|embed)/)?([^$@:/?#]+/[0-9a-f]{1,40}|(?:@[^$@:/?#&]+(?:[:#][0-9a-f]{1,40})?/)?[^$@:/?#&]+(?:[:#][0-9a-f]{1,40})?))|((?:https?://(?:www\\.)?(?:lbry\\.tv|odysee\\.com)/|lbry://)\\$/(?:play)?list/([0-9a-f-]+))"
      },
      "lci": {
        "name": "lci",
        "type": "free",
        "domains": [
          "tf1info.fr",
          "lci.fr"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:lci|tf1info)\\.fr/(?:[^/?#]+/)+[\\w-]+-(\\d+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?(?:lci|tf1info)\\.fr/(?:[^/?#]+/)+[\\w-]+-(\\d+)\\.html"
      },
      "lcp": {
        "name": "lcp",
        "type": "free",
        "domains": [
          "lcp.fr"
        ],
        "regexps": [
          "https?://(?:www\\.)?lcp\\.fr/(?:[^/]+/)*([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?lcp\\.fr/(?:[^/]+/)*([^/]+)"
      },
      "lcpplay": {
        "name": "lcpplay",
        "type": "free",
        "domains": [
          "play.lcp.fr"
        ],
        "regexps": [
          "https?://play\\.lcp\\.fr/embed/([^/]+)/([^/]+)/[^/]+/[^/]+"
        ],
        "regexp": "https?://play\\.lcp\\.fr/embed/([^/]+)/([^/]+)/[^/]+/[^/]+"
      },
      "le": {
        "name": "le",
        "type": "free",
        "domains": [
          "le.com",
          "sports.le.com",
          "lesports.com"
        ],
        "regexps": [
          "https?://(?:www\\.le\\.com/ptv/vplay|(?:sports\\.le|(?:www\\.)?lesports)\\.com/(?:match|video))/(\\d+)\\.html"
        ],
        "regexp": "https?://(?:www\\.le\\.com/ptv/vplay|(?:sports\\.le|(?:www\\.)?lesports)\\.com/(?:match|video))/(\\d+)\\.html"
      },
      "learningonscreen": {
        "name": "learningonscreen",
        "type": "free",
        "domains": [
          "learningonscreen.ac.uk"
        ],
        "regexps": [
          "https?://learningonscreen\\.ac\\.uk/ondemand/index\\.php/prog/(\\w+)"
        ],
        "regexp": "https?://learningonscreen\\.ac\\.uk/ondemand/index\\.php/prog/(\\w+)"
      },
      "lecture2go": {
        "name": "lecture2go",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://lecture2go\\.uni-hamburg\\.de/veranstaltungen/-/v/(\\d+)"
        ],
        "regexp": "https?://lecture2go\\.uni-hamburg\\.de/veranstaltungen/-/v/(\\d+)"
      },
      "lecturio": {
        "name": "lecturio",
        "type": "free",
        "domains": [
          "app.lecturio.com",
          "lecturio.de"
        ],
        "regexps": [
          "https://(?:app\\.lecturio\\.com/([^/?#]+/([^/?#&]+)\\.lecture|(?:\\#/)?lecture/c/\\d+/(\\d+))|(?:www\\.)?lecturio\\.de/(?:[^/?#]+/)+([^/?#&]+)\\.vortrag)"
        ],
        "regexp": "https://(?:app\\.lecturio\\.com/([^/?#]+/([^/?#&]+)\\.lecture|(?:\\#/)?lecture/c/\\d+/(\\d+))|(?:www\\.)?lecturio\\.de/(?:[^/?#]+/)+([^/?#&]+)\\.vortrag)"
      },
      "lecturiocourse": {
        "name": "lecturiocourse",
        "type": "free",
        "domains": [
          "app.lecturio.com"
        ],
        "regexps": [
          "https?://app\\.lecturio\\.com/(?:[^/]+/([^/?#&]+)\\.course|(?:#/)?course/c/(\\d+))"
        ],
        "regexp": "https?://app\\.lecturio\\.com/(?:[^/]+/([^/?#&]+)\\.course|(?:#/)?course/c/(\\d+))"
      },
      "lecturiodecourse": {
        "name": "lecturiodecourse",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?lecturio\\.de/[^/]+/([^/?#&]+)\\.kurs"
        ],
        "regexp": "https?://(?:www\\.)?lecturio\\.de/[^/]+/([^/?#&]+)\\.kurs"
      },
      "lefigarovideoembed": {
        "name": "lefigarovideoembed",
        "type": "free",
        "domains": [
          "video.lefigaro.fr"
        ],
        "regexps": [
          "https?://video\\.lefigaro\\.fr/embed/[^?#]+/([\\w-]+)"
        ],
        "regexp": "https?://video\\.lefigaro\\.fr/embed/[^?#]+/([\\w-]+)"
      },
      "lefigarovideosection": {
        "name": "lefigarovideosection",
        "type": "free",
        "domains": [
          "video.lefigaro.fr"
        ],
        "regexps": [
          "https?://video\\.lefigaro\\.fr/figaro/([\\w-]+)/?(?:[#?]|$)"
        ],
        "regexp": "https?://video\\.lefigaro\\.fr/figaro/([\\w-]+)/?(?:[#?]|$)"
      },
      "lego": {
        "name": "lego",
        "type": "free",
        "domains": [
          "lego.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?lego\\.com/([a-z]{2}-[a-z]{2})/(?:[^/]+/)*videos/(?:[^/]+/)*[^/?#]+-([0-9a-f]{32})"
        ],
        "regexp": "https?://(?:www\\.)?lego\\.com/([a-z]{2}-[a-z]{2})/(?:[^/]+/)*videos/(?:[^/]+/)*[^/?#]+-([0-9a-f]{32})"
      },
      "lemonde": {
        "name": "lemonde",
        "type": "free",
        "domains": [
          "lemonde.fr",
          "redaction.actu.lemonde.fr"
        ],
        "regexps": [
          "https?://(?:.+?\\.)?lemonde\\.fr/(?:[^/]+/)*([^/]+)\\.html"
        ],
        "regexp": "https?://(?:.+?\\.)?lemonde\\.fr/(?:[^/]+/)*([^/]+)\\.html"
      },
      "lenta": {
        "name": "lenta",
        "type": "free",
        "domains": [
          "lenta.ru"
        ],
        "regexps": [
          "https?://(?:www\\.)?lenta\\.ru/[^/]+/\\d+/\\d+/\\d+/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?lenta\\.ru/[^/]+/\\d+/\\d+/\\d+/([^/?#&]+)"
      },
      "leplaylist": {
        "name": "leplaylist",
        "type": "free",
        "domains": [
          "le.com",
          "tv.le.com",
          "list.le.com"
        ],
        "regexps": [
          "https?://[a-z]+\\.le\\.com/(?!video)[a-z]+/([a-z0-9_]+)"
        ],
        "regexp": "https?://[a-z]+\\.le\\.com/(?!video)[a-z]+/([a-z0-9_]+)"
      },
      "letvcloud": {
        "name": "letvcloud",
        "type": "free",
        "domains": [
          "yuntv.letv.com"
        ],
        "regexps": [
          "https?://yuntv\\.letv\\.com/bcloud.html\\?.+"
        ],
        "regexp": "https?://yuntv\\.letv\\.com/bcloud.html\\?.+"
      },
      "libsyn": {
        "name": "libsyn",
        "type": "free",
        "domains": [
          "html5-player.libsyn.com"
        ],
        "regexps": [
          "(https?://html5-player\\.libsyn\\.com/embed/episode/id/([0-9]+))"
        ],
        "regexp": "(https?://html5-player\\.libsyn\\.com/embed/episode/id/([0-9]+))"
      },
      "life": {
        "name": "life",
        "type": "free",
        "domains": [
          "embed.life.ru",
          "life.ru"
        ],
        "regexps": [
          "https?://embed\\.life\\.ru/(?:embed|video)/([\\da-f]{32})",
          "https?://life\\.ru/t/[^/]+/(\\d+)"
        ],
        "regexp": "(https?://embed\\.life\\.ru/(?:embed|video)/([\\da-f]{32}))|(https?://life\\.ru/t/[^/]+/(\\d+))"
      },
      "likee": {
        "name": "likee",
        "type": "free",
        "domains": [
          "likee.video"
        ],
        "regexps": [
          "https?://(www\\.)?likee\\.video/(?:([^/]+)/video/|v/)(\\w+)",
          "https?://(www\\.)?likee\\.video/([^/]+)/?$"
        ],
        "regexp": "(https?://(www\\.)?likee\\.video/(?:([^/]+)/video/|v/)(\\w+))|(https?://(www\\.)?likee\\.video/([^/]+)/?$)"
      },
      "linkedin": {
        "name": "linkedin",
        "type": "free",
        "domains": [
          "linkedin.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?linkedin\\.com/events/([\\w-]+)",
          "https?://(?:www\\.)?linkedin\\.com/posts/[^/?#]+-(\\d+)-\\w{4}/?(?:[?#]|$)",
          "https?://(?:www\\.)?linkedin\\.com/feed/update/urn:li:activity:(\\d+)",
          "https?://(?:www\\.)?linkedin\\.com/learning/([^/?#]+)",
          "https?://(?:www\\.)?linkedin\\.com/learning/([^/]+)/([^/?#]+)"
        ],
        "regexp": "(https?://(?:www\\.)?linkedin\\.com/events/([\\w-]+))|(https?://(?:www\\.)?linkedin\\.com/posts/[^/?#]+-(\\d+)-\\w{4}/?(?:[?#]|$))|(https?://(?:www\\.)?linkedin\\.com/feed/update/urn:li:activity:(\\d+))|(https?://(?:www\\.)?linkedin\\.com/learning/([^/?#]+))|(https?://(?:www\\.)?linkedin\\.com/learning/([^/]+)/([^/?#]+))"
      },
      "liputan6": {
        "name": "liputan6",
        "type": "free",
        "domains": [
          "liputan6.com"
        ],
        "regexps": [
          "https?://www\\.liputan6\\.com/\\w+/read/\\d+/([\\w-]+)"
        ],
        "regexp": "https?://www\\.liputan6\\.com/\\w+/read/\\d+/([\\w-]+)"
      },
      "listennotes": {
        "name": "listennotes",
        "type": "free",
        "domains": [
          "listennotes.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?listennotes\\.com/podcasts/[^/]+/[^/]+-(.+)/"
        ],
        "regexp": "https?://(?:www\\.)?listennotes\\.com/podcasts/[^/]+/[^/]+-(.+)/"
      },
      "litv": {
        "name": "litv",
        "type": "free",
        "domains": [
          "litv.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?litv\\.tv/(?:[^/?#]+/watch/|vod/[^/?#]+/content\\.do\\?content_id=)([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?litv\\.tv/(?:[^/?#]+/watch/|vod/[^/?#]+/content\\.do\\?content_id=)([\\w-]+)"
      },
      "livejournal": {
        "name": "livejournal",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:[^.]+\\.)?livejournal\\.com/video/album/\\d+.+?\\bid=(\\d+)"
        ],
        "regexp": "https?://(?:[^.]+\\.)?livejournal\\.com/video/album/\\d+.+?\\bid=(\\d+)"
      },
      "livestream": {
        "name": "livestream",
        "type": "free",
        "domains": [
          "new.livestream.com",
          "livestream.com",
          "original.livestream.com"
        ],
        "regexps": [
          "https?://(?:new\\.)?livestream\\.com/(?:accounts/(\\d+)|([^/]+))(?:/events/(\\d+)|/([^/]+))?(?:/videos/(\\d+))?",
          "https?://original\\.livestream\\.com/([^/\\?#]+)(?:/(video|folder)(?:(?:\\?.*?Id=|/)(.*?)(&|$))?)?"
        ],
        "regexp": "(https?://(?:new\\.)?livestream\\.com/(?:accounts/(\\d+)|([^/]+))(?:/events/(\\d+)|/([^/]+))?(?:/videos/(\\d+))?)|(https?://original\\.livestream\\.com/([^/\\?#]+)(?:/(video|folder)(?:(?:\\?.*?Id=|/)(.*?)(&|$))?)?)"
      },
      "livestreamfails": {
        "name": "livestreamfails",
        "type": "free",
        "domains": [
          "livestreamfails.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?livestreamfails\\.com/(?:clip|post)/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?livestreamfails\\.com/(?:clip|post)/([0-9]+)"
      },
      "lnk": {
        "name": "lnk",
        "type": "free",
        "domains": [
          "lnk.lt"
        ],
        "regexps": [
          "https?://(?:www\\.)?lnk\\.lt/[^/]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?lnk\\.lt/[^/]+/(\\d+)"
      },
      "loc": {
        "name": "loc",
        "type": "free",
        "domains": [
          "loc.gov"
        ],
        "regexps": [
          "https?://(?:www\\.)?loc\\.gov/(?:item/|today/cyberlc/feature_wdesc\\.php\\?.*\\brec=)([0-9a-z_.]+)"
        ],
        "regexp": "https?://(?:www\\.)?loc\\.gov/(?:item/|today/cyberlc/feature_wdesc\\.php\\?.*\\brec=)([0-9a-z_.]+)"
      },
      "loco": {
        "name": "loco",
        "type": "free",
        "domains": [
          "loco.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?loco\\.com/(streamers|stream)/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?loco\\.com/(streamers|stream)/([^/?#]+)"
      },
      "loom": {
        "name": "loom",
        "type": "free",
        "domains": [
          "loom.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?loom\\.com/share/folder/([\\da-f]{32})",
          "https?://(?:www\\.)?loom\\.com/(?:share|embed)/([\\da-f]{32})"
        ],
        "regexp": "(https?://(?:www\\.)?loom\\.com/share/folder/([\\da-f]{32}))|(https?://(?:www\\.)?loom\\.com/(?:share|embed)/([\\da-f]{32}))"
      },
      "lovehomeporn": {
        "name": "lovehomeporn",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?lovehomeporn\\.com/video/(\\d+)(?:/([^/?#&]+))?"
        ],
        "regexp": "https?://(?:www\\.)?lovehomeporn\\.com/video/(\\d+)(?:/([^/?#&]+))?"
      },
      "lrtradio": {
        "name": "lrtradio",
        "type": "free",
        "domains": [
          "lrt.lt"
        ],
        "regexps": [
          "https?://(?:www\\.)?lrt\\.lt/radioteka/irasas/(\\d+)/([^?#/]+)"
        ],
        "regexp": "https?://(?:www\\.)?lrt\\.lt/radioteka/irasas/(\\d+)/([^?#/]+)"
      },
      "lrtstream": {
        "name": "lrtstream",
        "type": "free",
        "domains": [
          "lrt.lt"
        ],
        "regexps": [
          "https?://(?:www\\.)?lrt\\.lt/mediateka/tiesiogiai/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?lrt\\.lt/mediateka/tiesiogiai/([\\w-]+)"
      },
      "lrtvod": {
        "name": "lrtvod",
        "type": "free",
        "domains": [
          "lrt.lt",
          "archyvai.lrt.lt"
        ],
        "regexps": [
          "https?://(?:(?:www|archyvai)\\.)?lrt\\.lt/mediateka/irasas/([0-9]+)",
          "https?://(?:(?:www|archyvai)\\.)?lrt\\.lt/mediateka/video/[^?#]+\\?(?:[^#]*&)?episode=([0-9]+)"
        ],
        "regexp": "(https?://(?:(?:www|archyvai)\\.)?lrt\\.lt/mediateka/irasas/([0-9]+))|(https?://(?:(?:www|archyvai)\\.)?lrt\\.lt/mediateka/video/[^?#]+\\?(?:[^#]*&)?episode=([0-9]+))"
      },
      "lsmlrembed": {
        "name": "lsmlrembed",
        "type": "free",
        "domains": [
          "latvijasradio.lsm.lv",
          "radioteatris.lsm.lv",
          "lr1.lsm.lv",
          "lr2.lsm.lv",
          "klasika.lsm.lv",
          "lr4.lsm.lv",
          "pieci.lv",
          "naba.lsm.lv"
        ],
        "regexps": [
          "https?://(?:(?:latvijasradio|lr1|lr2|klasika|lr4|naba|radioteatris)\\.lsm|pieci)\\.lv/[^/?#]+/(?:pleijeris|embed)/?\\?(?:[^#]+&)?(?:show|id)=(\\d+)"
        ],
        "regexp": "https?://(?:(?:latvijasradio|lr1|lr2|klasika|lr4|naba|radioteatris)\\.lsm|pieci)\\.lv/[^/?#]+/(?:pleijeris|embed)/?\\?(?:[^#]+&)?(?:show|id)=(\\d+)"
      },
      "lsmltvembed": {
        "name": "lsmltvembed",
        "type": "free",
        "domains": [
          "ltv.lsm.lv"
        ],
        "regexps": [
          "https?://ltv\\.lsm\\.lv/embed\\?(?:[^#]+&)?c=([^#&]+)"
        ],
        "regexp": "https?://ltv\\.lsm\\.lv/embed\\?(?:[^#]+&)?c=([^#&]+)"
      },
      "lsmreplay": {
        "name": "lsmreplay",
        "type": "free",
        "domains": [
          "replay.lsm.lv"
        ],
        "regexps": [
          "https?://replay\\.lsm\\.lv/[^/?#]+/(?:skaties/|klausies/)?(?:ieraksts|statja)/[^/?#]+/(\\d+)"
        ],
        "regexp": "https?://replay\\.lsm\\.lv/[^/?#]+/(?:skaties/|klausies/)?(?:ieraksts|statja)/[^/?#]+/(\\d+)"
      },
      "lumni": {
        "name": "lumni",
        "type": "free",
        "domains": [
          "lumni.fr"
        ],
        "regexps": [
          "https?://(?:www\\.)?lumni\\.fr/video/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?lumni\\.fr/video/([\\w-]+)"
      },
      "lynda": {
        "name": "lynda",
        "type": "free",
        "domains": [
          "lynda.com",
          "educourse.ga"
        ],
        "regexps": [
          "https?://(?:www|m)\\.(?:lynda\\.com|educourse\\.ga)/((?:[^/]+/){2,3}(\\d+))-2\\.html",
          "https?://(?:www\\.)?(?:lynda\\.com|educourse\\.ga)/(?:(?:[^/]+/){2,3}(\\d+)|player/embed)/(\\d+)"
        ],
        "regexp": "(https?://(?:www|m)\\.(?:lynda\\.com|educourse\\.ga)/((?:[^/]+/){2,3}(\\d+))-2\\.html)|(https?://(?:www\\.)?(?:lynda\\.com|educourse\\.ga)/(?:(?:[^/]+/){2,3}(\\d+)|player/embed)/(\\d+))"
      },
      "maariv.co.il": {
        "name": "maariv.co.il",
        "type": "free",
        "domains": [
          "player.maariv.co.il"
        ],
        "regexps": [
          "https?://player\\.maariv\\.co\\.il/public/player\\.html\\?(?:[^#]+&)?media=(\\d+)"
        ],
        "regexp": "https?://player\\.maariv\\.co\\.il/public/player\\.html\\?(?:[^#]+&)?media=(\\d+)"
      },
      "magellantv": {
        "name": "magellantv",
        "type": "free",
        "domains": [
          "magellantv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?magellantv\\.com/(?:watch|video)/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?magellantv\\.com/(?:watch|video)/([\\w-]+)"
      },
      "magentamusik": {
        "name": "magentamusik",
        "type": "free",
        "domains": [
          "magentamusik.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?magentamusik\\.de/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?magentamusik\\.de/([^/?#]+)"
      },
      "mailru": {
        "name": "mailru",
        "type": "free",
        "domains": [
          "my.mail.ru",
          "m.my.mail.ru",
          "videoapi.my.mail.ru"
        ],
        "regexps": [
          "https?://(?:(?:www|m|videoapi)\\.)?my\\.mail\\.ru/+(?:video/.*\\#video=/?((?:[^/]+/){3}\\d+)|(?:videos/embed/)?(?:((?:[^/]+/+){2})(?:video/(?:embed/)?)?([^/]+/\\d+))(?:\\.html)?|(?:video/embed|\\+/video/meta)/(\\d+))",
          "https?://my\\.mail\\.ru/+music/+songs/+[^/?#&]+-([\\da-f]+)",
          "https?://my\\.mail\\.ru/+music/+search/+([^/?#&]+)"
        ],
        "regexp": "(https?://(?:(?:www|m|videoapi)\\.)?my\\.mail\\.ru/+(?:video/.*\\#video=/?((?:[^/]+/){3}\\d+)|(?:videos/embed/)?(?:((?:[^/]+/+){2})(?:video/(?:embed/)?)?([^/]+/\\d+))(?:\\.html)?|(?:video/embed|\\+/video/meta)/(\\d+)))|(https?://my\\.mail\\.ru/+music/+songs/+[^/?#&]+-([\\da-f]+))|(https?://my\\.mail\\.ru/+music/+search/+([^/?#&]+))"
      },
      "mainstreaming": {
        "name": "mainstreaming",
        "type": "free",
        "domains": [
          "webtools-e18da6642b684f8aa9ae449862783a56.msvdn.net",
          "webtools-859c1818ed614cc5b0047439470927b0.msvdn.net",
          "webtools-f5842579ff984c1c98d63b8d789673eb.msvdn.net",
          "f5842579ff984c1c98d63b8d789673eb.msvdn.net",
          "webtools.msvdn.net",
          "859c1818ed614cc5b0047439470927b0.msvdn.net"
        ],
        "regexps": [
          "https?://(?:webtools-?)?([A-Za-z0-9-]*\\.msvdn\\.net)/(?:embed|amp_embed|content)/(\\w+)"
        ],
        "regexp": "https?://(?:webtools-?)?([A-Za-z0-9-]*\\.msvdn\\.net)/(?:embed|amp_embed|content)/(\\w+)"
      },
      "mangomolo": {
        "name": "mangomolo",
        "type": "free",
        "domains": [],
        "regexps": [
          "(?:https?:)?//(?:admin\\.mangomolo\\.com/analytics/index\\.php/customers/embed/|player\\.mangomolo\\.com/v1/)(?:live|index)\\?.*?\\bchannelid=((?:[A-Za-z0-9+/=]|%2B|%2F|%3D)+)",
          "(?:https?:)?//(?:admin\\.mangomolo\\.com/analytics/index\\.php/customers/embed/|player\\.mangomolo\\.com/v1/)video\\?.*?\\bid=(\\d+)"
        ],
        "regexp": "((?:https?:)?//(?:admin\\.mangomolo\\.com/analytics/index\\.php/customers/embed/|player\\.mangomolo\\.com/v1/)(?:live|index)\\?.*?\\bchannelid=((?:[A-Za-z0-9+/=]|%2B|%2F|%3D)+))|((?:https?:)?//(?:admin\\.mangomolo\\.com/analytics/index\\.php/customers/embed/|player\\.mangomolo\\.com/v1/)video\\?.*?\\bid=(\\d+))"
      },
      "mangotv": {
        "name": "mangotv",
        "type": "free",
        "domains": [
          "mgtv.com",
          "w.mgtv.com"
        ],
        "regexps": [
          "https?://(?:w(?:ww)?\\.)?mgtv\\.com/[bv]/(?:[^/]+/)*(\\d+)\\.html"
        ],
        "regexp": "https?://(?:w(?:ww)?\\.)?mgtv\\.com/[bv]/(?:[^/]+/)*(\\d+)\\.html"
      },
      "manyvids": {
        "name": "manyvids",
        "type": "free",
        "domains": [
          "manyvids.com"
        ],
        "regexps": [
          "(?i)https?://(?:www\\.)?manyvids\\.com/video/(\\d+)"
        ],
        "regexp": "(?i)https?://(?:www\\.)?manyvids\\.com/video/(\\d+)"
      },
      "maoritv": {
        "name": "maoritv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?maoritelevision\\.com/shows/(?:[^/]+/)+([^/?&#]+)"
        ],
        "regexp": "https?://(?:www\\.)?maoritelevision\\.com/shows/(?:[^/]+/)+([^/?&#]+)"
      },
      "markiza": {
        "name": "markiza",
        "type": "free",
        "domains": [
          "videoarchiv.markiza.sk"
        ],
        "regexps": [
          "https?://(?:www\\.)?videoarchiv\\.markiza\\.sk/(?:video/(?:[^/]+/)*|embed/)(\\d+)(?:[_/]|$)"
        ],
        "regexp": "https?://(?:www\\.)?videoarchiv\\.markiza\\.sk/(?:video/(?:[^/]+/)*|embed/)(\\d+)(?:[_/]|$)"
      },
      "markizapage": {
        "name": "markizapage",
        "type": "free",
        "domains": [
          "markiza.sk",
          "dajto.markiza.sk",
          "superstar.markiza.sk",
          "hybsa.markiza.sk",
          "doma.markiza.sk",
          "tvnoviny.sk"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:(?:[^/]+\\.)?markiza|tvnoviny)\\.sk/(?:[^/]+/)*(\\d+)_"
        ],
        "regexp": "https?://(?:www\\.)?(?:(?:[^/]+\\.)?markiza|tvnoviny)\\.sk/(?:[^/]+/)*(\\d+)_"
      },
      "massengeschmack.tv": {
        "name": "massengeschmack.tv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?massengeschmack\\.tv/play/([^?&#]+)"
        ],
        "regexp": "https?://(?:www\\.)?massengeschmack\\.tv/play/([^?&#]+)"
      },
      "masters": {
        "name": "masters",
        "type": "free",
        "domains": [
          "masters.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?masters\\.com/en_US/watch/(\\d{4}-\\d{2}-\\d{2})/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?masters\\.com/en_US/watch/(\\d{4}-\\d{2}-\\d{2})/(\\d+)"
      },
      "matchtv": {
        "name": "matchtv",
        "type": "free",
        "domains": [
          "matchtv.ru",
          "video.matchtv.ru"
        ],
        "regexps": [
          "https?://matchtv\\.ru/on-air/?(?:$|[?#])",
          "https?://video\\.matchtv\\.ru/iframe/channel/106/?(?:$|[?#])"
        ],
        "regexp": "(https?://matchtv\\.ru/on-air/?(?:$|[?#]))|(https?://video\\.matchtv\\.ru/iframe/channel/106/?(?:$|[?#]))"
      },
      "mave": {
        "name": "mave",
        "type": "free",
        "domains": [
          "budem.mave.digital",
          "ochenlichnoe.mave.digital",
          "geekcity.mave.digital"
        ],
        "regexps": [
          "https?://([\\w-]+)\\.mave\\.digital/?(?:$|[?#])",
          "https?://([\\w-]+)\\.mave\\.digital/ep-(\\d+)"
        ],
        "regexp": "(https?://([\\w-]+)\\.mave\\.digital/?(?:$|[?#]))|(https?://([\\w-]+)\\.mave\\.digital/ep-(\\d+))"
      },
      "mbn": {
        "name": "mbn",
        "type": "free",
        "domains": [
          "mbn.co.kr"
        ],
        "regexps": [
          "https?://(?:www\\.)?mbn\\.co\\.kr/vod/programContents/preview(?:list)?/\\d+/\\d+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?mbn\\.co\\.kr/vod/programContents/preview(?:list)?/\\d+/\\d+/(\\d+)"
      },
      "mdr": {
        "name": "mdr",
        "type": "free",
        "domains": [
          "mdr.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?mdr\\.de/(?:.*)/[a-z-]+-?(\\d+)(?:_.+?)?\\.html"
        ],
        "regexp": "https?://(?:www\\.)?mdr\\.de/(?:.*)/[a-z-]+-?(\\d+)(?:_.+?)?\\.html"
      },
      "medaltv": {
        "name": "medaltv",
        "type": "free",
        "domains": [
          "medal.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?medal\\.tv/games/[^/?#&]+/clips/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?medal\\.tv/games/[^/?#&]+/clips/([^/?#&]+)"
      },
      "media.ccc.de": {
        "name": "media.ccc.de",
        "type": "free",
        "domains": [
          "media.ccc.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?media\\.ccc\\.de/v/([^/?#&]+)",
          "https?://(?:www\\.)?media\\.ccc\\.de/c/([^/?#&]+)"
        ],
        "regexp": "(https?://(?:www\\.)?media\\.ccc\\.de/v/([^/?#&]+))|(https?://(?:www\\.)?media\\.ccc\\.de/c/([^/?#&]+))"
      },
      "mediaite": {
        "name": "mediaite",
        "type": "free",
        "domains": [
          "mediaite.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?mediaite\\.com(?!/category)(?:/[\\w-]+){2}"
        ],
        "regexp": "https?://(?:www\\.)?mediaite\\.com(?!/category)(?:/[\\w-]+){2}"
      },
      "mediaklikk": {
        "name": "mediaklikk",
        "type": "free",
        "domains": [
          "mediaklikk.hu",
          "m4sport.hu",
          "hirado.hu"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:mediaklikk|m4sport|hirado)\\.hu/.*?(?:videok?|cikk)/(?:([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/)?([^/#?_]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:mediaklikk|m4sport|hirado)\\.hu/.*?(?:videok?|cikk)/(?:([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/)?([^/#?_]+)"
      },
      "medialaan": {
        "name": "medialaan",
        "type": "free",
        "domains": [
          "bndestem.nl",
          "gelderlander.nl",
          "7sur7.be",
          "mychannels.video",
          "embed.mychannels.video"
        ],
        "regexps": [
          "https?://(?:(?:embed\\.)?mychannels.video/embed/|embed\\.mychannels\\.video/(?:s(?:dk|cript)/)?production/|(?:www\\.)?(?:(?:7sur7|demorgen|hln|joe|qmusic)\\.be|(?:[abe]d|bndestem|destentor|gelderlander|pzc|tubantia|volkskrant)\\.nl)/videos?/(?:[^/?#]+/)*[^/?&#]+(?:-|~p))(\\d+)"
        ],
        "regexp": "https?://(?:(?:embed\\.)?mychannels.video/embed/|embed\\.mychannels\\.video/(?:s(?:dk|cript)/)?production/|(?:www\\.)?(?:(?:7sur7|demorgen|hln|joe|qmusic)\\.be|(?:[abe]d|bndestem|destentor|gelderlander|pzc|tubantia|volkskrant)\\.nl)/videos?/(?:[^/?#]+/)*[^/?&#]+(?:-|~p))(\\d+)"
      },
      "mediaset": {
        "name": "mediaset",
        "type": "free",
        "domains": [
          "mediasetinfinity.mediaset.it",
          "mediasetplay.mediaset.it",
          "static3.mediasetplay.mediaset.it"
        ],
        "regexps": [
          "(?:mediaset:|https?://(?:\\w+\\.)+mediaset\\.it/(?:(?:video|on-demand|movie)/(?:[^/]+/)+[^/]+_|player/(?:v\\d+/)?index\\.html\\?\\S*?\\bprogramGuid=))(F[0-9A-Z]{15})"
        ],
        "regexp": "(?:mediaset:|https?://(?:\\w+\\.)+mediaset\\.it/(?:(?:video|on-demand|movie)/(?:[^/]+/)+[^/]+_|player/(?:v\\d+/)?index\\.html\\?\\S*?\\bprogramGuid=))(F[0-9A-Z]{15})"
      },
      "mediasetshow": {
        "name": "mediasetshow",
        "type": "free",
        "domains": [
          "mediasetinfinity.mediaset.it"
        ],
        "regexps": [
          "(?:https?://(\\w+\\.)+mediaset\\.it/(?:(?:fiction|programmi-tv|serie-tv|kids)/(?:.+?/)?(?:[a-z-]+)_SE(\\d{12})(?:,ST(\\d{12}))?(?:,sb(\\d{9}))?$))"
        ],
        "regexp": "(?:https?://(\\w+\\.)+mediaset\\.it/(?:(?:fiction|programmi-tv|serie-tv|kids)/(?:.+?/)?(?:[a-z-]+)_SE(\\d{12})(?:,ST(\\d{12}))?(?:,sb(\\d{9}))?$))"
      },
      "mediasite": {
        "name": "mediasite",
        "type": "free",
        "domains": [
          "hitsmediaweb.h-its.org",
          "mediasite.uib.no",
          "collegerama.tudelft.nl",
          "digitalops.sandia.gov",
          "mediasite.ntnu.no"
        ],
        "regexps": [
          "(?xi)https?://[^/]+/Mediasite/(?:Play|Showcase/[^/#?]+/Presentation)/((?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))(\\?[^#]+|)"
        ],
        "regexp": "(?xi)https?://[^/]+/Mediasite/(?:Play|Showcase/[^/#?]+/Presentation)/((?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))(\\?[^#]+|)"
      },
      "mediasitecatalog": {
        "name": "mediasitecatalog",
        "type": "free",
        "domains": [
          "events7.mediasite.com",
          "medaudio.medicine.iu.edu",
          "uipsyc.mediasite.com",
          "live.libraries.psu.edu"
        ],
        "regexps": [
          "(?xi)\n                        (https?://[^/]+/Mediasite)\n                        /Catalog/Full/\n                        ((?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))\n                        (?:\n                            /((?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))\n                            /((?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))\n                        )?\n                    "
        ],
        "regexp": "(?xi)\n                        (https?://[^/]+/Mediasite)\n                        /Catalog/Full/\n                        ((?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))\n                        (?:\n                            /((?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))\n                            /((?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14}))\n                        )?\n                    "
      },
      "mediasitenamedcatalog": {
        "name": "mediasitenamedcatalog",
        "type": "free",
        "domains": [
          "msite.misis.ru"
        ],
        "regexps": [
          "(?xi)(https?://[^/]+/Mediasite)/Catalog/catalogs/([^/?#&]+)"
        ],
        "regexp": "(?xi)(https?://[^/]+/Mediasite)/Catalog/catalogs/([^/?#&]+)"
      },
      "mediastream": {
        "name": "mediastream",
        "type": "free",
        "domains": [
          "mdstrm.com"
        ],
        "regexps": [
          "https?://mdstrm\\.com/(?:embed|live-stream)/(\\w+)"
        ],
        "regexp": "https?://mdstrm\\.com/(?:embed|live-stream)/(\\w+)"
      },
      "mediaworksnzvod": {
        "name": "mediaworksnzvod",
        "type": "free",
        "domains": [
          "vodupload-api.mediaworks.nz"
        ],
        "regexps": [
          "https?://vodupload-api\\.mediaworks\\.nz/library/asset/published/([A-Za-z0-9-]+)"
        ],
        "regexp": "https?://vodupload-api\\.mediaworks\\.nz/library/asset/published/([A-Za-z0-9-]+)"
      },
      "medici": {
        "name": "medici",
        "type": "free",
        "domains": [
          "medici.tv",
          "edu.medici.tv"
        ],
        "regexps": [
          "https?://(?:(www|edu)\\.)?medici\\.tv/[a-z]{2}/[\\w.-]+/([^/?#&]+)"
        ],
        "regexp": "https?://(?:(www|edu)\\.)?medici\\.tv/[a-z]{2}/[\\w.-]+/([^/?#&]+)"
      },
      "megaphone.fm": {
        "name": "megaphone.fm",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://player\\.megaphone\\.fm/([A-Z0-9]+)"
        ],
        "regexp": "https?://player\\.megaphone\\.fm/([A-Z0-9]+)"
      },
      "megatvcom": {
        "name": "megatvcom",
        "type": "free",
        "domains": [
          "megatv.com"
        ],
        "regexps": [
          "(?:https?:)?//(?:www\\.)?megatv\\.com/embed/?\\?p=(\\d+)",
          "https?://(?:www\\.)?megatv\\.com/(?:\\d{4}/\\d{2}/\\d{2}|[^/]+/(\\d+))/([^/]+)"
        ],
        "regexp": "((?:https?:)?//(?:www\\.)?megatv\\.com/embed/?\\?p=(\\d+))|(https?://(?:www\\.)?megatv\\.com/(?:\\d{4}/\\d{2}/\\d{2}|[^/]+/(\\d+))/([^/]+))"
      },
      "meipai": {
        "name": "meipai",
        "type": "free",
        "domains": [
          "meipai.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?meipai\\.com/media/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?meipai\\.com/media/([0-9]+)"
      },
      "melonvod": {
        "name": "melonvod",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://vod\\.melon\\.com/video/detail2\\.html?\\?.*?mvId=([0-9]+)"
        ],
        "regexp": "https?://vod\\.melon\\.com/video/detail2\\.html?\\?.*?mvId=([0-9]+)"
      },
      "metacritic": {
        "name": "metacritic",
        "type": "free",
        "domains": [
          "metacritic.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?metacritic\\.com/.+?/trailers/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?metacritic\\.com/.+?/trailers/(\\d+)"
      },
      "mewatch": {
        "name": "mewatch",
        "type": "free",
        "domains": [
          "mewatch.sg",
          "live.mewatch.sg"
        ],
        "regexps": [
          "https?://(?:(?:www|live)\\.)?mewatch\\.sg/watch/[^/?#&]+-([0-9]+)"
        ],
        "regexp": "https?://(?:(?:www|live)\\.)?mewatch\\.sg/watch/[^/?#&]+-([0-9]+)"
      },
      "microsoftbuild": {
        "name": "microsoftbuild",
        "type": "free",
        "domains": [
          "build.microsoft.com"
        ],
        "regexps": [
          "https?://build\\.microsoft\\.com/[\\w-]+/sessions/([\\da-f-]+)",
          "https?://build\\.microsoft\\.com/[\\w-]+/(sessions)/?(?:[?#]|$)"
        ],
        "regexp": "(https?://build\\.microsoft\\.com/[\\w-]+/sessions/([\\da-f-]+))|(https?://build\\.microsoft\\.com/[\\w-]+/(sessions)/?(?:[?#]|$))"
      },
      "microsoftembed": {
        "name": "microsoftembed",
        "type": "free",
        "domains": [
          "microsoft.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?microsoft\\.com/(?:[^/]+/)?videoplayer/embed/([a-z0-9A-Z]+)"
        ],
        "regexp": "https?://(?:www\\.)?microsoft\\.com/(?:[^/]+/)?videoplayer/embed/([a-z0-9A-Z]+)"
      },
      "microsoftlearnepisode": {
        "name": "microsoftlearnepisode",
        "type": "free",
        "domains": [
          "learn.microsoft.com"
        ],
        "regexps": [
          "https?://learn\\.microsoft\\.com/(?:[\\w-]+/)?shows/[\\w-]+/([^?#/]+)"
        ],
        "regexp": "https?://learn\\.microsoft\\.com/(?:[\\w-]+/)?shows/[\\w-]+/([^?#/]+)"
      },
      "microsoftlearnplaylist": {
        "name": "microsoftlearnplaylist",
        "type": "free",
        "domains": [
          "learn.microsoft.com"
        ],
        "regexps": [
          "https?://learn\\.microsoft\\.com/(?:[\\w-]+/)?(shows|events)/([\\w-]+)/?(?:[?#]|$)"
        ],
        "regexp": "https?://learn\\.microsoft\\.com/(?:[\\w-]+/)?(shows|events)/([\\w-]+)/?(?:[?#]|$)"
      },
      "microsoftlearnsession": {
        "name": "microsoftlearnsession",
        "type": "free",
        "domains": [
          "learn.microsoft.com"
        ],
        "regexps": [
          "https?://learn\\.microsoft\\.com/(?:[\\w-]+/)?events/[\\w-]+/([^?#/]+)"
        ],
        "regexp": "https?://learn\\.microsoft\\.com/(?:[\\w-]+/)?events/[\\w-]+/([^?#/]+)"
      },
      "microsoftmedius": {
        "name": "microsoftmedius",
        "type": "free",
        "domains": [
          "medius.microsoft.com"
        ],
        "regexps": [
          "https?://medius\\.microsoft\\.com/Embed/(?:Video\\?id=|video-nc/|VideoDetails/)([\\da-f-]+)"
        ],
        "regexp": "https?://medius\\.microsoft\\.com/Embed/(?:Video\\?id=|video-nc/|VideoDetails/)([\\da-f-]+)"
      },
      "microsoftstream": {
        "name": "microsoftstream",
        "type": "free",
        "domains": [
          "web.microsoftstream.com",
          "msit.microsoftstream.com"
        ],
        "regexps": [
          "https?://(?:web|www|msit)\\.microsoftstream\\.com/video/([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
        ],
        "regexp": "https?://(?:web|www|msit)\\.microsoftstream\\.com/video/([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
      },
      "minds": {
        "name": "minds",
        "type": "free",
        "domains": [
          "minds.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?minds\\.com/(?!(?:newsfeed|media|api|archive|groups)/)([^/?&#]+)",
          "https?://(?:www\\.)?minds\\.com/groups/profile/([0-9]+)",
          "https?://(?:www\\.)?minds\\.com/(?:media|newsfeed|archive/view)/([0-9]+)"
        ],
        "regexp": "(https?://(?:www\\.)?minds\\.com/(?!(?:newsfeed|media|api|archive|groups)/)([^/?&#]+))|(https?://(?:www\\.)?minds\\.com/groups/profile/([0-9]+))|(https?://(?:www\\.)?minds\\.com/(?:media|newsfeed|archive/view)/([0-9]+))"
      },
      "minoto": {
        "name": "minoto",
        "type": "free",
        "domains": [],
        "regexps": [
          "(?:minoto:|https?://(?:play|iframe|embed)\\.minoto-video\\.com/([0-9]+)/)([a-zA-Z0-9]+)"
        ],
        "regexp": "(?:minoto:|https?://(?:play|iframe|embed)\\.minoto-video\\.com/([0-9]+)/)([a-zA-Z0-9]+)"
      },
      "mir24.tv": {
        "name": "mir24.tv",
        "type": "free",
        "domains": [
          "mir24.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?mir24\\.tv/news/([0-9]+)/[^/?#]+"
        ],
        "regexp": "https?://(?:www\\.)?mir24\\.tv/news/([0-9]+)/[^/?#]+"
      },
      "mirrativ": {
        "name": "mirrativ",
        "type": "free",
        "domains": [
          "mirrativ.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?mirrativ\\.com/live/([^/?#&]+)",
          "https?://(?:www\\.)?mirrativ\\.com/user/(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?mirrativ\\.com/live/([^/?#&]+))|(https?://(?:www\\.)?mirrativ\\.com/user/(\\d+))"
      },
      "mirrorcouk": {
        "name": "mirrorcouk",
        "type": "free",
        "domains": [
          "mirror.co.uk"
        ],
        "regexps": [
          "https?://(?:www\\.)?mirror\\.co\\.uk/[/+[\\w-]+-(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?mirror\\.co\\.uk/[/+[\\w-]+-(\\d+)"
      },
      "mixch": {
        "name": "mixch",
        "type": "free",
        "domains": [
          "mixch.tv"
        ],
        "regexps": [
          "https?://mixch\\.tv/archive/(\\d+)",
          "https?://mixch\\.tv/u/(\\d+)",
          "https?://mixch\\.tv/m/(\\w+)"
        ],
        "regexp": "(https?://mixch\\.tv/archive/(\\d+))|(https?://mixch\\.tv/u/(\\d+))|(https?://mixch\\.tv/m/(\\w+))"
      },
      "mixcloud": {
        "name": "mixcloud",
        "type": "free",
        "domains": [
          "mixcloud.com",
          "beta.mixcloud.com"
        ],
        "regexps": [
          "https?://(?:(?:www|beta|m)\\.)?mixcloud\\.com/([^/]+)/(?!stream|uploads|favorites|listens|playlists)([^/]+)",
          "https?://(?:www\\.)?mixcloud\\.com/([^/]+)/playlists/([^/]+)/?$",
          "https?://(?:www\\.)?mixcloud\\.com/([^/]+)/(uploads|favorites|listens|stream)?/?$"
        ],
        "regexp": "(https?://(?:(?:www|beta|m)\\.)?mixcloud\\.com/([^/]+)/(?!stream|uploads|favorites|listens|playlists)([^/]+))|(https?://(?:www\\.)?mixcloud\\.com/([^/]+)/playlists/([^/]+)/?$)|(https?://(?:www\\.)?mixcloud\\.com/([^/]+)/(uploads|favorites|listens|stream)?/?$)"
      },
      "mixlr": {
        "name": "mixlr",
        "type": "free",
        "domains": [
          "suncity-104-9fm.mixlr.com",
          "brcountdown.mixlr.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?([\\w-]+)\\.mixlr\\.com/events/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?([\\w-]+)\\.mixlr\\.com/events/(\\d+)"
      },
      "mixlrrecoring": {
        "name": "mixlrrecoring",
        "type": "free",
        "domains": [
          "biblewayng.mixlr.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?([\\w-]+)\\.mixlr\\.com/recordings/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?([\\w-]+)\\.mixlr\\.com/recordings/(\\d+)"
      },
      "mlb": {
        "name": "mlb",
        "type": "free",
        "domains": [
          "mlb.com",
          "m.mlb.com",
          "mlb.mlb.com"
        ],
        "regexps": [
          "https?://(?:[\\da-z_-]+\\.)*mlb\\.com/(?:(?:(?:[^/]+/)*video/[^/]+/c-|(?:shared/video/embed/(?:embed|m-internal-embed)\\.html|(?:[^/]+/)+(?:play|index)\\.jsp|)\\?.*?\\bcontent_id=)(\\d+))"
        ],
        "regexp": "https?://(?:[\\da-z_-]+\\.)*mlb\\.com/(?:(?:(?:[^/]+/)*video/[^/]+/c-|(?:shared/video/embed/(?:embed|m-internal-embed)\\.html|(?:[^/]+/)+(?:play|index)\\.jsp|)\\?.*?\\bcontent_id=)(\\d+))"
      },
      "mlbarticle": {
        "name": "mlbarticle",
        "type": "free",
        "domains": [
          "mlb.com"
        ],
        "regexps": [
          "https?://www\\.mlb\\.com/news/([\\w-]+)"
        ],
        "regexp": "https?://www\\.mlb\\.com/news/([\\w-]+)"
      },
      "mlbtv": {
        "name": "mlbtv",
        "type": "free",
        "domains": [
          "mlb.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?mlb\\.com/tv/g(\\d{6})"
        ],
        "regexp": "https?://(?:www\\.)?mlb\\.com/tv/g(\\d{6})"
      },
      "mlbvideo": {
        "name": "mlbvideo",
        "type": "free",
        "domains": [
          "mlb.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?mlb\\.com/(?:[^/]+/)*video/([^/?&#]+)"
        ],
        "regexp": "https?://(?:www\\.)?mlb\\.com/(?:[^/]+/)*video/([^/?&#]+)"
      },
      "mlssoccer": {
        "name": "mlssoccer",
        "type": "free",
        "domains": [
          "mlssoccer.com",
          "whitecapsfc.com",
          "torontofc.ca",
          "sportingkc.com",
          "soundersfc.com",
          "sjearthquakes.com",
          "rsl.com",
          "timbers.com",
          "philadelphiaunion.com",
          "orlandocitysc.com",
          "newyorkredbulls.com",
          "nycfc.com",
          "revolutionsoccer.net",
          "nashvillesc.com",
          "cfmontreal.com",
          "intermiamicf.com",
          "lagalaxy.com",
          "lafc.com",
          "houstondynamofc.com",
          "dcunited.com",
          "fcdallas.com",
          "columbuscrew.com",
          "coloradorapids.com",
          "fccincinnati.com",
          "chicagofirefc.com",
          "austinfc.com",
          "atlutd.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:(?:cfmontreal|intermiamicf|lagalaxy|lafc|houstondynamofc|dcunited|atlutd|mlssoccer|fcdallas|columbuscrew|coloradorapids|fccincinnati|chicagofirefc|austinfc|nashvillesc|whitecapsfc|sportingkc|soundersfc|sjearthquakes|rsl|timbers|philadelphiaunion|orlandocitysc|newyorkredbulls|nycfc)\\.com|(?:torontofc)\\.ca|(?:revolutionsoccer)\\.net)/video/#?([^/&$#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:(?:cfmontreal|intermiamicf|lagalaxy|lafc|houstondynamofc|dcunited|atlutd|mlssoccer|fcdallas|columbuscrew|coloradorapids|fccincinnati|chicagofirefc|austinfc|nashvillesc|whitecapsfc|sportingkc|soundersfc|sjearthquakes|rsl|timbers|philadelphiaunion|orlandocitysc|newyorkredbulls|nycfc)\\.com|(?:torontofc)\\.ca|(?:revolutionsoccer)\\.net)/video/#?([^/&$#?]+)"
      },
      "mnettv": {
        "name": "mnettv",
        "type": "free",
        "domains": [
          "tvplus.m-net.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvplus\\.m\\-net\\.de/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?tvplus\\.m\\-net\\.de/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "mnettvlive": {
        "name": "mnettvlive",
        "type": "free",
        "domains": [
          "tvplus.m-net.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvplus\\.m\\-net\\.de/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?tvplus\\.m\\-net\\.de/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "mnettvrecordings": {
        "name": "mnettvrecordings",
        "type": "free",
        "domains": [
          "tvplus.m-net.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvplus\\.m\\-net\\.de/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?tvplus\\.m\\-net\\.de/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "mochavideo": {
        "name": "mochavideo",
        "type": "free",
        "domains": [
          "video.mocha.com.vn"
        ],
        "regexps": [
          "https?://video\\.mocha\\.com\\.vn/([\\w-]+)"
        ],
        "regexp": "https?://video\\.mocha\\.com\\.vn/([\\w-]+)"
      },
      "mojevideo": {
        "name": "mojevideo",
        "type": "free",
        "domains": [
          "mojevideo.sk"
        ],
        "regexps": [
          "https?://(?:www\\.)?mojevideo\\.sk/video/(\\w+)/([\\w()]+?)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?mojevideo\\.sk/video/(\\w+)/([\\w()]+?)\\.html"
      },
      "mojvideo": {
        "name": "mojvideo",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?mojvideo\\.com/video-([^/]+)/([a-f0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?mojvideo\\.com/video-([^/]+)/([a-f0-9]+)"
      },
      "monstercat": {
        "name": "monstercat",
        "type": "free",
        "domains": [
          "monstercat.com"
        ],
        "regexps": [
          "https?://www\\.monstercat\\.com/release/(\\d+)"
        ],
        "regexp": "https?://www\\.monstercat\\.com/release/(\\d+)"
      },
      "monstersiren": {
        "name": "monstersiren",
        "type": "free",
        "domains": [
          "monster-siren.hypergryph.com"
        ],
        "regexps": [
          "https?://monster-siren\\.hypergryph\\.com/music/(\\d+)"
        ],
        "regexp": "https?://monster-siren\\.hypergryph\\.com/music/(\\d+)"
      },
      "motherless": {
        "name": "motherless",
        "type": "free",
        "domains": [
          "motherless.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?motherless\\.com/(?:g/[a-z0-9_]+/|G[VIG]?[A-F0-9]+/)?([A-F0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?motherless\\.com/(?:g/[a-z0-9_]+/|G[VIG]?[A-F0-9]+/)?([A-F0-9]+)"
      },
      "motherlessgallery": {
        "name": "motherlessgallery",
        "type": "free",
        "domains": [
          "motherless.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?motherless\\.com/G[VIG]?([A-F0-9]+)/?(?:$|[#?])"
        ],
        "regexp": "https?://(?:www\\.)?motherless\\.com/G[VIG]?([A-F0-9]+)/?(?:$|[#?])"
      },
      "motherlessgroup": {
        "name": "motherlessgroup",
        "type": "free",
        "domains": [
          "motherless.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?motherless\\.com/g[vifm]?/([a-z0-9_]+)/?(?:$|[#?])"
        ],
        "regexp": "https?://(?:www\\.)?motherless\\.com/g[vifm]?/([a-z0-9_]+)/?(?:$|[#?])"
      },
      "motherlessuploader": {
        "name": "motherlessuploader",
        "type": "free",
        "domains": [
          "motherless.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?motherless\\.com/u/(\\w+)/?(?:$|[?#])"
        ],
        "regexp": "https?://(?:www\\.)?motherless\\.com/u/(\\w+)/?(?:$|[?#])"
      },
      "motorsport": {
        "name": "motorsport",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?motorsport\\.com/[^/?#]+/video/(?:[^/?#]+/)([^/]+)/?(?:$|[?#])"
        ],
        "regexp": "https?://(?:www\\.)?motorsport\\.com/[^/?#]+/video/(?:[^/?#]+/)([^/]+)/?(?:$|[?#])"
      },
      "moviefap": {
        "name": "moviefap",
        "type": "free",
        "domains": [
          "moviefap.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(moviefap)\\.com/videos/([0-9a-f]+)/([^/]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?(moviefap)\\.com/videos/([0-9a-f]+)/([^/]+)\\.html"
      },
      "moviepilot": {
        "name": "moviepilot",
        "type": "free",
        "domains": [
          "moviepilot.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?moviepilot\\.de/movies/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?moviepilot\\.de/movies/([^/]+)"
      },
      "moviewplay": {
        "name": "moviewplay",
        "type": "free",
        "domains": [
          "moview.id"
        ],
        "regexps": [
          "https?://www\\.moview\\.id/play/\\d+/([\\w-]+)"
        ],
        "regexp": "https?://www\\.moview\\.id/play/\\d+/([\\w-]+)"
      },
      "moviezine": {
        "name": "moviezine",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?moviezine\\.se/video/([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?moviezine\\.se/video/([^?#]+)"
      },
      "movingimage": {
        "name": "movingimage",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://movingimage\\.nls\\.uk/film/(\\d+)"
        ],
        "regexp": "https?://movingimage\\.nls\\.uk/film/(\\d+)"
      },
      "msn": {
        "name": "msn",
        "type": "free",
        "domains": [
          "msn.com"
        ],
        "regexps": [
          "https?://(?:(?:www|preview)\\.)?msn\\.com/([a-z]{2}-[a-z]{2})/(?:[^/?#]+/)+([^/?#]+)/[a-z]{2}-([\\da-zA-Z]+)"
        ],
        "regexp": "https?://(?:(?:www|preview)\\.)?msn\\.com/([a-z]{2}-[a-z]{2})/(?:[^/?#]+/)+([^/?#]+)/[a-z]{2}-([\\da-zA-Z]+)"
      },
      "mtg": {
        "name": "mtg",
        "type": "free",
        "domains": [
          "tvplay.lv",
          "play.tv3.lt",
          "tv3play.ee",
          "tvplay.skaties.lv",
          "tv3play.tv3.ee"
        ],
        "regexps": [
          "(?:mtg:|https?://(?:www\\.)?(?:tvplay(?:\\.skaties)?\\.lv(?:/parraides)?|(?:tv3play|play\\.tv3)\\.lt(?:/programos)?|tv3play(?:\\.tv3)?\\.ee/sisu)/(?:[^/]+/)+)(\\d+)"
        ],
        "regexp": "(?:mtg:|https?://(?:www\\.)?(?:tvplay(?:\\.skaties)?\\.lv(?:/parraides)?|(?:tv3play|play\\.tv3)\\.lt(?:/programos)?|tv3play(?:\\.tv3)?\\.ee/sisu)/(?:[^/]+/)+)(\\d+)"
      },
      "mtv": {
        "name": "mtv",
        "type": "free",
        "domains": [
          "mtv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?mtv\\.com/(?:video-clips|episodes)/([\\da-z]{6})"
        ],
        "regexp": "https?://(?:www\\.)?mtv\\.com/(?:video-clips|episodes)/([\\da-z]{6})"
      },
      "mtvuutisetarticle": {
        "name": "mtvuutisetarticle",
        "type": "free",
        "domains": [
          "mtvuutiset.fi"
        ],
        "regexps": [
          "https?://(?:www\\.)mtvuutiset\\.fi/artikkeli/[^/]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)mtvuutiset\\.fi/artikkeli/[^/]+/(\\d+)"
      },
      "muenchentv": {
        "name": "muenchentv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?muenchen\\.tv/livestream"
        ],
        "regexp": "https?://(?:www\\.)?muenchen\\.tv/livestream"
      },
      "mujrozhlas": {
        "name": "mujrozhlas",
        "type": "free",
        "domains": [
          "mujrozhlas.cz"
        ],
        "regexps": [
          "https?://(?:www\\.)?mujrozhlas\\.cz/(?:[^/]+/)*([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?mujrozhlas\\.cz/(?:[^/]+/)*([^/?#&]+)"
      },
      "murrtube": {
        "name": "murrtube",
        "type": "free",
        "domains": [
          "murrtube.net"
        ],
        "regexps": [
          "(?:murrtube:|https?://murrtube\\.net/(?:v/|videos/([a-z0-9-]+?)-))([A-Z0-9]{4}|[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})"
        ],
        "regexp": "(?:murrtube:|https?://murrtube\\.net/(?:v/|videos/([a-z0-9-]+?)-))([A-Z0-9]{4}|[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})"
      },
      "murrtubeuser": {
        "name": "murrtubeuser",
        "type": "free",
        "domains": [
          "murrtube.net"
        ],
        "regexps": [
          "https?://murrtube\\.net/([^/]+)$"
        ],
        "regexp": "https?://murrtube\\.net/([^/]+)$"
      },
      "museai": {
        "name": "museai",
        "type": "free",
        "domains": [
          "muse.ai"
        ],
        "regexps": [
          "https?://(?:www\\.)?muse\\.ai/(?:v|embed)/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?muse\\.ai/(?:v|embed)/(\\w+)"
      },
      "musescore": {
        "name": "musescore",
        "type": "free",
        "domains": [
          "musescore.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?musescore\\.com/(?:user/\\d+|[^/]+)(?:/scores)?/([^#&?]+)"
        ],
        "regexp": "https?://(?:www\\.)?musescore\\.com/(?:user/\\d+|[^/]+)(?:/scores)?/([^#&?]+)"
      },
      "musicdexalbum": {
        "name": "musicdexalbum",
        "type": "free",
        "domains": [
          "musicdex.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?musicdex\\.org/album/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?musicdex\\.org/album/(\\d+)"
      },
      "musicdexartist": {
        "name": "musicdexartist",
        "type": "free",
        "domains": [
          "musicdex.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?musicdex\\.org/artist/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?musicdex\\.org/artist/(\\d+)"
      },
      "musicdexplaylist": {
        "name": "musicdexplaylist",
        "type": "free",
        "domains": [
          "musicdex.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?musicdex\\.org/playlist/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?musicdex\\.org/playlist/(\\d+)"
      },
      "musicdexsong": {
        "name": "musicdexsong",
        "type": "free",
        "domains": [
          "musicdex.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?musicdex\\.org/track/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?musicdex\\.org/track/(\\d+)"
      },
      "mux": {
        "name": "mux",
        "type": "free",
        "domains": [
          "stream.new",
          "player.mux.com"
        ],
        "regexps": [
          "https?://(?:stream\\.new/v|player\\.mux\\.com)/([A-Za-z0-9-]+)"
        ],
        "regexp": "https?://(?:stream\\.new/v|player\\.mux\\.com)/([A-Za-z0-9-]+)"
      },
      "mx3": {
        "name": "mx3",
        "type": "free",
        "domains": [
          "mx3.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?mx3\\.ch/t/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?mx3\\.ch/t/(\\w+)"
      },
      "mx3neo": {
        "name": "mx3neo",
        "type": "free",
        "domains": [
          "neo.mx3.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?neo\\.mx3\\.ch/t/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?neo\\.mx3\\.ch/t/(\\w+)"
      },
      "mx3volksmusik": {
        "name": "mx3volksmusik",
        "type": "free",
        "domains": [
          "volksmusik.mx3.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?volksmusik\\.mx3\\.ch/t/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?volksmusik\\.mx3\\.ch/t/(\\w+)"
      },
      "mxplayer": {
        "name": "mxplayer",
        "type": "free",
        "domains": [
          "mxplayer.in"
        ],
        "regexps": [
          "https?://(?:www\\.)?mxplayer\\.in/(movie|show/[-\\w]+/[-\\w]+)/([-\\w]+)-(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?mxplayer\\.in/(movie|show/[-\\w]+/[-\\w]+)/([-\\w]+)-(\\w+)"
      },
      "mxplayershow": {
        "name": "mxplayershow",
        "type": "free",
        "domains": [
          "mxplayer.in"
        ],
        "regexps": [
          "https?://(?:www\\.)?mxplayer\\.in/show/([-\\w]+)-(\\w+)/?(?:$|[#?])"
        ],
        "regexp": "https?://(?:www\\.)?mxplayer\\.in/show/([-\\w]+)-(\\w+)/?(?:$|[#?])"
      },
      "myspace": {
        "name": "myspace",
        "type": "free",
        "domains": [
          "myspace.com"
        ],
        "regexps": [
          "https?://myspace\\.com/([^/]+)/music/album/(.*-)(\\d+)",
          "https?://myspace\\.com/[^/]+/(video/[^/]+/(\\d+)|music/song/[^/?#&]+-(\\d+)-\\d+(?:[/?#&]|$))"
        ],
        "regexp": "(https?://myspace\\.com/([^/]+)/music/album/(.*-)(\\d+))|(https?://myspace\\.com/[^/]+/(video/[^/]+/(\\d+)|music/song/[^/?#&]+-(\\d+)-\\d+(?:[/?#&]|$)))"
      },
      "myspass": {
        "name": "myspass",
        "type": "free",
        "domains": [
          "myspass.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?myspass\\.de/(?:[^/]+/)*(\\d+)/?[^/]*$"
        ],
        "regexp": "https?://(?:www\\.)?myspass\\.de/(?:[^/]+/)*(\\d+)/?[^/]*$"
      },
      "myvideoge": {
        "name": "myvideoge",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?myvideo\\.ge/v/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?myvideo\\.ge/v/([0-9]+)"
      },
      "myvidster": {
        "name": "myvidster",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?myvidster\\.com/video/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?myvidster\\.com/video/(\\d+)"
      },
      "mzaalo": {
        "name": "mzaalo",
        "type": "free",
        "domains": [
          "mzaalo.com"
        ],
        "regexps": [
          "(?i)https?://(?:www\\.)?mzaalo\\.com/(?:play|watch)/(movie|original|clip)/([a-f0-9-]+)/[\\w-]+"
        ],
        "regexp": "(?i)https?://(?:www\\.)?mzaalo\\.com/(?:play|watch)/(movie|original|clip)/([a-f0-9-]+)/[\\w-]+"
      },
      "n-tv.de": {
        "name": "n-tv.de",
        "type": "free",
        "domains": [
          "n-tv.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?n-tv\\.de/mediathek/(?:videos|magazine)/[^/?#]+/[^/?#]+-article([^/?#]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?n-tv\\.de/mediathek/(?:videos|magazine)/[^/?#]+/[^/?#]+-article([^/?#]+)\\.html"
      },
      "n1info": {
        "name": "n1info",
        "type": "free",
        "domains": [
          "sportklub.n1info.rs",
          "n1info.si",
          "nova.rs",
          "n1info.rs",
          "hr.n1info.com"
        ],
        "regexps": [
          "https?://(?:(?:\\w+\\.)?n1info\\.\\w+|nova\\.rs)/(?:[^/?#]+/){1,2}([^/?#]+)"
        ],
        "regexp": "https?://(?:(?:\\w+\\.)?n1info\\.\\w+|nova\\.rs)/(?:[^/?#]+/){1,2}([^/?#]+)"
      },
      "n1infoasset": {
        "name": "n1infoasset",
        "type": "free",
        "domains": [
          "best-vod.umn.cdn.united.cloud"
        ],
        "regexps": [
          "https?://best-vod\\.umn\\.cdn\\.united\\.cloud/stream\\?asset=([^&]+)"
        ],
        "regexp": "https?://best-vod\\.umn\\.cdn\\.united\\.cloud/stream\\?asset=([^&]+)"
      },
      "nascarclassics": {
        "name": "nascarclassics",
        "type": "free",
        "domains": [
          "classics.nascar.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?classics\\.nascar\\.com/video/([\\w~-]+)"
        ],
        "regexp": "https?://(?:www\\.)?classics\\.nascar\\.com/video/([\\w~-]+)"
      },
      "nate": {
        "name": "nate",
        "type": "free",
        "domains": [
          "tv.nate.com"
        ],
        "regexps": [
          "https?://tv\\.nate\\.com/clip/([0-9]+)"
        ],
        "regexp": "https?://tv\\.nate\\.com/clip/([0-9]+)"
      },
      "nateprogram": {
        "name": "nateprogram",
        "type": "free",
        "domains": [
          "tv.nate.com"
        ],
        "regexps": [
          "https?://tv\\.nate\\.com/program/clips/([0-9]+)"
        ],
        "regexp": "https?://tv\\.nate\\.com/program/clips/([0-9]+)"
      },
      "natgeo": {
        "name": "natgeo",
        "type": "free",
        "domains": [
          "video.nationalgeographic.com"
        ],
        "regexps": [
          "https?://video\\.nationalgeographic\\.com/.*?"
        ],
        "regexp": "https?://video\\.nationalgeographic\\.com/.*?"
      },
      "nationalgeographictv": {
        "name": "nationalgeographictv",
        "type": "free",
        "domains": [
          "nationalgeographic.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?nationalgeographic\\.com/tv/watch/([\\da-fA-F]+)"
        ],
        "regexp": "https?://(?:www\\.)?nationalgeographic\\.com/tv/watch/([\\da-fA-F]+)"
      },
      "naver": {
        "name": "naver",
        "type": "free",
        "domains": [
          "tv.naver.com",
          "tvcast.naver.com"
        ],
        "regexps": [
          "https?://(?:m\\.)?tv(?:cast)?\\.naver\\.com/(?:v|embed)/(\\d+)",
          "https?://(?:m\\.)?tv(?:cast)?\\.naver\\.com/l/(\\d+)"
        ],
        "regexp": "(https?://(?:m\\.)?tv(?:cast)?\\.naver\\.com/(?:v|embed)/(\\d+))|(https?://(?:m\\.)?tv(?:cast)?\\.naver\\.com/l/(\\d+))"
      },
      "navernow": {
        "name": "navernow",
        "type": "free",
        "domains": [
          "now.naver.com"
        ],
        "regexps": [
          "https?://now\\.naver\\.com/s/now\\.(\\w+)"
        ],
        "regexp": "https?://now\\.naver\\.com/s/now\\.(\\w+)"
      },
      "nba": {
        "name": "nba",
        "type": "free",
        "domains": [
          "nba.com",
          "secure.nba.com",
          "watch.nba.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?nba\\.com/(blazers|bucks|bulls|cavaliers|celtics|clippers|grizzlies|hawks|heat|hornets|jazz|kings|knicks|lakers|magic|mavericks|nets|nuggets|pacers|pelicans|pistons|raptors|rockets|sixers|spurs|suns|thunder|timberwolves|warriors|wizards)(?:/play\\#)?/(?:video/channel|series)/([^/?#&]+)",
          "https?://secure\\.nba\\.com/assets/amp/include/video/(?:topI|i)frame\\.html\\?.*?\\bcontentId=([^?#&]+)",
          "https?://(?:www\\.)?nba\\.com/(blazers|bucks|bulls|cavaliers|celtics|clippers|grizzlies|hawks|heat|hornets|jazz|kings|knicks|lakers|magic|mavericks|nets|nuggets|pacers|pelicans|pistons|raptors|rockets|sixers|spurs|suns|thunder|timberwolves|warriors|wizards)(?:/play\\#)?/(?!video/channel|series)video/((?:[^/]+/)*[^/?#&]+)",
          "https?://(?:(?:www\\.)?nba\\.com(?:/watch)?|watch\\.nba\\.com)/list/collection/([^/?#&]+)",
          "https?://(?:(?:www\\.)?nba\\.com(?:/watch)?|watch\\.nba\\.com)/embed\\?.*?\\bid=(\\d+)",
          "https?://(?:(?:www\\.)?nba\\.com(?:/watch)?|watch\\.nba\\.com)/(?:nba/)?video/(.+?(?=/index\\.html)|(?:[^/]+/)*[^/?#&]+)"
        ],
        "regexp": "(https?://(?:www\\.)?nba\\.com/(blazers|bucks|bulls|cavaliers|celtics|clippers|grizzlies|hawks|heat|hornets|jazz|kings|knicks|lakers|magic|mavericks|nets|nuggets|pacers|pelicans|pistons|raptors|rockets|sixers|spurs|suns|thunder|timberwolves|warriors|wizards)(?:/play\\#)?/(?:video/channel|series)/([^/?#&]+))|(https?://secure\\.nba\\.com/assets/amp/include/video/(?:topI|i)frame\\.html\\?.*?\\bcontentId=([^?#&]+))|(https?://(?:www\\.)?nba\\.com/(blazers|bucks|bulls|cavaliers|celtics|clippers|grizzlies|hawks|heat|hornets|jazz|kings|knicks|lakers|magic|mavericks|nets|nuggets|pacers|pelicans|pistons|raptors|rockets|sixers|spurs|suns|thunder|timberwolves|warriors|wizards)(?:/play\\#)?/(?!video/channel|series)video/((?:[^/]+/)*[^/?#&]+))|(https?://(?:(?:www\\.)?nba\\.com(?:/watch)?|watch\\.nba\\.com)/list/collection/([^/?#&]+))|(https?://(?:(?:www\\.)?nba\\.com(?:/watch)?|watch\\.nba\\.com)/embed\\?.*?\\bid=(\\d+))|(https?://(?:(?:www\\.)?nba\\.com(?:/watch)?|watch\\.nba\\.com)/(?:nba/)?video/(.+?(?=/index\\.html)|(?:[^/]+/)*[^/?#&]+))"
      },
      "nbc": {
        "name": "nbc",
        "type": "free",
        "domains": [
          "nbc.com"
        ],
        "regexps": [
          "https?(://(?:www\\.)?nbc\\.com/(?:classic-tv/)?[^/?#]+/video/[^/?#]+/(\\w+))"
        ],
        "regexp": "https?(://(?:www\\.)?nbc\\.com/(?:classic-tv/)?[^/?#]+/video/[^/?#]+/(\\w+))"
      },
      "nbcnews": {
        "name": "nbcnews",
        "type": "free",
        "domains": [
          "nbcnews.com",
          "today.com",
          "msnbc.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:nbcnews|today|msnbc)\\.com/([^/]+/)*(?:.*-)?([^/?]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:nbcnews|today|msnbc)\\.com/([^/]+/)*(?:.*-)?([^/?]+)"
      },
      "nbcolympics": {
        "name": "nbcolympics",
        "type": "free",
        "domains": [
          "nbcolympics.com",
          "stream.nbcolympics.com"
        ],
        "regexps": [
          "https?://www\\.nbcolympics\\.com/videos?/([0-9a-z-]+)",
          "https?://stream\\.nbcolympics\\.com/([0-9a-z-]+)"
        ],
        "regexp": "(https?://www\\.nbcolympics\\.com/videos?/([0-9a-z-]+))|(https?://stream\\.nbcolympics\\.com/([0-9a-z-]+))"
      },
      "nbcsports": {
        "name": "nbcsports",
        "type": "free",
        "domains": [
          "nbcsports.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?nbcsports\\.com//?(?!vplayer/)(?:[^/]+/)+([0-9a-z-]+)"
        ],
        "regexp": "https?://(?:www\\.)?nbcsports\\.com//?(?!vplayer/)(?:[^/]+/)+([0-9a-z-]+)"
      },
      "nbcsportsstream": {
        "name": "nbcsportsstream",
        "type": "free",
        "domains": [
          "stream.nbcsports.com"
        ],
        "regexps": [
          "https?://stream\\.nbcsports\\.com/.+?\\bpid=(\\d+)"
        ],
        "regexp": "https?://stream\\.nbcsports\\.com/.+?\\bpid=(\\d+)"
      },
      "nbcsportsvplayer": {
        "name": "nbcsportsvplayer",
        "type": "free",
        "domains": [
          "vplayer.nbcsports.com",
          "nbcsports.com"
        ],
        "regexps": [
          "https?://(?:vplayer\\.nbcsports\\.com|(?:www\\.)?nbcsports\\.com/vplayer)/(?:[^/]+/)+([0-9a-zA-Z_]+)"
        ],
        "regexp": "https?://(?:vplayer\\.nbcsports\\.com|(?:www\\.)?nbcsports\\.com/vplayer)/(?:[^/]+/)+([0-9a-zA-Z_]+)"
      },
      "nbcstations": {
        "name": "nbcstations",
        "type": "free",
        "domains": [
          "nbclosangeles.com",
          "telemundoarizona.com",
          "nbcboston.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(nbcbayarea|nbcboston|nbcchicago|nbcconnecticut|nbcdfw|nbclosangeles|nbcmiami|nbcnewyork|nbcphiladelphia|nbcsandiego|nbcwashington|necn|telemundo52|telemundoarizona|telemundochicago|telemundonuevainglaterra)\\.com/(?:[^/?#]+/)*([^/?#]+)/?(?:$|[#?])"
        ],
        "regexp": "https?://(?:www\\.)?(nbcbayarea|nbcboston|nbcchicago|nbcconnecticut|nbcdfw|nbclosangeles|nbcmiami|nbcnewyork|nbcphiladelphia|nbcsandiego|nbcwashington|necn|telemundo52|telemundoarizona|telemundochicago|telemundonuevainglaterra)\\.com/(?:[^/?#]+/)*([^/?#]+)/?(?:$|[#?])"
      },
      "ndr": {
        "name": "ndr",
        "type": "free",
        "domains": [
          "ndr.de"
        ],
        "regexps": [
          "(?:ndr:([\\da-z]+)|https?://www\\.ndr\\.de/([\\da-z]+)-ppjson\\.json)",
          "https?://(?:\\w+\\.)*ndr\\.de/(?:[^/]+/)*([\\da-z]+)-(?:(?:ard)?player|externalPlayer)\\.html",
          "https?://(?:\\w+\\.)*ndr\\.de/(?:[^/]+/)*([^/?#]+),[\\da-z]+\\.html"
        ],
        "regexp": "((?:ndr:([\\da-z]+)|https?://www\\.ndr\\.de/([\\da-z]+)-ppjson\\.json))|(https?://(?:\\w+\\.)*ndr\\.de/(?:[^/]+/)*([\\da-z]+)-(?:(?:ard)?player|externalPlayer)\\.html)|(https?://(?:\\w+\\.)*ndr\\.de/(?:[^/]+/)*([^/?#]+),[\\da-z]+\\.html)"
      },
      "ndtv": {
        "name": "ndtv",
        "type": "free",
        "domains": [
          "khabar.ndtv.com",
          "movies.ndtv.com",
          "ndtv.com",
          "auto.ndtv.com",
          "sports.ndtv.com",
          "gadgets.ndtv.com",
          "profit.ndtv.com",
          "food.ndtv.com",
          "doctor.ndtv.com",
          "swirlster.ndtv.com"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?ndtv\\.com/(?:[^/]+/)*videos?/?(?:[^/]+/)*[^/?^&]+-(\\d+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?ndtv\\.com/(?:[^/]+/)*videos?/?(?:[^/]+/)*[^/?^&]+-(\\d+)"
      },
      "nebula": {
        "name": "nebula",
        "type": "free",
        "domains": [
          "nebula.tv",
          "watchnebula.com",
          "beta.nebula.tv"
        ],
        "regexps": [
          "https?://(?:www\\.|beta\\.)?(?:watchnebula\\.com|nebula\\.app|nebula\\.tv)/(?!myshows|library|videos)([\\w-]+)/?(?:$|[?#])",
          "https?://(?:www\\.|beta\\.)?(?:watchnebula\\.com|nebula\\.app|nebula\\.tv)/(?!(?:myshows|library|videos)/)([\\w-]+)/([\\w-]+)/?(?:$|[?#])",
          "https?://(?:www\\.|beta\\.)?(?:watchnebula\\.com|nebula\\.app|nebula\\.tv)/videos/([\\w-]+)",
          "https?://(?:www\\.|beta\\.)?(?:watchnebula\\.com|nebula\\.app|nebula\\.tv)/([\\w-]+)/season/([\\w-]+)",
          "https?://(?:www\\.|beta\\.)?(?:watchnebula\\.com|nebula\\.app|nebula\\.tv)/(myshows|library/latest-videos)/?(?:$|[?#])"
        ],
        "regexp": "(https?://(?:www\\.|beta\\.)?(?:watchnebula\\.com|nebula\\.app|nebula\\.tv)/(?!myshows|library|videos)([\\w-]+)/?(?:$|[?#]))|(https?://(?:www\\.|beta\\.)?(?:watchnebula\\.com|nebula\\.app|nebula\\.tv)/(?!(?:myshows|library|videos)/)([\\w-]+)/([\\w-]+)/?(?:$|[?#]))|(https?://(?:www\\.|beta\\.)?(?:watchnebula\\.com|nebula\\.app|nebula\\.tv)/videos/([\\w-]+))|(https?://(?:www\\.|beta\\.)?(?:watchnebula\\.com|nebula\\.app|nebula\\.tv)/([\\w-]+)/season/([\\w-]+))|(https?://(?:www\\.|beta\\.)?(?:watchnebula\\.com|nebula\\.app|nebula\\.tv)/(myshows|library/latest-videos)/?(?:$|[?#]))"
      },
      "nekohacker": {
        "name": "nekohacker",
        "type": "free",
        "domains": [
          "nekohacker.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?nekohacker\\.com/((?!free-dl)[\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?nekohacker\\.com/((?!free-dl)[\\w-]+)"
      },
      "nerdcubedfeed": {
        "name": "nerdcubedfeed",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?nerdcubed\\.co\\.uk/?(?:$|[#?])"
        ],
        "regexp": "https?://(?:www\\.)?nerdcubed\\.co\\.uk/?(?:$|[#?])"
      },
      "nest": {
        "name": "nest",
        "type": "free",
        "domains": [
          "video.nest.com"
        ],
        "regexps": [
          "https?://video\\.nest\\.com/(?:embedded/)?live/(\\w+)"
        ],
        "regexp": "https?://video\\.nest\\.com/(?:embedded/)?live/(\\w+)"
      },
      "nestclip": {
        "name": "nestclip",
        "type": "free",
        "domains": [
          "video.nest.com"
        ],
        "regexps": [
          "https?://video\\.nest\\.com/(?:embedded/)?clip/(\\w+)"
        ],
        "regexp": "https?://video\\.nest\\.com/(?:embedded/)?clip/(\\w+)"
      },
      "netappcollection": {
        "name": "netappcollection",
        "type": "free",
        "domains": [
          "media.netapp.com"
        ],
        "regexps": [
          "https?://media\\.netapp\\.com/collection/([0-9a-f-]+)"
        ],
        "regexp": "https?://media\\.netapp\\.com/collection/([0-9a-f-]+)"
      },
      "netappvideo": {
        "name": "netappvideo",
        "type": "free",
        "domains": [
          "media.netapp.com"
        ],
        "regexps": [
          "https?://media\\.netapp\\.com/video-detail/([0-9a-f-]+)"
        ],
        "regexp": "https?://media\\.netapp\\.com/video-detail/([0-9a-f-]+)"
      },
      "netease": {
        "name": "netease",
        "type": "free",
        "domains": [
          "music.163.com",
          "y.music.163.com"
        ],
        "regexps": [
          "https?://music\\.163\\.com/(?:#/)?album\\?id=([0-9]+)",
          "https?://music\\.163\\.com/(?:#/)?djradio\\?id=([0-9]+)",
          "https?://(?:y\\.)?music\\.163\\.com/(?:[#m]/)?song\\?.*?\\bid=([0-9]+)",
          "https?://music\\.163\\.com/(?:#/)?(?:playlist|discover/toplist)\\?id=([0-9]+)",
          "https?://music\\.163\\.com/(?:#/)?mv\\?id=([0-9]+)",
          "https?://music\\.163\\.com/(?:#/)?(?:dj|program)\\?id=([0-9]+)",
          "https?://music\\.163\\.com/(?:#/)?artist\\?id=([0-9]+)"
        ],
        "regexp": "(https?://music\\.163\\.com/(?:#/)?album\\?id=([0-9]+))|(https?://music\\.163\\.com/(?:#/)?djradio\\?id=([0-9]+))|(https?://(?:y\\.)?music\\.163\\.com/(?:[#m]/)?song\\?.*?\\bid=([0-9]+))|(https?://music\\.163\\.com/(?:#/)?(?:playlist|discover/toplist)\\?id=([0-9]+))|(https?://music\\.163\\.com/(?:#/)?mv\\?id=([0-9]+))|(https?://music\\.163\\.com/(?:#/)?(?:dj|program)\\?id=([0-9]+))|(https?://music\\.163\\.com/(?:#/)?artist\\?id=([0-9]+))"
      },
      "netplustv": {
        "name": "netplustv",
        "type": "free",
        "domains": [
          "netplus.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?netplus\\.tv/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?netplus\\.tv/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "netplustvlive": {
        "name": "netplustvlive",
        "type": "free",
        "domains": [
          "netplus.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?netplus\\.tv/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?netplus\\.tv/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "netplustvrecordings": {
        "name": "netplustvrecordings",
        "type": "free",
        "domains": [
          "netplus.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?netplus\\.tv/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?netplus\\.tv/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "netverse": {
        "name": "netverse",
        "type": "free",
        "domains": [
          "netverse.id"
        ],
        "regexps": [
          "https?://(?:\\w+\\.)?netverse\\.id/(watch|video)/([^/?#&]+)"
        ],
        "regexp": "https?://(?:\\w+\\.)?netverse\\.id/(watch|video)/([^/?#&]+)"
      },
      "netverseplaylist": {
        "name": "netverseplaylist",
        "type": "free",
        "domains": [
          "netverse.id"
        ],
        "regexps": [
          "https?://(?:\\w+\\.)?netverse\\.id/(webseries)/([^/?#&]+)"
        ],
        "regexp": "https?://(?:\\w+\\.)?netverse\\.id/(webseries)/([^/?#&]+)"
      },
      "netversesearch": {
        "name": "netversesearch",
        "type": "free",
        "domains": [],
        "regexps": [
          "netsearch(|[1-9][0-9]*|all):([\\s\\S]+)"
        ],
        "regexp": "netsearch(|[1-9][0-9]*|all):([\\s\\S]+)"
      },
      "netzkino": {
        "name": "netzkino",
        "type": "free",
        "domains": [
          "netzkino.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?netzkino\\.de/details/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?netzkino\\.de/details/([^/?#]+)"
      },
      "newgrounds": {
        "name": "newgrounds",
        "type": "free",
        "domains": [
          "newgrounds.com",
          "burn7.newgrounds.com",
          "brian-beaton.newgrounds.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?newgrounds\\.com/(?:audio/listen|portal/view)/(\\d+)(?:/format/flash)?",
          "https?://(?:www\\.)?newgrounds\\.com/(?:collection|[^/]+/search/[^/]+)/([^/?#&]+)",
          "https?://([^\\.]+)\\.newgrounds\\.com/(?:movies|audio)/?(?:[#?]|$)"
        ],
        "regexp": "(https?://(?:www\\.)?newgrounds\\.com/(?:audio/listen|portal/view)/(\\d+)(?:/format/flash)?)|(https?://(?:www\\.)?newgrounds\\.com/(?:collection|[^/]+/search/[^/]+)/([^/?#&]+))|(https?://([^\\.]+)\\.newgrounds\\.com/(?:movies|audio)/?(?:[#?]|$))"
      },
      "newspicks": {
        "name": "newspicks",
        "type": "free",
        "domains": [
          "newspicks.com"
        ],
        "regexps": [
          "https?://newspicks\\.com/movie-series/([^?/#]+)"
        ],
        "regexp": "https?://newspicks\\.com/movie-series/([^?/#]+)"
      },
      "newsy": {
        "name": "newsy",
        "type": "free",
        "domains": [
          "newsy.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?newsy\\.com/stories/([^/?#$&]+)"
        ],
        "regexp": "https?://(?:www\\.)?newsy\\.com/stories/([^/?#$&]+)"
      },
      "nexx": {
        "name": "nexx",
        "type": "free",
        "domains": [
          "api.nexx.cloud",
          "api.nexxcdn.com",
          "arc.nexx.cloud"
        ],
        "regexps": [
          "(?:https?://api\\.nexx(?:\\.cloud|cdn\\.com)/v3(?:\\.\\d)?/(\\d+)/videos/byid/|nexx:(?:(\\d+):)?|https?://arc\\.nexx\\.cloud/api/video/)(\\d+)"
        ],
        "regexp": "(?:https?://api\\.nexx(?:\\.cloud|cdn\\.com)/v3(?:\\.\\d)?/(\\d+)/videos/byid/|nexx:(?:(\\d+):)?|https?://arc\\.nexx\\.cloud/api/video/)(\\d+)"
      },
      "nexxembed": {
        "name": "nexxembed",
        "type": "free",
        "domains": [
          "embed.nexx.cloud"
        ],
        "regexps": [
          "https?://embed\\.nexx(?:\\.cloud|cdn\\.com)/\\d+/(?:video/)?([^/?#&]+)"
        ],
        "regexp": "https?://embed\\.nexx(?:\\.cloud|cdn\\.com)/\\d+/(?:video/)?([^/?#&]+)"
      },
      "nfb": {
        "name": "nfb",
        "type": "free",
        "domains": [
          "nfb.ca",
          "onf.ca"
        ],
        "regexps": [
          "https?://(?:www\\.)?(nfb|onf)\\.ca/(film)/([^/?#&]+)",
          "https?://(?:www\\.)?(nfb|onf)\\.ca/(series?)/([^/?#&]+/s(?:ea|ai)son\\d+/episode\\d+)",
          "https?://(?:www\\.)?(nfb|onf)\\.ca/(series?)/([^/?#&]+)/?(?:[?#]|$)"
        ],
        "regexp": "(https?://(?:www\\.)?(nfb|onf)\\.ca/(film)/([^/?#&]+))|(https?://(?:www\\.)?(nfb|onf)\\.ca/(series?)/([^/?#&]+/s(?:ea|ai)son\\d+/episode\\d+))|(https?://(?:www\\.)?(nfb|onf)\\.ca/(series?)/([^/?#&]+)/?(?:[?#]|$))"
      },
      "nfhsnetwork": {
        "name": "nfhsnetwork",
        "type": "free",
        "domains": [
          "nfhsnetwork.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?nfhsnetwork\\.com/events/[\\w-]+/((?:gam|evt|dd|)?[\\w\\d]{0,10})"
        ],
        "regexp": "https?://(?:www\\.)?nfhsnetwork\\.com/events/[\\w-]+/((?:gam|evt|dd|)?[\\w\\d]{0,10})"
      },
      "nfl.com": {
        "name": "nfl.com",
        "type": "free",
        "domains": [
          "nfl.com",
          "chiefs.com",
          "buffalobills.com",
          "raiders.com"
        ],
        "regexps": [
          "https?://((?:www\\.)?(?:(?:nfl|buffalobills|miamidolphins|patriots|newyorkjets|baltimoreravens|bengals|clevelandbrowns|steelers|houstontexans|colts|jaguars|(?:titansonline|tennesseetitans)|denverbroncos|(?:kc)?chiefs|raiders|chargers|dallascowboys|giants|philadelphiaeagles|(?:redskins|washingtonfootball)|chicagobears|detroitlions|packers|vikings|atlantafalcons|panthers|neworleanssaints|buccaneers|azcardinals|(?:stlouis|the)rams|49ers|seahawks)\\.com|.+?\\.clubs\\.nfl\\.com))/news/([^/#?&]+)",
          "https?://((?:www\\.)?(?:(?:nfl|buffalobills|miamidolphins|patriots|newyorkjets|baltimoreravens|bengals|clevelandbrowns|steelers|houstontexans|colts|jaguars|(?:titansonline|tennesseetitans)|denverbroncos|(?:kc)?chiefs|raiders|chargers|dallascowboys|giants|philadelphiaeagles|(?:redskins|washingtonfootball)|chicagobears|detroitlions|packers|vikings|atlantafalcons|panthers|neworleanssaints|buccaneers|azcardinals|(?:stlouis|the)rams|49ers|seahawks)\\.com|.+?\\.clubs\\.nfl\\.com))/(?:videos?|listen|audio)/([^/#?&]+)",
          "https?://(?:www\\.)?nfl\\.com/plus/episodes/([\\w-]+)",
          "https?://(?:www\\.)?nfl\\.com/plus/games/([\\w-]+)(?:/(\\d+))?"
        ],
        "regexp": "(https?://((?:www\\.)?(?:(?:nfl|buffalobills|miamidolphins|patriots|newyorkjets|baltimoreravens|bengals|clevelandbrowns|steelers|houstontexans|colts|jaguars|(?:titansonline|tennesseetitans)|denverbroncos|(?:kc)?chiefs|raiders|chargers|dallascowboys|giants|philadelphiaeagles|(?:redskins|washingtonfootball)|chicagobears|detroitlions|packers|vikings|atlantafalcons|panthers|neworleanssaints|buccaneers|azcardinals|(?:stlouis|the)rams|49ers|seahawks)\\.com|.+?\\.clubs\\.nfl\\.com))/news/([^/#?&]+))|(https?://((?:www\\.)?(?:(?:nfl|buffalobills|miamidolphins|patriots|newyorkjets|baltimoreravens|bengals|clevelandbrowns|steelers|houstontexans|colts|jaguars|(?:titansonline|tennesseetitans)|denverbroncos|(?:kc)?chiefs|raiders|chargers|dallascowboys|giants|philadelphiaeagles|(?:redskins|washingtonfootball)|chicagobears|detroitlions|packers|vikings|atlantafalcons|panthers|neworleanssaints|buccaneers|azcardinals|(?:stlouis|the)rams|49ers|seahawks)\\.com|.+?\\.clubs\\.nfl\\.com))/(?:videos?|listen|audio)/([^/#?&]+))|(https?://(?:www\\.)?nfl\\.com/plus/episodes/([\\w-]+))|(https?://(?:www\\.)?nfl\\.com/plus/games/([\\w-]+)(?:/(\\d+))?)"
      },
      "nhkforschoolbangumi": {
        "name": "nhkforschoolbangumi",
        "type": "free",
        "domains": [
          "www2.nhk.or.jp"
        ],
        "regexps": [
          "https?://www2\\.nhk\\.or\\.jp/school/movie/(bangumi|clip)\\.cgi\\?das_id=([a-zA-Z0-9_-]+)"
        ],
        "regexp": "https?://www2\\.nhk\\.or\\.jp/school/movie/(bangumi|clip)\\.cgi\\?das_id=([a-zA-Z0-9_-]+)"
      },
      "nhkforschoolprogramlist": {
        "name": "nhkforschoolprogramlist",
        "type": "free",
        "domains": [
          "nhk.or.jp"
        ],
        "regexps": [
          "https?://www\\.nhk\\.or\\.jp/school/((?:rika|syakai|kokugo|sansuu|seikatsu|doutoku|ongaku|taiiku|zukou|gijutsu|katei|sougou|eigo|tokkatsu|tokushi|sonota)/[a-zA-Z0-9_-]+)"
        ],
        "regexp": "https?://www\\.nhk\\.or\\.jp/school/((?:rika|syakai|kokugo|sansuu|seikatsu|doutoku|ongaku|taiiku|zukou|gijutsu|katei|sougou|eigo|tokkatsu|tokushi|sonota)/[a-zA-Z0-9_-]+)"
      },
      "nhkforschoolsubject": {
        "name": "nhkforschoolsubject",
        "type": "free",
        "domains": [
          "nhk.or.jp"
        ],
        "regexps": [
          "https?://www\\.nhk\\.or\\.jp/school/(rika|syakai|kokugo|sansuu|seikatsu|doutoku|ongaku|taiiku|zukou|gijutsu|katei|sougou|eigo|tokkatsu|tokushi|sonota)/?(?:[\\?#].*)?$"
        ],
        "regexp": "https?://www\\.nhk\\.or\\.jp/school/(rika|syakai|kokugo|sansuu|seikatsu|doutoku|ongaku|taiiku|zukou|gijutsu|katei|sougou|eigo|tokkatsu|tokushi|sonota)/?(?:[\\?#].*)?$"
      },
      "nhkradionewspage": {
        "name": "nhkradionewspage",
        "type": "free",
        "domains": [
          "nhk.or.jp"
        ],
        "regexps": [
          "https?://www\\.nhk\\.or\\.jp/radionews/?(?:$|[?#])"
        ],
        "regexp": "https?://www\\.nhk\\.or\\.jp/radionews/?(?:$|[?#])"
      },
      "nhkradiru": {
        "name": "nhkradiru",
        "type": "free",
        "domains": [
          "nhk.or.jp"
        ],
        "regexps": [
          "https?://www\\.nhk\\.or\\.jp/radio/(?:player/ondemand|ondemand/detail)\\.html\\?p=([\\da-zA-Z]+)_([\\da-zA-Z]+)(?:_([\\da-zA-Z]+))?"
        ],
        "regexp": "https?://www\\.nhk\\.or\\.jp/radio/(?:player/ondemand|ondemand/detail)\\.html\\?p=([\\da-zA-Z]+)_([\\da-zA-Z]+)(?:_([\\da-zA-Z]+))?"
      },
      "nhkradirulive": {
        "name": "nhkradirulive",
        "type": "free",
        "domains": [
          "nhk.or.jp"
        ],
        "regexps": [
          "https?://www\\.nhk\\.or\\.jp/radio/player/\\?ch=(r[12]|fm)"
        ],
        "regexp": "https?://www\\.nhk\\.or\\.jp/radio/player/\\?ch=(r[12]|fm)"
      },
      "nhkvod": {
        "name": "nhkvod",
        "type": "free",
        "domains": [
          "www3.nhk.or.jp"
        ],
        "regexps": [
          "https?://www3\\.nhk\\.or\\.jp/nhkworld/([a-z]{2})/shows/(?:(video)/)?(\\d{4}[\\da-z]\\d+)/?(?:$|[?#])",
          "https?://www3\\.nhk\\.or\\.jp/nhkworld/([a-z]{2})/(?:ondemand|shows)/(audio)/([^/?#]+?-\\d{8}-[\\da-z]+)",
          "https?://www3\\.nhk\\.or\\.jp/nhkworld/([a-z]{2})/ondemand/(video)/(\\d{4}[\\da-z]\\d+)"
        ],
        "regexp": "(https?://www3\\.nhk\\.or\\.jp/nhkworld/([a-z]{2})/shows/(?:(video)/)?(\\d{4}[\\da-z]\\d+)/?(?:$|[?#]))|(https?://www3\\.nhk\\.or\\.jp/nhkworld/([a-z]{2})/(?:ondemand|shows)/(audio)/([^/?#]+?-\\d{8}-[\\da-z]+))|(https?://www3\\.nhk\\.or\\.jp/nhkworld/([a-z]{2})/ondemand/(video)/(\\d{4}[\\da-z]\\d+))"
      },
      "nhkvodprogram": {
        "name": "nhkvodprogram",
        "type": "free",
        "domains": [
          "www3.nhk.or.jp"
        ],
        "regexps": [
          "https?://www3\\.nhk\\.or\\.jp/nhkworld/([a-z]{2})/(?:shows|tv)/(?:(audio)/programs/)?(\\w+)/?(?:\\?(?:[^#]+&)?type=(clip|(?:radio|tv)Episode))?"
        ],
        "regexp": "https?://www3\\.nhk\\.or\\.jp/nhkworld/([a-z]{2})/(?:shows|tv)/(?:(audio)/programs/)?(\\w+)/?(?:\\?(?:[^#]+&)?type=(clip|(?:radio|tv)Episode))?"
      },
      "nhl.com": {
        "name": "nhl.com",
        "type": "free",
        "domains": [
          "nhl.com",
          "wch2016.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(nhl|wch2016)\\.com/(?:[^/]+/)*c-(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?(nhl|wch2016)\\.com/(?:[^/]+/)*c-(\\d+)"
      },
      "nick.com": {
        "name": "nick.com",
        "type": "free",
        "domains": [
          "nick.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?nick\\.com/(?:video-clips|episodes)/([\\da-z]{6})"
        ],
        "regexp": "https?://(?:www\\.)?nick\\.com/(?:video-clips|episodes)/([\\da-z]{6})"
      },
      "niconico": {
        "name": "niconico",
        "type": "free",
        "domains": [
          "nicovideo.jp",
          "sp.nicovideo.jp",
          "live.nicovideo.jp",
          "nico.ms"
        ],
        "regexps": [
          "https?://(?:www\\.|sp\\.)?nicovideo\\.jp/my/(history(?:/like)?)",
          "https?://(?:(?:embed|sp|www)\\.)?nicovideo\\.jp/watch/((?:[a-z]{2})?\\d+)",
          "https?://(?:sp\\.)?live2?\\.nicovideo\\.jp/(?:watch|gate)/(lv\\d+)",
          "https?://(?:(?:www\\.|sp\\.)?nicovideo\\.jp|nico\\.ms)/(?:user/\\d+/)?(?:my/)?mylist/(?:#/)?(\\d+)",
          "https?://(?:(?:www\\.|sp\\.)?nicovideo\\.jp(?:/user/\\d+)?|nico\\.ms)/series/(\\d+)",
          "https?://(?:www\\.)?nicovideo\\.jp/tag/([^?#&]+)?"
        ],
        "regexp": "(https?://(?:www\\.|sp\\.)?nicovideo\\.jp/my/(history(?:/like)?))|(https?://(?:(?:embed|sp|www)\\.)?nicovideo\\.jp/watch/((?:[a-z]{2})?\\d+))|(https?://(?:sp\\.)?live2?\\.nicovideo\\.jp/(?:watch|gate)/(lv\\d+))|(https?://(?:(?:www\\.|sp\\.)?nicovideo\\.jp|nico\\.ms)/(?:user/\\d+/)?(?:my/)?mylist/(?:#/)?(\\d+))|(https?://(?:(?:www\\.|sp\\.)?nicovideo\\.jp(?:/user/\\d+)?|nico\\.ms)/series/(\\d+))|(https?://(?:www\\.)?nicovideo\\.jp/tag/([^?#&]+)?)"
      },
      "niconicochannelplus": {
        "name": "niconicochannelplus",
        "type": "free",
        "domains": [
          "nicochannel.jp"
        ],
        "regexps": [
          "https?://nicochannel\\.jp/([a-z\\d\\._-]+)/lives",
          "https?://nicochannel\\.jp/([a-z\\d\\._-]+)/videos(?:\\?.*)?",
          "https?://nicochannel\\.jp/([\\w.-]+)/(?:video|live)/(sm\\w+)"
        ],
        "regexp": "(https?://nicochannel\\.jp/([a-z\\d\\._-]+)/lives)|(https?://nicochannel\\.jp/([a-z\\d\\._-]+)/videos(?:\\?.*)?)|(https?://nicochannel\\.jp/([\\w.-]+)/(?:video|live)/(sm\\w+))"
      },
      "niconicouser": {
        "name": "niconicouser",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?nicovideo\\.jp/user/(\\d+)(?:/video)?/?(?:$|[#?])"
        ],
        "regexp": "https?://(?:www\\.)?nicovideo\\.jp/user/(\\d+)(?:/video)?/?(?:$|[#?])"
      },
      "nicovideo": {
        "name": "nicovideo",
        "type": "free",
        "domains": [
          "nicovideo.jp"
        ],
        "regexps": [
          "nicosearchdate(|[1-9][0-9]*|all):([\\s\\S]+)",
          "nicosearch(|[1-9][0-9]*|all):([\\s\\S]+)",
          "https?://(?:www\\.)?nicovideo\\.jp/search/([^?#&]+)?"
        ],
        "regexp": "(nicosearchdate(|[1-9][0-9]*|all):([\\s\\S]+))|(nicosearch(|[1-9][0-9]*|all):([\\s\\S]+))|(https?://(?:www\\.)?nicovideo\\.jp/search/([^?#&]+)?)"
      },
      "ninaprotocol": {
        "name": "ninaprotocol",
        "type": "free",
        "domains": [
          "ninaprotocol.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?ninaprotocol\\.com/releases/([^/#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?ninaprotocol\\.com/releases/([^/#?]+)"
      },
      "nintendo": {
        "name": "nintendo",
        "type": "free",
        "domains": [
          "nintendo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?nintendo\\.com/(?:(\\w{2}(?:-\\w{2})?)/)?nintendo-direct/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?nintendo\\.com/(?:(\\w{2}(?:-\\w{2})?)/)?nintendo-direct/([^/?#]+)"
      },
      "nitter": {
        "name": "nitter",
        "type": "free",
        "domains": [
          "nitter.projectsegfau.lt"
        ],
        "regexps": [
          "https?://(?:3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad\\.onion|nitter\\.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd\\.onion|nitter7bryz3jv7e3uekphigvmoyoem4al3fynerxkj22dmoxoq553qd\\.onion|npf37k3mtzwxreiw52ccs5ay4e6qt2fkcs2ndieurdyn2cuzzsfyfvid\\.onion|nitter\\.v6vgyqpa7yefkorazmg5d5fimstmvm2vtbirt6676mt7qmllrcnwycqd\\.onion|i23nv6w3juvzlw32xzoxcqzktegd4i4fu3nmnc2ewv4ggiu4ledwklad\\.onion|26oq3gioiwcmfojub37nz5gzbkdiqp7fue5kvye7d4txv4ny6fb4wwid\\.onion|vfaomgh4jxphpbdfizkm5gbtjahmei234giqj4facbwhrfjtcldauqad\\.onion|iwgu3cv7ywf3gssed5iqtavmrlszgsxazkmwwnt4h2kdait75thdyrqd\\.onion|erpnncl5nhyji3c32dcfmztujtl3xaddqb457jsbkulq24zqq7ifdgad\\.onion|ckzuw5misyahmg7j5t5xwwuj3bwy62jfolxyux4brfflramzsvvd3syd\\.onion|jebqj47jgxleaiosfcxfibx2xdahjettuydlxbg64azd4khsxv6kawid\\.onion|nttr2iupbb6fazdpr2rgbooon2tzbbsvvkagkgkwohhodjzj43stxhad\\.onion|nitraeju2mipeziu2wtcrqsxg7h62v5y4eqgwi75uprynkj74gevvuqd\\.onion|nitter\\.lqs5fjmajyp7rvp4qvyubwofzi6d4imua7vs237rkc4m5qogitqwrgyd\\.onion|ibsboeui2im5o7dxnik3s5yghufumgy5abevtij5nbizequfpu4qi4ad\\.onion|ec5nvbycpfa5k6ro77blxgkyrzbkv7uy6r5cngcbkadtjj2733nm3uyd\\.onion|nitter\\.i2p|u6ikd6zndl3c4dsdq4mmujpntgeevdk5qzkfb57r4tnfeccrn2qa\\.b32\\.i2p|nitterlgj3n5fgwesu3vxc5h67ruku33nqaoeoocae2mvlzhsu6k7fqd\\.onion|nitter\\.lacontrevoie\\.fr|nitter\\.fdn\\.fr|nitter\\.1d4\\.us|nitter\\.kavin\\.rocks|nitter\\.unixfox\\.eu|nitter\\.domain\\.glass|nitter\\.namazso\\.eu|birdsite\\.xanny\\.family|nitter\\.moomoo\\.me|bird\\.trom\\.tf|nitter\\.it|twitter\\.censors\\.us|nitter\\.grimneko\\.de|twitter\\.076\\.ne\\.jp|nitter\\.fly\\.dev|notabird\\.site|nitter\\.weiler\\.rocks|nitter\\.sethforprivacy\\.com|nitter\\.cutelab\\.space|nitter\\.nl|nitter\\.mint\\.lgbt|nitter\\.bus\\-hit\\.me|nitter\\.esmailelbob\\.xyz|tw\\.artemislena\\.eu|nitter\\.winscloud\\.net|nitter\\.tiekoetter\\.com|nitter\\.spaceint\\.fr|nitter\\.privacy\\.com\\.de|nitter\\.poast\\.org|nitter\\.bird\\.froth\\.zone|nitter\\.dcs0\\.hu|twitter\\.dr460nf1r3\\.org|nitter\\.garudalinux\\.org|twitter\\.femboy\\.hu|nitter\\.cz|nitter\\.privacydev\\.net|nitter\\.evil\\.site|tweet\\.lambda\\.dance|nitter\\.kylrth\\.com|nitter\\.foss\\.wtf|nitter\\.priv\\.pw|nitter\\.tokhmi\\.xyz|nitter\\.catalyst\\.sx|unofficialbird\\.com|nitter\\.projectsegfau\\.lt|nitter\\.eu\\.projectsegfau\\.lt|singapore\\.unofficialbird\\.com|canada\\.unofficialbird\\.com|india\\.unofficialbird\\.com|nederland\\.unofficialbird\\.com|uk\\.unofficialbird\\.com|n\\.l5\\.ca|nitter\\.slipfox\\.xyz|nitter\\.soopy\\.moe|nitter\\.qwik\\.space|read\\.whatever\\.social|nitter\\.rawbit\\.ninja|nt\\.vern\\.cc|ntr\\.odyssey346\\.dev|nitter\\.ir|nitter\\.privacytools\\.io|nitter\\.sneed\\.network|n\\.sneed\\.network|nitter\\.manasiwibi\\.com|nitter\\.smnz\\.de|nitter\\.twei\\.space|nitter\\.inpt\\.fr|nitter\\.d420\\.de|nitter\\.caioalonso\\.com|nitter\\.at|nitter\\.drivet\\.xyz|nitter\\.pw|nitter\\.nicfab\\.eu|bird\\.habedieeh\\.re|nitter\\.hostux\\.net|nitter\\.adminforge\\.de|nitter\\.platypush\\.tech|nitter\\.mask\\.sh|nitter\\.pufe\\.org|nitter\\.us\\.projectsegfau\\.lt|nitter\\.arcticfoxes\\.net|t\\.com\\.sb|nitter\\.kling\\.gg|nitter\\.ktachibana\\.party|nitter\\.riverside\\.rocks|nitter\\.girlboss\\.ceo|nitter\\.lunar\\.icu|twitter\\.moe\\.ngo|nitter\\.freedit\\.eu|ntr\\.frail\\.duckdns\\.org|nitter\\.librenode\\.org|n\\.opnxng\\.com|nitter\\.plus\\.st|nitter\\.ethibox\\.fr|nitter\\.net|is\\-nitter\\.resolv\\.ee|lu\\-nitter\\.resolv\\.ee|nitter\\.13ad\\.de|nitter\\.40two\\.app|nitter\\.cattube\\.org|nitter\\.cc|nitter\\.dark\\.fail|nitter\\.himiko\\.cloud|nitter\\.koyu\\.space|nitter\\.mailstation\\.de|nitter\\.mastodont\\.cat|nitter\\.tedomum\\.net|nitter\\.tokhmi\\.xyz|nitter\\.weaponizedhumiliation\\.com|nitter\\.vxempire\\.xyz|tweet\\.lambda\\.dance|nitter\\.ca|nitter\\.42l\\.fr|nitter\\.pussthecat\\.org|nitter\\.nixnet\\.services|nitter\\.eu|nitter\\.actionsack\\.com|nitter\\.hu|twitr\\.gq|nittereu\\.moomoo\\.me|bird\\.from\\.tf|twitter\\.grimneko\\.de|nitter\\.alefvanoon\\.xyz|n\\.hyperborea\\.cloud|twitter\\.mstdn\\.social|nitter\\.silkky\\.cloud|nttr\\.stream|fuckthesacklers\\.network|nitter\\.govt\\.land|nitter\\.datatunnel\\.xyz|de\\.nttr\\.stream|twtr\\.bch\\.bar|nitter\\.exonip\\.de|nitter\\.mastodon\\.pro|nitter\\.notraxx\\.ch|nitter\\.skrep\\.in|nitter\\.snopyta\\.org)/(.+)/status/([0-9]+)(#.)?"
        ],
        "regexp": "https?://(?:3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad\\.onion|nitter\\.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd\\.onion|nitter7bryz3jv7e3uekphigvmoyoem4al3fynerxkj22dmoxoq553qd\\.onion|npf37k3mtzwxreiw52ccs5ay4e6qt2fkcs2ndieurdyn2cuzzsfyfvid\\.onion|nitter\\.v6vgyqpa7yefkorazmg5d5fimstmvm2vtbirt6676mt7qmllrcnwycqd\\.onion|i23nv6w3juvzlw32xzoxcqzktegd4i4fu3nmnc2ewv4ggiu4ledwklad\\.onion|26oq3gioiwcmfojub37nz5gzbkdiqp7fue5kvye7d4txv4ny6fb4wwid\\.onion|vfaomgh4jxphpbdfizkm5gbtjahmei234giqj4facbwhrfjtcldauqad\\.onion|iwgu3cv7ywf3gssed5iqtavmrlszgsxazkmwwnt4h2kdait75thdyrqd\\.onion|erpnncl5nhyji3c32dcfmztujtl3xaddqb457jsbkulq24zqq7ifdgad\\.onion|ckzuw5misyahmg7j5t5xwwuj3bwy62jfolxyux4brfflramzsvvd3syd\\.onion|jebqj47jgxleaiosfcxfibx2xdahjettuydlxbg64azd4khsxv6kawid\\.onion|nttr2iupbb6fazdpr2rgbooon2tzbbsvvkagkgkwohhodjzj43stxhad\\.onion|nitraeju2mipeziu2wtcrqsxg7h62v5y4eqgwi75uprynkj74gevvuqd\\.onion|nitter\\.lqs5fjmajyp7rvp4qvyubwofzi6d4imua7vs237rkc4m5qogitqwrgyd\\.onion|ibsboeui2im5o7dxnik3s5yghufumgy5abevtij5nbizequfpu4qi4ad\\.onion|ec5nvbycpfa5k6ro77blxgkyrzbkv7uy6r5cngcbkadtjj2733nm3uyd\\.onion|nitter\\.i2p|u6ikd6zndl3c4dsdq4mmujpntgeevdk5qzkfb57r4tnfeccrn2qa\\.b32\\.i2p|nitterlgj3n5fgwesu3vxc5h67ruku33nqaoeoocae2mvlzhsu6k7fqd\\.onion|nitter\\.lacontrevoie\\.fr|nitter\\.fdn\\.fr|nitter\\.1d4\\.us|nitter\\.kavin\\.rocks|nitter\\.unixfox\\.eu|nitter\\.domain\\.glass|nitter\\.namazso\\.eu|birdsite\\.xanny\\.family|nitter\\.moomoo\\.me|bird\\.trom\\.tf|nitter\\.it|twitter\\.censors\\.us|nitter\\.grimneko\\.de|twitter\\.076\\.ne\\.jp|nitter\\.fly\\.dev|notabird\\.site|nitter\\.weiler\\.rocks|nitter\\.sethforprivacy\\.com|nitter\\.cutelab\\.space|nitter\\.nl|nitter\\.mint\\.lgbt|nitter\\.bus\\-hit\\.me|nitter\\.esmailelbob\\.xyz|tw\\.artemislena\\.eu|nitter\\.winscloud\\.net|nitter\\.tiekoetter\\.com|nitter\\.spaceint\\.fr|nitter\\.privacy\\.com\\.de|nitter\\.poast\\.org|nitter\\.bird\\.froth\\.zone|nitter\\.dcs0\\.hu|twitter\\.dr460nf1r3\\.org|nitter\\.garudalinux\\.org|twitter\\.femboy\\.hu|nitter\\.cz|nitter\\.privacydev\\.net|nitter\\.evil\\.site|tweet\\.lambda\\.dance|nitter\\.kylrth\\.com|nitter\\.foss\\.wtf|nitter\\.priv\\.pw|nitter\\.tokhmi\\.xyz|nitter\\.catalyst\\.sx|unofficialbird\\.com|nitter\\.projectsegfau\\.lt|nitter\\.eu\\.projectsegfau\\.lt|singapore\\.unofficialbird\\.com|canada\\.unofficialbird\\.com|india\\.unofficialbird\\.com|nederland\\.unofficialbird\\.com|uk\\.unofficialbird\\.com|n\\.l5\\.ca|nitter\\.slipfox\\.xyz|nitter\\.soopy\\.moe|nitter\\.qwik\\.space|read\\.whatever\\.social|nitter\\.rawbit\\.ninja|nt\\.vern\\.cc|ntr\\.odyssey346\\.dev|nitter\\.ir|nitter\\.privacytools\\.io|nitter\\.sneed\\.network|n\\.sneed\\.network|nitter\\.manasiwibi\\.com|nitter\\.smnz\\.de|nitter\\.twei\\.space|nitter\\.inpt\\.fr|nitter\\.d420\\.de|nitter\\.caioalonso\\.com|nitter\\.at|nitter\\.drivet\\.xyz|nitter\\.pw|nitter\\.nicfab\\.eu|bird\\.habedieeh\\.re|nitter\\.hostux\\.net|nitter\\.adminforge\\.de|nitter\\.platypush\\.tech|nitter\\.mask\\.sh|nitter\\.pufe\\.org|nitter\\.us\\.projectsegfau\\.lt|nitter\\.arcticfoxes\\.net|t\\.com\\.sb|nitter\\.kling\\.gg|nitter\\.ktachibana\\.party|nitter\\.riverside\\.rocks|nitter\\.girlboss\\.ceo|nitter\\.lunar\\.icu|twitter\\.moe\\.ngo|nitter\\.freedit\\.eu|ntr\\.frail\\.duckdns\\.org|nitter\\.librenode\\.org|n\\.opnxng\\.com|nitter\\.plus\\.st|nitter\\.ethibox\\.fr|nitter\\.net|is\\-nitter\\.resolv\\.ee|lu\\-nitter\\.resolv\\.ee|nitter\\.13ad\\.de|nitter\\.40two\\.app|nitter\\.cattube\\.org|nitter\\.cc|nitter\\.dark\\.fail|nitter\\.himiko\\.cloud|nitter\\.koyu\\.space|nitter\\.mailstation\\.de|nitter\\.mastodont\\.cat|nitter\\.tedomum\\.net|nitter\\.tokhmi\\.xyz|nitter\\.weaponizedhumiliation\\.com|nitter\\.vxempire\\.xyz|tweet\\.lambda\\.dance|nitter\\.ca|nitter\\.42l\\.fr|nitter\\.pussthecat\\.org|nitter\\.nixnet\\.services|nitter\\.eu|nitter\\.actionsack\\.com|nitter\\.hu|twitr\\.gq|nittereu\\.moomoo\\.me|bird\\.from\\.tf|twitter\\.grimneko\\.de|nitter\\.alefvanoon\\.xyz|n\\.hyperborea\\.cloud|twitter\\.mstdn\\.social|nitter\\.silkky\\.cloud|nttr\\.stream|fuckthesacklers\\.network|nitter\\.govt\\.land|nitter\\.datatunnel\\.xyz|de\\.nttr\\.stream|twtr\\.bch\\.bar|nitter\\.exonip\\.de|nitter\\.mastodon\\.pro|nitter\\.notraxx\\.ch|nitter\\.skrep\\.in|nitter\\.snopyta\\.org)/(.+)/status/([0-9]+)(#.)?"
      },
      "njoy": {
        "name": "njoy",
        "type": "free",
        "domains": [
          "n-joy.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?n-joy\\.de/(?:[^/]+/)*([\\da-z]+)-(?:player|externalPlayer)_[^/]+\\.html",
          "https?://(?:www\\.)?n-joy\\.de/(?:[^/]+/)*(?:([^/?#]+),)?([\\da-z]+)\\.html"
        ],
        "regexp": "(https?://(?:www\\.)?n-joy\\.de/(?:[^/]+/)*([\\da-z]+)-(?:player|externalPlayer)_[^/]+\\.html)|(https?://(?:www\\.)?n-joy\\.de/(?:[^/]+/)*(?:([^/?#]+),)?([\\da-z]+)\\.html)"
      },
      "nobelprize": {
        "name": "nobelprize",
        "type": "free",
        "domains": [
          "nobelprize.org",
          "mediaplayer.nobelprize.org"
        ],
        "regexps": [
          "https?://(?:(?:mediaplayer|www)\\.)?nobelprize\\.org/mediaplayer/"
        ],
        "regexp": "https?://(?:(?:mediaplayer|www)\\.)?nobelprize\\.org/mediaplayer/"
      },
      "noicepodcast": {
        "name": "noicepodcast",
        "type": "free",
        "domains": [
          "open.noice.id"
        ],
        "regexps": [
          "https?://open\\.noice\\.id/content/([a-fA-F0-9-]+)"
        ],
        "regexp": "https?://open\\.noice\\.id/content/([a-fA-F0-9-]+)"
      },
      "nonktube": {
        "name": "nonktube",
        "type": "free",
        "domains": [
          "nonktube.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?nonktube\\.com/(?:(?:video|embed)/|media/nuevo/embed\\.php\\?.*?\\bid=)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?nonktube\\.com/(?:(?:video|embed)/|media/nuevo/embed\\.php\\?.*?\\bid=)(\\d+)"
      },
      "noodlemagazine": {
        "name": "noodlemagazine",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www|adult\\.)?noodlemagazine\\.com/watch/([0-9-_]+)"
        ],
        "regexp": "https?://(?:www|adult\\.)?noodlemagazine\\.com/watch/([0-9-_]+)"
      },
      "nosnlarticle": {
        "name": "nosnlarticle",
        "type": "free",
        "domains": [
          "nos.nl"
        ],
        "regexps": [
          "https?://nos\\.nl/(video|(\\w+/)?\\w+)/?\\d+-([\\w-]+)"
        ],
        "regexp": "https?://nos\\.nl/(video|(\\w+/)?\\w+)/?\\d+-([\\w-]+)"
      },
      "nova": {
        "name": "nova",
        "type": "free",
        "domains": [
          "tn.nova.cz",
          "fanda.nova.cz",
          "novaplus.nova.cz",
          "sport.tn.nova.cz",
          "doma.nova.cz",
          "prask.nova.cz",
          "tv.nova.cz"
        ],
        "regexps": [
          "https?://(?:[^.]+\\.)?(tv(?:noviny)?|tn|novaplus|vymena|fanda|krasna|doma|prask)\\.nova\\.cz/(?:[^/]+/)+([^/]+?)(?:\\.html|/|$)"
        ],
        "regexp": "https?://(?:[^.]+\\.)?(tv(?:noviny)?|tn|novaplus|vymena|fanda|krasna|doma|prask)\\.nova\\.cz/(?:[^/]+/)+([^/]+?)(?:\\.html|/|$)"
      },
      "novaembed": {
        "name": "novaembed",
        "type": "free",
        "domains": [
          "media.cms.nova.cz",
          "mediatn.cms.nova.cz"
        ],
        "regexps": [
          "https?://media(?:tn)?\\.cms\\.nova\\.cz/embed/([^/?#&]+)"
        ],
        "regexp": "https?://media(?:tn)?\\.cms\\.nova\\.cz/embed/([^/?#&]+)"
      },
      "novaplay": {
        "name": "novaplay",
        "type": "free",
        "domains": [
          "play.nova.bg"
        ],
        "regexps": [
          "https?://play\\.nova\\.bg/video/[^?#]+/(\\d+)"
        ],
        "regexp": "https?://play\\.nova\\.bg/video/[^?#]+/(\\d+)"
      },
      "nowcanal": {
        "name": "nowcanal",
        "type": "free",
        "domains": [
          "nowcanal.pt"
        ],
        "regexps": [
          "https?://(?:www\\.)?nowcanal\\.pt(?:/[\\w-]+)+/detalhe/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?nowcanal\\.pt(?:/[\\w-]+)+/detalhe/([\\w-]+)"
      },
      "nowness": {
        "name": "nowness",
        "type": "free",
        "domains": [
          "nowness.com",
          "cn.nowness.com"
        ],
        "regexps": [
          "https?://(?:(?:www|cn)\\.)?nowness\\.com/(?:story|(?:series|category)/[^/]+)/([^/]+?)(?:$|[?#])",
          "https?://(?:(?:www|cn)\\.)?nowness\\.com/playlist/(\\d+)",
          "https?://(?:(?:www|cn)\\.)?nowness\\.com/series/([^/]+?)(?:$|[?#])"
        ],
        "regexp": "(https?://(?:(?:www|cn)\\.)?nowness\\.com/(?:story|(?:series|category)/[^/]+)/([^/]+?)(?:$|[?#]))|(https?://(?:(?:www|cn)\\.)?nowness\\.com/playlist/(\\d+))|(https?://(?:(?:www|cn)\\.)?nowness\\.com/series/([^/]+?)(?:$|[?#]))"
      },
      "noz": {
        "name": "noz",
        "type": "free",
        "domains": [
          "noz.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?noz\\.de/video/([0-9]+)/"
        ],
        "regexp": "https?://(?:www\\.)?noz\\.de/video/([0-9]+)/"
      },
      "npo": {
        "name": "npo",
        "type": "free",
        "domains": [
          "npo.nl",
          "ntr.nl",
          "omroepwnl.nl",
          "zapp.nl",
          "npo3.nl",
          "npostart.nl"
        ],
        "regexps": [
          "(?:npo:|https?://(?:www\\.)?(?:npo\\.nl/(?:[^/]+/)*|(?:ntr|npostart)\\.nl/(?:[^/]+/){2,}|omroepwnl\\.nl/video/fragment/[^/]+__|(?:zapp|npo3)\\.nl/(?:[^/]+/){2,}))([^/?#]+)"
        ],
        "regexp": "(?:npo:|https?://(?:www\\.)?(?:npo\\.nl/(?:[^/]+/)*|(?:ntr|npostart)\\.nl/(?:[^/]+/){2,}|omroepwnl\\.nl/video/fragment/[^/]+__|(?:zapp|npo3)\\.nl/(?:[^/]+/){2,}))([^/?#]+)"
      },
      "npo.nl": {
        "name": "npo.nl",
        "type": "free",
        "domains": [
          "npo.nl",
          "npostart.nl"
        ],
        "regexps": [
          "https?://(?:www\\.)?npo(?:start)?\\.nl/live(?:/([^/?#&]+))?",
          "https?://(?:www\\.)?npo\\.nl/radio/[^/]+/fragment/(\\d+)",
          "https?://(?:www\\.)?npo\\.nl/radio/([^/]+)"
        ],
        "regexp": "(https?://(?:www\\.)?npo(?:start)?\\.nl/live(?:/([^/?#&]+))?)|(https?://(?:www\\.)?npo\\.nl/radio/[^/]+/fragment/(\\d+))|(https?://(?:www\\.)?npo\\.nl/radio/([^/]+))"
      },
      "npr": {
        "name": "npr",
        "type": "free",
        "domains": [
          "npr.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?npr\\.org/(?:sections/[^/]+/)?\\d{4}/\\d{2}/\\d{2}/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?npr\\.org/(?:sections/[^/]+/)?\\d{4}/\\d{2}/\\d{2}/(\\d+)"
      },
      "nrk": {
        "name": "nrk",
        "type": "free",
        "domains": [
          "nrk.no",
          "v8-psapi.nrk.no"
        ],
        "regexps": [
          "(?:nrk:|https?://(?:(?:www\\.)?nrk\\.no/video/(?:PS\\*|[^_]+_)|v8[-.]psapi\\.nrk\\.no/mediaelement/))([^?\\#&]+)"
        ],
        "regexp": "(?:nrk:|https?://(?:(?:www\\.)?nrk\\.no/video/(?:PS\\*|[^_]+_)|v8[-.]psapi\\.nrk\\.no/mediaelement/))([^?\\#&]+)"
      },
      "nrkplaylist": {
        "name": "nrkplaylist",
        "type": "free",
        "domains": [
          "nrk.no"
        ],
        "regexps": [
          "https?://(?:www\\.)?nrk\\.no/(?!video|skole)(?:[^/]+/)+([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?nrk\\.no/(?!video|skole)(?:[^/]+/)+([^/]+)"
      },
      "nrkradiopodkast": {
        "name": "nrkradiopodkast",
        "type": "free",
        "domains": [
          "radio.nrk.no"
        ],
        "regexps": [
          "https?://radio\\.nrk\\.no/pod[ck]ast/(?:[^/]+/)+(l_[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
        ],
        "regexp": "https?://radio\\.nrk\\.no/pod[ck]ast/(?:[^/]+/)+(l_[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
      },
      "nrkskole": {
        "name": "nrkskole",
        "type": "free",
        "domains": [
          "nrk.no"
        ],
        "regexps": [
          "https?://(?:www\\.)?nrk\\.no/skole/?\\?.*\\bmediaId=(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?nrk\\.no/skole/?\\?.*\\bmediaId=(\\d+)"
      },
      "nrktv": {
        "name": "nrktv",
        "type": "free",
        "domains": [
          "tv.nrk.no",
          "radio.nrk.no"
        ],
        "regexps": [
          "https?://(?:tv|radio)\\.nrk(?:super)?\\.no/(?:[^/]+/)*([a-zA-Z]{4}\\d{8})"
        ],
        "regexp": "https?://(?:tv|radio)\\.nrk(?:super)?\\.no/(?:[^/]+/)*([a-zA-Z]{4}\\d{8})"
      },
      "nrktvdirekte": {
        "name": "nrktvdirekte",
        "type": "free",
        "domains": [
          "tv.nrk.no",
          "radio.nrk.no"
        ],
        "regexps": [
          "https?://(?:tv|radio)\\.nrk\\.no/direkte/([^/?#&]+)"
        ],
        "regexp": "https?://(?:tv|radio)\\.nrk\\.no/direkte/([^/?#&]+)"
      },
      "nrktvepisode": {
        "name": "nrktvepisode",
        "type": "free",
        "domains": [
          "tv.nrk.no"
        ],
        "regexps": [
          "https?://tv\\.nrk\\.no/serie/([^/?#]+/sesong/(\\d+)/episode/(\\d+))"
        ],
        "regexp": "https?://tv\\.nrk\\.no/serie/([^/?#]+/sesong/(\\d+)/episode/(\\d+))"
      },
      "nrktvepisodes": {
        "name": "nrktvepisodes",
        "type": "free",
        "domains": [
          "tv.nrk.no"
        ],
        "regexps": [
          "https?://tv\\.nrk\\.no/program/[Ee]pisodes/[^/]+/(\\d+)"
        ],
        "regexp": "https?://tv\\.nrk\\.no/program/[Ee]pisodes/[^/]+/(\\d+)"
      },
      "nrktvseason": {
        "name": "nrktvseason",
        "type": "free",
        "domains": [
          "tv.nrk.no",
          "radio.nrk.no"
        ],
        "regexps": [
          "https?://(tv|radio)\\.nrk\\.no/(serie|pod[ck]ast)/([^/]+)/(?:(?:sesong/)?(\\d+)|sesong/([^/?#&]+))"
        ],
        "regexp": "https?://(tv|radio)\\.nrk\\.no/(serie|pod[ck]ast)/([^/]+)/(?:(?:sesong/)?(\\d+)|sesong/([^/?#&]+))"
      },
      "nrktvseries": {
        "name": "nrktvseries",
        "type": "free",
        "domains": [
          "tv.nrk.no",
          "tv.nrksuper.no",
          "radio.nrk.no",
          "nrksuper.no"
        ],
        "regexps": [
          "https?://((?:tv|radio)\\.nrk|(?:tv\\.)?nrksuper)\\.no/(serie|pod[ck]ast)/([^/]+)"
        ],
        "regexp": "https?://((?:tv|radio)\\.nrk|(?:tv\\.)?nrksuper)\\.no/(serie|pod[ck]ast)/([^/]+)"
      },
      "nrltv": {
        "name": "nrltv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?nrl\\.com/tv(/[^/]+)*/([^/?&#]+)"
        ],
        "regexp": "https?://(?:www\\.)?nrl\\.com/tv(/[^/]+)*/([^/?&#]+)"
      },
      "nts.live": {
        "name": "nts.live",
        "type": "free",
        "domains": [
          "nts.live"
        ],
        "regexps": [
          "https?://(?:www\\.)?nts\\.live/shows/[^/?#]+/episodes/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?nts\\.live/shows/[^/?#]+/episodes/([^/?#]+)"
      },
      "ntv.ru": {
        "name": "ntv.ru",
        "type": "free",
        "domains": [
          "ntv.ru"
        ],
        "regexps": [
          "https?://(?:www\\.)?ntv\\.ru/(?:[^/#?]+/)*([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?ntv\\.ru/(?:[^/#?]+/)*([^/?#&]+)"
      },
      "nuum": {
        "name": "nuum",
        "type": "free",
        "domains": [
          "nuum.ru"
        ],
        "regexps": [
          "https?://nuum\\.ru/channel/([^/#?]+)/?(?:$|[#?])",
          "https?://nuum\\.ru/(?:streams|videos|clips)/([\\d]+)",
          "https?://nuum\\.ru/channel/([^/#?]+)/(streams|videos|clips)"
        ],
        "regexp": "(https?://nuum\\.ru/channel/([^/#?]+)/?(?:$|[#?]))|(https?://nuum\\.ru/(?:streams|videos|clips)/([\\d]+))|(https?://nuum\\.ru/channel/([^/#?]+)/(streams|videos|clips))"
      },
      "nuvid": {
        "name": "nuvid",
        "type": "free",
        "domains": [
          "nuvid.com",
          "m.nuvid.com"
        ],
        "regexps": [
          "https?://(?:www|m)\\.nuvid\\.com/video/([0-9]+)"
        ],
        "regexp": "https?://(?:www|m)\\.nuvid\\.com/video/([0-9]+)"
      },
      "nytimes": {
        "name": "nytimes",
        "type": "free",
        "domains": [
          "nytimes.com"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?nytimes\\.com/video/(?:[^/]+/)+?|graphics8\\.nytimes\\.com/bcvideo/\\d+(?:\\.\\d+)?/iframe/embed\\.html\\?videoId=)(\\d+)"
        ],
        "regexp": "https?://(?:(?:www\\.)?nytimes\\.com/video/(?:[^/]+/)+?|graphics8\\.nytimes\\.com/bcvideo/\\d+(?:\\.\\d+)?/iframe/embed\\.html\\?videoId=)(\\d+)"
      },
      "nytimesarticle": {
        "name": "nytimesarticle",
        "type": "free",
        "domains": [
          "nytimes.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?nytimes\\.com/\\d{4}/\\d{2}/\\d{2}/(?!books|podcasts)[^/?#]+/(?:\\w+/)?([^./?#]+)(?:\\.html)?"
        ],
        "regexp": "https?://(?:www\\.)?nytimes\\.com/\\d{4}/\\d{2}/\\d{2}/(?!books|podcasts)[^/?#]+/(?:\\w+/)?([^./?#]+)(?:\\.html)?"
      },
      "nytimescookingguide": {
        "name": "nytimescookingguide",
        "type": "free",
        "domains": [
          "cooking.nytimes.com"
        ],
        "regexps": [
          "https?://cooking\\.nytimes\\.com/guides/([\\w-]+)"
        ],
        "regexp": "https?://cooking\\.nytimes\\.com/guides/([\\w-]+)"
      },
      "nytimescookingrecipe": {
        "name": "nytimescookingrecipe",
        "type": "free",
        "domains": [
          "cooking.nytimes.com"
        ],
        "regexps": [
          "https?://cooking\\.nytimes\\.com/recipes/(\\d+)"
        ],
        "regexp": "https?://cooking\\.nytimes\\.com/recipes/(\\d+)"
      },
      "nzherald": {
        "name": "nzherald",
        "type": "free",
        "domains": [
          "nzherald.co.nz"
        ],
        "regexps": [
          "https?://(?:www\\.)?nzherald\\.co\\.nz/[\\w\\/-]+\\/([A-Z0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?nzherald\\.co\\.nz/[\\w\\/-]+\\/([A-Z0-9]+)"
      },
      "nzonscreen": {
        "name": "nzonscreen",
        "type": "free",
        "domains": [
          "nzonscreen.com"
        ],
        "regexps": [
          "https?://www\\.nzonscreen\\.com/title/([^/?#]+)"
        ],
        "regexp": "https?://www\\.nzonscreen\\.com/title/([^/?#]+)"
      },
      "nzz": {
        "name": "nzz",
        "type": "free",
        "domains": [
          "nzz.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?nzz\\.ch/(?:[^/]+/)*[^/?#]+-ld\\.(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?nzz\\.ch/(?:[^/]+/)*[^/?#]+-ld\\.(\\d+)"
      },
      "ocw.mit.edu": {
        "name": "ocw.mit.edu",
        "type": "free",
        "domains": [
          "ocw.mit.edu"
        ],
        "regexps": [
          "https?://ocw\\.mit\\.edu/courses/([a-z0-9\\-]+)"
        ],
        "regexp": "https?://ocw\\.mit\\.edu/courses/([a-z0-9\\-]+)"
      },
      "odnoklassniki": {
        "name": "odnoklassniki",
        "type": "free",
        "domains": [
          "ok.ru",
          "m.ok.ru",
          "mobile.ok.ru"
        ],
        "regexps": [
          "https?://(?:(?:www|m|mobile)\\.)?(?:odnoklassniki|ok)\\.ru/(?:video(embed)?/|web-api/video/moviePlayer/|live/|dk\\?.*?st\\.mvId=)([\\d-]+)"
        ],
        "regexp": "https?://(?:(?:www|m|mobile)\\.)?(?:odnoklassniki|ok)\\.ru/(?:video(embed)?/|web-api/video/moviePlayer/|live/|dk\\?.*?st\\.mvId=)([\\d-]+)"
      },
      "oftv": {
        "name": "oftv",
        "type": "free",
        "domains": [
          "of.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?of\\.tv/video/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?of\\.tv/video/(\\w+)"
      },
      "oftvplaylist": {
        "name": "oftvplaylist",
        "type": "free",
        "domains": [
          "of.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?of\\.tv/creators/([a-zA-Z0-9-]+)/?(?:$|[?#])"
        ],
        "regexp": "https?://(?:www\\.)?of\\.tv/creators/([a-zA-Z0-9-]+)/?(?:$|[?#])"
      },
      "oktoberfesttv": {
        "name": "oktoberfesttv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?oktoberfest-tv\\.de/[^/]+/[^/]+/video/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?oktoberfest-tv\\.de/[^/]+/[^/]+/video/([^/?#]+)"
      },
      "olympicsreplay": {
        "name": "olympicsreplay",
        "type": "free",
        "domains": [
          "olympics.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?olympics\\.com/[a-z]{2}/(?:paris-2024/)?(?:replay|videos?|original-series/episode)/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?olympics\\.com/[a-z]{2}/(?:paris-2024/)?(?:replay|videos?|original-series/episode)/([\\w-]+)"
      },
      "on24": {
        "name": "on24",
        "type": "free",
        "domains": [
          "event.on24.com"
        ],
        "regexps": [
          "https?://event\\.on24\\.com/wcc/r/(\\d{7})/([0-9A-F]{32})",
          "https?://event\\.on24\\.com/eventRegistration/console/(?:EventConsoleApollo\\.jsp|apollox/mainEvent/?)\\?(?:[^#]*&)?eventid=(\\d{7})&(?:[^#]+&)?key=([0-9A-F]{32})",
          "https?://event\\.on24\\.com/eventRegistration/EventLobbyServlet/?\\?(?:[^#]*&)?eventid=(\\d{7})&(?:[^#]+&)?key=([0-9A-F]{32})"
        ],
        "regexp": "(https?://event\\.on24\\.com/wcc/r/(\\d{7})/([0-9A-F]{32}))|(https?://event\\.on24\\.com/eventRegistration/console/(?:EventConsoleApollo\\.jsp|apollox/mainEvent/?)\\?(?:[^#]*&)?eventid=(\\d{7})&(?:[^#]+&)?key=([0-9A-F]{32}))|(https?://event\\.on24\\.com/eventRegistration/EventLobbyServlet/?\\?(?:[^#]*&)?eventid=(\\d{7})&(?:[^#]+&)?key=([0-9A-F]{32}))"
      },
      "ondemandchinaepisode": {
        "name": "ondemandchinaepisode",
        "type": "free",
        "domains": [
          "ondemandchina.com"
        ],
        "regexps": [
          "https?://www\\.ondemandchina\\.com/\\w+/watch/([\\w-]+)/(ep-(\\d+))"
        ],
        "regexp": "https?://www\\.ondemandchina\\.com/\\w+/watch/([\\w-]+)/(ep-(\\d+))"
      },
      "ondemandkorea": {
        "name": "ondemandkorea",
        "type": "free",
        "domains": [
          "ondemandkorea.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?ondemandkorea\\.com/(?:en/)?player/vod/[a-z0-9-]+\\?(?:[^#]+&)?contentId=(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?ondemandkorea\\.com/(?:en/)?player/vod/[a-z0-9-]+\\?(?:[^#]+&)?contentId=(\\d+)"
      },
      "ondemandkoreaprogram": {
        "name": "ondemandkoreaprogram",
        "type": "free",
        "domains": [
          "ondemandkorea.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?ondemandkorea\\.com/(?:en/)?player/vod/([a-z0-9-]+)(?:$|#)"
        ],
        "regexp": "https?://(?:www\\.)?ondemandkorea\\.com/(?:en/)?player/vod/([a-z0-9-]+)(?:$|#)"
      },
      "onefootball": {
        "name": "onefootball",
        "type": "free",
        "domains": [
          "onefootball.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?onefootball\\.com/[a-z]{2}/video/[^/&?#]+-(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?onefootball\\.com/[a-z]{2}/video/[^/&?#]+-(\\d+)"
      },
      "oneplacepodcast": {
        "name": "oneplacepodcast",
        "type": "free",
        "domains": [
          "oneplace.com"
        ],
        "regexps": [
          "https?://www\\.oneplace\\.com/[\\w]+/[^/]+/listen/[\\w-]+-(\\d+)"
        ],
        "regexp": "https?://www\\.oneplace\\.com/[\\w]+/[^/]+/listen/[\\w-]+-(\\d+)"
      },
      "onet.pl": {
        "name": "onet.pl",
        "type": "free",
        "domains": [
          "eurosport.onet.pl",
          "film.onet.pl",
          "moto.onet.pl",
          "businessinsider.com.pl",
          "plejada.pl"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?(?:onet|businessinsider\\.com|plejada)\\.pl/(?:[^/]+/)+([0-9a-z]+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?(?:onet|businessinsider\\.com|plejada)\\.pl/(?:[^/]+/)+([0-9a-z]+)"
      },
      "onet.tv": {
        "name": "onet.tv",
        "type": "free",
        "domains": [
          "onet.tv",
          "onet100.vod.pl"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?onet\\.tv|onet100\\.vod\\.pl)/[a-z]/([a-z]+)(?:[?#]|$)",
          "https?://(?:(?:www\\.)?onet\\.tv|onet100\\.vod\\.pl)/[a-z]/[a-z]+/([0-9a-z-]+)/([0-9a-z]+)"
        ],
        "regexp": "(https?://(?:(?:www\\.)?onet\\.tv|onet100\\.vod\\.pl)/[a-z]/([a-z]+)(?:[?#]|$))|(https?://(?:(?:www\\.)?onet\\.tv|onet100\\.vod\\.pl)/[a-z]/[a-z]+/([0-9a-z-]+)/([0-9a-z]+))"
      },
      "onetmvp": {
        "name": "onetmvp",
        "type": "free",
        "domains": [],
        "regexps": [
          "onetmvp:(\\d+\\.\\d+)"
        ],
        "regexp": "onetmvp:(\\d+\\.\\d+)"
      },
      "onionstudios": {
        "name": "onionstudios",
        "type": "free",
        "domains": [
          "onionstudios.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?onionstudios\\.com/(?:video(?:s/[^/]+-|/)|embed\\?.*\\bid=)(\\d+)(?!-)"
        ],
        "regexp": "https?://(?:www\\.)?onionstudios\\.com/(?:video(?:s/[^/]+-|/)|embed\\?.*\\bid=)(\\d+)(?!-)"
      },
      "onsen": {
        "name": "onsen",
        "type": "free",
        "domains": [
          "share.onsen.ag",
          "onsen.ag"
        ],
        "regexps": [
          "https?://(?:(?:share|www)\\.)onsen\\.ag/program/([^/?#]+)"
        ],
        "regexp": "https?://(?:(?:share|www)\\.)onsen\\.ag/program/([^/?#]+)"
      },
      "opencast": {
        "name": "opencast",
        "type": "free",
        "domains": [
          "oc-video1.ruhr-uni-bochum.de"
        ],
        "regexps": [
          "https?://((?:opencast\\.informatik\\.kit\\.edu|electures\\.uni-muenster\\.de|oc-presentation\\.ltcc\\.tuwien\\.ac\\.at|medien\\.ph-noe\\.ac\\.at|oc-video\\.ruhr-uni-bochum\\.de|oc-video1\\.ruhr-uni-bochum\\.de|opencast\\.informatik\\.uni-goettingen\\.de|heicast\\.uni-heidelberg\\.de|opencast\\.hawk\\.de:8080|opencast\\.hs-osnabrueck\\.de|video[0-9]+\\.virtuos\\.uni-osnabrueck\\.de|opencast\\.uni-koeln\\.de|media\\.opencast\\.hochschule-rhein-waal\\.de|matterhorn\\.dce\\.harvard\\.edu|hs-harz\\.opencast\\.uni-halle\\.de|videocampus\\.urz\\.uni-leipzig\\.de|media\\.uct\\.ac\\.za|vid\\.igb\\.illinois\\.edu|cursosabertos\\.c3sl\\.ufpr\\.br|mcmedia\\.missioncollege\\.org|clases\\.odon\\.edu\\.uy))/paella/ui/watch\\.html\\?(?:[^#]+&)?id=([\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12})"
        ],
        "regexp": "https?://((?:opencast\\.informatik\\.kit\\.edu|electures\\.uni-muenster\\.de|oc-presentation\\.ltcc\\.tuwien\\.ac\\.at|medien\\.ph-noe\\.ac\\.at|oc-video\\.ruhr-uni-bochum\\.de|oc-video1\\.ruhr-uni-bochum\\.de|opencast\\.informatik\\.uni-goettingen\\.de|heicast\\.uni-heidelberg\\.de|opencast\\.hawk\\.de:8080|opencast\\.hs-osnabrueck\\.de|video[0-9]+\\.virtuos\\.uni-osnabrueck\\.de|opencast\\.uni-koeln\\.de|media\\.opencast\\.hochschule-rhein-waal\\.de|matterhorn\\.dce\\.harvard\\.edu|hs-harz\\.opencast\\.uni-halle\\.de|videocampus\\.urz\\.uni-leipzig\\.de|media\\.uct\\.ac\\.za|vid\\.igb\\.illinois\\.edu|cursosabertos\\.c3sl\\.ufpr\\.br|mcmedia\\.missioncollege\\.org|clases\\.odon\\.edu\\.uy))/paella/ui/watch\\.html\\?(?:[^#]+&)?id=([\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12})"
      },
      "opencastplaylist": {
        "name": "opencastplaylist",
        "type": "free",
        "domains": [
          "oc-video1.ruhr-uni-bochum.de",
          "electures.uni-muenster.de"
        ],
        "regexps": [
          "https?://((?:opencast\\.informatik\\.kit\\.edu|electures\\.uni-muenster\\.de|oc-presentation\\.ltcc\\.tuwien\\.ac\\.at|medien\\.ph-noe\\.ac\\.at|oc-video\\.ruhr-uni-bochum\\.de|oc-video1\\.ruhr-uni-bochum\\.de|opencast\\.informatik\\.uni-goettingen\\.de|heicast\\.uni-heidelberg\\.de|opencast\\.hawk\\.de:8080|opencast\\.hs-osnabrueck\\.de|video[0-9]+\\.virtuos\\.uni-osnabrueck\\.de|opencast\\.uni-koeln\\.de|media\\.opencast\\.hochschule-rhein-waal\\.de|matterhorn\\.dce\\.harvard\\.edu|hs-harz\\.opencast\\.uni-halle\\.de|videocampus\\.urz\\.uni-leipzig\\.de|media\\.uct\\.ac\\.za|vid\\.igb\\.illinois\\.edu|cursosabertos\\.c3sl\\.ufpr\\.br|mcmedia\\.missioncollege\\.org|clases\\.odon\\.edu\\.uy))(?:/engage/ui/index\\.html\\?(?:[^#]+&)?epFrom=|/ltitools/index\\.html\\?(?:[^#]+&)?series=)([\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12})"
        ],
        "regexp": "https?://((?:opencast\\.informatik\\.kit\\.edu|electures\\.uni-muenster\\.de|oc-presentation\\.ltcc\\.tuwien\\.ac\\.at|medien\\.ph-noe\\.ac\\.at|oc-video\\.ruhr-uni-bochum\\.de|oc-video1\\.ruhr-uni-bochum\\.de|opencast\\.informatik\\.uni-goettingen\\.de|heicast\\.uni-heidelberg\\.de|opencast\\.hawk\\.de:8080|opencast\\.hs-osnabrueck\\.de|video[0-9]+\\.virtuos\\.uni-osnabrueck\\.de|opencast\\.uni-koeln\\.de|media\\.opencast\\.hochschule-rhein-waal\\.de|matterhorn\\.dce\\.harvard\\.edu|hs-harz\\.opencast\\.uni-halle\\.de|videocampus\\.urz\\.uni-leipzig\\.de|media\\.uct\\.ac\\.za|vid\\.igb\\.illinois\\.edu|cursosabertos\\.c3sl\\.ufpr\\.br|mcmedia\\.missioncollege\\.org|clases\\.odon\\.edu\\.uy))(?:/engage/ui/index\\.html\\?(?:[^#]+&)?epFrom=|/ltitools/index\\.html\\?(?:[^#]+&)?series=)([\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12})"
      },
      "openrec": {
        "name": "openrec",
        "type": "free",
        "domains": [
          "openrec.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?openrec\\.tv/capture/([^/?#]+)",
          "https?://(?:www\\.)?openrec\\.tv/live/([^/?#]+)",
          "https?://(?:www\\.)?openrec\\.tv/movie/([^/?#]+)"
        ],
        "regexp": "(https?://(?:www\\.)?openrec\\.tv/capture/([^/?#]+))|(https?://(?:www\\.)?openrec\\.tv/live/([^/?#]+))|(https?://(?:www\\.)?openrec\\.tv/movie/([^/?#]+))"
      },
      "oratv": {
        "name": "oratv",
        "type": "free",
        "domains": [
          "ora.tv",
          "unsafespeech.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:ora\\.tv|unsafespeech\\.com)/([^/]+/)*([^/\\?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:ora\\.tv|unsafespeech\\.com)/([^/]+/)*([^/\\?#]+)"
      },
      "orf": {
        "name": "orf",
        "type": "free",
        "domains": [
          "on.orf.at",
          "sound.orf.at",
          "radiothek.orf.at",
          "ooe.orf.at",
          "fm4.orf.at",
          "noe.orf.at",
          "wien.orf.at",
          "burgenland.orf.at",
          "steiermark.orf.at",
          "kaernten.orf.at",
          "salzburg.orf.at",
          "tirol.orf.at",
          "vorarlberg.orf.at",
          "oe3.orf.at",
          "oe1.orf.at"
        ],
        "regexps": [
          "https?://fm4\\.orf\\.at/stories/(\\d+)",
          "https?://iptv\\.orf\\.at/(?:#/)?stories/(\\d+)",
          "https?://on\\.orf\\.at/video/(\\d+)(?:/(\\d+))?",
          "https?://sound\\.orf\\.at/podcast/(bgl|fm4|ktn|noe|oe1|oe3|ooe|sbg|stm|tir|tv|vbg|wie)/([\\w-]+)/([\\w-]+)",
          "https?://(?:(fm4|noe|wien|burgenland|ooe|steiermark|kaernten|salzburg|tirol|vorarlberg|oe3|oe1)\\.orf\\.at/player|radiothek\\.orf\\.at/(fm4|noe|wien|burgenland|ooe|steiermark|kaernten|salzburg|tirol|vorarlberg|oe3|oe1))/([0-9]+)/(\\w+)"
        ],
        "regexp": "(https?://fm4\\.orf\\.at/stories/(\\d+))|(https?://iptv\\.orf\\.at/(?:#/)?stories/(\\d+))|(https?://on\\.orf\\.at/video/(\\d+)(?:/(\\d+))?)|(https?://sound\\.orf\\.at/podcast/(bgl|fm4|ktn|noe|oe1|oe3|ooe|sbg|stm|tir|tv|vbg|wie)/([\\w-]+)/([\\w-]+))|(https?://(?:(fm4|noe|wien|burgenland|ooe|steiermark|kaernten|salzburg|tirol|vorarlberg|oe3|oe1)\\.orf\\.at/player|radiothek\\.orf\\.at/(fm4|noe|wien|burgenland|ooe|steiermark|kaernten|salzburg|tirol|vorarlberg|oe3|oe1))/([0-9]+)/(\\w+))"
      },
      "osnateltv": {
        "name": "osnateltv",
        "type": "free",
        "domains": [
          "tvonline.osnatel.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvonline\\.osnatel\\.de/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?tvonline\\.osnatel\\.de/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "osnateltvlive": {
        "name": "osnateltvlive",
        "type": "free",
        "domains": [
          "tvonline.osnatel.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvonline\\.osnatel\\.de/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?tvonline\\.osnatel\\.de/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "osnateltvrecordings": {
        "name": "osnateltvrecordings",
        "type": "free",
        "domains": [
          "tvonline.osnatel.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvonline\\.osnatel\\.de/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?tvonline\\.osnatel\\.de/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "outsidetv": {
        "name": "outsidetv",
        "type": "free",
        "domains": [
          "outsidetv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?outsidetv\\.com/(?:[^/]+/)*?play/[a-zA-Z0-9]{8}/\\d+/\\d+/([a-zA-Z0-9]{8})"
        ],
        "regexp": "https?://(?:www\\.)?outsidetv\\.com/(?:[^/]+/)*?play/[a-zA-Z0-9]{8}/\\d+/\\d+/([a-zA-Z0-9]{8})"
      },
      "owncloud": {
        "name": "owncloud",
        "type": "free",
        "domains": [
          "ruhr-uni-bochum.sciebo.de"
        ],
        "regexps": [
          "https?://(?:(?:[^\\.]+\\.)?sciebo\\.de|cloud\\.uni-koblenz-landau\\.de)/s/([\\w.-]+)"
        ],
        "regexp": "https?://(?:(?:[^\\.]+\\.)?sciebo\\.de|cloud\\.uni-koblenz-landau\\.de)/s/([\\w.-]+)"
      },
      "packtpub": {
        "name": "packtpub",
        "type": "free",
        "domains": [
          "packtpub.com",
          "subscription.packtpub.com"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?packtpub\\.com/mapt|subscription\\.packtpub\\.com)/video/[^/]+/(\\d+)/([^/]+)/([^/]+)(?:/([^/?&#]+))?"
        ],
        "regexp": "https?://(?:(?:www\\.)?packtpub\\.com/mapt|subscription\\.packtpub\\.com)/video/[^/]+/(\\d+)/([^/]+)/([^/]+)(?:/([^/?&#]+))?"
      },
      "packtpubcourse": {
        "name": "packtpubcourse",
        "type": "free",
        "domains": [
          "packtpub.com",
          "subscription.packtpub.com"
        ],
        "regexps": [
          "(https?://(?:(?:www\\.)?packtpub\\.com/mapt|subscription\\.packtpub\\.com)/video/[^/]+/(\\d+))"
        ],
        "regexp": "(https?://(?:(?:www\\.)?packtpub\\.com/mapt|subscription\\.packtpub\\.com)/video/[^/]+/(\\d+))"
      },
      "palcomp3": {
        "name": "palcomp3",
        "type": "free",
        "domains": [
          "palcomp3.com.br",
          "palcomp3.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?palcomp3\\.com(?:\\.br)?/([^/?&#]+)",
          "https?://(?:www\\.)?palcomp3\\.com(?:\\.br)?/([^/]+)/([^/?&#]+)",
          "https?://(?:www\\.)?palcomp3\\.com(?:\\.br)?/([^/]+)/([^/?&#]+)/?#clipe"
        ],
        "regexp": "(https?://(?:www\\.)?palcomp3\\.com(?:\\.br)?/([^/?&#]+))|(https?://(?:www\\.)?palcomp3\\.com(?:\\.br)?/([^/]+)/([^/?&#]+))|(https?://(?:www\\.)?palcomp3\\.com(?:\\.br)?/([^/]+)/([^/?&#]+)/?#clipe)"
      },
      "pandatv": {
        "name": "pandatv",
        "type": "free",
        "domains": [
          "pandalive.co.kr"
        ],
        "regexps": [
          "https?://(?:www\\.|m\\.)?pandalive\\.co\\.kr/play/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.|m\\.)?pandalive\\.co\\.kr/play/(\\w+)"
      },
      "panopto": {
        "name": "panopto",
        "type": "free",
        "domains": [
          "demo.hosted.panopto.com",
          "howtovideos.hosted.panopto.com",
          "unisa.au.panopto.com",
          "na-training-1.hosted.panopto.com",
          "ucc.cloud.panopto.eu",
          "brown.hosted.panopto.com"
        ],
        "regexps": [
          "(https?://[\\w.-]+\\.panopto.(?:com|eu)/Panopto)/Pages/(Viewer|Embed)\\.aspx.*(?:\\?|&)id=([a-f0-9-]+)"
        ],
        "regexp": "(https?://[\\w.-]+\\.panopto.(?:com|eu)/Panopto)/Pages/(Viewer|Embed)\\.aspx.*(?:\\?|&)id=([a-f0-9-]+)"
      },
      "panoptolist": {
        "name": "panoptolist",
        "type": "free",
        "domains": [
          "demo.hosted.panopto.com",
          "howtovideos.hosted.panopto.com"
        ],
        "regexps": [
          "(https?://[\\w.-]+\\.panopto.(?:com|eu)/Panopto)/Pages/Sessions/List\\.aspx"
        ],
        "regexp": "(https?://[\\w.-]+\\.panopto.(?:com|eu)/Panopto)/Pages/Sessions/List\\.aspx"
      },
      "panoptoplaylist": {
        "name": "panoptoplaylist",
        "type": "free",
        "domains": [
          "howtovideos.hosted.panopto.com",
          "utsa.hosted.panopto.com"
        ],
        "regexps": [
          "(https?://[\\w.-]+\\.panopto.(?:com|eu)/Panopto)/Pages/(Viewer|Embed)\\.aspx.*(?:\\?|&)pid=([a-f0-9-]+)"
        ],
        "regexp": "(https?://[\\w.-]+\\.panopto.(?:com|eu)/Panopto)/Pages/(Viewer|Embed)\\.aspx.*(?:\\?|&)pid=([a-f0-9-]+)"
      },
      "paramountpressexpress": {
        "name": "paramountpressexpress",
        "type": "free",
        "domains": [
          "paramountpressexpress.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?paramountpressexpress\\.com(?:/[\\w-]+)+/(yt-)?video/?\\?watch=([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?paramountpressexpress\\.com(?:/[\\w-]+)+/(yt-)?video/?\\?watch=([\\w-]+)"
      },
      "parler": {
        "name": "parler",
        "type": "free",
        "domains": [
          "parler.com"
        ],
        "regexps": [
          "https?://parler\\.com/feed/([0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12})"
        ],
        "regexp": "https?://parler\\.com/feed/([0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12})"
      },
      "parliamentlive.tv": {
        "name": "parliamentlive.tv",
        "type": "free",
        "domains": [
          "parliamentlive.tv"
        ],
        "regexps": [
          "(?i)https?://(?:www\\.)?parliamentlive\\.tv/Event/Index/([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
        ],
        "regexp": "(?i)https?://(?:www\\.)?parliamentlive\\.tv/Event/Index/([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
      },
      "parlview": {
        "name": "parlview",
        "type": "free",
        "domains": [
          "aph.gov.au"
        ],
        "regexps": [
          "https?://(?:www\\.)?aph\\.gov\\.au/News_and_Events/Watch_Read_Listen/ParlView/video/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?aph\\.gov\\.au/News_and_Events/Watch_Read_Listen/ParlView/video/([^/?#]+)"
      },
      "parti": {
        "name": "parti",
        "type": "free",
        "domains": [
          "parti.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?parti\\.com/(?!video/)([\\w/-]+)",
          "https?://(?:www\\.)?parti\\.com/video/(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?parti\\.com/(?!video/)([\\w/-]+))|(https?://(?:www\\.)?parti\\.com/video/(\\d+))"
      },
      "patreon": {
        "name": "patreon",
        "type": "free",
        "domains": [
          "patreon.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?patreon\\.com/(?:(?:m|api/campaigns)/(\\d+)|(?:cw?/)?((?!creation[?/]|posts/|rss[?/])[\\w-]+))(?:/posts)?/?(?:$|[?#])",
          "https?://(?:www\\.)?patreon\\.com/(?:creation\\?hid=|posts/(?:[\\w-]+-)?)(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?patreon\\.com/(?:(?:m|api/campaigns)/(\\d+)|(?:cw?/)?((?!creation[?/]|posts/|rss[?/])[\\w-]+))(?:/posts)?/?(?:$|[?#]))|(https?://(?:www\\.)?patreon\\.com/(?:creation\\?hid=|posts/(?:[\\w-]+-)?)(\\d+))"
      },
      "pbs": {
        "name": "pbs",
        "type": "free",
        "domains": [
          "pbs.org",
          "thirteen.org",
          "player.pbs.org",
          "pbssocal.org",
          "watch.knpb.org"
        ],
        "regexps": [
          "https?://(?:(?:video|player)\\.pbs\\.org/(?:widget/)?partnerplayer/([^/?#]+)|(?:(?:video|www|player)\\.pbs\\.org|video\\.aptv\\.org|video\\.gpb\\.org|video\\.mpbonline\\.org|video\\.wnpt\\.org|video\\.wfsu\\.org|video\\.wsre\\.org|video\\.wtcitv\\.org|video\\.pba\\.org|video\\.alaskapublic\\.org|video\\.azpbs\\.org|portal\\.knme\\.org|video\\.vegaspbs\\.org|watch\\.aetn\\.org|video\\.ket\\.org|video\\.wkno\\.org|video\\.lpb\\.org|videos\\.oeta\\.tv|video\\.optv\\.org|watch\\.wsiu\\.org|video\\.keet\\.org|pbs\\.kixe\\.org|video\\.kpbs\\.org|video\\.kqed\\.org|vids\\.kvie\\.org|(?:video\\.|www\\.)pbssocal\\.org|video\\.valleypbs\\.org|video\\.cptv\\.org|watch\\.knpb\\.org|video\\.soptv\\.org|video\\.rmpbs\\.org|video\\.kenw\\.org|video\\.kued\\.org|video\\.wyomingpbs\\.org|video\\.cpt12\\.org|video\\.kbyueleven\\.org|(?:video\\.|www\\.)thirteen\\.org|video\\.wgbh\\.org|video\\.wgby\\.org|watch\\.njtvonline\\.org|watch\\.wliw\\.org|video\\.mpt\\.tv|watch\\.weta\\.org|video\\.whyy\\.org|video\\.wlvt\\.org|video\\.wvpt\\.net|video\\.whut\\.org|video\\.wedu\\.org|video\\.wgcu\\.org|video\\.wpbt2\\.org|video\\.wucftv\\.org|video\\.wuft\\.org|watch\\.wxel\\.org|video\\.wlrn\\.org|video\\.wusf\\.usf\\.edu|video\\.scetv\\.org|video\\.unctv\\.org|video\\.pbshawaii\\.org|video\\.idahoptv\\.org|video\\.ksps\\.org|watch\\.opb\\.org|watch\\.nwptv\\.org|video\\.will\\.illinois\\.edu|video\\.networkknowledge\\.tv|video\\.wttw\\.com|video\\.iptv\\.org|video\\.ninenet\\.org|video\\.wfwa\\.org|video\\.wfyi\\.org|video\\.mptv\\.org|video\\.wnin\\.org|video\\.wnit\\.org|video\\.wpt\\.org|video\\.wvut\\.org|video\\.weiu\\.net|video\\.wqpt\\.org|video\\.wycc\\.org|video\\.wipb\\.org|video\\.indianapublicmedia\\.org|watch\\.cetconnect\\.org|video\\.thinktv\\.org|video\\.wbgu\\.org|video\\.wgvu\\.org|video\\.netnebraska\\.org|video\\.pioneer\\.org|watch\\.sdpb\\.org|video\\.tpt\\.org|watch\\.ksmq\\.org|watch\\.kpts\\.org|watch\\.ktwu\\.org|watch\\.easttennesseepbs\\.org|video\\.wcte\\.tv|video\\.wljt\\.org|video\\.wosu\\.org|video\\.woub\\.org|video\\.wvpublic\\.org|video\\.wkyupbs\\.org|video\\.kera\\.org|video\\.mpbn\\.net|video\\.mountainlake\\.org|video\\.nhptv\\.org|video\\.vpt\\.org|video\\.witf\\.org|watch\\.wqed\\.org|video\\.wmht\\.org|video\\.deltabroadcasting\\.org|video\\.dptv\\.org|video\\.wcmu\\.org|video\\.wkar\\.org|wnmuvideo\\.nmu\\.edu|video\\.wdse\\.org|video\\.wgte\\.org|video\\.lptv\\.org|video\\.kmos\\.org|watch\\.montanapbs\\.org|video\\.krwg\\.org|video\\.kacvtv\\.org|video\\.kcostv\\.org|video\\.wcny\\.org|video\\.wned\\.org|watch\\.wpbstv\\.org|video\\.wskg\\.org|video\\.wxxi\\.org|video\\.wpsu\\.org|on-demand\\.wvia\\.org|video\\.wtvi\\.org|video\\.westernreservepublicmedia\\.org|video\\.ideastream\\.org|video\\.kcts9\\.org|video\\.basinpbs\\.org|video\\.houstonpbs\\.org|video\\.klrn\\.org|video\\.klru\\.tv|video\\.wtjx\\.org|video\\.ideastations\\.org|video\\.kbtc\\.org)/(?:(?:(?:vir|port)alplayer|video)/([0-9]+)(?:[?/#]|$)|(?:[^/?#]+/){1,5}([^/?#]+?)(?:\\.html)?/?(?:$|[?#])))"
        ],
        "regexp": "https?://(?:(?:video|player)\\.pbs\\.org/(?:widget/)?partnerplayer/([^/?#]+)|(?:(?:video|www|player)\\.pbs\\.org|video\\.aptv\\.org|video\\.gpb\\.org|video\\.mpbonline\\.org|video\\.wnpt\\.org|video\\.wfsu\\.org|video\\.wsre\\.org|video\\.wtcitv\\.org|video\\.pba\\.org|video\\.alaskapublic\\.org|video\\.azpbs\\.org|portal\\.knme\\.org|video\\.vegaspbs\\.org|watch\\.aetn\\.org|video\\.ket\\.org|video\\.wkno\\.org|video\\.lpb\\.org|videos\\.oeta\\.tv|video\\.optv\\.org|watch\\.wsiu\\.org|video\\.keet\\.org|pbs\\.kixe\\.org|video\\.kpbs\\.org|video\\.kqed\\.org|vids\\.kvie\\.org|(?:video\\.|www\\.)pbssocal\\.org|video\\.valleypbs\\.org|video\\.cptv\\.org|watch\\.knpb\\.org|video\\.soptv\\.org|video\\.rmpbs\\.org|video\\.kenw\\.org|video\\.kued\\.org|video\\.wyomingpbs\\.org|video\\.cpt12\\.org|video\\.kbyueleven\\.org|(?:video\\.|www\\.)thirteen\\.org|video\\.wgbh\\.org|video\\.wgby\\.org|watch\\.njtvonline\\.org|watch\\.wliw\\.org|video\\.mpt\\.tv|watch\\.weta\\.org|video\\.whyy\\.org|video\\.wlvt\\.org|video\\.wvpt\\.net|video\\.whut\\.org|video\\.wedu\\.org|video\\.wgcu\\.org|video\\.wpbt2\\.org|video\\.wucftv\\.org|video\\.wuft\\.org|watch\\.wxel\\.org|video\\.wlrn\\.org|video\\.wusf\\.usf\\.edu|video\\.scetv\\.org|video\\.unctv\\.org|video\\.pbshawaii\\.org|video\\.idahoptv\\.org|video\\.ksps\\.org|watch\\.opb\\.org|watch\\.nwptv\\.org|video\\.will\\.illinois\\.edu|video\\.networkknowledge\\.tv|video\\.wttw\\.com|video\\.iptv\\.org|video\\.ninenet\\.org|video\\.wfwa\\.org|video\\.wfyi\\.org|video\\.mptv\\.org|video\\.wnin\\.org|video\\.wnit\\.org|video\\.wpt\\.org|video\\.wvut\\.org|video\\.weiu\\.net|video\\.wqpt\\.org|video\\.wycc\\.org|video\\.wipb\\.org|video\\.indianapublicmedia\\.org|watch\\.cetconnect\\.org|video\\.thinktv\\.org|video\\.wbgu\\.org|video\\.wgvu\\.org|video\\.netnebraska\\.org|video\\.pioneer\\.org|watch\\.sdpb\\.org|video\\.tpt\\.org|watch\\.ksmq\\.org|watch\\.kpts\\.org|watch\\.ktwu\\.org|watch\\.easttennesseepbs\\.org|video\\.wcte\\.tv|video\\.wljt\\.org|video\\.wosu\\.org|video\\.woub\\.org|video\\.wvpublic\\.org|video\\.wkyupbs\\.org|video\\.kera\\.org|video\\.mpbn\\.net|video\\.mountainlake\\.org|video\\.nhptv\\.org|video\\.vpt\\.org|video\\.witf\\.org|watch\\.wqed\\.org|video\\.wmht\\.org|video\\.deltabroadcasting\\.org|video\\.dptv\\.org|video\\.wcmu\\.org|video\\.wkar\\.org|wnmuvideo\\.nmu\\.edu|video\\.wdse\\.org|video\\.wgte\\.org|video\\.lptv\\.org|video\\.kmos\\.org|watch\\.montanapbs\\.org|video\\.krwg\\.org|video\\.kacvtv\\.org|video\\.kcostv\\.org|video\\.wcny\\.org|video\\.wned\\.org|watch\\.wpbstv\\.org|video\\.wskg\\.org|video\\.wxxi\\.org|video\\.wpsu\\.org|on-demand\\.wvia\\.org|video\\.wtvi\\.org|video\\.westernreservepublicmedia\\.org|video\\.ideastream\\.org|video\\.kcts9\\.org|video\\.basinpbs\\.org|video\\.houstonpbs\\.org|video\\.klrn\\.org|video\\.klru\\.tv|video\\.wtjx\\.org|video\\.ideastations\\.org|video\\.kbtc\\.org)/(?:(?:(?:vir|port)alplayer|video)/([0-9]+)(?:[?/#]|$)|(?:[^/?#]+/){1,5}([^/?#]+?)(?:\\.html)?/?(?:$|[?#])))"
      },
      "pbskids": {
        "name": "pbskids",
        "type": "free",
        "domains": [
          "pbskids.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?pbskids\\.org/video/[\\w-]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?pbskids\\.org/video/[\\w-]+/(\\d+)"
      },
      "pearvideo": {
        "name": "pearvideo",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?pearvideo\\.com/video_(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?pearvideo\\.com/video_(\\d+)"
      },
      "peekvids": {
        "name": "peekvids",
        "type": "free",
        "domains": [
          "peekvids.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(peekvids\\.com)/(?:(?:[^/?#]+/){2}|embed/?\\?(?:[^#]*&)?v=)([^/?&#]*)"
        ],
        "regexp": "https?://(?:www\\.)?(peekvids\\.com)/(?:(?:[^/?#]+/){2}|embed/?\\?(?:[^#]*&)?v=)([^/?&#]*)"
      },
      "peer.tv": {
        "name": "peer.tv",
        "type": "free",
        "domains": [
          "peer.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?peer\\.tv/(?:de|it|en)/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?peer\\.tv/(?:de|it|en)/(\\d+)"
      },
      "peloton": {
        "name": "peloton",
        "type": "free",
        "domains": [
          "members.onepeloton.com"
        ],
        "regexps": [
          "https?://members\\.onepeloton\\.com/classes/player/([a-f0-9]+)",
          "https?://members\\.onepeloton\\.com/player/live/([a-f0-9]+)"
        ],
        "regexp": "(https?://members\\.onepeloton\\.com/classes/player/([a-f0-9]+))|(https?://members\\.onepeloton\\.com/player/live/([a-f0-9]+))"
      },
      "performgroup": {
        "name": "performgroup",
        "type": "free",
        "domains": [
          "player.performgroup.com"
        ],
        "regexps": [
          "https?://player\\.performgroup\\.com/eplayer(?:/eplayer\\.html|\\.js)#/?([0-9a-f]{26})\\.([0-9a-z]{26})"
        ],
        "regexp": "https?://player\\.performgroup\\.com/eplayer(?:/eplayer\\.html|\\.js)#/?([0-9a-f]{26})\\.([0-9a-z]{26})"
      },
      "periscope": {
        "name": "periscope",
        "type": "free",
        "domains": [
          "periscope.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:periscope|pscp)\\.tv/[^/]+/([^/?#]+)",
          "https?://(?:www\\.)?(?:periscope|pscp)\\.tv/([^/]+)/?$"
        ],
        "regexp": "(https?://(?:www\\.)?(?:periscope|pscp)\\.tv/[^/]+/([^/?#]+))|(https?://(?:www\\.)?(?:periscope|pscp)\\.tv/([^/]+)/?$)"
      },
      "pgatour": {
        "name": "pgatour",
        "type": "free",
        "domains": [
          "pgatour.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?pgatour\\.com/video/[\\w-]+/(T)?(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?pgatour\\.com/video/[\\w-]+/(T)?(\\d+)"
      },
      "philharmoniedeparis": {
        "name": "philharmoniedeparis",
        "type": "free",
        "domains": [
          "philharmoniedeparis.fr",
          "live.philharmoniedeparis.fr",
          "otoplayer.philharmoniedeparis.fr"
        ],
        "regexps": [
          "https?://(?:live\\.philharmoniedeparis\\.fr/(?:[Cc]oncert/|embed(?:app)?/|misc/Playlist\\.ashx\\?id=)|pad\\.philharmoniedeparis\\.fr/(?:doc/CIMU/|player\\.aspx\\?id=)|philharmoniedeparis\\.fr/fr/live/concert/|otoplayer\\.philharmoniedeparis\\.fr/fr/embed/)(\\d+)"
        ],
        "regexp": "https?://(?:live\\.philharmoniedeparis\\.fr/(?:[Cc]oncert/|embed(?:app)?/|misc/Playlist\\.ashx\\?id=)|pad\\.philharmoniedeparis\\.fr/(?:doc/CIMU/|player\\.aspx\\?id=)|philharmoniedeparis\\.fr/fr/live/concert/|otoplayer\\.philharmoniedeparis\\.fr/fr/embed/)(\\d+)"
      },
      "phoenix.de": {
        "name": "phoenix.de",
        "type": "free",
        "domains": [
          "phoenix.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?phoenix\\.de/(?:[^/?#]+/)*[^/?#&]*-a-(\\d+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?phoenix\\.de/(?:[^/?#]+/)*[^/?#&]*-a-(\\d+)\\.html"
      },
      "photobucket": {
        "name": "photobucket",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:[a-z0-9]+\\.)?photobucket\\.com/.*(([\\?\\&]current=)|_)(.*)\\.((flv)|(mp4))"
        ],
        "regexp": "https?://(?:[a-z0-9]+\\.)?photobucket\\.com/.*(([\\?\\&]current=)|_)(.*)\\.((flv)|(mp4))"
      },
      "pialive": {
        "name": "pialive",
        "type": "free",
        "domains": [
          "player.pia-live.jp"
        ],
        "regexps": [
          "https?://player\\.pia-live\\.jp/stream/([\\w-]+)"
        ],
        "regexp": "https?://player\\.pia-live\\.jp/stream/([\\w-]+)"
      },
      "piapro": {
        "name": "piapro",
        "type": "free",
        "domains": [
          "piapro.jp"
        ],
        "regexps": [
          "https?://piapro\\.jp/(?:t|content)/([\\w-]+)/?"
        ],
        "regexp": "https?://piapro\\.jp/(?:t|content)/([\\w-]+)/?"
      },
      "picarto": {
        "name": "picarto",
        "type": "free",
        "domains": [
          "picarto.tv"
        ],
        "regexps": [
          "https?://(?:www.)?picarto\\.tv/([^/#?]+)/?(?:$|[?#])",
          "https?://(?:www\\.)?picarto\\.tv/(?:videopopout|\\w+(?:/profile)?/videos)/([^/?#&]+)"
        ],
        "regexp": "(https?://(?:www.)?picarto\\.tv/([^/#?]+)/?(?:$|[?#]))|(https?://(?:www\\.)?picarto\\.tv/(?:videopopout|\\w+(?:/profile)?/videos)/([^/?#&]+))"
      },
      "piksel": {
        "name": "piksel",
        "type": "free",
        "domains": [
          "player.piksel.tech",
          "player.piksel.com"
        ],
        "regexps": [
          "https?://(?:(?:player\\.(?:olympusattelecom|vibebyvista)|(?:api|player)\\.multicastmedia|(?:api-ovp|player)\\.piksel)\\.(?:com|tech)|(?:mz-edge\\.stream\\.co|movie-s\\.nhk\\.or)\\.jp|vidego\\.baltimorecity\\.gov)/v/(?:refid/([^/]+)/prefid/)?([\\w-]+)"
        ],
        "regexp": "https?://(?:(?:player\\.(?:olympusattelecom|vibebyvista)|(?:api|player)\\.multicastmedia|(?:api-ovp|player)\\.piksel)\\.(?:com|tech)|(?:mz-edge\\.stream\\.co|movie-s\\.nhk\\.or)\\.jp|vidego\\.baltimorecity\\.gov)/v/(?:refid/([^/]+)/prefid/)?([\\w-]+)"
      },
      "pinkbike": {
        "name": "pinkbike",
        "type": "free",
        "domains": [
          "pinkbike.com",
          "es.pinkbike.org"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?pinkbike\\.com/video/|es\\.pinkbike\\.org/i/kvid/kvid-y5\\.swf\\?id=)([0-9]+)"
        ],
        "regexp": "https?://(?:(?:www\\.)?pinkbike\\.com/video/|es\\.pinkbike\\.org/i/kvid/kvid-y5\\.swf\\?id=)([0-9]+)"
      },
      "pinterest": {
        "name": "pinterest",
        "type": "free",
        "domains": [
          "pinterest.com",
          "pinterest.ca",
          "co.pinterest.com"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?pinterest\\.(?:com|fr|de|ch|jp|cl|ca|it|co\\.uk|nz|ru|com\\.au|at|pt|co\\.kr|es|com\\.mx|dk|ph|th|com\\.uy|co|nl|info|kr|ie|vn|com\\.vn|ec|mx|in|pe|co\\.at|hu|co\\.in|co\\.nz|id|com\\.ec|com\\.py|tw|be|uk|com\\.bo|com\\.pe)/pin/(?:[\\w-]+--)?(\\d+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?pinterest\\.(?:com|fr|de|ch|jp|cl|ca|it|co\\.uk|nz|ru|com\\.au|at|pt|co\\.kr|es|com\\.mx|dk|ph|th|com\\.uy|co|nl|info|kr|ie|vn|com\\.vn|ec|mx|in|pe|co\\.at|hu|co\\.in|co\\.nz|id|com\\.ec|com\\.py|tw|be|uk|com\\.bo|com\\.pe)/pin/(?:[\\w-]+--)?(\\d+)"
      },
      "pinterestcollection": {
        "name": "pinterestcollection",
        "type": "free",
        "domains": [
          "pinterest.ca"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?pinterest\\.(?:com|fr|de|ch|jp|cl|ca|it|co\\.uk|nz|ru|com\\.au|at|pt|co\\.kr|es|com\\.mx|dk|ph|th|com\\.uy|co|nl|info|kr|ie|vn|com\\.vn|ec|mx|in|pe|co\\.at|hu|co\\.in|co\\.nz|id|com\\.ec|com\\.py|tw|be|uk|com\\.bo|com\\.pe)/([^/]+)/([^/?#&]+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?pinterest\\.(?:com|fr|de|ch|jp|cl|ca|it|co\\.uk|nz|ru|com\\.au|at|pt|co\\.kr|es|com\\.mx|dk|ph|th|com\\.uy|co|nl|info|kr|ie|vn|com\\.vn|ec|mx|in|pe|co\\.at|hu|co\\.in|co\\.nz|id|com\\.ec|com\\.py|tw|be|uk|com\\.bo|com\\.pe)/([^/]+)/([^/?#&]+)"
      },
      "piramidetv": {
        "name": "piramidetv",
        "type": "free",
        "domains": [
          "piramide.tv"
        ],
        "regexps": [
          "https?://piramide\\.tv/video/([\\w-]+)"
        ],
        "regexp": "https?://piramide\\.tv/video/([\\w-]+)"
      },
      "piramidetvchannel": {
        "name": "piramidetvchannel",
        "type": "free",
        "domains": [
          "piramide.tv"
        ],
        "regexps": [
          "https?://piramide\\.tv/channel/([\\w-]+)"
        ],
        "regexp": "https?://piramide\\.tv/channel/([\\w-]+)"
      },
      "planetmarathi": {
        "name": "planetmarathi",
        "type": "free",
        "domains": [
          "planetmarathi.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?planetmarathi\\.com/titles/([^/#&?$]+)"
        ],
        "regexp": "https?://(?:www\\.)?planetmarathi\\.com/titles/([^/#&?$]+)"
      },
      "platzi": {
        "name": "platzi",
        "type": "free",
        "domains": [
          "platzi.com",
          "courses.platzi.com"
        ],
        "regexps": [
          "https?://(?:platzi\\.com/clases|courses\\.platzi\\.com/classes)/[^/]+/(\\d+)-[^/?\\#&]+"
        ],
        "regexp": "https?://(?:platzi\\.com/clases|courses\\.platzi\\.com/classes)/[^/]+/(\\d+)-[^/?\\#&]+"
      },
      "platzicourse": {
        "name": "platzicourse",
        "type": "free",
        "domains": [
          "platzi.com",
          "courses.platzi.com"
        ],
        "regexps": [
          "https?://(?:platzi\\.com/clases|courses\\.platzi\\.com/classes)/([^/?\\#&]+)"
        ],
        "regexp": "https?://(?:platzi\\.com/clases|courses\\.platzi\\.com/classes)/([^/?\\#&]+)"
      },
      "play.tv": {
        "name": "play.tv",
        "type": "free",
        "domains": [
          "play.tv"
        ],
        "regexps": [
          "https?://(www\\.)?play\\.tv/video/([^/?#]+/[^/?#]+/|)([^/#]+)"
        ],
        "regexp": "https?://(www\\.)?play\\.tv/video/([^/?#]+/[^/?#]+/|)([^/#]+)"
      },
      "player.sky.it": {
        "name": "player.sky.it",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://player\\.sky\\.it/player/(?:external|social)\\.html\\?.*?\\bid=(\\d+)"
        ],
        "regexp": "https?://player\\.sky\\.it/player/(?:external|social)\\.html\\?.*?\\bid=(\\d+)"
      },
      "playerfm": {
        "name": "playerfm",
        "type": "free",
        "domains": [
          "player.fm"
        ],
        "regexps": [
          "(https?://(?:www\\.)?player\\.fm/(?:series/)?[\\w-]+/([\\w-]+))"
        ],
        "regexp": "(https?://(?:www\\.)?player\\.fm/(?:series/)?[\\w-]+/([\\w-]+))"
      },
      "playeur": {
        "name": "playeur",
        "type": "free",
        "domains": [
          "utreon.com",
          "playeur.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:utreon|playeur)\\.com/v/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:utreon|playeur)\\.com/v/([\\w-]+)"
      },
      "playplustv": {
        "name": "playplustv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?playplus\\.(?:com|tv)/VOD/([0-9]+)/([0-9a-f]{32})"
        ],
        "regexp": "https?://(?:www\\.)?playplus\\.(?:com|tv)/VOD/([0-9]+)/([0-9a-f]{32})"
      },
      "playsuisse": {
        "name": "playsuisse",
        "type": "free",
        "domains": [
          "playsuisse.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?playsuisse\\.ch/(?:watch|detail)/(?:[^#]*[?&]episodeId=)?([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?playsuisse\\.ch/(?:watch|detail)/(?:[^#]*[?&]episodeId=)?([0-9]+)"
      },
      "playtvak": {
        "name": "playtvak",
        "type": "free",
        "domains": [
          "playtvak.cz",
          "slowtv.playtvak.cz",
          "zpravy.idnes.cz",
          "lidovky.cz",
          "metro.cz"
        ],
        "regexps": [
          "https?://(?:.+?\\.)?(?:playtvak|idnes|lidovky|metro)\\.cz/.*\\?(?:c|idvideo)=([^&]+)"
        ],
        "regexp": "https?://(?:.+?\\.)?(?:playtvak|idnes|lidovky|metro)\\.cz/.*\\?(?:c|idvideo)=([^&]+)"
      },
      "playvids": {
        "name": "playvids",
        "type": "free",
        "domains": [
          "playvids.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(playvids\\.com)/(?:embed/|\\w\\w?/)?([^/?#]*)"
        ],
        "regexp": "https?://(?:www\\.)?(playvids\\.com)/(?:embed/|\\w\\w?/)?([^/?#]*)"
      },
      "playwire": {
        "name": "playwire",
        "type": "free",
        "domains": [
          "config.playwire.com",
          "cdn.playwire.com"
        ],
        "regexps": [
          "https?://(?:config|cdn)\\.playwire\\.com(?:/v2)?/(\\d+)/(?:videos/v2|embed|config)/(\\d+)"
        ],
        "regexp": "https?://(?:config|cdn)\\.playwire\\.com(?:/v2)?/(\\d+)/(?:videos/v2|embed|config)/(\\d+)"
      },
      "pluralsight": {
        "name": "pluralsight",
        "type": "free",
        "domains": [
          "pluralsight.com",
          "app.pluralsight.com"
        ],
        "regexps": [
          "https?://(?:(?:www|app)\\.)?pluralsight\\.com/(?:library/)?courses/([^/]+)",
          "https?://(?:(?:www|app)\\.)?pluralsight\\.com/(?:training/)?player\\?"
        ],
        "regexp": "(https?://(?:(?:www|app)\\.)?pluralsight\\.com/(?:library/)?courses/([^/]+))|(https?://(?:(?:www|app)\\.)?pluralsight\\.com/(?:training/)?player\\?)"
      },
      "plutotv": {
        "name": "plutotv",
        "type": "free",
        "domains": [
          "pluto.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?pluto\\.tv(?:/[^/]+)?/on-demand/(movies|series)/([^/]+)(?:(?:/seasons?/(\\d+))?(?:/episode/([^/]+))?)?/?(?:$|[#?])"
        ],
        "regexp": "https?://(?:www\\.)?pluto\\.tv(?:/[^/]+)?/on-demand/(movies|series)/([^/]+)(?:(?:/seasons?/(\\d+))?(?:/episode/([^/]+))?)?/?(?:$|[#?])"
      },
      "plvideo": {
        "name": "plvideo",
        "type": "free",
        "domains": [
          "plvideo.ru"
        ],
        "regexps": [
          "https?://(?:www\\.)?plvideo\\.ru/(?:watch\\?(?:[^#]+&)?v=|shorts/)([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?plvideo\\.ru/(?:watch\\?(?:[^#]+&)?v=|shorts/)([\\w-]+)"
      },
      "podbayfm": {
        "name": "podbayfm",
        "type": "free",
        "domains": [
          "podbay.fm"
        ],
        "regexps": [
          "https?://podbay\\.fm/p/[^/?#]+/e/(\\d+)"
        ],
        "regexp": "https?://podbay\\.fm/p/[^/?#]+/e/(\\d+)"
      },
      "podbayfmchannel": {
        "name": "podbayfmchannel",
        "type": "free",
        "domains": [
          "podbay.fm"
        ],
        "regexps": [
          "https?://podbay\\.fm/p/([^/?#]+)/?(?:$|[?#])"
        ],
        "regexp": "https?://podbay\\.fm/p/([^/?#]+)/?(?:$|[?#])"
      },
      "podchaser": {
        "name": "podchaser",
        "type": "free",
        "domains": [
          "podchaser.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?podchaser\\.com/podcasts/[\\w-]+-(\\d+)(?:/episodes/[\\w-]+-(\\d+))?"
        ],
        "regexp": "https?://(?:www\\.)?podchaser\\.com/podcasts/[\\w-]+-(\\d+)(?:/episodes/[\\w-]+-(\\d+))?"
      },
      "podomatic": {
        "name": "podomatic",
        "type": "free",
        "domains": [
          "scienceteachingtips.podomatic.com",
          "ostbahnhof.podomatic.com",
          "podomatic.com"
        ],
        "regexps": [
          "(https?)://(?:([^.]+)\\.podomatic\\.com/entry|(?:www\\.)?podomatic\\.com/podcasts/([^/]+)/episodes)/([^/?#&]+)"
        ],
        "regexp": "(https?)://(?:([^.]+)\\.podomatic\\.com/entry|(?:www\\.)?podomatic\\.com/podcasts/([^/]+)/episodes)/([^/?#&]+)"
      },
      "pokergo": {
        "name": "pokergo",
        "type": "free",
        "domains": [
          "pokergo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?pokergo\\.com/videos/([^&$#/?]+)"
        ],
        "regexp": "https?://(?:www\\.)?pokergo\\.com/videos/([^&$#/?]+)"
      },
      "pokergocollection": {
        "name": "pokergocollection",
        "type": "free",
        "domains": [
          "pokergo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?pokergo\\.com/collections/([^&$#/?]+)"
        ],
        "regexp": "https?://(?:www\\.)?pokergo\\.com/collections/([^&$#/?]+)"
      },
      "polsatgo": {
        "name": "polsatgo",
        "type": "free",
        "domains": [
          "polsatgo.pl"
        ],
        "regexps": [
          "https?://(?:www\\.)?polsat(?:box)?go\\.pl/.+/([0-9a-fA-F]+)(?:[/#?]|$)"
        ],
        "regexp": "https?://(?:www\\.)?polsat(?:box)?go\\.pl/.+/([0-9a-fA-F]+)(?:[/#?]|$)"
      },
      "polskieradio": {
        "name": "polskieradio",
        "type": "free",
        "domains": [
          "jedynka.polskieradio.pl",
          "trojka.polskieradio.pl",
          "polskieradio.pl",
          "radiokierowcow.pl",
          "polskieradio24.pl",
          "player.polskieradio.pl",
          "podcasty.polskieradio.pl"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?polskieradio\\.pl/audycj[ae]/(\\d+)",
          "https?://(?:www\\.)?polskieradio\\.pl/(?:\\d+(?:,[^/]+)?/|[^/]+/Tag)(\\d+)",
          "https?://(?:[^/]+\\.)?(?:polskieradio(?:24)?|radiokierowcow)\\.pl/artykul/(\\d+)",
          "https?://(?:www\\.)?polskieradio(?:24)?\\.pl/\\d+/\\d+/[Aa]rtykul/(\\d+)",
          "https?://player\\.polskieradio\\.pl/anteny/([^/]+)",
          "https?://podcasty\\.polskieradio\\.pl/track/([a-f\\d]{8}(?:-[a-f\\d]{4}){4}[a-f\\d]{8})",
          "https?://podcasty\\.polskieradio\\.pl/podcast/(\\d+)"
        ],
        "regexp": "(https?://(?:[^/]+\\.)?polskieradio\\.pl/audycj[ae]/(\\d+))|(https?://(?:www\\.)?polskieradio\\.pl/(?:\\d+(?:,[^/]+)?/|[^/]+/Tag)(\\d+))|(https?://(?:[^/]+\\.)?(?:polskieradio(?:24)?|radiokierowcow)\\.pl/artykul/(\\d+))|(https?://(?:www\\.)?polskieradio(?:24)?\\.pl/\\d+/\\d+/[Aa]rtykul/(\\d+))|(https?://player\\.polskieradio\\.pl/anteny/([^/]+))|(https?://podcasty\\.polskieradio\\.pl/track/([a-f\\d]{8}(?:-[a-f\\d]{4}){4}[a-f\\d]{8}))|(https?://podcasty\\.polskieradio\\.pl/podcast/(\\d+))"
      },
      "popcorntimes": {
        "name": "popcorntimes",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://popcorntimes\\.tv/[^/]+/m/([^/]+)/([^/?#&]+)"
        ],
        "regexp": "https?://popcorntimes\\.tv/[^/]+/m/([^/]+)/([^/?#&]+)"
      },
      "popcorntv": {
        "name": "popcorntv",
        "type": "free",
        "domains": [
          "animemanga.popcorntv.it",
          "cinema.popcorntv.it"
        ],
        "regexps": [
          "https?://[^/]+\\.popcorntv\\.it/guarda/([^/]+)/(\\d+)"
        ],
        "regexp": "https?://[^/]+\\.popcorntv\\.it/guarda/([^/]+)/(\\d+)"
      },
      "pornbox": {
        "name": "pornbox",
        "type": "free",
        "domains": [
          "pornbox.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?pornbox\\.com/application/watch-page/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?pornbox\\.com/application/watch-page/([0-9]+)"
      },
      "pornerbros": {
        "name": "pornerbros",
        "type": "free",
        "domains": [
          "pornerbros.com",
          "m.pornerbros.com"
        ],
        "regexps": [
          "https?://(?:(www|m)\\.)?pornerbros\\.com/(?:videos/([^/]+)_|embed/)(\\d+)"
        ],
        "regexp": "https?://(?:(www|m)\\.)?pornerbros\\.com/(?:videos/([^/]+)_|embed/)(\\d+)"
      },
      "pornflip": {
        "name": "pornflip",
        "type": "free",
        "domains": [
          "pornflip.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?pornflip\\.com/(?:(embed|sv|v)/)?([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?pornflip\\.com/(?:(embed|sv|v)/)?([^/]+)"
      },
      "pornhub": {
        "name": "pornhub",
        "type": "free",
        "domains": [
          "pornhub.com",
          "fr.pornhub.com",
          "thumbzilla.com",
          "pornhub.net",
          "pornhub.org",
          "pornhubpremium.com",
          "pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd.onion"
        ],
        "regexps": [
          "https?://(?:(?:[^/]+\\.)?(?:(pornhub(?:premium)?\\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\\.onion)/(?:(?:view_video\\.php|video/show)\\?viewkey=|embed/)|(?:www\\.)?thumbzilla\\.com/video/)([\\da-z]+)"
        ],
        "regexp": "https?://(?:(?:[^/]+\\.)?(?:(pornhub(?:premium)?\\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\\.onion)/(?:(?:view_video\\.php|video/show)\\?viewkey=|embed/)|(?:www\\.)?thumbzilla\\.com/video/)([\\da-z]+)"
      },
      "pornhubpagedvideolist": {
        "name": "pornhubpagedvideolist",
        "type": "free",
        "domains": [
          "pornhub.com",
          "pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd.onion"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?(?:(pornhub(?:premium)?\\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\\.onion)/(?!playlist/)((?:[^/]+/)*[^/?#&]+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?(?:(pornhub(?:premium)?\\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\\.onion)/(?!playlist/)((?:[^/]+/)*[^/?#&]+)"
      },
      "pornhubplaylist": {
        "name": "pornhubplaylist",
        "type": "free",
        "domains": [
          "pornhub.com",
          "de.pornhub.com"
        ],
        "regexps": [
          "(https?://(?:[^/]+\\.)?(?:(pornhub(?:premium)?\\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\\.onion)/playlist/([^/?#&]+))"
        ],
        "regexp": "(https?://(?:[^/]+\\.)?(?:(pornhub(?:premium)?\\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\\.onion)/playlist/([^/?#&]+))"
      },
      "pornhubuser": {
        "name": "pornhubuser",
        "type": "free",
        "domains": [
          "pornhub.com",
          "pornhubpremium.com",
          "pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd.onion"
        ],
        "regexps": [
          "(https?://(?:[^/]+\\.)?(?:(pornhub(?:premium)?\\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\\.onion)/(?:(?:user|channel)s|model|pornstar)/([^/?#&]+))(?:[?#&]|/(?!videos)|$)"
        ],
        "regexp": "(https?://(?:[^/]+\\.)?(?:(pornhub(?:premium)?\\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\\.onion)/(?:(?:user|channel)s|model|pornstar)/([^/?#&]+))(?:[?#&]|/(?!videos)|$)"
      },
      "pornhubuservideosupload": {
        "name": "pornhubuservideosupload",
        "type": "free",
        "domains": [
          "pornhub.com",
          "pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd.onion"
        ],
        "regexps": [
          "(https?://(?:[^/]+\\.)?(?:(pornhub(?:premium)?\\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\\.onion)/(?:(?:user|channel)s|model|pornstar)/([^/]+)/videos/upload)"
        ],
        "regexp": "(https?://(?:[^/]+\\.)?(?:(pornhub(?:premium)?\\.(?:com|net|org))|pornhubvybmsymdol4iibwgwtkpwmeyd6luq2gxajgjzfjvotyt5zhyd\\.onion)/(?:(?:user|channel)s|model|pornstar)/([^/]+)/videos/upload)"
      },
      "pornotube": {
        "name": "pornotube",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:\\w+\\.)?pornotube\\.com/(?:[^?#]*?)/video/([0-9]+)"
        ],
        "regexp": "https?://(?:\\w+\\.)?pornotube\\.com/(?:[^?#]*?)/video/([0-9]+)"
      },
      "pornovoisines": {
        "name": "pornovoisines",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?pornovoisines\\.com/videos/show/(\\d+)/([^/.]+)"
        ],
        "regexp": "https?://(?:www\\.)?pornovoisines\\.com/videos/show/(\\d+)/([^/.]+)"
      },
      "pornoxo": {
        "name": "pornoxo",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?pornoxo\\.com/videos/(\\d+)/([^/]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?pornoxo\\.com/videos/(\\d+)/([^/]+)\\.html"
      },
      "porntop": {
        "name": "porntop",
        "type": "free",
        "domains": [
          "porntop.com"
        ],
        "regexps": [
          "https?://((?:www\\.)?porntop\\.com)/video/(\\d+)(?:/([^/?]+))?"
        ],
        "regexp": "https?://((?:www\\.)?porntop\\.com)/video/(\\d+)(?:/([^/?]+))?"
      },
      "porntube": {
        "name": "porntube",
        "type": "free",
        "domains": [
          "porntube.com",
          "m.porntube.com"
        ],
        "regexps": [
          "https?://(?:(www|m)\\.)?porntube\\.com/(?:videos/([^/]+)_|embed/)(\\d+)"
        ],
        "regexp": "https?://(?:(www|m)\\.)?porntube\\.com/(?:videos/([^/]+)_|embed/)(\\d+)"
      },
      "pr0gramm": {
        "name": "pr0gramm",
        "type": "free",
        "domains": [
          "pr0gramm.com"
        ],
        "regexps": [
          "https?://pr0gramm\\.com\\/(?:[^/?#]+/)+([\\d]+)(?:[/?#:]|$)"
        ],
        "regexp": "https?://pr0gramm\\.com\\/(?:[^/?#]+/)+([\\d]+)(?:[/?#:]|$)"
      },
      "prankcast": {
        "name": "prankcast",
        "type": "free",
        "domains": [
          "prankcast.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?prankcast\\.com/[^/?#]+/showreel/(\\d+)-([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?prankcast\\.com/[^/?#]+/showreel/(\\d+)-([^/?#]+)"
      },
      "prankcastpost": {
        "name": "prankcastpost",
        "type": "free",
        "domains": [
          "prankcast.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?prankcast\\.com/[^/?#]+/posts/(\\d+)-([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?prankcast\\.com/[^/?#]+/posts/(\\d+)-([^/?#]+)"
      },
      "premiershiprugby": {
        "name": "premiershiprugby",
        "type": "free",
        "domains": [
          "premiershiprugby.com"
        ],
        "regexps": [
          "https?://(?:\\w+\\.)premiershiprugby\\.(?:com)/watch/([\\w-]+)"
        ],
        "regexp": "https?://(?:\\w+\\.)premiershiprugby\\.(?:com)/watch/([\\w-]+)"
      },
      "presstv": {
        "name": "presstv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?presstv\\.ir/[^/]+/(\\d+)/(\\d+)/(\\d+)/(\\d+)/([^/]+)?"
        ],
        "regexp": "https?://(?:www\\.)?presstv\\.ir/[^/]+/(\\d+)/(\\d+)/(\\d+)/(\\d+)/([^/]+)?"
      },
      "projectveritas": {
        "name": "projectveritas",
        "type": "free",
        "domains": [
          "projectveritas.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?projectveritas\\.com/(news|video)/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?projectveritas\\.com/(news|video)/([^/?#]+)"
      },
      "prosiebensat1": {
        "name": "prosiebensat1",
        "type": "free",
        "domains": [
          "prosieben.de",
          "prosiebenmaxx.de",
          "sixx.de",
          "sat1.de",
          "kabeleins.de",
          "ran.de",
          "the-voice-of-germany.de",
          "fem.com",
          "kabeleinsdoku.de",
          "sat1gold.de",
          "galileo.tv",
          "advopedia.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:(?:beta\\.)?(?:prosieben(?:maxx)?|sixx|sat1(?:gold)?|kabeleins(?:doku)?|the-voice-of-germany|advopedia)\\.(?:de|at|ch)|ran\\.de|fem\\.com|advopedia\\.de|galileo\\.tv/video)/(.+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:(?:beta\\.)?(?:prosieben(?:maxx)?|sixx|sat1(?:gold)?|kabeleins(?:doku)?|the-voice-of-germany|advopedia)\\.(?:de|at|ch)|ran\\.de|fem\\.com|advopedia\\.de|galileo\\.tv/video)/(.+)"
      },
      "prxaccount": {
        "name": "prxaccount",
        "type": "free",
        "domains": [
          "beta.prx.org"
        ],
        "regexps": [
          "https?://(?:(?:beta|listen)\\.)?prx.org/accounts/(\\d+)"
        ],
        "regexp": "https?://(?:(?:beta|listen)\\.)?prx.org/accounts/(\\d+)"
      },
      "prxseries": {
        "name": "prxseries",
        "type": "free",
        "domains": [
          "beta.prx.org"
        ],
        "regexps": [
          "https?://(?:(?:beta|listen)\\.)?prx.org/series/(\\d+)",
          "prxseries(|[1-9][0-9]*|all):([\\s\\S]+)"
        ],
        "regexp": "(https?://(?:(?:beta|listen)\\.)?prx.org/series/(\\d+))|(prxseries(|[1-9][0-9]*|all):([\\s\\S]+))"
      },
      "prxstories": {
        "name": "prxstories",
        "type": "free",
        "domains": [],
        "regexps": [
          "prxstories(|[1-9][0-9]*|all):([\\s\\S]+)"
        ],
        "regexp": "prxstories(|[1-9][0-9]*|all):([\\s\\S]+)"
      },
      "prxstory": {
        "name": "prxstory",
        "type": "free",
        "domains": [
          "beta.prx.org",
          "listen.prx.org"
        ],
        "regexps": [
          "https?://(?:(?:beta|listen)\\.)?prx.org/stories/(\\d+)"
        ],
        "regexp": "https?://(?:(?:beta|listen)\\.)?prx.org/stories/(\\d+)"
      },
      "puhutv": {
        "name": "puhutv",
        "type": "free",
        "domains": [
          "puhutv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?puhutv\\.com/([^/?#&]+)-izle",
          "https?://(?:www\\.)?puhutv\\.com/([^/?#&]+)-detay"
        ],
        "regexp": "(https?://(?:www\\.)?puhutv\\.com/([^/?#&]+)-izle)|(https?://(?:www\\.)?puhutv\\.com/([^/?#&]+)-detay)"
      },
      "puls4": {
        "name": "puls4",
        "type": "free",
        "domains": [
          "puls4.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?puls4\\.com/([^?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?puls4\\.com/([^?#&]+)"
      },
      "pyvideo": {
        "name": "pyvideo",
        "type": "free",
        "domains": [
          "pyvideo.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?pyvideo\\.org/([^/]+)/([^/?#&.]+)"
        ],
        "regexp": "https?://(?:www\\.)?pyvideo\\.org/([^/]+)/([^/?#&.]+)"
      },
      "qdance": {
        "name": "qdance",
        "type": "free",
        "domains": [
          "q-dance.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?q-dance\\.com/network/(?:library|live)/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?q-dance\\.com/network/(?:library|live)/([\\w-]+)"
      },
      "qingting": {
        "name": "qingting",
        "type": "free",
        "domains": [
          "qingting.fm",
          "m.qtfm.cn"
        ],
        "regexps": [
          "https?://(?:www\\.|m\\.)?(?:qingting\\.fm|qtfm\\.cn)/v?channels/(\\d+)/programs/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.|m\\.)?(?:qingting\\.fm|qtfm\\.cn)/v?channels/(\\d+)/programs/(\\d+)"
      },
      "qqmusic": {
        "name": "qqmusic",
        "type": "free",
        "domains": [
          "y.qq.com"
        ],
        "regexps": [
          "https?://y\\.qq\\.com/n/ryqq/albumDetail/([0-9A-Za-z]+)",
          "https?://y\\.qq\\.com/n/ryqq/songDetail/([0-9A-Za-z]+)",
          "https?://y\\.qq\\.com/n/ryqq/playlist/([0-9]+)",
          "https?://y\\.qq\\.com/n/ryqq/singer/([0-9A-Za-z]+)",
          "https?://y\\.qq\\.com/n/ryqq/toplist/([0-9]+)",
          "https?://y\\.qq\\.com/n/ryqq/mv/([0-9A-Za-z]+)"
        ],
        "regexp": "(https?://y\\.qq\\.com/n/ryqq/albumDetail/([0-9A-Za-z]+))|(https?://y\\.qq\\.com/n/ryqq/songDetail/([0-9A-Za-z]+))|(https?://y\\.qq\\.com/n/ryqq/playlist/([0-9]+))|(https?://y\\.qq\\.com/n/ryqq/singer/([0-9A-Za-z]+))|(https?://y\\.qq\\.com/n/ryqq/toplist/([0-9]+))|(https?://y\\.qq\\.com/n/ryqq/mv/([0-9A-Za-z]+))"
      },
      "quantumtv": {
        "name": "quantumtv",
        "type": "free",
        "domains": [
          "quantum-tv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?quantum\\-tv\\.com/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?quantum\\-tv\\.com/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "quantumtvlive": {
        "name": "quantumtvlive",
        "type": "free",
        "domains": [
          "quantum-tv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?quantum\\-tv\\.com/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?quantum\\-tv\\.com/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "quantumtvrecordings": {
        "name": "quantumtvrecordings",
        "type": "free",
        "domains": [
          "quantum-tv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?quantum\\-tv\\.com/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?quantum\\-tv\\.com/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "r7": {
        "name": "r7",
        "type": "free",
        "domains": [
          "videos.r7.com",
          "esportes.r7.com",
          "noticias.r7.com",
          "player.r7.com"
        ],
        "regexps": [
          "https?://(?:(?:[a-zA-Z]+)\\.r7\\.com(?:/[^/]+)+/idmedia/|noticias\\.r7\\.com(?:/[^/]+)+/[^/]+-|player\\.r7\\.com/video/i/)([\\da-f]{24})"
        ],
        "regexp": "https?://(?:(?:[a-zA-Z]+)\\.r7\\.com(?:/[^/]+)+/idmedia/|noticias\\.r7\\.com(?:/[^/]+)+/[^/]+-|player\\.r7\\.com/video/i/)([\\da-f]{24})"
      },
      "r7article": {
        "name": "r7article",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:[a-zA-Z]+)\\.r7\\.com/(?:[^/]+/)+[^/?#&]+-(\\d+)"
        ],
        "regexp": "https?://(?:[a-zA-Z]+)\\.r7\\.com/(?:[^/]+/)+[^/?#&]+-(\\d+)"
      },
      "radiko": {
        "name": "radiko",
        "type": "free",
        "domains": [
          "radiko.jp"
        ],
        "regexps": [
          "https?://(?:www\\.)?radiko\\.jp/#!/ts/([A-Z0-9-]+)/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?radiko\\.jp/#!/ts/([A-Z0-9-]+)/(\\d+)"
      },
      "radikoradio": {
        "name": "radikoradio",
        "type": "free",
        "domains": [
          "radiko.jp"
        ],
        "regexps": [
          "https?://(?:www\\.)?radiko\\.jp/#!/live/([A-Z0-9-]+)"
        ],
        "regexp": "https?://(?:www\\.)?radiko\\.jp/#!/live/([A-Z0-9-]+)"
      },
      "radio.de": {
        "name": "radio.de",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(.+?)\\.(?:radio\\.(?:de|at|fr|pt|es|pl|it)|rad\\.io)"
        ],
        "regexp": "https?://(.+?)\\.(?:radio\\.(?:de|at|fr|pt|es|pl|it)|rad\\.io)"
      },
      "radio1be": {
        "name": "radio1be",
        "type": "free",
        "domains": [
          "radio1.be"
        ],
        "regexps": [
          "https?://radio1\\.be/(?:lees|luister/select)/([\\w/-]+)"
        ],
        "regexp": "https?://radio1\\.be/(?:lees|luister/select)/([\\w/-]+)"
      },
      "radiocanada": {
        "name": "radiocanada",
        "type": "free",
        "domains": [
          "ici.radio-canada.ca"
        ],
        "regexps": [
          "https?://ici\\.radio-canada\\.ca/([^/]+/)*media-([0-9]+)",
          "(?:radiocanada:|https?://ici\\.radio-canada\\.ca/widgets/mediaconsole/)([^:/]+)[:/]([0-9]+)"
        ],
        "regexp": "(https?://ici\\.radio-canada\\.ca/([^/]+/)*media-([0-9]+))|((?:radiocanada:|https?://ici\\.radio-canada\\.ca/widgets/mediaconsole/)([^:/]+)[:/]([0-9]+))"
      },
      "radiocomercial": {
        "name": "radiocomercial",
        "type": "free",
        "domains": [
          "radiocomercial.pt"
        ],
        "regexps": [
          "https?://(?:www\\.)?radiocomercial\\.pt/podcasts/[^/?#]+/t?(\\d+)/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?radiocomercial\\.pt/podcasts/[^/?#]+/t?(\\d+)/([\\w-]+)"
      },
      "radiocomercialplaylist": {
        "name": "radiocomercialplaylist",
        "type": "free",
        "domains": [
          "radiocomercial.pt"
        ],
        "regexps": [
          "https?://(?:www\\.)?radiocomercial\\.pt/podcasts/([\\w-]+)(?:/t?(\\d+))?/?(?:$|[?#])"
        ],
        "regexp": "https?://(?:www\\.)?radiocomercial\\.pt/podcasts/([\\w-]+)(?:/t?(\\d+))?/?(?:$|[?#])"
      },
      "radiofrance": {
        "name": "radiofrance",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://maison\\.radiofrance\\.fr/radiovisions/([^?#]+)"
        ],
        "regexp": "https?://maison\\.radiofrance\\.fr/radiovisions/([^?#]+)"
      },
      "radiofrancelive": {
        "name": "radiofrancelive",
        "type": "free",
        "domains": [
          "radiofrance.fr"
        ],
        "regexps": [
          "https?://(?:www\\.)?radiofrance\\.fr/(franceculture|franceinfo|franceinter|francemusique|fip|mouv)/?(radio-[\\w-]+)?(?:[#?]|$)"
        ],
        "regexp": "https?://(?:www\\.)?radiofrance\\.fr/(franceculture|franceinfo|franceinter|francemusique|fip|mouv)/?(radio-[\\w-]+)?(?:[#?]|$)"
      },
      "radiofrancepodcast": {
        "name": "radiofrancepodcast",
        "type": "free",
        "domains": [
          "radiofrance.fr"
        ],
        "regexps": [
          "https?://(?:www\\.)?radiofrance\\.fr/(?:franceculture|franceinfo|franceinter|francemusique|fip|mouv)/podcasts/([\\w-]+)/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:www\\.)?radiofrance\\.fr/(?:franceculture|franceinfo|franceinter|francemusique|fip|mouv)/podcasts/([\\w-]+)/?(?:[?#]|$)"
      },
      "radiofranceprofile": {
        "name": "radiofranceprofile",
        "type": "free",
        "domains": [
          "radiofrance.fr"
        ],
        "regexps": [
          "https?://(?:www\\.)?radiofrance\\.fr/personnes/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?radiofrance\\.fr/personnes/([\\w-]+)"
      },
      "radiofranceprogramschedule": {
        "name": "radiofranceprogramschedule",
        "type": "free",
        "domains": [
          "radiofrance.fr"
        ],
        "regexps": [
          "https?://(?:www\\.)?radiofrance\\.fr/(franceculture|franceinfo|franceinter|francemusique|fip|mouv)/grille-programmes"
        ],
        "regexp": "https?://(?:www\\.)?radiofrance\\.fr/(franceculture|franceinfo|franceinter|francemusique|fip|mouv)/grille-programmes"
      },
      "radiojavan": {
        "name": "radiojavan",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?radiojavan\\.com/videos/video/([^/]+)/?"
        ],
        "regexp": "https?://(?:www\\.)?radiojavan\\.com/videos/video/([^/]+)/?"
      },
      "radiokapital": {
        "name": "radiokapital",
        "type": "free",
        "domains": [
          "radiokapital.pl"
        ],
        "regexps": [
          "https?://(?:www\\.)?radiokapital\\.pl/shows/[a-z\\d-]+/([a-z\\d-]+)",
          "https?://(?:www\\.)?radiokapital\\.pl/shows/([a-z\\d-]+)/?(?:$|[?#])"
        ],
        "regexp": "(https?://(?:www\\.)?radiokapital\\.pl/shows/[a-z\\d-]+/([a-z\\d-]+))|(https?://(?:www\\.)?radiokapital\\.pl/shows/([a-z\\d-]+)/?(?:$|[?#]))"
      },
      "radioradicale": {
        "name": "radioradicale",
        "type": "free",
        "domains": [
          "radioradicale.it"
        ],
        "regexps": [
          "https?://(?:www\\.)?radioradicale\\.it/scheda/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?radioradicale\\.it/scheda/([0-9]+)"
      },
      "radiozetpodcast": {
        "name": "radiozetpodcast",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://player\\.radiozet\\.pl\\/Podcasty/.*?/(.+)"
        ],
        "regexp": "https?://player\\.radiozet\\.pl\\/Podcasty/.*?/(.+)"
      },
      "radlive": {
        "name": "radlive",
        "type": "free",
        "domains": [
          "rad.live"
        ],
        "regexps": [
          "https?://(?:www\\.)?rad\\.live/content/channel/([a-f0-9-]+)",
          "https?://(?:www\\.)?rad\\.live/content/(feature|episode)/([a-f0-9-]+)",
          "https?://(?:www\\.)?rad\\.live/content/season/([a-f0-9-]+)"
        ],
        "regexp": "(https?://(?:www\\.)?rad\\.live/content/channel/([a-f0-9-]+))|(https?://(?:www\\.)?rad\\.live/content/(feature|episode)/([a-f0-9-]+))|(https?://(?:www\\.)?rad\\.live/content/season/([a-f0-9-]+))"
      },
      "rai": {
        "name": "rai",
        "type": "free",
        "domains": [
          "raisport.rai.it",
          "rai.it"
        ],
        "regexps": [
          "https?://[^/]+\\.(?:rai\\.(?:it|tv))/.+?-([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})(?:-.+?)?\\.html"
        ],
        "regexp": "https?://[^/]+\\.(?:rai\\.(?:it|tv))/.+?-([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})(?:-.+?)?\\.html"
      },
      "raicultura": {
        "name": "raicultura",
        "type": "free",
        "domains": [
          "raicultura.it"
        ],
        "regexps": [
          "https?://(www\\.)?raicultura\\.it/(?!articoli)[^?#]+-([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})(?:-[^/?#]+)?\\.html"
        ],
        "regexp": "https?://(www\\.)?raicultura\\.it/(?!articoli)[^?#]+-([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})(?:-[^/?#]+)?\\.html"
      },
      "rainews": {
        "name": "rainews",
        "type": "free",
        "domains": [
          "rainews.it"
        ],
        "regexps": [
          "https?://(www\\.)?rainews\\.it/(?!articoli)[^?#]+-([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})(?:-[^/?#]+)?\\.html"
        ],
        "regexp": "https?://(www\\.)?rainews\\.it/(?!articoli)[^?#]+-([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})(?:-[^/?#]+)?\\.html"
      },
      "raiplay": {
        "name": "raiplay",
        "type": "free",
        "domains": [
          "raiplay.it"
        ],
        "regexps": [
          "(https?://(?:www\\.)?raiplay\\.it/.+?-([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}))\\.(?:html|json)"
        ],
        "regexp": "(https?://(?:www\\.)?raiplay\\.it/.+?-([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}))\\.(?:html|json)"
      },
      "raiplaylive": {
        "name": "raiplaylive",
        "type": "free",
        "domains": [
          "raiplay.it"
        ],
        "regexps": [
          "(https?://(?:www\\.)?raiplay\\.it/dirette/([^/?#&]+))"
        ],
        "regexp": "(https?://(?:www\\.)?raiplay\\.it/dirette/([^/?#&]+))"
      },
      "raiplayplaylist": {
        "name": "raiplayplaylist",
        "type": "free",
        "domains": [
          "raiplay.it"
        ],
        "regexps": [
          "(https?://(?:www\\.)?raiplay\\.it/programmi/([^/?#&]+))(?:/([^?#&]+))?"
        ],
        "regexp": "(https?://(?:www\\.)?raiplay\\.it/programmi/([^/?#&]+))(?:/([^?#&]+))?"
      },
      "raiplaysound": {
        "name": "raiplaysound",
        "type": "free",
        "domains": [
          "raiplaysound.it"
        ],
        "regexps": [
          "(https?://(?:www\\.)?raiplaysound\\.it/.+?-([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}))\\.(?:html|json)"
        ],
        "regexp": "(https?://(?:www\\.)?raiplaysound\\.it/.+?-([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}))\\.(?:html|json)"
      },
      "raiplaysoundlive": {
        "name": "raiplaysoundlive",
        "type": "free",
        "domains": [
          "raiplaysound.it"
        ],
        "regexps": [
          "(https?://(?:www\\.)?raiplaysound\\.it/([^/?#&]+)$)"
        ],
        "regexp": "(https?://(?:www\\.)?raiplaysound\\.it/([^/?#&]+)$)"
      },
      "raiplaysoundplaylist": {
        "name": "raiplaysoundplaylist",
        "type": "free",
        "domains": [
          "raiplaysound.it"
        ],
        "regexps": [
          "(https?://(?:www\\.)?raiplaysound\\.it/(?:programmi|playlist|audiolibri)/([^/?#&]+))(?:/([^?#&]+))?"
        ],
        "regexp": "(https?://(?:www\\.)?raiplaysound\\.it/(?:programmi|playlist|audiolibri)/([^/?#&]+))(?:/([^?#&]+))?"
      },
      "raisudtirol": {
        "name": "raisudtirol",
        "type": "free",
        "domains": [
          "raisudtirol.rai.it",
          "raibz.rai.it"
        ],
        "regexps": [
          "https?://rai(?:bz|sudtirol)\\.rai\\.it/.+media=(\\w+)"
        ],
        "regexp": "https?://rai(?:bz|sudtirol)\\.rai\\.it/.+media=(\\w+)"
      },
      "raywenderlich": {
        "name": "raywenderlich",
        "type": "free",
        "domains": [
          "raywenderlich.com",
          "videos.raywenderlich.com"
        ],
        "regexps": [
          "https?://(?:videos\\.raywenderlich\\.com/courses|(?:www\\.)?raywenderlich\\.com)/([^/]+)/lessons/(\\d+)"
        ],
        "regexp": "https?://(?:videos\\.raywenderlich\\.com/courses|(?:www\\.)?raywenderlich\\.com)/([^/]+)/lessons/(\\d+)"
      },
      "raywenderlichcourse": {
        "name": "raywenderlichcourse",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:videos\\.raywenderlich\\.com/courses|(?:www\\.)?raywenderlich\\.com)/([^/]+)"
        ],
        "regexp": "https?://(?:videos\\.raywenderlich\\.com/courses|(?:www\\.)?raywenderlich\\.com)/([^/]+)"
      },
      "rbgtum": {
        "name": "rbgtum",
        "type": "free",
        "domains": [
          "live.rbg.tum.de",
          "tum.live"
        ],
        "regexps": [
          "https?://(?:live\\.rbg\\.tum\\.de|tum\\.live)/w/([^?#]+)"
        ],
        "regexp": "https?://(?:live\\.rbg\\.tum\\.de|tum\\.live)/w/([^?#]+)"
      },
      "rbgtumcourse": {
        "name": "rbgtumcourse",
        "type": "free",
        "domains": [
          "live.rbg.tum.de",
          "tum.live"
        ],
        "regexps": [
          "https?://((?:live\\.rbg\\.tum\\.de|tum\\.live))/old/course/((\\d+)/(\\w+)/([^/?#]+))"
        ],
        "regexp": "https?://((?:live\\.rbg\\.tum\\.de|tum\\.live))/old/course/((\\d+)/(\\w+)/([^/?#]+))"
      },
      "rbgtumnewcourse": {
        "name": "rbgtumnewcourse",
        "type": "free",
        "domains": [
          "live.rbg.tum.de",
          "tum.live"
        ],
        "regexps": [
          "https?://((?:live\\.rbg\\.tum\\.de|tum\\.live))/\\?"
        ],
        "regexp": "https?://((?:live\\.rbg\\.tum\\.de|tum\\.live))/\\?"
      },
      "rcs": {
        "name": "rcs",
        "type": "free",
        "domains": [
          "video.corriere.it",
          "viaggi.corriere.it"
        ],
        "regexps": [
          "https?://(video|viaggi)\\.((?:corrieredelmezzogiorno\\.|corrieredelveneto\\.|corrieredibologna\\.|corrierefiorentino\\.)?corriere\\.it|(?:gazzanet\\.)?gazzetta\\.it)/(?!video-embed/)[^?#]+?/([^/\\?]+)(?=\\?|/$|$)"
        ],
        "regexp": "https?://(video|viaggi)\\.((?:corrieredelmezzogiorno\\.|corrieredelveneto\\.|corrieredibologna\\.|corrierefiorentino\\.)?corriere\\.it|(?:gazzanet\\.)?gazzetta\\.it)/(?!video-embed/)[^?#]+?/([^/\\?]+)(?=\\?|/$|$)"
      },
      "rcsembeds": {
        "name": "rcsembeds",
        "type": "free",
        "domains": [
          "video.rcs.it",
          "video.gazzanet.gazzetta.it",
          "video.gazzetta.it"
        ],
        "regexps": [
          "https?://(video)\\.((?:rcs|(?:corriere\\w+\\.)?corriere|(?:gazzanet\\.)?gazzetta)\\.it)/video-embed/([^/=&\\?]+?)(?:$|\\?)"
        ],
        "regexp": "https?://(video)\\.((?:rcs|(?:corriere\\w+\\.)?corriere|(?:gazzanet\\.)?gazzetta)\\.it)/video-embed/([^/=&\\?]+?)(?:$|\\?)"
      },
      "rcsvarious": {
        "name": "rcsvarious",
        "type": "free",
        "domains": [
          "leitv.it",
          "youreporter.it",
          "amica.it"
        ],
        "regexps": [
          "https?://www\\.(leitv\\.it|youreporter\\.it|amica\\.it)/(?:[^/]+/)?([^/]+?)(?:$|\\?|/)"
        ],
        "regexp": "https?://www\\.(leitv\\.it|youreporter\\.it|amica\\.it)/(?:[^/]+/)?([^/]+?)(?:$|\\?|/)"
      },
      "rctiplus": {
        "name": "rctiplus",
        "type": "free",
        "domains": [
          "rctiplus.com"
        ],
        "regexps": [
          "https?://www\\.rctiplus\\.com/(?:programs/\\d+?/.*?/)?(episode|clip|extra|live-event|missed-event)/(\\d+)/([^/?#&]+)"
        ],
        "regexp": "https?://www\\.rctiplus\\.com/(?:programs/\\d+?/.*?/)?(episode|clip|extra|live-event|missed-event)/(\\d+)/([^/?#&]+)"
      },
      "rctiplusseries": {
        "name": "rctiplusseries",
        "type": "free",
        "domains": [
          "rctiplus.com"
        ],
        "regexps": [
          "https?://www\\.rctiplus\\.com/programs/(\\d+)/([^/?#&]+)(?:/(episodes|extras|clips))?"
        ],
        "regexp": "https?://www\\.rctiplus\\.com/programs/(\\d+)/([^/?#&]+)(?:/(episodes|extras|clips))?"
      },
      "rctiplustv": {
        "name": "rctiplustv",
        "type": "free",
        "domains": [
          "rctiplus.com"
        ],
        "regexps": [
          "https?://www\\.rctiplus\\.com/((tv/(\\w+))|(live-event|missed-event))"
        ],
        "regexp": "https?://www\\.rctiplus\\.com/((tv/(\\w+))|(live-event|missed-event))"
      },
      "rds": {
        "name": "rds",
        "type": "free",
        "domains": [
          "rds.ca"
        ],
        "regexps": [
          "https?://(?:www\\.)?rds\\.ca/vid(?:[eé]|%C3%A9)os/(?:[^/]+/)*([^/]+)-\\d+\\.\\d+"
        ],
        "regexp": "https?://(?:www\\.)?rds\\.ca/vid(?:[eé]|%C3%A9)os/(?:[^/]+/)*([^/]+)-\\d+\\.\\d+"
      },
      "redbull": {
        "name": "redbull",
        "type": "free",
        "domains": [
          "redbull.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?redbull\\.com/([a-z]{2,3})-([a-z]{2})/((?:episode|film|(?:(?:recap|trailer)-)?video)s|live)/(?!AP-|rrn:content:)([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?redbull\\.com/([a-z]{2,3})-([a-z]{2})/((?:episode|film|(?:(?:recap|trailer)-)?video)s|live)/(?!AP-|rrn:content:)([^/?#&]+)"
      },
      "redbullembed": {
        "name": "redbullembed",
        "type": "free",
        "domains": [
          "redbull.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?redbull\\.com/embed/(rrn:content:[^:]+:[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}:[a-z]{2}-[A-Z]{2,3})"
        ],
        "regexp": "https?://(?:www\\.)?redbull\\.com/embed/(rrn:content:[^:]+:[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}:[a-z]{2}-[A-Z]{2,3})"
      },
      "redbulltv": {
        "name": "redbulltv",
        "type": "free",
        "domains": [
          "redbull.tv",
          "redbull.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?redbull(?:\\.tv|\\.com(?:/[^/]+)?(?:/tv)?)(?:/events/[^/]+)?/(?:videos?|live|(?:film|episode)s)/(AP-\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?redbull(?:\\.tv|\\.com(?:/[^/]+)?(?:/tv)?)(?:/events/[^/]+)?/(?:videos?|live|(?:film|episode)s)/(AP-\\w+)"
      },
      "redbulltvrrncontent": {
        "name": "redbulltvrrncontent",
        "type": "free",
        "domains": [
          "redbull.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?redbull\\.com/([a-z]{2,3})-([a-z]{2})/tv/(?:video|live|film)/(rrn:content:[^:]+:[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
        ],
        "regexp": "https?://(?:www\\.)?redbull\\.com/([a-z]{2,3})-([a-z]{2})/tv/(?:video|live|film)/(rrn:content:[^:]+:[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
      },
      "redcdnlivx": {
        "name": "redcdnlivx",
        "type": "free",
        "domains": [
          "r.dcs.redcdn.pl",
          "n-25-12.dcs.redcdn.pl",
          "redir.atmcdn.pl"
        ],
        "regexps": [
          "https?://[^.]+\\.(?:dcs\\.redcdn|atmcdn)\\.pl/(?:live(?:dash|hls|ss)|nvr)/o2/([^/?#]+)/([^?#]+)\\.livx"
        ],
        "regexp": "https?://[^.]+\\.(?:dcs\\.redcdn|atmcdn)\\.pl/(?:live(?:dash|hls|ss)|nvr)/o2/([^/?#]+)/([^?#]+)\\.livx"
      },
      "reddit": {
        "name": "reddit",
        "type": "free",
        "domains": [
          "reddit.com",
          "old.reddit.com",
          "nm.reddit.com",
          "redditmedia.com"
        ],
        "regexps": [
          "https?://(?:\\w+\\.)?reddit(?:media)?\\.com/((?:(?:r|user)/[^/]+/)?comments/([^/?#&]+))"
        ],
        "regexp": "https?://(?:\\w+\\.)?reddit(?:media)?\\.com/((?:(?:r|user)/[^/]+/)?comments/([^/?#&]+))"
      },
      "redgifs": {
        "name": "redgifs",
        "type": "free",
        "domains": [
          "redgifs.com",
          "thumbs2.redgifs.com"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?redgifs\\.com/(?:watch|ifr)/|thumbs2\\.redgifs\\.com/)([^-/?#\\.]+)"
        ],
        "regexp": "https?://(?:(?:www\\.)?redgifs\\.com/(?:watch|ifr)/|thumbs2\\.redgifs\\.com/)([^-/?#\\.]+)"
      },
      "redgifssearch": {
        "name": "redgifssearch",
        "type": "free",
        "domains": [
          "redgifs.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?redgifs\\.com/browse\\?([^#]+)"
        ],
        "regexp": "https?://(?:www\\.)?redgifs\\.com/browse\\?([^#]+)"
      },
      "redgifsuser": {
        "name": "redgifsuser",
        "type": "free",
        "domains": [
          "redgifs.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?redgifs\\.com/users/([^/?#]+)(?:\\?([^#]+))?"
        ],
        "regexp": "https?://(?:www\\.)?redgifs\\.com/users/([^/?#]+)(?:\\?([^#]+))?"
      },
      "redtube": {
        "name": "redtube",
        "type": "free",
        "domains": [
          "redtube.com",
          "embed.redtube.com",
          "it.redtube.com",
          "redtube.com.br"
        ],
        "regexps": [
          "https?://(?:(?:\\w+\\.)?redtube\\.com(?:\\.br)?/|embed\\.redtube\\.com/\\?.*?\\bid=)([0-9]+)"
        ],
        "regexp": "https?://(?:(?:\\w+\\.)?redtube\\.com(?:\\.br)?/|embed\\.redtube\\.com/\\?.*?\\bid=)([0-9]+)"
      },
      "rentv": {
        "name": "rentv",
        "type": "free",
        "domains": [
          "ren.tv"
        ],
        "regexps": [
          "(?:rentv:|https?://(?:www\\.)?ren\\.tv/(?:player|video/epizod)/)(\\d+)"
        ],
        "regexp": "(?:rentv:|https?://(?:www\\.)?ren\\.tv/(?:player|video/epizod)/)(\\d+)"
      },
      "rentvarticle": {
        "name": "rentvarticle",
        "type": "free",
        "domains": [
          "ren.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?ren\\.tv/novosti/\\d{4}-\\d{2}-\\d{2}/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?ren\\.tv/novosti/\\d{4}-\\d{2}-\\d{2}/([^/?#]+)"
      },
      "restudy": {
        "name": "restudy",
        "type": "free",
        "domains": [
          "restudy.dk",
          "portal.restudy.dk"
        ],
        "regexps": [
          "https?://(?:(?:www|portal)\\.)?restudy\\.dk/video/[^/]+/id/([0-9]+)"
        ],
        "regexp": "https?://(?:(?:www|portal)\\.)?restudy\\.dk/video/[^/]+/id/([0-9]+)"
      },
      "reuters": {
        "name": "reuters",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?reuters\\.com/.*?\\?.*?videoId=([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?reuters\\.com/.*?\\?.*?videoId=([0-9]+)"
      },
      "reverbnation": {
        "name": "reverbnation",
        "type": "free",
        "domains": [
          "reverbnation.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?reverbnation\\.com/.*?/song/(\\d+).*?$"
        ],
        "regexp": "https?://(?:www\\.)?reverbnation\\.com/.*?/song/(\\d+).*?$"
      },
      "rheinmaintv": {
        "name": "rheinmaintv",
        "type": "free",
        "domains": [
          "rheinmaintv.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?rheinmaintv\\.de/sendungen/(?:[\\w-]+/)*(([\\w-]+)/vom-\\d{2}\\.\\d{2}\\.\\d{4}(?:/\\d+)?)"
        ],
        "regexp": "https?://(?:www\\.)?rheinmaintv\\.de/sendungen/(?:[\\w-]+/)*(([\\w-]+)/vom-\\d{2}\\.\\d{2}\\.\\d{4}(?:/\\d+)?)"
      },
      "ridehome": {
        "name": "ridehome",
        "type": "free",
        "domains": [
          "ridehome.info"
        ],
        "regexps": [
          "https?://(?:www\\.)?ridehome\\.info/show/[\\w-]+/([\\w-]+)/?(?:$|[?#])"
        ],
        "regexp": "https?://(?:www\\.)?ridehome\\.info/show/[\\w-]+/([\\w-]+)/?(?:$|[?#])"
      },
      "rinsefm": {
        "name": "rinsefm",
        "type": "free",
        "domains": [
          "rinse.fm"
        ],
        "regexps": [
          "https?://(?:www\\.)?rinse\\.fm/episodes/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?rinse\\.fm/episodes/([^/?#]+)"
      },
      "rinsefmartistplaylist": {
        "name": "rinsefmartistplaylist",
        "type": "free",
        "domains": [
          "rinse.fm"
        ],
        "regexps": [
          "https?://(?:www\\.)?rinse\\.fm/shows/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?rinse\\.fm/shows/([^/?#]+)"
      },
      "rmcdecouverte": {
        "name": "rmcdecouverte",
        "type": "free",
        "domains": [
          "rmcdecouverte.bfmtv.com"
        ],
        "regexps": [
          "https?://rmcdecouverte\\.bfmtv\\.com/(?:[^?#]*_(\\d+)|mediaplayer-direct)/?(?:[#?]|$)"
        ],
        "regexp": "https?://rmcdecouverte\\.bfmtv\\.com/(?:[^?#]*_(\\d+)|mediaplayer-direct)/?(?:[#?]|$)"
      },
      "rockstargames": {
        "name": "rockstargames",
        "type": "free",
        "domains": [
          "rockstargames.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?rockstargames\\.com/videos(?:/video/|#?/?\\?.*\\bvideo=)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?rockstargames\\.com/videos(?:/video/|#?/?\\?.*\\bvideo=)(\\d+)"
      },
      "rokfin": {
        "name": "rokfin",
        "type": "free",
        "domains": [
          "rokfin.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?rokfin\\.com/(?!((feed/?)|(discover/?)|(channels/?))$)([^/]+)/?$",
          "https?://(?:www\\.)?rokfin\\.com/((post|stream)/\\d+)",
          "rkfnsearch(|[1-9][0-9]*|all):([\\s\\S]+)",
          "https?://(?:www\\.)?rokfin\\.com/stack/([^/]+)"
        ],
        "regexp": "(https?://(?:www\\.)?rokfin\\.com/(?!((feed/?)|(discover/?)|(channels/?))$)([^/]+)/?$)|(https?://(?:www\\.)?rokfin\\.com/((post|stream)/\\d+))|(rkfnsearch(|[1-9][0-9]*|all):([\\s\\S]+))|(https?://(?:www\\.)?rokfin\\.com/stack/([^/]+))"
      },
      "roosterteeth": {
        "name": "roosterteeth",
        "type": "free",
        "domains": [
          "roosterteeth.com",
          "achievementhunter.roosterteeth.com",
          "funhaus.roosterteeth.com",
          "screwattack.roosterteeth.com",
          "theknow.roosterteeth.com"
        ],
        "regexps": [
          "https?://(?:.+?\\.)?roosterteeth\\.com/(?:bonus-feature|episode|watch)/([^/?#&]+)"
        ],
        "regexp": "https?://(?:.+?\\.)?roosterteeth\\.com/(?:bonus-feature|episode|watch)/([^/?#&]+)"
      },
      "roosterteethseries": {
        "name": "roosterteethseries",
        "type": "free",
        "domains": [
          "roosterteeth.com"
        ],
        "regexps": [
          "https?://(?:.+?\\.)?roosterteeth\\.com/series/([^/?#&]+)"
        ],
        "regexp": "https?://(?:.+?\\.)?roosterteeth\\.com/series/([^/?#&]+)"
      },
      "rottentomatoes": {
        "name": "rottentomatoes",
        "type": "free",
        "domains": [
          "rottentomatoes.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?rottentomatoes\\.com/m/([^/]+)(?:/(trailers)(?:/(\\w+))?)?"
        ],
        "regexp": "https?://(?:www\\.)?rottentomatoes\\.com/m/([^/]+)(?:/(trailers)(?:/(\\w+))?)?"
      },
      "royalive": {
        "name": "royalive",
        "type": "free",
        "domains": [
          "en.roya.tv",
          "roya.tv"
        ],
        "regexps": [
          "https?://(?:en\\.)?roya\\.tv/live-stream/(\\d+)"
        ],
        "regexp": "https?://(?:en\\.)?roya\\.tv/live-stream/(\\d+)"
      },
      "rozhlas": {
        "name": "rozhlas",
        "type": "free",
        "domains": [
          "prehravac.rozhlas.cz"
        ],
        "regexps": [
          "https?://(?:www\\.)?prehravac\\.rozhlas\\.cz/audio/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?prehravac\\.rozhlas\\.cz/audio/([0-9]+)"
      },
      "rozhlasvltava": {
        "name": "rozhlasvltava",
        "type": "free",
        "domains": [
          "wave.rozhlas.cz",
          "dvojka.rozhlas.cz"
        ],
        "regexps": [
          "https?://(?:\\w+\\.rozhlas|english\\.radio)\\.cz/[\\w-]+-(\\d+)"
        ],
        "regexp": "https?://(?:\\w+\\.rozhlas|english\\.radio)\\.cz/[\\w-]+-(\\d+)"
      },
      "rtbf": {
        "name": "rtbf",
        "type": "free",
        "domains": [
          "rtbf.be"
        ],
        "regexps": [
          "https?://(?:www\\.)?rtbf\\.be/(?:video/[^?]+\\?.*\\bid=|ouftivi/(?:[^/]+/)*[^?]+\\?.*\\bvideoId=|auvio/[^/]+\\?.*\\b(l)?id=)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?rtbf\\.be/(?:video/[^?]+\\?.*\\bid=|ouftivi/(?:[^/]+/)*[^?]+\\?.*\\bvideoId=|auvio/[^/]+\\?.*\\b(l)?id=)(\\d+)"
      },
      "rtdocumentry": {
        "name": "rtdocumentry",
        "type": "free",
        "domains": [
          "rtd.rt.com"
        ],
        "regexps": [
          "https?://rtd\\.rt\\.com/(?:(?:series|shows)/[^/]+|films)/([^/?$&#]+)"
        ],
        "regexp": "https?://rtd\\.rt\\.com/(?:(?:series|shows)/[^/]+|films)/([^/?$&#]+)"
      },
      "rtdocumentryplaylist": {
        "name": "rtdocumentryplaylist",
        "type": "free",
        "domains": [
          "rtd.rt.com"
        ],
        "regexps": [
          "https?://rtd\\.rt\\.com/(?:series|shows)/([^/]+)/$"
        ],
        "regexp": "https?://rtd\\.rt\\.com/(?:series|shows)/([^/]+)/$"
      },
      "rte": {
        "name": "rte",
        "type": "free",
        "domains": [
          "rte.ie"
        ],
        "regexps": [
          "https?://(?:www\\.)?rte\\.ie/player/[^/]{2,3}/show/[^/]+/([0-9]+)",
          "https?://(?:www\\.)?rte\\.ie/radio/utils/radioplayer/rteradioweb\\.html#!rii=(?:b?[0-9]*)(?:%3A|:|%5F|_)([0-9]+)"
        ],
        "regexp": "(https?://(?:www\\.)?rte\\.ie/player/[^/]{2,3}/show/[^/]+/([0-9]+))|(https?://(?:www\\.)?rte\\.ie/radio/utils/radioplayer/rteradioweb\\.html#!rii=(?:b?[0-9]*)(?:%3A|:|%5F|_)([0-9]+))"
      },
      "rtl.lu": {
        "name": "rtl.lu",
        "type": "free",
        "domains": [
          "rtl.lu",
          "5minutes.rtl.lu",
          "today.rtl.lu"
        ],
        "regexps": [
          "https?://(?:(www|5minutes|today)\\.)rtl\\.lu/(?:[\\w-]+)/(?:[\\w-]+)/a/(\\d+)\\.html",
          "https?://(?:www\\.)?rtl\\.lu/(tele/([\\w-]+)/v/|video/)(\\d+)(\\.html)?"
        ],
        "regexp": "(https?://(?:(www|5minutes|today)\\.)rtl\\.lu/(?:[\\w-]+)/(?:[\\w-]+)/a/(\\d+)\\.html)|(https?://(?:www\\.)?rtl\\.lu/(tele/([\\w-]+)/v/|video/)(\\d+)(\\.html)?)"
      },
      "rtl.nl": {
        "name": "rtl.nl",
        "type": "free",
        "domains": [
          "rtlxl.nl",
          "rtl.nl",
          "static.rtl.nl",
          "embed.rtl.nl"
        ],
        "regexps": [
          "https?://(?:(?:www|static)\\.)?(?:rtlxl\\.nl/(?:[^\\#]*\\#!|programma)/[^/]+/|rtl\\.nl/(?:(?:system/videoplayer/(?:[^/]+/)+(?:video_)?embed\\.html|embed)\\b.+?\\buuid=|video/)|embed\\.rtl\\.nl/\\#uuid=)([0-9a-f-]+)"
        ],
        "regexp": "https?://(?:(?:www|static)\\.)?(?:rtlxl\\.nl/(?:[^\\#]*\\#!|programma)/[^/]+/|rtl\\.nl/(?:(?:system/videoplayer/(?:[^/]+/)+(?:video_)?embed\\.html|embed)\\b.+?\\buuid=|video/)|embed\\.rtl\\.nl/\\#uuid=)([0-9a-f-]+)"
      },
      "rtl2": {
        "name": "rtl2",
        "type": "free",
        "domains": [
          "rtl2.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?rtl2\\.de/sendung/[^/]+/(?:video/(\\d+)[^/]+/(\\d+)-|folge/)([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?rtl2\\.de/sendung/[^/]+/(?:video/(\\d+)[^/]+/(\\d+)-|folge/)([^/?#]+)"
      },
      "rtllulive": {
        "name": "rtllulive",
        "type": "free",
        "domains": [
          "rtl.lu"
        ],
        "regexps": [
          "https?://www\\.rtl\\.lu/(?:tele|radio)/(live(?:-\\d+)?|lauschteren)"
        ],
        "regexp": "https?://www\\.rtl\\.lu/(?:tele|radio)/(live(?:-\\d+)?|lauschteren)"
      },
      "rtlluradio": {
        "name": "rtlluradio",
        "type": "free",
        "domains": [
          "rtl.lu"
        ],
        "regexps": [
          "https?://www\\.rtl\\.lu/radio/(?:[\\w-]+)/s/(\\d+)(\\.html)?"
        ],
        "regexp": "https?://www\\.rtl\\.lu/radio/(?:[\\w-]+)/s/(\\d+)(\\.html)?"
      },
      "rtnews": {
        "name": "rtnews",
        "type": "free",
        "domains": [
          "rt.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?rt\\.com/[^/]+/(?:[^/]+/)?(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?rt\\.com/[^/]+/(?:[^/]+/)?(\\d+)"
      },
      "rtp": {
        "name": "rtp",
        "type": "free",
        "domains": [
          "rtp.pt"
        ],
        "regexps": [
          "https?://(?:www\\.)?rtp\\.pt/play/(?:[^/#?]+/)?p(\\d+)/(e\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?rtp\\.pt/play/(?:[^/#?]+/)?p(\\d+)/(e\\d+)"
      },
      "rtrfm": {
        "name": "rtrfm",
        "type": "free",
        "domains": [
          "rtrfm.com.au"
        ],
        "regexps": [
          "https?://(?:www\\.)?rtrfm\\.com\\.au/(?:shows|show-episode)/([^/?\\#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?rtrfm\\.com\\.au/(?:shows|show-episode)/([^/?\\#&]+)"
      },
      "rts": {
        "name": "rts",
        "type": "free",
        "domains": [
          "rts.ch",
          "pages.rts.ch"
        ],
        "regexps": [
          "rts:(\\d+)|https?://(?:.+?\\.)?rts\\.ch/(?:[^/]+/){2,}([0-9]+)-(.+?)\\.html"
        ],
        "regexp": "rts:(\\d+)|https?://(?:.+?\\.)?rts\\.ch/(?:[^/]+/){2,}([0-9]+)-(.+?)\\.html"
      },
      "rtvckaltura": {
        "name": "rtvckaltura",
        "type": "free",
        "domains": [
          "media.rtvc.gov.co"
        ],
        "regexps": [
          "https?://media\\.rtvc\\.gov\\.co/kalturartvc/([\\w-]+)"
        ],
        "regexp": "https?://media\\.rtvc\\.gov\\.co/kalturartvc/([\\w-]+)"
      },
      "rtvcplay": {
        "name": "rtvcplay",
        "type": "free",
        "domains": [
          "rtvcplay.co"
        ],
        "regexps": [
          "https?://(?:www\\.)?rtvcplay\\.co/((?!embed)[^/]+)/(?:[^?#]+/)?([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?rtvcplay\\.co/((?!embed)[^/]+)/(?:[^?#]+/)?([\\w-]+)"
      },
      "rtvcplayembed": {
        "name": "rtvcplayembed",
        "type": "free",
        "domains": [
          "rtvcplay.co"
        ],
        "regexps": [
          "https?://(?:www\\.)?rtvcplay\\.co/embed/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?rtvcplay\\.co/embed/([\\w-]+)"
      },
      "rtve.es": {
        "name": "rtve.es",
        "type": "free",
        "domains": [
          "rtve.es"
        ],
        "regexps": [
          "https?://(?:www\\.)?rtve\\.es/(?:m/)?(?:(?:alacarta|play)/videos|filmoteca)/(?!directo)(?:[^/?#]+/){2}(\\d+)",
          "https?://(?:www\\.)?rtve\\.es/infantil/serie/[^/?#]+/video/[^/?#]+/(\\d+)",
          "https?://(?:www\\.)?rtve\\.es/(alacarta|play)/audios/(?:[^/?#]+/){2}(\\d+)",
          "https?://(?:www\\.)?rtve\\.es/directo/([a-zA-Z0-9-]+)",
          "https?://(?:www\\.)?rtve\\.es/play/videos/directo/[^/?#]+/([a-zA-Z0-9-]+)",
          "https?://(?:www\\.)?rtve\\.es/play/videos/([\\w-]+)/?(?:[?#]|$)",
          "https?://(?:www\\.)?rtve\\.es/television/[^/?#]+/[^/?#]+/(\\d+).shtml"
        ],
        "regexp": "(https?://(?:www\\.)?rtve\\.es/(?:m/)?(?:(?:alacarta|play)/videos|filmoteca)/(?!directo)(?:[^/?#]+/){2}(\\d+))|(https?://(?:www\\.)?rtve\\.es/infantil/serie/[^/?#]+/video/[^/?#]+/(\\d+))|(https?://(?:www\\.)?rtve\\.es/(alacarta|play)/audios/(?:[^/?#]+/){2}(\\d+))|(https?://(?:www\\.)?rtve\\.es/directo/([a-zA-Z0-9-]+))|(https?://(?:www\\.)?rtve\\.es/play/videos/directo/[^/?#]+/([a-zA-Z0-9-]+))|(https?://(?:www\\.)?rtve\\.es/play/videos/([\\w-]+)/?(?:[?#]|$))|(https?://(?:www\\.)?rtve\\.es/television/[^/?#]+/[^/?#]+/(\\d+).shtml)"
      },
      "rtvslo.si": {
        "name": "rtvslo.si",
        "type": "free",
        "domains": [
          "rtvslo.si",
          "365.rtvslo.si",
          "4d.rtvslo.si"
        ],
        "regexps": [
          "https?://(?:(?:365|4d)\\.rtvslo.si/arhiv/[^/?#&;]+|(?:www\\.)?rtvslo\\.si/rtv365/arhiv)/(\\d+)",
          "https?://(?:365|4d)\\.rtvslo.si/oddaja/[^/?#&]+/(\\d+)"
        ],
        "regexp": "(https?://(?:(?:365|4d)\\.rtvslo.si/arhiv/[^/?#&;]+|(?:www\\.)?rtvslo\\.si/rtv365/arhiv)/(\\d+))|(https?://(?:365|4d)\\.rtvslo.si/oddaja/[^/?#&]+/(\\d+))"
      },
      "rudovideo": {
        "name": "rudovideo",
        "type": "free",
        "domains": [
          "rudo.video"
        ],
        "regexps": [
          "https?://rudo\\.video/(vod|podcast|live)/([^/?&#]+)"
        ],
        "regexp": "https?://rudo\\.video/(vod|podcast|live)/([^/?&#]+)"
      },
      "rule34video": {
        "name": "rule34video",
        "type": "free",
        "domains": [
          "rule34video.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?rule34video\\.com/videos?/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?rule34video\\.com/videos?/(\\d+)"
      },
      "rumble": {
        "name": "rumble",
        "type": "free",
        "domains": [
          "rumble.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?rumble\\.com/(v(?!ideos)[\\w.-]+)[^/]*$"
        ],
        "regexp": "https?://(?:www\\.)?rumble\\.com/(v(?!ideos)[\\w.-]+)[^/]*$"
      },
      "rumblechannel": {
        "name": "rumblechannel",
        "type": "free",
        "domains": [
          "rumble.com"
        ],
        "regexps": [
          "(https?://(?:www\\.)?rumble\\.com/(?:c|user)/([^&?#$/]+))"
        ],
        "regexp": "(https?://(?:www\\.)?rumble\\.com/(?:c|user)/([^&?#$/]+))"
      },
      "rumbleembed": {
        "name": "rumbleembed",
        "type": "free",
        "domains": [
          "rumble.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?rumble\\.com/embed/(?:[0-9a-z]+\\.)?([0-9a-z]+)"
        ],
        "regexp": "https?://(?:www\\.)?rumble\\.com/embed/(?:[0-9a-z]+\\.)?([0-9a-z]+)"
      },
      "ruptly": {
        "name": "ruptly",
        "type": "free",
        "domains": [
          "ruptly.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?ruptly\\.tv/[a-z]{2}/videos/(\\d+-\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?ruptly\\.tv/[a-z]{2}/videos/(\\d+-\\d+)"
      },
      "rutube": {
        "name": "rutube",
        "type": "free",
        "domains": [
          "rutube.ru"
        ],
        "regexps": [
          "https?://rutube\\.ru/(?:channel/(\\d+)|u/(\\w+))(?:/(videos|shorts|playlists))?",
          "https?://rutube\\.ru/(?:video|play)/embed/([0-9]+)(?:[?#/]|$)",
          "https?://rutube\\.ru/(?:(?:live/)?video(?:/private)?|(?:play/)?embed)/([\\da-z]{32})",
          "https?://rutube\\.ru/metainfo/tv/(\\d+)",
          "https?://rutube\\.ru/video/person/(\\d+)",
          "https?://rutube\\.ru/plst/(\\d+)",
          "https?://rutube\\.ru/tags/video/(\\d+)"
        ],
        "regexp": "(https?://rutube\\.ru/(?:channel/(\\d+)|u/(\\w+))(?:/(videos|shorts|playlists))?)|(https?://rutube\\.ru/(?:video|play)/embed/([0-9]+)(?:[?#/]|$))|(https?://rutube\\.ru/(?:(?:live/)?video(?:/private)?|(?:play/)?embed)/([\\da-z]{32}))|(https?://rutube\\.ru/metainfo/tv/(\\d+))|(https?://rutube\\.ru/video/person/(\\d+))|(https?://rutube\\.ru/plst/(\\d+))|(https?://rutube\\.ru/tags/video/(\\d+))"
      },
      "ruutu": {
        "name": "ruutu",
        "type": "free",
        "domains": [
          "ruutu.fi",
          "supla.fi",
          "static.nelonenmedia.fi"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?(?:ruutu|supla)\\.fi/(?:video|supla|audio)/|static\\.nelonenmedia\\.fi/player/misc/embed_player\\.html\\?.*?\\bnid=)(\\d+)"
        ],
        "regexp": "https?://(?:(?:www\\.)?(?:ruutu|supla)\\.fi/(?:video|supla|audio)/|static\\.nelonenmedia\\.fi/player/misc/embed_player\\.html\\?.*?\\bnid=)(\\d+)"
      },
      "ruv": {
        "name": "ruv",
        "type": "free",
        "domains": [
          "ruv.is"
        ],
        "regexps": [
          "https?://(?:www\\.)?ruv\\.is/(?:sarpurinn/[^/]+|node)/([^/]+(?:/\\d+)?)"
        ],
        "regexp": "https?://(?:www\\.)?ruv\\.is/(?:sarpurinn/[^/]+|node)/([^/]+(?:/\\d+)?)"
      },
      "ruv.is": {
        "name": "ruv.is",
        "type": "free",
        "domains": [
          "ruv.is"
        ],
        "regexps": [
          "https?://(?:www\\.)?ruv\\.is/(?:(?:sjon|ut)varp|(?:krakka|ung)ruv)/spila/.+/([0-9]+)/([a-z0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?ruv\\.is/(?:(?:sjon|ut)varp|(?:krakka|ung)ruv)/spila/.+/([0-9]+)/([a-z0-9]+)"
      },
      "s4c": {
        "name": "s4c",
        "type": "free",
        "domains": [
          "s4c.cymru"
        ],
        "regexps": [
          "https?://(?:www\\.)?s4c\\.cymru/clic/programme/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?s4c\\.cymru/clic/programme/(\\d+)"
      },
      "s4cseries": {
        "name": "s4cseries",
        "type": "free",
        "domains": [
          "s4c.cymru"
        ],
        "regexps": [
          "https?://(?:www\\.)?s4c\\.cymru/clic/series/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?s4c\\.cymru/clic/series/(\\d+)"
      },
      "safari": {
        "name": "safari",
        "type": "free",
        "domains": [
          "safaribooksonline.com",
          "techbus.safaribooksonline.com",
          "learning.oreilly.com",
          "oreilly.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:safaribooksonline|(?:learning\\.)?oreilly)\\.com/api/v1/book/([^/]+)/chapter(?:-content)?/([^/?#&]+)\\.html",
          "https?://(?:(?:www\\.)?(?:safaribooksonline|(?:learning\\.)?oreilly)\\.com/(?:library/view/[^/]+|api/v1/book|videos/[^/]+)|techbus\\.safaribooksonline\\.com)/([^/]+)",
          "https?://(?:www\\.)?(?:safaribooksonline|(?:learning\\.)?oreilly)\\.com/(?:library/view/[^/]+/([^/]+)/([^/?\\#&]+)\\.html|videos/[^/]+/[^/]+/([^-]+-[^/?\\#&]+))"
        ],
        "regexp": "(https?://(?:www\\.)?(?:safaribooksonline|(?:learning\\.)?oreilly)\\.com/api/v1/book/([^/]+)/chapter(?:-content)?/([^/?#&]+)\\.html)|(https?://(?:(?:www\\.)?(?:safaribooksonline|(?:learning\\.)?oreilly)\\.com/(?:library/view/[^/]+|api/v1/book|videos/[^/]+)|techbus\\.safaribooksonline\\.com)/([^/]+))|(https?://(?:www\\.)?(?:safaribooksonline|(?:learning\\.)?oreilly)\\.com/(?:library/view/[^/]+/([^/]+)/([^/?\\#&]+)\\.html|videos/[^/]+/[^/]+/([^-]+-[^/?\\#&]+)))"
      },
      "saitosan": {
        "name": "saitosan",
        "type": "free",
        "domains": [
          "saitosan.net"
        ],
        "regexps": [
          "https?://(?:www\\.)?saitosan\\.net/bview.html\\?id=([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?saitosan\\.net/bview.html\\?id=([0-9]+)"
      },
      "saktv": {
        "name": "saktv",
        "type": "free",
        "domains": [
          "saktv.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?saktv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?saktv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "saktvlive": {
        "name": "saktvlive",
        "type": "free",
        "domains": [
          "saktv.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?saktv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?saktv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "saktvrecordings": {
        "name": "saktvrecordings",
        "type": "free",
        "domains": [
          "saktv.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?saktv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?saktv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "salttv": {
        "name": "salttv",
        "type": "free",
        "domains": [
          "tv.salt.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?tv\\.salt\\.ch/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?tv\\.salt\\.ch/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "salttvlive": {
        "name": "salttvlive",
        "type": "free",
        "domains": [
          "tv.salt.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?tv\\.salt\\.ch/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?tv\\.salt\\.ch/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "salttvrecordings": {
        "name": "salttvrecordings",
        "type": "free",
        "domains": [
          "tv.salt.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?tv\\.salt\\.ch/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?tv\\.salt\\.ch/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "samplefocus": {
        "name": "samplefocus",
        "type": "free",
        "domains": [
          "samplefocus.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?samplefocus\\.com/samples/([^/?&#]+)"
        ],
        "regexp": "https?://(?:www\\.)?samplefocus\\.com/samples/([^/?&#]+)"
      },
      "sangiin": {
        "name": "sangiin",
        "type": "free",
        "domains": [
          "webtv.sangiin.go.jp"
        ],
        "regexps": [
          "https?://www\\.webtv\\.sangiin\\.go\\.jp/webtv/detail\\.php\\?sid=(\\d+)"
        ],
        "regexp": "https?://www\\.webtv\\.sangiin\\.go\\.jp/webtv/detail\\.php\\?sid=(\\d+)"
      },
      "sapo": {
        "name": "sapo",
        "type": "free",
        "domains": [
          "videos.sapo.pt",
          "v2.videos.sapo.pt"
        ],
        "regexps": [
          "https?://(?:(?:v2|www)\\.)?videos\\.sapo\\.(?:pt|cv|ao|mz|tl)/([\\da-zA-Z]{20})"
        ],
        "regexp": "https?://(?:(?:v2|www)\\.)?videos\\.sapo\\.(?:pt|cv|ao|mz|tl)/([\\da-zA-Z]{20})"
      },
      "sauceplus": {
        "name": "sauceplus",
        "type": "free",
        "domains": [
          "sauceplus.com"
        ],
        "regexps": [
          "https?://(?:(?:www|beta)\\.)?sauceplus\\.com/post/(\\w+)"
        ],
        "regexp": "https?://(?:(?:www|beta)\\.)?sauceplus\\.com/post/(\\w+)"
      },
      "sbs": {
        "name": "sbs",
        "type": "free",
        "domains": [
          "sbs.com.au"
        ],
        "regexps": [
          "https?://(?:www\\.)?sbs\\.com\\.au/(?:ondemand(?:/video/(?:single/)?|/(?:movie|tv-program)/[^/]+/|/(?:tv|news)-series/(?:[^/]+/){3}|.*?\\bplay=|/watch/)|news/(?:embeds/)?video/)([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?sbs\\.com\\.au/(?:ondemand(?:/video/(?:single/)?|/(?:movie|tv-program)/[^/]+/|/(?:tv|news)-series/(?:[^/]+/){3}|.*?\\bplay=|/watch/)|news/(?:embeds/)?video/)([0-9]+)"
      },
      "sbs.co.kr": {
        "name": "sbs.co.kr",
        "type": "free",
        "domains": [
          "allvod.sbs.co.kr",
          "programs.sbs.co.kr"
        ],
        "regexps": [
          "https?://allvod\\.sbs\\.co\\.kr/allvod/vod(?:Free)?ProgramDetail\\.do\\?(?:[^#]+&)?pgmId=(P?\\d+)",
          "https?://allvod\\.sbs\\.co\\.kr/allvod/vod(?:Package)?EndPage\\.do\\?(?:[^#]+&)?mdaId=(\\d+)",
          "https?://programs\\.sbs\\.co\\.kr/(?:enter|drama|culture|sports|plus|mtv|kth)/[a-z0-9]+/(?:vod|clip|movie)/\\d+/((?:OC)?\\d+)",
          "https?://programs\\.sbs\\.co\\.kr/(?:enter|drama|culture|sports|plus|mtv)/([a-z0-9]+)/vods"
        ],
        "regexp": "(https?://allvod\\.sbs\\.co\\.kr/allvod/vod(?:Free)?ProgramDetail\\.do\\?(?:[^#]+&)?pgmId=(P?\\d+))|(https?://allvod\\.sbs\\.co\\.kr/allvod/vod(?:Package)?EndPage\\.do\\?(?:[^#]+&)?mdaId=(\\d+))|(https?://programs\\.sbs\\.co\\.kr/(?:enter|drama|culture|sports|plus|mtv|kth)/[a-z0-9]+/(?:vod|clip|movie)/\\d+/((?:OC)?\\d+))|(https?://programs\\.sbs\\.co\\.kr/(?:enter|drama|culture|sports|plus|mtv)/([a-z0-9]+)/vods)"
      },
      "schooltv": {
        "name": "schooltv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?schooltv\\.nl/video/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?schooltv\\.nl/video/([^/?#&]+)"
      },
      "sciencechannel": {
        "name": "sciencechannel",
        "type": "free",
        "domains": [
          "sciencechannel.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?sciencechannel\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?sciencechannel\\.com/video/([^/]+/[^/?#]+)"
      },
      "screen9": {
        "name": "screen9",
        "type": "free",
        "domains": [
          "api.screen9.com",
          "folkhogskolekanalen.screen9.tv",
          "play.su.se"
        ],
        "regexps": [
          "https?://(?:\\w+\\.screen9\\.(?:tv|com)|play\\.su\\.se)/(?:embed|media)/([^?#/]+)"
        ],
        "regexp": "https?://(?:\\w+\\.screen9\\.(?:tv|com)|play\\.su\\.se)/(?:embed|media)/([^?#/]+)"
      },
      "screencast": {
        "name": "screencast",
        "type": "free",
        "domains": [
          "screencast.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?screencast\\.com/t/([a-zA-Z0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?screencast\\.com/t/([a-zA-Z0-9]+)"
      },
      "screencastify": {
        "name": "screencastify",
        "type": "free",
        "domains": [
          "watch.screencastify.com",
          "app.screencastify.com"
        ],
        "regexps": [
          "https?://watch\\.screencastify\\.com/v/([^/?#]+)",
          "https?://app\\.screencastify\\.com/v[23]/watch/([^/?#]+)"
        ],
        "regexp": "(https?://watch\\.screencastify\\.com/v/([^/?#]+))|(https?://app\\.screencastify\\.com/v[23]/watch/([^/?#]+))"
      },
      "screencastomatic": {
        "name": "screencastomatic",
        "type": "free",
        "domains": [
          "screencast-o-matic.com"
        ],
        "regexps": [
          "https?://screencast-o-matic\\.com/(?:(?:watch|player)/|embed\\?.*?\\bsc=)([0-9a-zA-Z]+)"
        ],
        "regexp": "https?://screencast-o-matic\\.com/(?:(?:watch|player)/|embed\\?.*?\\bsc=)([0-9a-zA-Z]+)"
      },
      "screenrec": {
        "name": "screenrec",
        "type": "free",
        "domains": [
          "screenrec.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?screenrec\\.com/share/(\\w{10})"
        ],
        "regexp": "https?://(?:www\\.)?screenrec\\.com/share/(\\w{10})"
      },
      "scrippsnetworks": {
        "name": "scrippsnetworks",
        "type": "free",
        "domains": [
          "cookingchanneltv.com",
          "diynetwork.com",
          "foodnetwork.com",
          "hgtv.com",
          "travelchannel.com",
          "discovery.com",
          "watch.geniuskitchen.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(cookingchanneltv|discovery|(?:diy|food)network|hgtv|travelchannel)\\.com/videos/[0-9a-z-]+-(\\d+)",
          "https?://watch\\.(geniuskitchen)\\.com/(?:player\\.[A-Z0-9]+\\.html\\#|show/(?:[^/]+/){2}|player/)(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?(cookingchanneltv|discovery|(?:diy|food)network|hgtv|travelchannel)\\.com/videos/[0-9a-z-]+-(\\d+))|(https?://watch\\.(geniuskitchen)\\.com/(?:player\\.[A-Z0-9]+\\.html\\#|show/(?:[^/]+/){2}|player/)(\\d+))"
      },
      "scrolller": {
        "name": "scrolller",
        "type": "free",
        "domains": [
          "scrolller.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?scrolller\\.com/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?scrolller\\.com/([\\w-]+)"
      },
      "sejm": {
        "name": "sejm",
        "type": "free",
        "domains": [
          "sejm.gov.pl",
          "sejm-embed.redcdn.pl"
        ],
        "regexps": [
          "https?://(?:www\\.)?sejm\\.gov\\.pl/[Ss]ejm(\\d+)\\.nsf/transmisje(?:_arch)?\\.xsp(?:\\?[^#]*)?#([\\dA-F]+)",
          "https?://(?:www\\.)?sejm\\.gov\\.pl/[Ss]ejm(\\d+)\\.nsf/transmisje(?:_arch)?\\.xsp\\?(?:[^#]+&)?unid=([\\dA-F]+)",
          "https?://sejm-embed\\.redcdn\\.pl/[Ss]ejm(\\d+)\\.nsf/VideoFrame\\.xsp/([\\dA-F]+)"
        ],
        "regexp": "(https?://(?:www\\.)?sejm\\.gov\\.pl/[Ss]ejm(\\d+)\\.nsf/transmisje(?:_arch)?\\.xsp(?:\\?[^#]*)?#([\\dA-F]+))|(https?://(?:www\\.)?sejm\\.gov\\.pl/[Ss]ejm(\\d+)\\.nsf/transmisje(?:_arch)?\\.xsp\\?(?:[^#]+&)?unid=([\\dA-F]+))|(https?://sejm-embed\\.redcdn\\.pl/[Ss]ejm(\\d+)\\.nsf/VideoFrame\\.xsp/([\\dA-F]+))"
      },
      "sen": {
        "name": "sen",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?sen\\.com/video/([0-9a-f-]+)"
        ],
        "regexp": "https?://(?:www\\.)?sen\\.com/video/([0-9a-f-]+)"
      },
      "senalcolombialive": {
        "name": "senalcolombialive",
        "type": "free",
        "domains": [
          "senalcolombia.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?senalcolombia\\.tv/(senal-en-vivo)"
        ],
        "regexp": "https?://(?:www\\.)?senalcolombia\\.tv/(senal-en-vivo)"
      },
      "senate.gov": {
        "name": "senate.gov",
        "type": "free",
        "domains": [
          "help.senate.gov",
          "appropriations.senate.gov",
          "banking.senate.gov",
          "agriculture.senate.gov",
          "aging.senate.gov",
          "budget.senate.gov",
          "commerce.senate.gov",
          "energy.senate.gov",
          "epw.senate.gov",
          "foreign.senate.gov",
          "intelligence.senate.gov",
          "inaugural.senate.gov",
          "rules.senate.gov",
          "sbc.senate.gov",
          "veterans.senate.gov",
          "senate.gov"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:agriculture|aging|appropriations|armed\\-services|banking|budget|commerce|energy|epw|finance|foreign|help|intelligence|inaugural|judiciary|rules|sbc|veterans)\\.senate\\.gov",
          "https?://(?:www\\.)?senate\\.gov/isvp/?\\?(.+)"
        ],
        "regexp": "(https?://(?:www\\.)?(?:agriculture|aging|appropriations|armed\\-services|banking|budget|commerce|energy|epw|finance|foreign|help|intelligence|inaugural|judiciary|rules|sbc|veterans)\\.senate\\.gov)|(https?://(?:www\\.)?senate\\.gov/isvp/?\\?(.+))"
      },
      "sendtonews": {
        "name": "sendtonews",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://embed\\.sendtonews\\.com/player2/embedplayer\\.php\\?.*\\bSC=([0-9A-Za-z-]+)"
        ],
        "regexp": "https?://embed\\.sendtonews\\.com/player2/embedplayer\\.php\\?.*\\bSC=([0-9A-Za-z-]+)"
      },
      "servus": {
        "name": "servus",
        "type": "free",
        "domains": [
          "servustv.com",
          "servus.com",
          "pm-wissen.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:servus\\.com/(?:(?:at|de)/p/[^/]+|tv/videos)|(?:servustv|pm-wissen)\\.com/(?:[^/]+/)?v(?:ideos)?)/([aA]{2}-?\\w+|\\d+-\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:servus\\.com/(?:(?:at|de)/p/[^/]+|tv/videos)|(?:servustv|pm-wissen)\\.com/(?:[^/]+/)?v(?:ideos)?)/([aA]{2}-?\\w+|\\d+-\\d+)"
      },
      "sexu": {
        "name": "sexu",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?sexu\\.com/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?sexu\\.com/(\\d+)"
      },
      "seznamzpravy": {
        "name": "seznamzpravy",
        "type": "free",
        "domains": [
          "seznamzpravy.cz"
        ],
        "regexps": [
          "https?://(?:www\\.)?seznamzpravy\\.cz/iframe/player\\?.*\\bsrc="
        ],
        "regexp": "https?://(?:www\\.)?seznamzpravy\\.cz/iframe/player\\?.*\\bsrc="
      },
      "seznamzpravyarticle": {
        "name": "seznamzpravyarticle",
        "type": "free",
        "domains": [
          "seznamzpravy.cz",
          "seznam.cz"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:seznam\\.cz/zpravy|seznamzpravy\\.cz)/clanek/(?:[^/?#&]+)-(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:seznam\\.cz/zpravy|seznamzpravy\\.cz)/clanek/(?:[^/?#&]+)-(\\d+)"
      },
      "shahid": {
        "name": "shahid",
        "type": "free",
        "domains": [
          "shahid.mbc.net"
        ],
        "regexps": [
          "https?://shahid\\.mbc\\.net/[a-z]{2}/(?:serie|show|movie)s/[^/]+/(episode|clip|movie)-(\\d+)"
        ],
        "regexp": "https?://shahid\\.mbc\\.net/[a-z]{2}/(?:serie|show|movie)s/[^/]+/(episode|clip|movie)-(\\d+)"
      },
      "shahidshow": {
        "name": "shahidshow",
        "type": "free",
        "domains": [
          "shahid.mbc.net"
        ],
        "regexps": [
          "https?://shahid\\.mbc\\.net/[a-z]{2}/(?:show|serie)s/[^/]+/(?:show|series)-(\\d+)"
        ],
        "regexp": "https?://shahid\\.mbc\\.net/[a-z]{2}/(?:show|serie)s/[^/]+/(?:show|series)-(\\d+)"
      },
      "sharepoint": {
        "name": "sharepoint",
        "type": "free",
        "domains": [
          "lut-my.sharepoint.com",
          "greaternyace.sharepoint.com",
          "izoobasisschool.sharepoint.com",
          "uskudaredutr-my.sharepoint.com",
          "epam-my.sharepoint.com",
          "microsoft.sharepoint.com"
        ],
        "regexps": [
          "https?://[\\w-]+\\.sharepoint\\.com/:v:/[a-z]/(?:[^/?#]+/)*([^/?#]{46})/?(?:$|[?#])",
          "https?://[\\w-]+\\.sharepoint\\.com/(?!:v:)(?:[^/?#]+/)*stream\\.aspx\\?(?:[^#]+&)?id=([^&#]+)"
        ],
        "regexp": "(https?://[\\w-]+\\.sharepoint\\.com/:v:/[a-z]/(?:[^/?#]+/)*([^/?#]{46})/?(?:$|[?#]))|(https?://[\\w-]+\\.sharepoint\\.com/(?!:v:)(?:[^/?#]+/)*stream\\.aspx\\?(?:[^#]+&)?id=([^&#]+))"
      },
      "shemaroome": {
        "name": "shemaroome",
        "type": "free",
        "domains": [
          "shemaroome.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?shemaroome\\.com/(?:movies|shows)/([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?shemaroome\\.com/(?:movies|shows)/([^?#]+)"
      },
      "shiey": {
        "name": "shiey",
        "type": "free",
        "domains": [
          "shiey.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?shiey\\.com/videos/v/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?shiey\\.com/videos/v/([^/?#]+)"
      },
      "showroomlive": {
        "name": "showroomlive",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?showroom-live\\.com/(?!onlive|timetable|event|campaign|news|ranking|room)([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?showroom-live\\.com/(?!onlive|timetable|event|campaign|news|ranking|room)([^/?#&]+)"
      },
      "shugiinitvlive": {
        "name": "shugiinitvlive",
        "type": "free",
        "domains": [
          "shugiintv.go.jp"
        ],
        "regexps": [
          "https?://(?:www\\.)?shugiintv\\.go\\.jp/(?:jp|en)(?:/index\\.php)?$"
        ],
        "regexp": "https?://(?:www\\.)?shugiintv\\.go\\.jp/(?:jp|en)(?:/index\\.php)?$"
      },
      "shugiinitvliveroom": {
        "name": "shugiinitvliveroom",
        "type": "free",
        "domains": [
          "shugiintv.go.jp"
        ],
        "regexps": [
          "https?://(?:www\\.)?shugiintv\\.go\\.jp/(?:jp|en)/index\\.php\\?room_id=(room\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?shugiintv\\.go\\.jp/(?:jp|en)/index\\.php\\?room_id=(room\\d+)"
      },
      "shugiinitvvod": {
        "name": "shugiinitvvod",
        "type": "free",
        "domains": [
          "shugiintv.go.jp"
        ],
        "regexps": [
          "https?://(?:www\\.)?shugiintv\\.go\\.jp/(?:jp|en)/index\\.php\\?ex=VL(?:\\&[^=]+=[^&]*)*\\&deli_id=(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?shugiintv\\.go\\.jp/(?:jp|en)/index\\.php\\?ex=VL(?:\\&[^=]+=[^&]*)*\\&deli_id=(\\d+)"
      },
      "simplecast": {
        "name": "simplecast",
        "type": "free",
        "domains": [
          "the-re-bind-io-podcast.simplecast.com",
          "api.simplecast.com",
          "player.simplecast.com"
        ],
        "regexps": [
          "https?://(?!api\\.)[^/]+\\.simplecast\\.com/episodes/([^/?&#]+)",
          "https?://(?:api\\.simplecast\\.com/episodes|player\\.simplecast\\.com)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})",
          "https?://(?!(?:api|cdn|embed|feeds|player)\\.)([^/]+)\\.simplecast\\.com(?!/episodes/[^/?&#]+)"
        ],
        "regexp": "(https?://(?!api\\.)[^/]+\\.simplecast\\.com/episodes/([^/?&#]+))|(https?://(?:api\\.simplecast\\.com/episodes|player\\.simplecast\\.com)/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12}))|(https?://(?!(?:api|cdn|embed|feeds|player)\\.)([^/]+)\\.simplecast\\.com(?!/episodes/[^/?&#]+))"
      },
      "sina": {
        "name": "sina",
        "type": "free",
        "domains": [
          "video.sina.com.cn"
        ],
        "regexps": [
          "https?://(?:[^/?#]+\\.)?video\\.sina\\.com\\.cn/(?:(?:view/|.*\\#)(\\d+)|.+?/([^/?#]+)(?:\\.s?html)|api/sinawebApi/outplay.php/(.+?)\\.swf)"
        ],
        "regexp": "https?://(?:[^/?#]+\\.)?video\\.sina\\.com\\.cn/(?:(?:view/|.*\\#)(\\d+)|.+?/([^/?#]+)(?:\\.s?html)|api/sinawebApi/outplay.php/(.+?)\\.swf)"
      },
      "skeb": {
        "name": "skeb",
        "type": "free",
        "domains": [
          "skeb.jp"
        ],
        "regexps": [
          "https?://skeb\\.jp/@([^/?#]+)/works/(\\d+)"
        ],
        "regexp": "https?://skeb\\.jp/@([^/?#]+)/works/(\\d+)"
      },
      "sky": {
        "name": "sky",
        "type": "free",
        "domains": [
          "skysports.com"
        ],
        "regexps": [
          "https?://news\\.sky\\.com/video/[0-9a-z-]+-([0-9]+)",
          "https?://news\\.sky\\.com/story/[0-9a-z-]+-([0-9]+)",
          "https?://(?:www\\.)?skysports\\.com/watch/video/([^/]+/)*([0-9]+)",
          "https?://(?:www\\.)?skysports\\.com/([^/]+/)*news/\\d+/(\\d+)"
        ],
        "regexp": "(https?://news\\.sky\\.com/video/[0-9a-z-]+-([0-9]+))|(https?://news\\.sky\\.com/story/[0-9a-z-]+-([0-9]+))|(https?://(?:www\\.)?skysports\\.com/watch/video/([^/]+/)*([0-9]+))|(https?://(?:www\\.)?skysports\\.com/([^/]+/)*news/\\d+/(\\d+))"
      },
      "sky.it": {
        "name": "sky.it",
        "type": "free",
        "domains": [
          "sport.sky.it",
          "tg24.sky.it"
        ],
        "regexps": [
          "https?://(?:sport|tg24)\\.sky\\.it(?:/[^/]+)*/\\d{4}/\\d{2}/\\d{2}/([^/?&#]+)"
        ],
        "regexp": "https?://(?:sport|tg24)\\.sky\\.it(?:/[^/]+)*/\\d{4}/\\d{2}/\\d{2}/([^/?&#]+)"
      },
      "skylinewebcams": {
        "name": "skylinewebcams",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?skylinewebcams\\.com/[^/]+/webcam/(?:[^/]+/)+([^/]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?skylinewebcams\\.com/[^/]+/webcam/(?:[^/]+/)+([^/]+)\\.html"
      },
      "skynewsarabia": {
        "name": "skynewsarabia",
        "type": "free",
        "domains": [
          "skynewsarabia.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?skynewsarabia\\.com/web/article/([0-9]+)",
          "https?://(?:www\\.)?skynewsarabia\\.com/web/video/([0-9]+)"
        ],
        "regexp": "(https?://(?:www\\.)?skynewsarabia\\.com/web/article/([0-9]+))|(https?://(?:www\\.)?skynewsarabia\\.com/web/video/([0-9]+))"
      },
      "skynewsau": {
        "name": "skynewsau",
        "type": "free",
        "domains": [
          "skynews.com.au"
        ],
        "regexps": [
          "https?://(?:www\\.)?skynews\\.com\\.au/[^/]+/[^/]+/[^/]+/video/([a-z0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?skynews\\.com\\.au/[^/]+/[^/]+/[^/]+/video/([a-z0-9]+)"
      },
      "slideshare": {
        "name": "slideshare",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?slideshare\\.net/[^/]+?/(.+?)($|\\?)"
        ],
        "regexp": "https?://(?:www\\.)?slideshare\\.net/[^/]+?/(.+?)($|\\?)"
      },
      "slideslive": {
        "name": "slideslive",
        "type": "free",
        "domains": [
          "slideslive.com"
        ],
        "regexps": [
          "https?://slideslive\\.com/(?:embed/(?:presentation/)?)?([0-9]+)"
        ],
        "regexp": "https?://slideslive\\.com/(?:embed/(?:presentation/)?)?([0-9]+)"
      },
      "slutload": {
        "name": "slutload",
        "type": "free",
        "domains": [
          "slutload.com",
          "mobile.slutload.com"
        ],
        "regexps": [
          "https?://(?:\\w+\\.)?slutload\\.com/(?:video/[^/]+|embed_player|watch)/([^/]+)"
        ],
        "regexp": "https?://(?:\\w+\\.)?slutload\\.com/(?:video/[^/]+|embed_player|watch)/([^/]+)"
      },
      "smotrim": {
        "name": "smotrim",
        "type": "free",
        "domains": [
          "smotrim.ru",
          "player.smotrim.ru",
          "testplayer.vgtrk.com"
        ],
        "regexps": [
          "https?://(?:(?:player|www)\\.)?smotrim\\.ru(?:/iframe)?/audio(?:/id)?/(\\d+)",
          "(?:https?:)?//(?:(?:player|www)\\.)?smotrim\\.ru(?:/iframe)?/video(?:/id)?/(\\d+)",
          "(?x:\n        (?:https?:)?//\n            (?:(?:(?:test)?player|www)\\.)?\n            (?:\n                smotrim\\.ru|\n                vgtrk\\.com\n            )\n            (?:/iframe)?/\n            (\n                channel|\n                (?:audio-)?live\n            )\n            (?:/u?id)?/([\\da-f-]+)\n    )",
          "https?://smotrim\\.ru/(brand|podcast)/(\\d+)/?([\\w-]+)?"
        ],
        "regexp": "(https?://(?:(?:player|www)\\.)?smotrim\\.ru(?:/iframe)?/audio(?:/id)?/(\\d+))|((?:https?:)?//(?:(?:player|www)\\.)?smotrim\\.ru(?:/iframe)?/video(?:/id)?/(\\d+))|((?x:\n        (?:https?:)?//\n            (?:(?:(?:test)?player|www)\\.)?\n            (?:\n                smotrim\\.ru|\n                vgtrk\\.com\n            )\n            (?:/iframe)?/\n            (\n                channel|\n                (?:audio-)?live\n            )\n            (?:/u?id)?/([\\da-f-]+)\n    ))|(https?://smotrim\\.ru/(brand|podcast)/(\\d+)/?([\\w-]+)?)"
      },
      "snapchatspotlight": {
        "name": "snapchatspotlight",
        "type": "free",
        "domains": [
          "snapchat.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?snapchat\\.com/spotlight/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?snapchat\\.com/spotlight/(\\w+)"
      },
      "snotr": {
        "name": "snotr",
        "type": "free",
        "domains": [
          "snotr.com"
        ],
        "regexps": [
          "http?://(?:www\\.)?snotr\\.com/video/(\\d+)/([\\w]+)"
        ],
        "regexp": "http?://(?:www\\.)?snotr\\.com/video/(\\d+)/([\\w]+)"
      },
      "softwhiteunderbelly": {
        "name": "softwhiteunderbelly",
        "type": "free",
        "domains": [
          "softwhiteunderbelly.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?softwhiteunderbelly\\.com/videos/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?softwhiteunderbelly\\.com/videos/([\\w-]+)"
      },
      "sohu": {
        "name": "sohu",
        "type": "free",
        "domains": [
          "tv.sohu.com",
          "my.tv.sohu.com"
        ],
        "regexps": [
          "https?://(my\\.)?tv\\.sohu\\.com/.+?/(|n)(\\d+)\\.shtml.*?"
        ],
        "regexp": "https?://(my\\.)?tv\\.sohu\\.com/.+?/(|n)(\\d+)\\.shtml.*?"
      },
      "sohuv": {
        "name": "sohuv",
        "type": "free",
        "domains": [
          "tv.sohu.com"
        ],
        "regexps": [
          "https?://tv\\.sohu\\.com/v/([\\w=-]+)\\.html(?:$|[#?])"
        ],
        "regexp": "https?://tv\\.sohu\\.com/v/([\\w=-]+)\\.html(?:$|[#?])"
      },
      "sonyliv": {
        "name": "sonyliv",
        "type": "free",
        "domains": [
          "sonyliv.com"
        ],
        "regexps": [
          "(?:sonyliv:|https?://(?:www\\.)?sonyliv\\.com/(?:s(?:how|port)s/[^/]+|movies|clip|trailer|music-videos)/[^/?#&]+-)(\\d+)"
        ],
        "regexp": "(?:sonyliv:|https?://(?:www\\.)?sonyliv\\.com/(?:s(?:how|port)s/[^/]+|movies|clip|trailer|music-videos)/[^/?#&]+-)(\\d+)"
      },
      "sonylivseries": {
        "name": "sonylivseries",
        "type": "free",
        "domains": [
          "sonyliv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?sonyliv\\.com/shows/[^/?#&]+-(\\d{10})/?(?:$|[?#])"
        ],
        "regexp": "https?://(?:www\\.)?sonyliv\\.com/shows/[^/?#&]+-(\\d{10})/?(?:$|[?#])"
      },
      "soop": {
        "name": "soop",
        "type": "free",
        "domains": [
          "vod.sooplive.co.kr",
          "play.sooplive.co.kr",
          "ch.sooplive.co.kr"
        ],
        "regexps": [
          "https?://vod\\.(?:sooplive\\.co\\.kr|afreecatv\\.com)/player/(\\d+)/catchstory",
          "https?://vod\\.(?:sooplive\\.co\\.kr|afreecatv\\.com)/(?:PLAYER/STATION|player)/(\\d+)/?(?:$|[?#&])",
          "https?://play\\.(?:sooplive\\.co\\.kr|afreecatv\\.com)/([^/?#]+)(?:/(\\d+))?",
          "https?://ch\\.(?:sooplive\\.co\\.kr|afreecatv\\.com)/([^/?#]+)/vods/?([^/?#]+)?"
        ],
        "regexp": "(https?://vod\\.(?:sooplive\\.co\\.kr|afreecatv\\.com)/player/(\\d+)/catchstory)|(https?://vod\\.(?:sooplive\\.co\\.kr|afreecatv\\.com)/(?:PLAYER/STATION|player)/(\\d+)/?(?:$|[?#&]))|(https?://play\\.(?:sooplive\\.co\\.kr|afreecatv\\.com)/([^/?#]+)(?:/(\\d+))?)|(https?://ch\\.(?:sooplive\\.co\\.kr|afreecatv\\.com)/([^/?#]+)/vods/?([^/?#]+)?)"
      },
      "soundcloudembed": {
        "name": "soundcloudembed",
        "type": "free",
        "domains": [
          "w.soundcloud.com"
        ],
        "regexps": [
          "https?://(?:w|player|p)\\.soundcloud\\.com/player/?.*?\\burl=(.+)"
        ],
        "regexp": "https?://(?:w|player|p)\\.soundcloud\\.com/player/?.*?\\burl=(.+)"
      },
      "soundgasm": {
        "name": "soundgasm",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?soundgasm\\.net/u/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)",
          "https?://(?:www\\.)?soundgasm\\.net/u/([^/]+)/?(?:\\#.*)?$"
        ],
        "regexp": "(https?://(?:www\\.)?soundgasm\\.net/u/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+))|(https?://(?:www\\.)?soundgasm\\.net/u/([^/]+)/?(?:\\#.*)?$)"
      },
      "southpark.cc.com": {
        "name": "southpark.cc.com",
        "type": "free",
        "domains": [
          "southpark.cc.com",
          "southparkstudios.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?southpark\\.cc\\.com/es/episodios/([^?#]+)",
          "https?://(?:www\\.)?southpark(?:\\.cc|studios)\\.com/(?:video-clips|episodes|collections)/([^?#]+)"
        ],
        "regexp": "(https?://(?:www\\.)?southpark\\.cc\\.com/es/episodios/([^?#]+))|(https?://(?:www\\.)?southpark(?:\\.cc|studios)\\.com/(?:video-clips|episodes|collections)/([^?#]+))"
      },
      "southpark.de": {
        "name": "southpark.de",
        "type": "free",
        "domains": [
          "southpark.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?southpark\\.de/(?:en/)?(?:videoclip|collections|episodes|video-clips|folgen)/([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?southpark\\.de/(?:en/)?(?:videoclip|collections|episodes|video-clips|folgen)/([^?#]+)"
      },
      "southpark.lat": {
        "name": "southpark.lat",
        "type": "free",
        "domains": [
          "southpark.lat"
        ],
        "regexps": [
          "https?://(?:www\\.)?southpark\\.lat/(?:en/)?(?:video-?clips?|collections|episod(?:e|io)s)/([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?southpark\\.lat/(?:en/)?(?:video-?clips?|collections|episod(?:e|io)s)/([^?#]+)"
      },
      "southparkstudios.co.uk": {
        "name": "southparkstudios.co.uk",
        "type": "free",
        "domains": [
          "southparkstudios.co.uk"
        ],
        "regexps": [
          "https?://(?:www\\.)?southparkstudios\\.co\\.uk/(?:video-clips|collections|episodes)/([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?southparkstudios\\.co\\.uk/(?:video-clips|collections|episodes)/([^?#]+)"
      },
      "southparkstudios.com.br": {
        "name": "southparkstudios.com.br",
        "type": "free",
        "domains": [
          "southparkstudios.com.br"
        ],
        "regexps": [
          "https?://(?:www\\.)?southparkstudios\\.com\\.br/(?:en/)?(?:video-clips|episodios|collections|episodes)/([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?southparkstudios\\.com\\.br/(?:en/)?(?:video-clips|episodios|collections|episodes)/([^?#]+)"
      },
      "southparkstudios.nu": {
        "name": "southparkstudios.nu",
        "type": "free",
        "domains": [
          "southparkstudios.nu"
        ],
        "regexps": [
          "https?://(?:www\\.)?southparkstudios\\.nu/(?:video-clips|episodes|collections)/([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?southparkstudios\\.nu/(?:video-clips|episodes|collections)/([^?#]+)"
      },
      "sovietscloset": {
        "name": "sovietscloset",
        "type": "free",
        "domains": [
          "sovietscloset.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?sovietscloset\\.com/video/([0-9]+)/?"
        ],
        "regexp": "https?://(?:www\\.)?sovietscloset\\.com/video/([0-9]+)/?"
      },
      "sovietsclosetplaylist": {
        "name": "sovietsclosetplaylist",
        "type": "free",
        "domains": [
          "sovietscloset.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?sovietscloset\\.com/(?!video)([^#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?sovietscloset\\.com/(?!video)([^#?]+)"
      },
      "spankbang": {
        "name": "spankbang",
        "type": "free",
        "domains": [
          "spankbang.com",
          "m.spankbang.com"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?spankbang\\.com/(?:([\\da-z]+)/(?:video|play|embed)\\b|[\\da-z]+-([\\da-z]+)/playlist/[^/?#&]+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?spankbang\\.com/(?:([\\da-z]+)/(?:video|play|embed)\\b|[\\da-z]+-([\\da-z]+)/playlist/[^/?#&]+)"
      },
      "spankbangplaylist": {
        "name": "spankbangplaylist",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:[^/]+\\.)?spankbang\\.com/([\\da-z]+)/playlist/([^/]+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?spankbang\\.com/([\\da-z]+)/playlist/([^/]+)"
      },
      "spiegel": {
        "name": "spiegel",
        "type": "free",
        "domains": [
          "spiegel.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:spiegel|manager-magazin)\\.de(?:/[^/]+)+/[^/]*-([0-9]+|[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})(?:-embed|-iframe)?(?:\\.html)?(?:$|[#?])"
        ],
        "regexp": "https?://(?:www\\.)?(?:spiegel|manager-magazin)\\.de(?:/[^/]+)+/[^/]*-([0-9]+|[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})(?:-embed|-iframe)?(?:\\.html)?(?:$|[#?])"
      },
      "sport5": {
        "name": "sport5",
        "type": "free",
        "domains": [
          "vod.sport5.co.il",
          "sport5.co.il"
        ],
        "regexps": [
          "https?://(?:www|vod)?\\.sport5\\.co\\.il/.*\\b(?:Vi|docID)=(\\d+)"
        ],
        "regexp": "https?://(?:www|vod)?\\.sport5\\.co\\.il/.*\\b(?:Vi|docID)=(\\d+)"
      },
      "sportbox": {
        "name": "sportbox",
        "type": "free",
        "domains": [
          "news.sportbox.ru",
          "matchtv.ru"
        ],
        "regexps": [
          "https?://(?:news\\.sportbox|matchtv)\\.ru/vdl/player(?:/[^/]+/|\\?.*?\\bn?id=)(\\d+)"
        ],
        "regexp": "https?://(?:news\\.sportbox|matchtv)\\.ru/vdl/player(?:/[^/]+/|\\?.*?\\bn?id=)(\\d+)"
      },
      "sporteurope": {
        "name": "sporteurope",
        "type": "free",
        "domains": [
          "sporteurope.tv",
          "player.sporteurope.tv"
        ],
        "regexps": [
          "https?://(?:player\\.)?sporteurope\\.tv/((?:[^/?#]+/)?[^?#/&]+)"
        ],
        "regexp": "https?://(?:player\\.)?sporteurope\\.tv/((?:[^/?#]+/)?[^?#/&]+)"
      },
      "spreaker": {
        "name": "spreaker",
        "type": "free",
        "domains": [
          "api.spreaker.com",
          "spreaker.com"
        ],
        "regexps": [
          "https?://api\\.spreaker\\.com/(?:(?:download/)?episode|v2/episodes)/(\\d+)",
          "https?://(?:www\\.)?spreaker\\.com/episode/[^#?/]*?(\\d+)/?(?:[?#]|$)"
        ],
        "regexp": "(https?://api\\.spreaker\\.com/(?:(?:download/)?episode|v2/episodes)/(\\d+))|(https?://(?:www\\.)?spreaker\\.com/episode/[^#?/]*?(\\d+)/?(?:[?#]|$))"
      },
      "spreakershow": {
        "name": "spreakershow",
        "type": "free",
        "domains": [
          "api.spreaker.com",
          "spreaker.com"
        ],
        "regexps": [
          "https?://api\\.spreaker\\.com/show/(\\d+)",
          "https?://(?:www\\.)?spreaker\\.com/podcast/[\\w-]+--([\\d]+)",
          "https?://(?:www\\.)?spreaker\\.com/show/(\\d+)/episodes/feed"
        ],
        "regexp": "(https?://api\\.spreaker\\.com/show/(\\d+))|(https?://(?:www\\.)?spreaker\\.com/podcast/[\\w-]+--([\\d]+))|(https?://(?:www\\.)?spreaker\\.com/show/(\\d+)/episodes/feed)"
      },
      "springboardplatform": {
        "name": "springboardplatform",
        "type": "free",
        "domains": [
          "cms.springboardplatform.com"
        ],
        "regexps": [
          "https?://cms\\.springboardplatform\\.com/(?:(?:previews|embed_iframe)/(\\d+)/video/(\\d+)|xml_feeds_advanced/index/(\\d+)/rss3/(\\d+))"
        ],
        "regexp": "https?://cms\\.springboardplatform\\.com/(?:(?:previews|embed_iframe)/(\\d+)/video/(\\d+)|xml_feeds_advanced/index/(\\d+)/rss3/(\\d+))"
      },
      "sproutvideo": {
        "name": "sproutvideo",
        "type": "free",
        "domains": [
          "videos.sproutvideo.com"
        ],
        "regexps": [
          "https?://videos\\.sproutvideo\\.com/embed/([\\da-f]+)/[\\da-f]+"
        ],
        "regexp": "https?://videos\\.sproutvideo\\.com/embed/([\\da-f]+)/[\\da-f]+"
      },
      "sr": {
        "name": "sr",
        "type": "free",
        "domains": [
          "sr-mediathek.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?sr-mediathek\\.de/index\\.php\\?.*?&id=(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?sr-mediathek\\.de/index\\.php\\?.*?&id=(\\d+)"
      },
      "srgssr": {
        "name": "srgssr",
        "type": "free",
        "domains": [],
        "regexps": [
          "(?:https?://tp\\.srgssr\\.ch/p(?:/[^/]+)+\\?urn=urn|srgssr):(srf|rts|rsi|rtr|swi):(?:[^:]+:)?(video|audio):([0-9a-f\\-]{36}|\\d+)"
        ],
        "regexp": "(?:https?://tp\\.srgssr\\.ch/p(?:/[^/]+)+\\?urn=urn|srgssr):(srf|rts|rsi|rtr|swi):(?:[^:]+:)?(video|audio):([0-9a-f\\-]{36}|\\d+)"
      },
      "srgssrplay": {
        "name": "srgssrplay",
        "type": "free",
        "domains": [
          "srf.ch",
          "rtr.ch",
          "rts.ch",
          "play.swissinfo.ch"
        ],
        "regexps": [
          "https?://(?:(?:www|play)\\.)?(srf|rts|rsi|rtr|swissinfo)\\.ch/play/(?:tv|radio)/(?:[^/]+/(video|audio)/[^?]+|popup(video|audio)player)\\?.*?\\b(?:id=|urn=urn:[^:]+:video:)([0-9a-f\\-]{36}|\\d+)"
        ],
        "regexp": "https?://(?:(?:www|play)\\.)?(srf|rts|rsi|rtr|swissinfo)\\.ch/play/(?:tv|radio)/(?:[^/]+/(video|audio)/[^?]+|popup(video|audio)player)\\?.*?\\b(?:id=|urn=urn:[^:]+:video:)([0-9a-f\\-]{36}|\\d+)"
      },
      "stacommulive": {
        "name": "stacommulive",
        "type": "free",
        "domains": [
          "stacommu.jp"
        ],
        "regexps": [
          "https?://www\\.stacommu\\.jp/(?:en/)?live/([\\da-zA-Z]+)"
        ],
        "regexp": "https?://www\\.stacommu\\.jp/(?:en/)?live/([\\da-zA-Z]+)"
      },
      "stacommuvod": {
        "name": "stacommuvod",
        "type": "free",
        "domains": [
          "stacommu.jp"
        ],
        "regexps": [
          "https?://www\\.stacommu\\.jp/(?:en/)?videos/episodes/([\\da-zA-Z]+)"
        ],
        "regexp": "https?://www\\.stacommu\\.jp/(?:en/)?videos/episodes/([\\da-zA-Z]+)"
      },
      "stageplusvodconcert": {
        "name": "stageplusvodconcert",
        "type": "free",
        "domains": [
          "stage-plus.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?stage-plus\\.com/video/(vod_concert_\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?stage-plus\\.com/video/(vod_concert_\\w+)"
      },
      "stanfordoc": {
        "name": "stanfordoc",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://openclassroom\\.stanford\\.edu(/?|(/MainFolder/(?:HomePage|CoursePage|VideoPage)\\.php([?]course=([^&]+)(&video=([^&]+))?(&.*)?)?))$"
        ],
        "regexp": "https?://openclassroom\\.stanford\\.edu(/?|(/MainFolder/(?:HomePage|CoursePage|VideoPage)\\.php([?]course=([^&]+)(&video=([^&]+))?(&.*)?)?))$"
      },
      "startrek": {
        "name": "startrek",
        "type": "free",
        "domains": [
          "startrek.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?startrek\\.com(?:/en-(?:ca|un))?/videos/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?startrek\\.com(?:/en-(?:ca|un))?/videos/([^/?#]+)"
      },
      "startv": {
        "name": "startv",
        "type": "free",
        "domains": [
          "startv.com.tr"
        ],
        "regexps": [
          "https?://(?:www\\.)?startv\\.com\\.tr/(?:(?:dizi|program)/(?:[^/?#&]+)/(?:bolumler|fragmanlar|ekstralar)|video/arsiv/(?:dizi|program)/(?:[^/?#&]+))/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?startv\\.com\\.tr/(?:(?:dizi|program)/(?:[^/?#&]+)/(?:bolumler|fragmanlar|ekstralar)|video/arsiv/(?:dizi|program)/(?:[^/?#&]+))/([^/?#&]+)"
      },
      "steam": {
        "name": "steam",
        "type": "free",
        "domains": [
          "store.steampowered.com"
        ],
        "regexps": [
          "https?://store\\.steampowered\\.com(?:/agecheck)?/app/(\\d+)/?(?:[^?/#]+/?)?(?:[?#]|$)"
        ],
        "regexp": "https?://store\\.steampowered\\.com(?:/agecheck)?/app/(\\d+)/?(?:[^?/#]+/?)?(?:[?#]|$)"
      },
      "steamcommunity": {
        "name": "steamcommunity",
        "type": "free",
        "domains": [
          "steamcommunity.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?steamcommunity\\.com/sharedfiles/filedetails(?:/?\\?(?:[^#]+&)?id=|/)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?steamcommunity\\.com/sharedfiles/filedetails(?:/?\\?(?:[^#]+&)?id=|/)(\\d+)"
      },
      "steamcommunitybroadcast": {
        "name": "steamcommunitybroadcast",
        "type": "free",
        "domains": [
          "steamcommunity.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?steamcommunity\\.com/broadcast/watch/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?steamcommunity\\.com/broadcast/watch/(\\d+)"
      },
      "stitcher": {
        "name": "stitcher",
        "type": "free",
        "domains": [
          "stitcher.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?stitcher\\.com/(?:podcast|show)/(?:[^/]+/)+e(?:pisode)?/(?:[^/#?&]+-)?(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?stitcher\\.com/(?:podcast|show)/(?:[^/]+/)+e(?:pisode)?/(?:[^/#?&]+-)?(\\d+)"
      },
      "stitchershow": {
        "name": "stitchershow",
        "type": "free",
        "domains": [
          "stitcher.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?stitcher\\.com/(?:podcast|show)/([^/#?&]+)/?(?:[?#&]|$)"
        ],
        "regexp": "https?://(?:www\\.)?stitcher\\.com/(?:podcast|show)/([^/#?&]+)/?(?:[?#&]|$)"
      },
      "storyfire": {
        "name": "storyfire",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?storyfire\\.com/video-details/([0-9a-f]{24})"
        ],
        "regexp": "https?://(?:www\\.)?storyfire\\.com/video-details/([0-9a-f]{24})"
      },
      "storyfireseries": {
        "name": "storyfireseries",
        "type": "free",
        "domains": [
          "storyfire.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?storyfire\\.com/write/series/stories/([^/?&#]+)"
        ],
        "regexp": "https?://(?:www\\.)?storyfire\\.com/write/series/stories/([^/?&#]+)"
      },
      "storyfireuser": {
        "name": "storyfireuser",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?storyfire\\.com/user/([^/]+)/video"
        ],
        "regexp": "https?://(?:www\\.)?storyfire\\.com/user/([^/]+)/video"
      },
      "streaks": {
        "name": "streaks",
        "type": "free",
        "domains": [
          "players.streaks.jp",
          "playback.api.streaks.jp"
        ],
        "regexps": [
          "https?://players\\.streaks\\.jp/([\\w-]+)/[\\da-f]+/index\\.html\\?(?:[^#]+&)?m=((?:ref:)?[\\w-]+)",
          "https?://playback\\.api\\.streaks\\.jp/v1/projects/([\\w-]+)/medias/((?:ref:)?[\\w-]+)"
        ],
        "regexp": "(https?://players\\.streaks\\.jp/([\\w-]+)/[\\da-f]+/index\\.html\\?(?:[^#]+&)?m=((?:ref:)?[\\w-]+))|(https?://playback\\.api\\.streaks\\.jp/v1/projects/([\\w-]+)/medias/((?:ref:)?[\\w-]+))"
      },
      "streamable": {
        "name": "streamable",
        "type": "free",
        "domains": [
          "streamable.com"
        ],
        "regexps": [
          "https?://streamable\\.com/(?:[es]/)?(\\w+)"
        ],
        "regexp": "https?://streamable\\.com/(?:[es]/)?(\\w+)"
      },
      "streamcz": {
        "name": "streamcz",
        "type": "free",
        "domains": [
          "televizeseznam.cz",
          "stream.cz"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:stream|televizeseznam)\\.cz/[^?#]+/([^?#]+)-([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:stream|televizeseznam)\\.cz/[^?#]+/([^?#]+)-([0-9]+)"
      },
      "streetvoice": {
        "name": "streetvoice",
        "type": "free",
        "domains": [
          "streetvoice.com",
          "tw.streetvoice.com"
        ],
        "regexps": [
          "https?://(?:.+?\\.)?streetvoice\\.com/[^/]+/songs/([0-9]+)"
        ],
        "regexp": "https?://(?:.+?\\.)?streetvoice\\.com/[^/]+/songs/([0-9]+)"
      },
      "stretchinternet": {
        "name": "stretchinternet",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://portal\\.stretchinternet\\.com/[^/]+/(?:portal|full)\\.htm\\?.*?\\beventId=(\\d+)"
        ],
        "regexp": "https?://portal\\.stretchinternet\\.com/[^/]+/(?:portal|full)\\.htm\\?.*?\\beventId=(\\d+)"
      },
      "stripchat": {
        "name": "stripchat",
        "type": "free",
        "domains": [
          "stripchat.com"
        ],
        "regexps": [
          "https?://stripchat\\.com/([^/?#]+)"
        ],
        "regexp": "https?://stripchat\\.com/([^/?#]+)"
      },
      "stv": {
        "name": "stv",
        "type": "free",
        "domains": [
          "player.stv.tv"
        ],
        "regexps": [
          "https?://player\\.stv\\.tv/(episode|video)/([a-z0-9]{4})"
        ],
        "regexp": "https?://player\\.stv\\.tv/(episode|video)/([a-z0-9]{4})"
      },
      "stvr": {
        "name": "stvr",
        "type": "free",
        "domains": [
          "rtvs.sk",
          "stvr.sk"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:rtvs|stvr)\\.sk/(?:radio|televizia)/archiv(?:/\\d+)?/(\\d+)/?(?:[#?]|$)"
        ],
        "regexp": "https?://(?:www\\.)?(?:rtvs|stvr)\\.sk/(?:radio|televizia)/archiv(?:/\\d+)?/(\\d+)/?(?:[#?]|$)"
      },
      "subsplash": {
        "name": "subsplash",
        "type": "free",
        "domains": [
          "subsplash.com",
          "prophecywatchers.subspla.sh"
        ],
        "regexps": [
          "https?://(?:www\\.)?subsplash\\.com/(?:u/)?[^/?#]+/[^/?#]+/(?:d/|mi/\\+)(\\w+)",
          "https?://(?:\\w+\\.)?subspla\\.sh/(\\w+)",
          "https?://(?:www\\.)?subsplash\\.com/[^/?#]+/(?:our-videos|media)/ms/\\+(\\w+)"
        ],
        "regexp": "(https?://(?:www\\.)?subsplash\\.com/(?:u/)?[^/?#]+/[^/?#]+/(?:d/|mi/\\+)(\\w+))|(https?://(?:\\w+\\.)?subspla\\.sh/(\\w+))|(https?://(?:www\\.)?subsplash\\.com/[^/?#]+/(?:our-videos|media)/ms/\\+(\\w+))"
      },
      "substack": {
        "name": "substack",
        "type": "free",
        "domains": [
          "haleynahman.substack.com",
          "andrewzimmern.substack.com",
          "persuasion1.substack.com"
        ],
        "regexps": [
          "https?://[\\w-]+\\.substack\\.com/p/([\\w-]+)"
        ],
        "regexp": "https?://[\\w-]+\\.substack\\.com/p/([\\w-]+)"
      },
      "sunporno": {
        "name": "sunporno",
        "type": "free",
        "domains": [
          "sunporno.com",
          "embeds.sunporno.com"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?sunporno\\.com/videos|embeds\\.sunporno\\.com/embed)/(\\d+)"
        ],
        "regexp": "https?://(?:(?:www\\.)?sunporno\\.com/videos|embeds\\.sunporno\\.com/embed)/(\\d+)"
      },
      "sverigesradio": {
        "name": "sverigesradio",
        "type": "free",
        "domains": [
          "sverigesradio.se"
        ],
        "regexps": [
          "https?://(?:www\\.)?sverigesradio\\.se/(?:sida/)?avsnitt/(?:(\\d+)|([\\w-]+))(?:$|[#?])",
          "https?://(?:www\\.)?sverigesradio\\.se/(?:sida/)?(?:artikel|gruppsida)(?:\\.aspx\\?.*?\\bartikel=([0-9]+)|/([\\w-]+))"
        ],
        "regexp": "(https?://(?:www\\.)?sverigesradio\\.se/(?:sida/)?avsnitt/(?:(\\d+)|([\\w-]+))(?:$|[#?]))|(https?://(?:www\\.)?sverigesradio\\.se/(?:sida/)?(?:artikel|gruppsida)(?:\\.aspx\\?.*?\\bartikel=([0-9]+)|/([\\w-]+)))"
      },
      "svt": {
        "name": "svt",
        "type": "free",
        "domains": [
          "svt.se",
          "svtplay.se",
          "oppetarkiv.se"
        ],
        "regexps": [
          "https?://(?:www\\.)?svt\\.se/(?:[^/?#]+/)*([^/?&#]+)",
          "(?:(?:svt:|https?://(?:www\\.)?svt\\.se/barnkanalen/barnplay/[^/]+/)([^/?#&]+)|https?://(?:www\\.)?(?:svtplay|oppetarkiv)\\.se/(?:video|klipp|kanaler)/([^/?#&]+)(?:.*?(?:modalId|id)=([\\da-zA-Z-]+))?)",
          "https?://(?:www\\.)?svtplay\\.se/([^/?&#]+)(?:.+?\\btab=([^&#]+))?"
        ],
        "regexp": "(https?://(?:www\\.)?svt\\.se/(?:[^/?#]+/)*([^/?&#]+))|((?:(?:svt:|https?://(?:www\\.)?svt\\.se/barnkanalen/barnplay/[^/]+/)([^/?#&]+)|https?://(?:www\\.)?(?:svtplay|oppetarkiv)\\.se/(?:video|klipp|kanaler)/([^/?#&]+)(?:.*?(?:modalId|id)=([\\da-zA-Z-]+))?))|(https?://(?:www\\.)?svtplay\\.se/([^/?&#]+)(?:.+?\\btab=([^&#]+))?)"
      },
      "swearnetepisode": {
        "name": "swearnetepisode",
        "type": "free",
        "domains": [
          "swearnet.com"
        ],
        "regexps": [
          "https?://www\\.swearnet\\.com/shows/([\\w-]+)/seasons/(\\d+)/episodes/(\\d+)"
        ],
        "regexp": "https?://www\\.swearnet\\.com/shows/([\\w-]+)/seasons/(\\d+)/episodes/(\\d+)"
      },
      "syfy": {
        "name": "syfy",
        "type": "free",
        "domains": [
          "syfy.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?syfy\\.com/[^/?#]+/(?:season-\\d+/episode-\\d+/(?:videos/)?|videos/)([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?syfy\\.com/[^/?#]+/(?:season-\\d+/episode-\\d+/(?:videos/)?|videos/)([^/?#]+)"
      },
      "syvdk": {
        "name": "syvdk",
        "type": "free",
        "domains": [
          "24syv.dk"
        ],
        "regexps": [
          "https?://(?:www\\.)?24syv\\.dk/episode/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?24syv\\.dk/episode/([\\w-]+)"
      },
      "sztvhu": {
        "name": "sztvhu",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:(?:www\\.)?sztv\\.hu|www\\.tvszombathely\\.hu)/(?:[^/]+)/.+-([0-9]+)"
        ],
        "regexp": "https?://(?:(?:www\\.)?sztv\\.hu|www\\.tvszombathely\\.hu)/(?:[^/]+)/.+-([0-9]+)"
      },
      "t-online.de": {
        "name": "t-online.de",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?t-online\\.de/tv/(?:[^/]+/)*id_(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?t-online\\.de/tv/(?:[^/]+/)*id_(\\d+)"
      },
      "taptapapp": {
        "name": "taptapapp",
        "type": "free",
        "domains": [
          "taptap.cn"
        ],
        "regexps": [
          "https?://www\\.taptap\\.cn/app/(\\d+)"
        ],
        "regexp": "https?://www\\.taptap\\.cn/app/(\\d+)"
      },
      "taptapappintl": {
        "name": "taptapappintl",
        "type": "free",
        "domains": [
          "taptap.io"
        ],
        "regexps": [
          "https?://www\\.taptap\\.io/app/(\\d+)"
        ],
        "regexp": "https?://www\\.taptap\\.io/app/(\\d+)"
      },
      "taptapmoment": {
        "name": "taptapmoment",
        "type": "free",
        "domains": [
          "taptap.cn"
        ],
        "regexps": [
          "https?://www\\.taptap\\.cn/moment/(\\d+)"
        ],
        "regexp": "https?://www\\.taptap\\.cn/moment/(\\d+)"
      },
      "taptappostintl": {
        "name": "taptappostintl",
        "type": "free",
        "domains": [
          "taptap.io"
        ],
        "regexps": [
          "https?://www\\.taptap\\.io/post/(\\d+)"
        ],
        "regexp": "https?://www\\.taptap\\.io/post/(\\d+)"
      },
      "tarangplus": {
        "name": "tarangplus",
        "type": "free",
        "domains": [
          "tarangplus.in"
        ],
        "regexps": [
          "https?://(?:www\\.)?tarangplus\\.in/([^#?/]+)/([^#?/]+)/episodes/?(?:$|[?#])",
          "https?://(?:www\\.)?tarangplus\\.in/([^#?/]+)/all/?(?:$|[?#])",
          "https?://(?:www\\.)?tarangplus\\.in/(?:movies|[^#?/]+/[^#?/]+)/(?!episodes)([^#?/]+)"
        ],
        "regexp": "(https?://(?:www\\.)?tarangplus\\.in/([^#?/]+)/([^#?/]+)/episodes/?(?:$|[?#]))|(https?://(?:www\\.)?tarangplus\\.in/([^#?/]+)/all/?(?:$|[?#]))|(https?://(?:www\\.)?tarangplus\\.in/(?:movies|[^#?/]+/[^#?/]+)/(?!episodes)([^#?/]+))"
      },
      "tass": {
        "name": "tass",
        "type": "free",
        "domains": [
          "tass.ru",
          "itar-tass.com"
        ],
        "regexps": [
          "https?://(?:tass\\.ru|itar-tass\\.com)/[^/]+/(\\d+)"
        ],
        "regexp": "https?://(?:tass\\.ru|itar-tass\\.com)/[^/]+/(\\d+)"
      },
      "tbs": {
        "name": "tbs",
        "type": "free",
        "domains": [
          "tbs.com",
          "tntdrama.com",
          "trutv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(tbs|tntdrama|trutv)\\.com(/(?:(watch(?:tnt|tbs|trutv))|movies|shows/[^/?#]+/(?:clips|season-\\d+/episode-\\d+))/([^/?#]+))"
        ],
        "regexp": "https?://(?:www\\.)?(tbs|tntdrama|trutv)\\.com(/(?:(watch(?:tnt|tbs|trutv))|movies|shows/[^/?#]+/(?:clips|season-\\d+/episode-\\d+))/([^/?#]+))"
      },
      "tbsjpepisode": {
        "name": "tbsjpepisode",
        "type": "free",
        "domains": [
          "cu.tbs.co.jp"
        ],
        "regexps": [
          "https?://cu\\.tbs\\.co\\.jp/episode/([\\d_]+)"
        ],
        "regexp": "https?://cu\\.tbs\\.co\\.jp/episode/([\\d_]+)"
      },
      "tbsjpplaylist": {
        "name": "tbsjpplaylist",
        "type": "free",
        "domains": [
          "cu.tbs.co.jp"
        ],
        "regexps": [
          "https?://cu\\.tbs\\.co\\.jp/playlist/([\\da-f]+)"
        ],
        "regexp": "https?://cu\\.tbs\\.co\\.jp/playlist/([\\da-f]+)"
      },
      "tbsjpprogram": {
        "name": "tbsjpprogram",
        "type": "free",
        "domains": [
          "cu.tbs.co.jp"
        ],
        "regexps": [
          "https?://cu\\.tbs\\.co\\.jp/program/(\\d+)"
        ],
        "regexp": "https?://cu\\.tbs\\.co\\.jp/program/(\\d+)"
      },
      "teachable": {
        "name": "teachable",
        "type": "free",
        "domains": [
          "gns3.teachable.com",
          "v1.upskillcourses.com"
        ],
        "regexps": [
          "(?:teachable:https?://([^/]+)|https?://(?:www\\.)?(v1\\.upskillcourses\\.com|gns3\\.teachable\\.com|academyhacker\\.com|stackskills\\.com|market\\.saleshacker\\.com|learnability\\.org|edurila\\.com|courses\\.workitdaily\\.com))/courses/[^/]+/lectures/(\\d+)"
        ],
        "regexp": "(?:teachable:https?://([^/]+)|https?://(?:www\\.)?(v1\\.upskillcourses\\.com|gns3\\.teachable\\.com|academyhacker\\.com|stackskills\\.com|market\\.saleshacker\\.com|learnability\\.org|edurila\\.com|courses\\.workitdaily\\.com))/courses/[^/]+/lectures/(\\d+)"
      },
      "teachablecourse": {
        "name": "teachablecourse",
        "type": "free",
        "domains": [
          "v1.upskillcourses.com",
          "gns3.teachable.com"
        ],
        "regexps": [
          "(?:teachable:https?://([^/]+)|https?://(?:www\\.)?(v1\\.upskillcourses\\.com|gns3\\.teachable\\.com|academyhacker\\.com|stackskills\\.com|market\\.saleshacker\\.com|learnability\\.org|edurila\\.com|courses\\.workitdaily\\.com))/(?:courses|p)/(?:enrolled/)?([^/?#&]+)"
        ],
        "regexp": "(?:teachable:https?://([^/]+)|https?://(?:www\\.)?(v1\\.upskillcourses\\.com|gns3\\.teachable\\.com|academyhacker\\.com|stackskills\\.com|market\\.saleshacker\\.com|learnability\\.org|edurila\\.com|courses\\.workitdaily\\.com))/(?:courses|p)/(?:enrolled/)?([^/?#&]+)"
      },
      "teachertube": {
        "name": "teachertube",
        "type": "free",
        "domains": [
          "teachertube.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?teachertube\\.com/(viewVideo\\.php\\?video_id=|music\\.php\\?music_id=|video/(?:[\\da-z-]+-)?|audio/)(\\d+)",
          "https?://(?:www\\.)?teachertube\\.com/(user/profile|collection)/([0-9a-zA-Z]+)/?"
        ],
        "regexp": "(https?://(?:www\\.)?teachertube\\.com/(viewVideo\\.php\\?video_id=|music\\.php\\?music_id=|video/(?:[\\da-z-]+-)?|audio/)(\\d+))|(https?://(?:www\\.)?teachertube\\.com/(user/profile|collection)/([0-9a-zA-Z]+)/?)"
      },
      "teachingchannel": {
        "name": "teachingchannel",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?teachingchannel\\.org/videos?/([^/?&#]+)"
        ],
        "regexp": "https?://(?:www\\.)?teachingchannel\\.org/videos?/([^/?&#]+)"
      },
      "teamcoco": {
        "name": "teamcoco",
        "type": "free",
        "domains": [
          "teamcoco.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?teamcoco\\.com/(([^/]+/)*[^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?teamcoco\\.com/(([^/]+/)*[^/?#]+)"
      },
      "teamtreehouse": {
        "name": "teamtreehouse",
        "type": "free",
        "domains": [
          "teamtreehouse.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?teamtreehouse\\.com/library/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?teamtreehouse\\.com/library/([^/]+)"
      },
      "techtv.mit.edu": {
        "name": "techtv.mit.edu",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://techtv\\.mit\\.edu/(?:videos|embeds)/(\\d+)"
        ],
        "regexp": "https?://techtv\\.mit\\.edu/(?:videos|embeds)/(\\d+)"
      },
      "tedembed": {
        "name": "tedembed",
        "type": "free",
        "domains": [
          "embed.ted.com"
        ],
        "regexps": [
          "https?://embed(?:-ssl)?\\.ted\\.com/"
        ],
        "regexp": "https?://embed(?:-ssl)?\\.ted\\.com/"
      },
      "tedplaylist": {
        "name": "tedplaylist",
        "type": "free",
        "domains": [
          "ted.com"
        ],
        "regexps": [
          "https?://www\\.ted\\.com/(?:playlists(?:/\\d+)?)(?:/lang/[^/#?]+)?/([\\w-]+)"
        ],
        "regexp": "https?://www\\.ted\\.com/(?:playlists(?:/\\d+)?)(?:/lang/[^/#?]+)?/([\\w-]+)"
      },
      "tedseries": {
        "name": "tedseries",
        "type": "free",
        "domains": [
          "ted.com"
        ],
        "regexps": [
          "https?://www\\.ted\\.com/(?:series)(?:/lang/[^/#?]+)?/([\\w-]+)(?:#season_(\\d+))?"
        ],
        "regexp": "https?://www\\.ted\\.com/(?:series)(?:/lang/[^/#?]+)?/([\\w-]+)(?:#season_(\\d+))?"
      },
      "tedtalk": {
        "name": "tedtalk",
        "type": "free",
        "domains": [
          "ted.com"
        ],
        "regexps": [
          "https?://www\\.ted\\.com/(?:talks)(?:/lang/[^/#?]+)?/([\\w-]+)"
        ],
        "regexp": "https?://www\\.ted\\.com/(?:talks)(?:/lang/[^/#?]+)?/([\\w-]+)"
      },
      "tele5": {
        "name": "tele5",
        "type": "free",
        "domains": [
          "tele5.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?tele5\\.de/([\\w-]+)/([\\w-]+)(?:/([\\w-]+))?"
        ],
        "regexp": "https?://(?:www\\.)?tele5\\.de/([\\w-]+)/([\\w-]+)(?:/([\\w-]+))?"
      },
      "tele13": {
        "name": "tele13",
        "type": "free",
        "domains": [
          "t13.cl"
        ],
        "regexps": [
          "https?://(?:www\\.)?t13\\.cl/videos(?:/[^/]+)+/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?t13\\.cl/videos(?:/[^/]+)+/([\\w-]+)"
      },
      "telebruxelles": {
        "name": "telebruxelles",
        "type": "free",
        "domains": [
          "bx1.be"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:telebruxelles|bx1)\\.be/(?:[^/]+/)*([^/#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:telebruxelles|bx1)\\.be/(?:[^/]+/)*([^/#?]+)"
      },
      "telecaribeplay": {
        "name": "telecaribeplay",
        "type": "free",
        "domains": [
          "play.telecaribe.co"
        ],
        "regexps": [
          "https?://(?:www\\.)?play\\.telecaribe\\.co/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?play\\.telecaribe\\.co/([\\w-]+)"
      },
      "telecinco": {
        "name": "telecinco",
        "type": "free",
        "domains": [
          "telecinco.es",
          "cuatro.com",
          "mediaset.es"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:telecinco\\.es|cuatro\\.com|mediaset\\.es)/(?:[^/]+/)+(.+?)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?(?:telecinco\\.es|cuatro\\.com|mediaset\\.es)/(?:[^/]+/)+(.+?)\\.html"
      },
      "telegraaf": {
        "name": "telegraaf",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?telegraaf\\.nl/video/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?telegraaf\\.nl/video/(\\d+)"
      },
      "telegram": {
        "name": "telegram",
        "type": "free",
        "domains": [
          "t.me"
        ],
        "regexps": [
          "https?://t\\.me/([^/]+)/(\\d+)"
        ],
        "regexp": "https?://t\\.me/([^/]+)/(\\d+)"
      },
      "telemb": {
        "name": "telemb",
        "type": "free",
        "domains": [
          "telemb.be"
        ],
        "regexps": [
          "https?://(?:www\\.)?telemb\\.be/(.+?)_d_(\\d+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?telemb\\.be/(.+?)_d_(\\d+)\\.html"
      },
      "telemundo": {
        "name": "telemundo",
        "type": "free",
        "domains": [
          "telemundo.com"
        ],
        "regexps": [
          "https?:\\/\\/(?:www\\.)?telemundo\\.com\\/.+?video\\/[^\\/]+(tmvo\\d{7})"
        ],
        "regexp": "https?:\\/\\/(?:www\\.)?telemundo\\.com\\/.+?video\\/[^\\/]+(tmvo\\d{7})"
      },
      "telequebec": {
        "name": "telequebec",
        "type": "free",
        "domains": [
          "zonevideo.telequebec.tv",
          "coucou.telequebec.tv"
        ],
        "regexps": [
          "https?://(?:zonevideo\\.telequebec\\.tv/media|coucou\\.telequebec\\.tv/videos)/(\\d+)"
        ],
        "regexp": "https?://(?:zonevideo\\.telequebec\\.tv/media|coucou\\.telequebec\\.tv/videos)/(\\d+)"
      },
      "telequebecemission": {
        "name": "telequebecemission",
        "type": "free",
        "domains": [
          "lindicemcsween.telequebec.tv",
          "bancpublic.telequebec.tv",
          "telequebec.tv"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.telequebec\\.tv/emissions/|(?:www\\.)?telequebec\\.tv/)([^?#&]+)"
        ],
        "regexp": "https?://(?:[^/]+\\.telequebec\\.tv/emissions/|(?:www\\.)?telequebec\\.tv/)([^?#&]+)"
      },
      "telequebeclive": {
        "name": "telequebeclive",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://zonevideo\\.telequebec\\.tv/(endirect)"
        ],
        "regexp": "https?://zonevideo\\.telequebec\\.tv/(endirect)"
      },
      "telequebecsquat": {
        "name": "telequebecsquat",
        "type": "free",
        "domains": [
          "squat.telequebec.tv"
        ],
        "regexps": [
          "https?://squat\\.telequebec\\.tv/videos/(\\d+)"
        ],
        "regexp": "https?://squat\\.telequebec\\.tv/videos/(\\d+)"
      },
      "telequebecvideo": {
        "name": "telequebecvideo",
        "type": "free",
        "domains": [
          "video.telequebec.tv"
        ],
        "regexps": [
          "https?://video\\.telequebec\\.tv/player(?:-live)?/(\\d+)"
        ],
        "regexp": "https?://video\\.telequebec\\.tv/player(?:-live)?/(\\d+)"
      },
      "teletask": {
        "name": "teletask",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?tele-task\\.de/archive/video/html5/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?tele-task\\.de/archive/video/html5/([0-9]+)"
      },
      "telewebion": {
        "name": "telewebion",
        "type": "free",
        "domains": [
          "telewebion.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?telewebion\\.com/episode/((?:0x[a-fA-F\\d]+|\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?telewebion\\.com/episode/((?:0x[a-fA-F\\d]+|\\d+))"
      },
      "tempo": {
        "name": "tempo",
        "type": "free",
        "domains": [
          "video.tempo.co"
        ],
        "regexps": [
          "https?://video\\.tempo\\.co/\\w+/\\d+/([\\w-]+)"
        ],
        "regexp": "https?://video\\.tempo\\.co/\\w+/\\d+/([\\w-]+)"
      },
      "tennistv": {
        "name": "tennistv",
        "type": "free",
        "domains": [
          "tennistv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?tennistv\\.com/videos/([-a-z0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?tennistv\\.com/videos/([-a-z0-9]+)"
      },
      "tf1": {
        "name": "tf1",
        "type": "free",
        "domains": [
          "tf1.fr"
        ],
        "regexps": [
          "https?://(?:www\\.)?tf1\\.fr/[^/]+/([^/]+)/videos/([^/?&#]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?tf1\\.fr/[^/]+/([^/]+)/videos/([^/?&#]+)\\.html"
      },
      "tfo": {
        "name": "tfo",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?tfo\\.org/(?:en|fr)/(?:[^/]+/){2}(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?tfo\\.org/(?:en|fr)/(?:[^/]+/){2}(\\d+)"
      },
      "theatercomplextown": {
        "name": "theatercomplextown",
        "type": "free",
        "domains": [
          "theater-complex.town"
        ],
        "regexps": [
          "https?://(?:www\\.)?theater-complex\\.town/(?:(?:en|ja)/)?(?:ppv|live)/(\\w+)",
          "https?://(?:www\\.)?theater-complex\\.town/(?:(?:en|ja)/)?videos/episodes/(\\w+)"
        ],
        "regexp": "(https?://(?:www\\.)?theater-complex\\.town/(?:(?:en|ja)/)?(?:ppv|live)/(\\w+))|(https?://(?:www\\.)?theater-complex\\.town/(?:(?:en|ja)/)?videos/episodes/(\\w+))"
      },
      "thechosen": {
        "name": "thechosen",
        "type": "free",
        "domains": [
          "watch.thechosen.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?watch\\.thechosen\\.tv/video/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?watch\\.thechosen\\.tv/video/([0-9]+)"
      },
      "thechosengroup": {
        "name": "thechosengroup",
        "type": "free",
        "domains": [
          "watch.thechosen.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?watch\\.thechosen\\.tv/group/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?watch\\.thechosen\\.tv/group/([0-9]+)"
      },
      "theguardianpodcast": {
        "name": "theguardianpodcast",
        "type": "free",
        "domains": [
          "theguardian.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?theguardian\\.com/\\w+/audio/\\d{4}/\\w{3}/\\d{1,2}/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?theguardian\\.com/\\w+/audio/\\d{4}/\\w{3}/\\d{1,2}/([\\w-]+)"
      },
      "theguardianpodcastplaylist": {
        "name": "theguardianpodcastplaylist",
        "type": "free",
        "domains": [
          "theguardian.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?theguardian\\.com/\\w+/series/([\\w-]+)(?:\\?page=\\d+)?"
        ],
        "regexp": "https?://(?:www\\.)?theguardian\\.com/\\w+/series/([\\w-]+)(?:\\?page=\\d+)?"
      },
      "thehighwire": {
        "name": "thehighwire",
        "type": "free",
        "domains": [
          "thehighwire.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?thehighwire\\.com/ark-videos/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?thehighwire\\.com/ark-videos/([^/?#]+)"
      },
      "theholetv": {
        "name": "theholetv",
        "type": "free",
        "domains": [
          "the-hole.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?the-hole\\.tv/episodes/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?the-hole\\.tv/episodes/([\\w-]+)"
      },
      "theintercept": {
        "name": "theintercept",
        "type": "free",
        "domains": [
          "theintercept.com"
        ],
        "regexps": [
          "https?://theintercept\\.com/fieldofvision/([^/?#]+)"
        ],
        "regexp": "https?://theintercept\\.com/fieldofvision/([^/?#]+)"
      },
      "theplatform": {
        "name": "theplatform",
        "type": "free",
        "domains": [
          "link.theplatform.com",
          "player.theplatform.com"
        ],
        "regexps": [
          "(?:https?://(?:link|player)\\.theplatform\\.com/[sp]/([^/]+)/(?:(?:(?:[^/]+/)+select/)?(media/(?:guid/\\d+/)?)?|((?:[^/\\?]+/(?:swf|config)|onsite)/select/))?|theplatform:)([^/\\?&]+)"
        ],
        "regexp": "(?:https?://(?:link|player)\\.theplatform\\.com/[sp]/([^/]+)/(?:(?:(?:[^/]+/)+select/)?(media/(?:guid/\\d+/)?)?|((?:[^/\\?]+/(?:swf|config)|onsite)/select/))?|theplatform:)([^/\\?&]+)"
      },
      "theplatformfeed": {
        "name": "theplatformfeed",
        "type": "free",
        "domains": [
          "feed.theplatform.com"
        ],
        "regexps": [
          "https?://feed\\.theplatform\\.com/f/([^/]+)/([^?/]+)\\?(?:[^&]+&)*(by(?:Gui|I)d=([^&]+))"
        ],
        "regexp": "https?://feed\\.theplatform\\.com/f/([^/]+)/([^?/]+)\\?(?:[^&]+&)*(by(?:Gui|I)d=([^&]+))"
      },
      "thestar": {
        "name": "thestar",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?thestar\\.com/(?:[^/]+/)*(.+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?thestar\\.com/(?:[^/]+/)*(.+)\\.html"
      },
      "thesun": {
        "name": "thesun",
        "type": "free",
        "domains": [
          "thesun.co.uk",
          "the-sun.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?the-?sun(\\.co\\.uk|\\.com)/[^/]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?the-?sun(\\.co\\.uk|\\.com)/[^/]+/(\\d+)"
      },
      "theweatherchannel": {
        "name": "theweatherchannel",
        "type": "free",
        "domains": [
          "weather.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?weather\\.com((?:/([a-z]{2}-[A-Z]{2}))?/(?:[^/]+/)*video/([^/?#]+))"
        ],
        "regexp": "https?://(?:www\\.)?weather\\.com((?:/([a-z]{2}-[A-Z]{2}))?/(?:[^/]+/)*video/([^/?#]+))"
      },
      "thisamericanlife": {
        "name": "thisamericanlife",
        "type": "free",
        "domains": [
          "thisamericanlife.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?thisamericanlife\\.org/(?:radio-archives/episode/|play_full\\.php\\?play=)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?thisamericanlife\\.org/(?:radio-archives/episode/|play_full\\.php\\?play=)(\\d+)"
      },
      "thisoldhouse": {
        "name": "thisoldhouse",
        "type": "free",
        "domains": [
          "thisoldhouse.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?thisoldhouse\\.com/(?:watch|how-to|tv-episode|(?:[^/?#]+/)?\\d+)/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?thisoldhouse\\.com/(?:watch|how-to|tv-episode|(?:[^/?#]+/)?\\d+)/([^/?#]+)"
      },
      "thisvid": {
        "name": "thisvid",
        "type": "free",
        "domains": [
          "thisvid.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?thisvid\\.com/(videos|embed)/([A-Za-z0-9-]+)"
        ],
        "regexp": "https?://(?:www\\.)?thisvid\\.com/(videos|embed)/([A-Za-z0-9-]+)"
      },
      "thisvidmember": {
        "name": "thisvidmember",
        "type": "free",
        "domains": [
          "thisvid.com"
        ],
        "regexps": [
          "https?://thisvid\\.com/members/(\\d+)"
        ],
        "regexp": "https?://thisvid\\.com/members/(\\d+)"
      },
      "thisvidplaylist": {
        "name": "thisvidplaylist",
        "type": "free",
        "domains": [
          "thisvid.com"
        ],
        "regexps": [
          "https?://thisvid\\.com/playlist/(\\d+)/video/([A-Za-z0-9-]+)"
        ],
        "regexp": "https?://thisvid\\.com/playlist/(\\d+)/video/([A-Za-z0-9-]+)"
      },
      "threespeak": {
        "name": "threespeak",
        "type": "free",
        "domains": [
          "3speak.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?3speak\\.tv/watch\\?v\\=[^/]+/([^/$&#?]+)"
        ],
        "regexp": "https?://(?:www\\.)?3speak\\.tv/watch\\?v\\=[^/]+/([^/$&#?]+)"
      },
      "threespeakuser": {
        "name": "threespeakuser",
        "type": "free",
        "domains": [
          "3speak.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?3speak\\.tv/user/([^/$&?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?3speak\\.tv/user/([^/$&?#]+)"
      },
      "tiktok": {
        "name": "tiktok",
        "type": "free",
        "domains": [
          "tiktok.com",
          "m.tiktok.com"
        ],
        "regexps": [
          "https?://www\\.tiktok\\.com/@([\\w.-]+)/collection/([^/?#]+)-(\\d+)/?(?:[?#]|$)",
          "https?://(?:www\\.)?tiktok\\.com/sticker/[\\w\\.-]+-([\\d]+)[/?#&]?",
          "https?://www\\.tiktok\\.com/(?:embed|@([\\w\\.-]+)?/video)/(\\d+)",
          "https?://(?:(?:www\\.)?tiktok\\.com/@([\\w.-]+)/live|m\\.tiktok\\.com/share/live/(\\d+))",
          "https?://(?:www\\.)?tiktok\\.com/music/[\\w\\.-]+-([\\d]+)[/?#&]?",
          "https?://(?:www\\.)?tiktok\\.com/tag/([^/?#&]+)",
          "(?:tiktokuser:|https?://(?:www\\.)?tiktok\\.com/@)([\\w.-]+)/?(?:$|[#?])"
        ],
        "regexp": "(https?://www\\.tiktok\\.com/@([\\w.-]+)/collection/([^/?#]+)-(\\d+)/?(?:[?#]|$))|(https?://(?:www\\.)?tiktok\\.com/sticker/[\\w\\.-]+-([\\d]+)[/?#&]?)|(https?://www\\.tiktok\\.com/(?:embed|@([\\w\\.-]+)?/video)/(\\d+))|(https?://(?:(?:www\\.)?tiktok\\.com/@([\\w.-]+)/live|m\\.tiktok\\.com/share/live/(\\d+)))|(https?://(?:www\\.)?tiktok\\.com/music/[\\w\\.-]+-([\\d]+)[/?#&]?)|(https?://(?:www\\.)?tiktok\\.com/tag/([^/?#&]+))|((?:tiktokuser:|https?://(?:www\\.)?tiktok\\.com/@)([\\w.-]+)/?(?:$|[#?]))"
      },
      "tlc": {
        "name": "tlc",
        "type": "free",
        "domains": [
          "go.tlc.com"
        ],
        "regexps": [
          "https?://(?:go\\.)?tlc\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:go\\.)?tlc\\.com/video/([^/]+/[^/?#]+)"
      },
      "tmz": {
        "name": "tmz",
        "type": "free",
        "domains": [
          "tmz.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?tmz\\.com/.*"
        ],
        "regexp": "https?://(?:www\\.)?tmz\\.com/.*"
      },
      "tnaflix": {
        "name": "tnaflix",
        "type": "free",
        "domains": [
          "tnaflix.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(tnaflix)\\.com/[^/]+/([^/]+)/video(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?(tnaflix)\\.com/[^/]+/([^/]+)/video(\\d+)"
      },
      "tnaflixnetworkembed": {
        "name": "tnaflixnetworkembed",
        "type": "free",
        "domains": [
          "player.tnaflix.com",
          "player.empflix.com"
        ],
        "regexps": [
          "https?://player\\.(tnaflix|empflix)\\.com/video/(\\d+)"
        ],
        "regexp": "https?://player\\.(tnaflix|empflix)\\.com/video/(\\d+)"
      },
      "toggle": {
        "name": "toggle",
        "type": "free",
        "domains": [
          "mewatch.sg",
          "video.toggle.sg"
        ],
        "regexps": [
          "(?:https?://(?:(?:www\\.)?mewatch|video\\.toggle)\\.sg/(?:en|zh)/(?:[^/]+/){2,}|toggle:)([0-9]+)"
        ],
        "regexp": "(?:https?://(?:(?:www\\.)?mewatch|video\\.toggle)\\.sg/(?:en|zh)/(?:[^/]+/){2,}|toggle:)([0-9]+)"
      },
      "toggo": {
        "name": "toggo",
        "type": "free",
        "domains": [
          "toggo.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?toggo\\.de/(?:toggolino/)?[^/?#]+/(?:folge|video)/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?toggo\\.de/(?:toggolino/)?[^/?#]+/(?:folge|video)/([^/?#]+)"
      },
      "tokfm": {
        "name": "tokfm",
        "type": "free",
        "domains": [
          "audycje.tokfm.pl"
        ],
        "regexps": [
          "(?:https?://audycje\\.tokfm\\.pl/audycja/|tokfm:audition:)(\\d+),?",
          "(?:https?://audycje\\.tokfm\\.pl/podcast/|tokfm:podcast:)(\\d+),?"
        ],
        "regexp": "((?:https?://audycje\\.tokfm\\.pl/audycja/|tokfm:audition:)(\\d+),?)|((?:https?://audycje\\.tokfm\\.pl/podcast/|tokfm:podcast:)(\\d+),?)"
      },
      "toongoggles": {
        "name": "toongoggles",
        "type": "free",
        "domains": [
          "toongoggles.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?toongoggles\\.com/shows/(\\d+)(?:/[^/]+/episodes/(\\d+))?"
        ],
        "regexp": "https?://(?:www\\.)?toongoggles\\.com/shows/(\\d+)(?:/[^/]+/episodes/(\\d+))?"
      },
      "tou.tv": {
        "name": "tou.tv",
        "type": "free",
        "domains": [
          "ici.tou.tv"
        ],
        "regexps": [
          "https?://ici\\.tou\\.tv/([a-zA-Z0-9_-]+(?:/S[0-9]+[EC][0-9]+)?)"
        ],
        "regexp": "https?://ici\\.tou\\.tv/([a-zA-Z0-9_-]+(?:/S[0-9]+[EC][0-9]+)?)"
      },
      "toutiao": {
        "name": "toutiao",
        "type": "free",
        "domains": [
          "toutiao.com"
        ],
        "regexps": [
          "https?://www\\.toutiao\\.com/video/(\\d+)/?(?:[?#]|$)"
        ],
        "regexp": "https?://www\\.toutiao\\.com/video/(\\d+)/?(?:[?#]|$)"
      },
      "toypics": {
        "name": "toypics",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://videos\\.toypics\\.net/view/([0-9]+)"
        ],
        "regexp": "https?://videos\\.toypics\\.net/view/([0-9]+)"
      },
      "toypicsuser": {
        "name": "toypicsuser",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://videos\\.toypics\\.net/(?!view)([^/?#&]+)"
        ],
        "regexp": "https?://videos\\.toypics\\.net/(?!view)([^/?#&]+)"
      },
      "traileraddict": {
        "name": "traileraddict",
        "type": "free",
        "domains": [],
        "regexps": [
          "(?:https?://)?(?:www\\.)?traileraddict\\.com/(?:trailer|clip)/(.+?)/(.+)"
        ],
        "regexp": "(?:https?://)?(?:www\\.)?traileraddict\\.com/(?:trailer|clip)/(.+?)/(.+)"
      },
      "travelchannel": {
        "name": "travelchannel",
        "type": "free",
        "domains": [
          "watch.travelchannel.com"
        ],
        "regexps": [
          "https?://(?:watch\\.)?travelchannel\\.com/video/([^/]+/[^/?#]+)"
        ],
        "regexp": "https?://(?:watch\\.)?travelchannel\\.com/video/([^/]+/[^/?#]+)"
      },
      "triller": {
        "name": "triller",
        "type": "free",
        "domains": [
          "triller.co"
        ],
        "regexps": [
          "https?://(?:www\\.)?triller\\.co/@([\\w.]+)/video/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})"
        ],
        "regexp": "https?://(?:www\\.)?triller\\.co/@([\\w.]+)/video/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})"
      },
      "trillershort": {
        "name": "trillershort",
        "type": "free",
        "domains": [
          "v.triller.co"
        ],
        "regexps": [
          "https?://v\\.triller\\.co/(\\w+)"
        ],
        "regexp": "https?://v\\.triller\\.co/(\\w+)"
      },
      "trilleruser": {
        "name": "trilleruser",
        "type": "free",
        "domains": [
          "triller.co"
        ],
        "regexps": [
          "https?://(?:www\\.)?triller\\.co/@([\\w.]+)/?(?:$|[#?])"
        ],
        "regexp": "https?://(?:www\\.)?triller\\.co/@([\\w.]+)/?(?:$|[#?])"
      },
      "trovo": {
        "name": "trovo",
        "type": "free",
        "domains": [
          "trovo.live"
        ],
        "regexps": [
          "https?://(?:www\\.)?trovo\\.live/(?:s/)?(?!(?:clip|video)/)((?!s/)[^/?&#]+(?![^#]+[?&]vid=))"
        ],
        "regexp": "https?://(?:www\\.)?trovo\\.live/(?:s/)?(?!(?:clip|video)/)((?!s/)[^/?&#]+(?![^#]+[?&]vid=))"
      },
      "trovochannelclip": {
        "name": "trovochannelclip",
        "type": "free",
        "domains": [],
        "regexps": [
          "trovoclip:([^\\s]+)"
        ],
        "regexp": "trovoclip:([^\\s]+)"
      },
      "trovochannelvod": {
        "name": "trovochannelvod",
        "type": "free",
        "domains": [],
        "regexps": [
          "trovovod:([^\\s]+)"
        ],
        "regexp": "trovovod:([^\\s]+)"
      },
      "trtcocukvideo": {
        "name": "trtcocukvideo",
        "type": "free",
        "domains": [
          "trtcocuk.net.tr"
        ],
        "regexps": [
          "https?://www\\.trtcocuk\\.net\\.tr/video/([\\w-]+)"
        ],
        "regexp": "https?://www\\.trtcocuk\\.net\\.tr/video/([\\w-]+)"
      },
      "trtworld": {
        "name": "trtworld",
        "type": "free",
        "domains": [
          "trtworld.com"
        ],
        "regexps": [
          "https?://www\\.trtworld\\.com/video/[\\w-]+/[\\w-]+-(\\d+)"
        ],
        "regexp": "https?://www\\.trtworld\\.com/video/[\\w-]+/[\\w-]+-(\\d+)"
      },
      "trueid": {
        "name": "trueid",
        "type": "free",
        "domains": [
          "trueid.id",
          "vn.trueid.net",
          "trueid.ph"
        ],
        "regexps": [
          "https?://(vn\\.trueid\\.net|trueid\\.(?:id|ph))/(?:movie|series/[^/]+)/([^/?#&]+)"
        ],
        "regexp": "https?://(vn\\.trueid\\.net|trueid\\.(?:id|ph))/(?:movie|series/[^/]+)/([^/?#&]+)"
      },
      "trunews": {
        "name": "trunews",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?trunews\\.com/stream/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?trunews\\.com/stream/([^/?#&]+)"
      },
      "truth": {
        "name": "truth",
        "type": "free",
        "domains": [
          "truthsocial.com"
        ],
        "regexps": [
          "https?://truthsocial\\.com/@[^/]+/posts/(\\d+)"
        ],
        "regexp": "https?://truthsocial\\.com/@[^/]+/posts/(\\d+)"
      },
      "ttinglive": {
        "name": "ttinglive",
        "type": "free",
        "domains": [
          "flextv.co.kr"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:ttinglive\\.com|flextv\\.co\\.kr)/channels/(\\d+)/live"
        ],
        "regexp": "https?://(?:www\\.)?(?:ttinglive\\.com|flextv\\.co\\.kr)/channels/(\\d+)/live"
      },
      "tube8": {
        "name": "tube8",
        "type": "free",
        "domains": [
          "tube8.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?tube8\\.com/(?:[^/]+/)+([^/]+)/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?tube8\\.com/(?:[^/]+/)+([^/]+)/(\\d+)"
      },
      "tubetugraz": {
        "name": "tubetugraz",
        "type": "free",
        "domains": [
          "tube.tugraz.at"
        ],
        "regexps": [
          "https?://tube\\.tugraz\\.at/(?:paella/ui/watch\\.html\\?(?:[^#]*&)?id=|portal/watch/)([0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})"
        ],
        "regexp": "https?://tube\\.tugraz\\.at/(?:paella/ui/watch\\.html\\?(?:[^#]*&)?id=|portal/watch/)([0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})"
      },
      "tubetugrazseries": {
        "name": "tubetugrazseries",
        "type": "free",
        "domains": [
          "tube.tugraz.at"
        ],
        "regexps": [
          "https?://tube\\.tugraz\\.at/paella/ui/browse\\.html\\?series=([0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})"
        ],
        "regexp": "https?://tube\\.tugraz\\.at/paella/ui/browse\\.html\\?series=([0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})"
      },
      "tubitv": {
        "name": "tubitv",
        "type": "free",
        "domains": [
          "tubitv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?tubitv\\.com/(?:[a-z]{2}-[a-z]{2}/)?(video|movies|tv-shows)/(\\d+)",
          "https?://(?:www\\.)?tubitv\\.com/series/\\d+/([^/?#]+)(?:/season-(\\d+))?"
        ],
        "regexp": "(https?://(?:www\\.)?tubitv\\.com/(?:[a-z]{2}-[a-z]{2}/)?(video|movies|tv-shows)/(\\d+))|(https?://(?:www\\.)?tubitv\\.com/series/\\d+/([^/?#]+)(?:/season-(\\d+))?)"
      },
      "tumblr": {
        "name": "tumblr",
        "type": "free",
        "domains": [
          "tatianamaslanydaily.tumblr.com",
          "maskofthedragon.tumblr.com",
          "shieldfoss.tumblr.com",
          "jujanon.tumblr.com",
          "bartlebyshop.tumblr.com",
          "afloweroutofstone.tumblr.com",
          "prozdvoices.tumblr.com",
          "dominustempori.tumblr.com",
          "silami.tumblr.com",
          "tumblr.com",
          "patricia-taxxon.tumblr.com",
          "silverfoxstole.tumblr.com",
          "fansofcolor.tumblr.com"
        ],
        "regexps": [
          "https?://([^/?#&]+)\\.tumblr\\.com/(?:post|video|([a-zA-Z\\d-]+))/([0-9]+)(?:$|[/?#])"
        ],
        "regexp": "https?://([^/?#&]+)\\.tumblr\\.com/(?:post|video|([a-zA-Z\\d-]+))/([0-9]+)(?:$|[/?#])"
      },
      "tunein": {
        "name": "tunein",
        "type": "free",
        "domains": [
          "tunein.com"
        ],
        "regexps": [
          "https?://tunein\\.com/embed/player/([^/?#]+)",
          "https?://tunein\\.com/podcasts(?:/[^/?#]+){1,2}(p\\d+)/?\\?(?:[^#]+&)?(?i:topicid)=(\\d+)",
          "https?://tunein\\.com/podcasts(?:/[^/?#]+){1,2}(p\\d+)",
          "https?://tunein\\.com/radio/[^/?#]+(s\\d+)"
        ],
        "regexp": "(https?://tunein\\.com/embed/player/([^/?#]+))|(https?://tunein\\.com/podcasts(?:/[^/?#]+){1,2}(p\\d+)/?\\?(?:[^#]+&)?(?i:topicid)=(\\d+))|(https?://tunein\\.com/podcasts(?:/[^/?#]+){1,2}(p\\d+))|(https?://tunein\\.com/radio/[^/?#]+(s\\d+))"
      },
      "tv.dfb.de": {
        "name": "tv.dfb.de",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://tv\\.dfb\\.de/video/([^/]+)/(\\d+)"
        ],
        "regexp": "https?://tv\\.dfb\\.de/video/([^/]+)/(\\d+)"
      },
      "tv2": {
        "name": "tv2",
        "type": "free",
        "domains": [
          "tv2.no"
        ],
        "regexps": [
          "https?://(?:www\\.)?tv2\\.no/v(?:ideo)?\\d*/(?:[^?#]+/)*(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?tv2\\.no/v(?:ideo)?\\d*/(?:[^?#]+/)*(\\d+)"
      },
      "tv2article": {
        "name": "tv2article",
        "type": "free",
        "domains": [
          "tv2.no"
        ],
        "regexps": [
          "https?://(?:www\\.)?tv2\\.no/(?!v(?:ideo)?\\d*/)[^?#]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?tv2\\.no/(?!v(?:ideo)?\\d*/)[^?#]+/(\\d+)"
      },
      "tv2dk": {
        "name": "tv2dk",
        "type": "free",
        "domains": [
          "tvsyd.dk",
          "tv2lorry.dk",
          "tv2ostjylland.dk",
          "tvmidtvest.dk",
          "tv2fyn.dk",
          "tv2east.dk",
          "tv2nord.dk",
          "tv2kosmopol.dk"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:tvsyd|tv2ostjylland|tvmidtvest|tv2fyn|tv2east|tv2lorry|tv2nord|tv2kosmopol)\\.dk/(?:[^/?#]+/)*([^/?\\#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:tvsyd|tv2ostjylland|tvmidtvest|tv2fyn|tv2east|tv2lorry|tv2nord|tv2kosmopol)\\.dk/(?:[^/?#]+/)*([^/?\\#&]+)"
      },
      "tv2dkbornholmplay": {
        "name": "tv2dkbornholmplay",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://play\\.tv2bornholm\\.dk/\\?.*?\\bid=(\\d+)"
        ],
        "regexp": "https?://play\\.tv2bornholm\\.dk/\\?.*?\\bid=(\\d+)"
      },
      "tv2play.hu": {
        "name": "tv2play.hu",
        "type": "free",
        "domains": [
          "tv2play.hu"
        ],
        "regexps": [
          "https?://(?:www\\.)?tv2play\\.hu/(?!szalag/)([^#&?]+)"
        ],
        "regexp": "https?://(?:www\\.)?tv2play\\.hu/(?!szalag/)([^#&?]+)"
      },
      "tv2playseries.hu": {
        "name": "tv2playseries.hu",
        "type": "free",
        "domains": [
          "tv2play.hu"
        ],
        "regexps": [
          "https?://(?:www\\.)?tv2play\\.hu/szalag/([^#&?]+)"
        ],
        "regexp": "https?://(?:www\\.)?tv2play\\.hu/szalag/([^#&?]+)"
      },
      "tv4": {
        "name": "tv4",
        "type": "free",
        "domains": [
          "tv4.se",
          "tv4play.se"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:tv4\\.se/(?:[^/]+)/klipp/(?:.*)-|tv4play\\.se/(?:(?:program|barn)/(?:(?:[^/]+/){1,2}|(?:[^\\?]+)\\?video_id=)|iframe/video/|film/|sport/|))([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:tv4\\.se/(?:[^/]+)/klipp/(?:.*)-|tv4play\\.se/(?:(?:program|barn)/(?:(?:[^/]+/){1,2}|(?:[^\\?]+)\\?video_id=)|iframe/video/|film/|sport/|))([0-9]+)"
      },
      "tv5monde": {
        "name": "tv5monde",
        "type": "free",
        "domains": [
          "tv5monde.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?tv5monde\\.com/tv/video/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?tv5monde\\.com/tv/video/([^/?#]+)"
      },
      "tv5unis": {
        "name": "tv5unis",
        "type": "free",
        "domains": [
          "tv5unis.ca"
        ],
        "regexps": [
          "https?://(?:www\\.)?tv5unis\\.ca/videos/([^/?#]+)(?:/saisons/(\\d+)/episodes/(\\d+))?/?(?:[?#&]|$)",
          "https?://(?:www\\.)?tv5unis\\.ca/videos/[^/?#]+/(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?tv5unis\\.ca/videos/([^/?#]+)(?:/saisons/(\\d+)/episodes/(\\d+))?/?(?:[?#&]|$))|(https?://(?:www\\.)?tv5unis\\.ca/videos/[^/?#]+/(\\d+))"
      },
      "tv8.it": {
        "name": "tv8.it",
        "type": "free",
        "domains": [
          "tv8.it"
        ],
        "regexps": [
          "https?://(?:www\\.)?tv8\\.it/(?:show)?video/(?:[0-9a-z-]+-)?(\\d+)",
          "https?://(?:www\\.)?tv8\\.it/streaming",
          "https?://(?:www\\.)?tv8\\.it/(?!video)[^/#?]+/([^/#?]+)"
        ],
        "regexp": "(https?://(?:www\\.)?tv8\\.it/(?:show)?video/(?:[0-9a-z-]+-)?(\\d+))|(https?://(?:www\\.)?tv8\\.it/streaming)|(https?://(?:www\\.)?tv8\\.it/(?!video)[^/#?]+/([^/#?]+))"
      },
      "tvanouvelles": {
        "name": "tvanouvelles",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?tvanouvelles\\.ca/videos/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?tvanouvelles\\.ca/videos/(\\d+)"
      },
      "tvanouvellesarticle": {
        "name": "tvanouvellesarticle",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?tvanouvelles\\.ca/(?:[^/]+/)+([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?tvanouvelles\\.ca/(?:[^/]+/)+([^/?#&]+)"
      },
      "tvaplus": {
        "name": "tvaplus",
        "type": "free",
        "domains": [
          "tvaplus.ca"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvaplus\\.ca/(?:[^/?#]+/)*[\\w-]+-(\\d+)(?:$|[#?])"
        ],
        "regexp": "https?://(?:www\\.)?tvaplus\\.ca/(?:[^/?#]+/)*[\\w-]+-(\\d+)(?:$|[#?])"
      },
      "tvc": {
        "name": "tvc",
        "type": "free",
        "domains": [
          "tvc.ru"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvc\\.ru/video/iframe/id/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?tvc\\.ru/video/iframe/id/(\\d+)"
      },
      "tvcarticle": {
        "name": "tvcarticle",
        "type": "free",
        "domains": [
          "tvc.ru"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvc\\.ru/(?!video/iframe/id/)([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?tvc\\.ru/(?!video/iframe/id/)([^?#]+)"
      },
      "tver": {
        "name": "tver",
        "type": "free",
        "domains": [
          "tver.jp"
        ],
        "regexps": [
          "https?://(?:www\\.)?tver\\.jp/(?:(lp|corner|series|episodes?|feature)/)+([a-zA-Z0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?tver\\.jp/(?:(lp|corner|series|episodes?|feature)/)+([a-zA-Z0-9]+)"
      },
      "tvigle": {
        "name": "tvigle",
        "type": "free",
        "domains": [
          "tvigle.ru",
          "cloud.tvigle.ru"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:tvigle\\.ru/(?:[^/]+/)+([^/]+)/$|cloud\\.tvigle\\.ru/video/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?(?:tvigle\\.ru/(?:[^/]+/)+([^/]+)/$|cloud\\.tvigle\\.ru/video/(\\d+))"
      },
      "tviplayer": {
        "name": "tviplayer",
        "type": "free",
        "domains": [
          "tviplayer.iol.pt"
        ],
        "regexps": [
          "https?://tviplayer\\.iol\\.pt(/programa/[\\w-]+/[a-f0-9]+)?/\\w+/(\\w+)"
        ],
        "regexp": "https?://tviplayer\\.iol\\.pt(/programa/[\\w-]+/[a-f0-9]+)?/\\w+/(\\w+)"
      },
      "tvn24": {
        "name": "tvn24",
        "type": "free",
        "domains": [
          "tvn24.pl",
          "tvnmeteo.tvn24.pl",
          "fakty.tvn24.pl",
          "sport.tvn24.pl",
          "tvn24bis.pl"
        ],
        "regexps": [
          "https?://(?:(?!eurosport)[^/]+\\.)?tvn24(?:bis)?\\.pl/(?:[^/?#]+/)*([^/?#]+)"
        ],
        "regexp": "https?://(?:(?!eurosport)[^/]+\\.)?tvn24(?:bis)?\\.pl/(?:[^/?#]+/)*([^/?#]+)"
      },
      "tvnoe": {
        "name": "tvnoe",
        "type": "free",
        "domains": [
          "tvnoe.cz"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvnoe\\.cz/porad/([\\w-]+)"
        ],
        "regexp": "https?://(?:www\\.)?tvnoe\\.cz/porad/([\\w-]+)"
      },
      "tvopengr": {
        "name": "tvopengr",
        "type": "free",
        "domains": [
          "cdn.ethnos.gr",
          "ethnos.gr",
          "tvopen.gr"
        ],
        "regexps": [
          "(?:https?:)?//(?:www\\.|cdn\\.|)(?:tvopen|ethnos).gr/embed/(\\d+)",
          "https?://((?:www\\.)?(?:tvopen|ethnos)\\.gr)/watch/(\\d+)/([^/]+)"
        ],
        "regexp": "((?:https?:)?//(?:www\\.|cdn\\.|)(?:tvopen|ethnos).gr/embed/(\\d+))|(https?://((?:www\\.)?(?:tvopen|ethnos)\\.gr)/watch/(\\d+)/([^/]+))"
      },
      "tvp": {
        "name": "tvp",
        "type": "free",
        "domains": [
          "tvp.pl",
          "tvp.info",
          "wiadomosci.tvp.pl",
          "swipeto.pl",
          "warszawa.tvp.pl",
          "opole.tvp.pl",
          "abc.tvp.pl",
          "jp2.tvp.pl",
          "vod.tvp.pl",
          "krakow.tvp.pl",
          "teleexpress.tvp.pl",
          "sport.tvp.pl",
          "tvpparlament.pl",
          "tvpworld.com",
          "stream.tvp.pl",
          "tvpstream.vod.tvp.pl"
        ],
        "regexps": [
          "(?:tvp:|https?://(?:[^/]+\\.)?(?:tvp(?:parlament)?\\.pl|tvp\\.info|tvpworld\\.com|swipeto\\.pl)/(?:sess/(?:tvplayer\\.php\\?.*?object_id|TVPlayer2/(?:embed|api)\\.php\\?.*[Ii][Dd])|shared/details\\.php\\?.*?object_id)=)(\\d+)",
          "https?://(?:[^/]+\\.)?(?:tvp(?:parlament)?\\.(?:pl|info)|tvpworld\\.com|swipeto\\.pl)/(?:(?!\\d+/)[^/]+/)*(\\d+)(?:[/?#]|$)",
          "(?:tvpstream:|https?://(?:tvpstream\\.vod|stream)\\.tvp\\.pl/(?:\\?(?:[^&]+[&;])*channel_id=)?)(\\d*)",
          "https?://vod\\.tvp\\.pl/[a-z\\d-]+,\\d+/[a-z\\d-]+-odcinki,(\\d+)(?:\\?[^#]+)?(?:#.+)?$"
        ],
        "regexp": "((?:tvp:|https?://(?:[^/]+\\.)?(?:tvp(?:parlament)?\\.pl|tvp\\.info|tvpworld\\.com|swipeto\\.pl)/(?:sess/(?:tvplayer\\.php\\?.*?object_id|TVPlayer2/(?:embed|api)\\.php\\?.*[Ii][Dd])|shared/details\\.php\\?.*?object_id)=)(\\d+))|(https?://(?:[^/]+\\.)?(?:tvp(?:parlament)?\\.(?:pl|info)|tvpworld\\.com|swipeto\\.pl)/(?:(?!\\d+/)[^/]+/)*(\\d+)(?:[/?#]|$))|((?:tvpstream:|https?://(?:tvpstream\\.vod|stream)\\.tvp\\.pl/(?:\\?(?:[^&]+[&;])*channel_id=)?)(\\d*))|(https?://vod\\.tvp\\.pl/[a-z\\d-]+,\\d+/[a-z\\d-]+-odcinki,(\\d+)(?:\\?[^#]+)?(?:#.+)?$)"
      },
      "tvplayer": {
        "name": "tvplayer",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?tvplayer\\.com/watch/([^/?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?tvplayer\\.com/watch/([^/?#]+)"
      },
      "tvplayhome": {
        "name": "tvplayhome",
        "type": "free",
        "domains": [
          "play.tv3.lt",
          "tv3play.skaties.lv",
          "play.tv3.ee"
        ],
        "regexps": [
          "https?://(?:tv3?)?play\\.(?:tv3|skaties)\\.(lv|lt|ee)/(lives/)?[^?#&]+(?:episode|programme|clip)-(\\d+)"
        ],
        "regexp": "https?://(?:tv3?)?play\\.(?:tv3|skaties)\\.(lv|lt|ee)/(lives/)?[^?#&]+(?:episode|programme|clip)-(\\d+)"
      },
      "tvw": {
        "name": "tvw",
        "type": "free",
        "domains": [
          "tvw.org"
        ],
        "regexps": [
          "https?://(?:www\\.)?tvw\\.org/video/([^/?#]+)",
          "https?://(?:www\\.)?tvw\\.org/watch/?\\?(?:[^#]+&)?eventID=(\\d+)",
          "https?://(?:www\\.)?tvw\\.org/\\d{4}/\\d{2}/([^/?#]+)",
          "https?://(?:www\\.)?tvw\\.org/tvchannels/([^/?#]+)"
        ],
        "regexp": "(https?://(?:www\\.)?tvw\\.org/video/([^/?#]+))|(https?://(?:www\\.)?tvw\\.org/watch/?\\?(?:[^#]+&)?eventID=(\\d+))|(https?://(?:www\\.)?tvw\\.org/\\d{4}/\\d{2}/([^/?#]+))|(https?://(?:www\\.)?tvw\\.org/tvchannels/([^/?#]+))"
      },
      "tweakers": {
        "name": "tweakers",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://tweakers\\.net/video/(\\d+)"
        ],
        "regexp": "https?://tweakers\\.net/video/(\\d+)"
      },
      "twitcasting": {
        "name": "twitcasting",
        "type": "free",
        "domains": [
          "twitcasting.tv"
        ],
        "regexps": [
          "https?://(?:[^/?#]+\\.)?twitcasting\\.tv/([^/?#]+)/(?:movie|twplayer)/(\\d+)"
        ],
        "regexp": "https?://(?:[^/?#]+\\.)?twitcasting\\.tv/([^/?#]+)/(?:movie|twplayer)/(\\d+)"
      },
      "twitcastinglive": {
        "name": "twitcastinglive",
        "type": "free",
        "domains": [
          "twitcasting.tv"
        ],
        "regexps": [
          "https?://(?:[^/?#]+\\.)?twitcasting\\.tv/([^/?#]+)/?(?:[#?]|$)"
        ],
        "regexp": "https?://(?:[^/?#]+\\.)?twitcasting\\.tv/([^/?#]+)/?(?:[#?]|$)"
      },
      "twitcastinguser": {
        "name": "twitcastinguser",
        "type": "free",
        "domains": [
          "twitcasting.tv"
        ],
        "regexps": [
          "https?://(?:[^/?#]+\\.)?twitcasting\\.tv/([^/?#]+)/(?:show|archive)/?(?:[#?]|$)"
        ],
        "regexp": "https?://(?:[^/?#]+\\.)?twitcasting\\.tv/([^/?#]+)/(?:show|archive)/?(?:[#?]|$)"
      },
      "twitter": {
        "name": "twitter",
        "type": "free",
        "domains": [
          "twitter.com",
          "x.com",
          "twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid.onion"
        ],
        "regexps": [
          "https?://amp\\.twimg\\.com/v/([0-9a-f\\-]{36})",
          "https?://(?:(?:www|m(?:obile)?)\\.)?(?:(?:twitter|x)\\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\\.onion)/i/(broadcasts|events)/(\\w+)",
          "https?://(?:(?:www|m(?:obile)?)\\.)?(?:(?:twitter|x)\\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\\.onion)/i/(?:cards/tfw/v1|videos(?:/tweet)?)/(\\d+)",
          "https?://(?:(?:www|m(?:obile)?)\\.)?(?:(?:twitter|x)\\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\\.onion)/(?:(?:i/web|[^/]+)/status|statuses)/(\\d+)(?:/(?:video|photo)/(\\d+))?",
          "https?://t\\.co/([^?#]+)|tco:([^?#]+)",
          "https?://(?:(?:www|m(?:obile)?)\\.)?(?:(?:twitter|x)\\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\\.onion)/i/spaces/([0-9a-zA-Z]{13})"
        ],
        "regexp": "(https?://amp\\.twimg\\.com/v/([0-9a-f\\-]{36}))|(https?://(?:(?:www|m(?:obile)?)\\.)?(?:(?:twitter|x)\\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\\.onion)/i/(broadcasts|events)/(\\w+))|(https?://(?:(?:www|m(?:obile)?)\\.)?(?:(?:twitter|x)\\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\\.onion)/i/(?:cards/tfw/v1|videos(?:/tweet)?)/(\\d+))|(https?://(?:(?:www|m(?:obile)?)\\.)?(?:(?:twitter|x)\\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\\.onion)/(?:(?:i/web|[^/]+)/status|statuses)/(\\d+)(?:/(?:video|photo)/(\\d+))?)|(https?://t\\.co/([^?#]+)|tco:([^?#]+))|(https?://(?:(?:www|m(?:obile)?)\\.)?(?:(?:twitter|x)\\.com|twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid\\.onion)/i/spaces/([0-9a-zA-Z]{13}))"
      },
      "txxx": {
        "name": "txxx",
        "type": "free",
        "domains": [
          "txxx.com",
          "txxx.tube",
          "vxxx.com",
          "hclips.com",
          "hdzog.com",
          "hdzog.tube",
          "hotmovs.com",
          "hotmovs.tube",
          "inporn.com",
          "privatehomeclips.com",
          "tubepornclassic.com",
          "upornia.com",
          "upornia.tube",
          "vjav.com",
          "vjav.tube",
          "voyeurhit.com",
          "voyeurhit.tube"
        ],
        "regexps": [
          "https?://(?:www\\.)?(hclips\\.com|hdzog\\.com|hdzog\\.tube|hotmovs\\.com|hotmovs\\.tube|inporn\\.com|privatehomeclips\\.com|tubepornclassic\\.com|txxx\\.com|txxx\\.tube|upornia\\.com|upornia\\.tube|vjav\\.com|vjav\\.tube|vxxx\\.com|voyeurhit\\.com|voyeurhit\\.tube)/(?:videos?[/-]|embed/)(\\d+)(?:/([^/?#]+))?"
        ],
        "regexp": "https?://(?:www\\.)?(hclips\\.com|hdzog\\.com|hdzog\\.tube|hotmovs\\.com|hotmovs\\.tube|inporn\\.com|privatehomeclips\\.com|tubepornclassic\\.com|txxx\\.com|txxx\\.tube|upornia\\.com|upornia\\.tube|vjav\\.com|vjav\\.tube|vxxx\\.com|voyeurhit\\.com|voyeurhit\\.tube)/(?:videos?[/-]|embed/)(\\d+)(?:/([^/?#]+))?"
      },
      "udemy": {
        "name": "udemy",
        "type": "free",
        "domains": [
          "udemy.com",
          "wipro.udemy.com"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?udemy\\.com/([^/?#&]+)",
          "https?://(?:[^/]+\\.)?udemy\\.com/(?:[^#]+\\#/lecture/|lecture/view/?\\?lectureId=|[^/]+/learn/v4/t/lecture/)(\\d+)"
        ],
        "regexp": "(https?://(?:[^/]+\\.)?udemy\\.com/([^/?#&]+))|(https?://(?:[^/]+\\.)?udemy\\.com/(?:[^#]+\\#/lecture/|lecture/view/?\\?lectureId=|[^/]+/learn/v4/t/lecture/)(\\d+))"
      },
      "udnembed": {
        "name": "udnembed",
        "type": "free",
        "domains": [
          "video.udn.com"
        ],
        "regexps": [
          "https?://video\\.udn\\.com/(?:embed|play)/news/(\\d+)"
        ],
        "regexp": "https?://video\\.udn\\.com/(?:embed|play)/news/(\\d+)"
      },
      "ufcarabia": {
        "name": "ufcarabia",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://((?:(?:app|www)\\.)?ufcarabia\\.(?:ae|com))/(live|playlist|video)/(\\d+)(?:\\?.*?\\bplaylistId=(\\d+))?"
        ],
        "regexp": "https?://((?:(?:app|www)\\.)?ufcarabia\\.(?:ae|com))/(live|playlist|video)/(\\d+)(?:\\?.*?\\bplaylistId=(\\d+))?"
      },
      "ufctv": {
        "name": "ufctv",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://((?:(?:app|www)\\.)?(?:ufc\\.tv|(?:ufc)?fightpass\\.com)|ufcfightpass\\.img(?:dge|gaming)\\.com)/(live|playlist|video)/(\\d+)(?:\\?.*?\\bplaylistId=(\\d+))?"
        ],
        "regexp": "https?://((?:(?:app|www)\\.)?(?:ufc\\.tv|(?:ufc)?fightpass\\.com)|ufcfightpass\\.img(?:dge|gaming)\\.com)/(live|playlist|video)/(\\d+)(?:\\?.*?\\bplaylistId=(\\d+))?"
      },
      "ukcolumn": {
        "name": "ukcolumn",
        "type": "free",
        "domains": [
          "ukcolumn.org"
        ],
        "regexps": [
          "(?i)https?://(?:www\\.)?ukcolumn\\.org(/index\\.php)?/(?:video|ukcolumn-news)/([-a-z0-9]+)"
        ],
        "regexp": "(?i)https?://(?:www\\.)?ukcolumn\\.org(/index\\.php)?/(?:video|ukcolumn-news)/([-a-z0-9]+)"
      },
      "uktvplay": {
        "name": "uktvplay",
        "type": "free",
        "domains": [
          "uktvplay.uktv.co.uk",
          "uktvplay.co.uk"
        ],
        "regexps": [
          "https?://uktvplay\\.(?:uktv\\.)?co\\.uk/(?:.+?\\?.*?\\bvideo=|([^/]+/)*)(\\d+)"
        ],
        "regexp": "https?://uktvplay\\.(?:uktv\\.)?co\\.uk/(?:.+?\\?.*?\\bvideo=|([^/]+/)*)(\\d+)"
      },
      "ulizaplayer": {
        "name": "ulizaplayer",
        "type": "free",
        "domains": [
          "player-api.p.uliza.jp"
        ],
        "regexps": [
          "https://player-api\\.p\\.uliza\\.jp/v1/players/[^?#]+\\?(?:[^#]*&)?name=([^#&]+)"
        ],
        "regexp": "https://player-api\\.p\\.uliza\\.jp/v1/players/[^?#]+\\?(?:[^#]*&)?name=([^#&]+)"
      },
      "ulizaportal": {
        "name": "ulizaportal",
        "type": "free",
        "domains": [
          "ulizaportal.jp"
        ],
        "regexps": [
          "https?://(?:www\\.)?ulizaportal\\.jp/pages/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})"
        ],
        "regexp": "https?://(?:www\\.)?ulizaportal\\.jp/pages/([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})"
      },
      "umg": {
        "name": "umg",
        "type": "free",
        "domains": [
          "universal-music.de"
        ],
        "regexps": [
          "https?://(?:www\\.)?universal-music\\.de/[^/?#]+/videos/([^/?#]+-(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?universal-music\\.de/[^/?#]+/videos/([^/?#]+-(\\d+))"
      },
      "unistra": {
        "name": "unistra",
        "type": "free",
        "domains": [
          "utv.unistra.fr"
        ],
        "regexps": [
          "https?://utv\\.unistra\\.fr/(?:index|video)\\.php\\?id_video\\=(\\d+)"
        ],
        "regexp": "https?://utv\\.unistra\\.fr/(?:index|video)\\.php\\?id_video\\=(\\d+)"
      },
      "unitednationswebtv": {
        "name": "unitednationswebtv",
        "type": "free",
        "domains": [
          "webtv.un.org"
        ],
        "regexps": [
          "https?://webtv\\.un\\.org/(?:ar|zh|en|fr|ru|es)/asset/\\w+/(\\w+)"
        ],
        "regexp": "https?://webtv\\.un\\.org/(?:ar|zh|en|fr|ru|es)/asset/\\w+/(\\w+)"
      },
      "unity": {
        "name": "unity",
        "type": "free",
        "domains": [
          "unity3d.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?unity3d\\.com/learn/tutorials/(?:[^/]+/)*([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?unity3d\\.com/learn/tutorials/(?:[^/]+/)*([^/?#&]+)"
      },
      "uol.com.br": {
        "name": "uol.com.br",
        "type": "free",
        "domains": [
          "player.mais.uol.com.br",
          "tvuol.uol.com.br",
          "mais.uol.com.br",
          "noticias.band.uol.com.br",
          "videos.band.uol.com.br",
          "noticias.uol.com.br"
        ],
        "regexps": [
          "https?://(?:.+?\\.)?uol\\.com\\.br/.*?(?:(?:mediaId|v)=|view/(?:[a-z0-9]+/)?|video(?:=|/(?:\\d{4}/\\d{2}/\\d{2}/)?))(\\d+|[\\w-]+-[A-Z0-9]+)"
        ],
        "regexp": "https?://(?:.+?\\.)?uol\\.com\\.br/.*?(?:(?:mediaId|v)=|view/(?:[a-z0-9]+/)?|video(?:=|/(?:\\d{4}/\\d{2}/\\d{2}/)?))(\\d+|[\\w-]+-[A-Z0-9]+)"
      },
      "uplynk": {
        "name": "uplynk",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://[\\w-]+\\.uplynk\\.com/(ext/[0-9a-f]{32}/([^/?&]+)|([0-9a-f]{32}))\\.(?:m3u8|json)(?:.*?\\bpbs=([^&]+))?",
          "https?://[\\w-]+\\.uplynk\\.com/preplay2?/(ext/[0-9a-f]{32}/([^/?&]+)|([0-9a-f]{32}))\\.json"
        ],
        "regexp": "(https?://[\\w-]+\\.uplynk\\.com/(ext/[0-9a-f]{32}/([^/?&]+)|([0-9a-f]{32}))\\.(?:m3u8|json)(?:.*?\\bpbs=([^&]+))?)|(https?://[\\w-]+\\.uplynk\\.com/preplay2?/(ext/[0-9a-f]{32}/([^/?&]+)|([0-9a-f]{32}))\\.json)"
      },
      "urort": {
        "name": "urort",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?urort\\.p3\\.no/#!/Band/([^/]+)$"
        ],
        "regexp": "https?://(?:www\\.)?urort\\.p3\\.no/#!/Band/([^/]+)$"
      },
      "urplay": {
        "name": "urplay",
        "type": "free",
        "domains": [
          "urplay.se",
          "urskola.se"
        ],
        "regexps": [
          "https?://(?:www\\.)?ur(?:play|skola)\\.se/(?:program|Produkter)/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?ur(?:play|skola)\\.se/(?:program|Produkter)/([0-9]+)"
      },
      "usanetwork": {
        "name": "usanetwork",
        "type": "free",
        "domains": [
          "usanetwork.com"
        ],
        "regexps": [
          "https?(://(?:www\\.)?usanetwork\\.com/(?:[^/]+/videos?|movies?)/(?:[^/]+/)?(\\d+))"
        ],
        "regexp": "https?(://(?:www\\.)?usanetwork\\.com/(?:[^/]+/videos?|movies?)/(?:[^/]+/)?(\\d+))"
      },
      "usatoday": {
        "name": "usatoday",
        "type": "free",
        "domains": [
          "usatoday.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?usatoday\\.com/(?:[^/]+/)*([^?/#]+)"
        ],
        "regexp": "https?://(?:www\\.)?usatoday\\.com/(?:[^/]+/)*([^?/#]+)"
      },
      "ustream": {
        "name": "ustream",
        "type": "free",
        "domains": [
          "ustream.tv",
          "video.ibm.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?ustream\\.tv/channel/(.+)",
          "https?://(?:www\\.)?(?:ustream\\.tv|video\\.ibm\\.com)/(recorded|embed|embed/recorded)/(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?ustream\\.tv/channel/(.+))|(https?://(?:www\\.)?(?:ustream\\.tv|video\\.ibm\\.com)/(recorded|embed|embed/recorded)/(\\d+))"
      },
      "ustudio": {
        "name": "ustudio",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:(?:app|embed)\\.)?ustudio\\.com/embed/([^/]+)/([^/]+)",
          "https?://(?:(?:www|v1)\\.)?ustudio\\.com/video/([^/]+)/([^/?#&]+)"
        ],
        "regexp": "(https?://(?:(?:app|embed)\\.)?ustudio\\.com/embed/([^/]+)/([^/]+))|(https?://(?:(?:www|v1)\\.)?ustudio\\.com/video/([^/]+)/([^/?#&]+))"
      },
      "varzesh3": {
        "name": "varzesh3",
        "type": "free",
        "domains": [
          "video.varzesh3.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?video\\.varzesh3\\.com/(?:[^/]+/)+([^/]+)/?"
        ],
        "regexp": "https?://(?:www\\.)?video\\.varzesh3\\.com/(?:[^/]+/)+([^/]+)/?"
      },
      "vbox7": {
        "name": "vbox7",
        "type": "free",
        "domains": [
          "vbox7.com",
          "i49.vbox7.com"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?vbox7\\.com/(?:play:|(?:emb/external\\.php|player/ext\\.swf)\\?.*?\\bvid=)([\\da-fA-F]+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?vbox7\\.com/(?:play:|(?:emb/external\\.php|player/ext\\.swf)\\?.*?\\bvid=)([\\da-fA-F]+)"
      },
      "veo": {
        "name": "veo",
        "type": "free",
        "domains": [
          "app.veo.co"
        ],
        "regexps": [
          "https?://app\\.veo\\.co/matches/([0-9A-Za-z-_]+)"
        ],
        "regexp": "https?://app\\.veo\\.co/matches/([0-9A-Za-z-_]+)"
      },
      "vevo": {
        "name": "vevo",
        "type": "free",
        "domains": [
          "vevo.com",
          "embed.vevo.com",
          "tv.vevo.com"
        ],
        "regexps": [
          "(?:https?://(?:www\\.)?vevo\\.com/watch/(?!playlist|genre)(?:[^/]+/(?:[^/]+/)?)?|https?://cache\\.vevo\\.com/m/html/embed\\.html\\?video=|https?://videoplayer\\.vevo\\.com/embed/embedded\\?videoId=|https?://embed\\.vevo\\.com/.*?[?&]isrc=|https?://tv\\.vevo\\.com/watch/artist/(?:[^/]+)/|vevo:)([^&?#]+)"
        ],
        "regexp": "(?:https?://(?:www\\.)?vevo\\.com/watch/(?!playlist|genre)(?:[^/]+/(?:[^/]+/)?)?|https?://cache\\.vevo\\.com/m/html/embed\\.html\\?video=|https?://videoplayer\\.vevo\\.com/embed/embedded\\?videoId=|https?://embed\\.vevo\\.com/.*?[?&]isrc=|https?://tv\\.vevo\\.com/watch/artist/(?:[^/]+)/|vevo:)([^&?#]+)"
      },
      "vevoplaylist": {
        "name": "vevoplaylist",
        "type": "free",
        "domains": [
          "vevo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?vevo\\.com/watch/(playlist|genre)/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?vevo\\.com/watch/(playlist|genre)/([^/?#&]+)"
      },
      "vgtv": {
        "name": "vgtv",
        "type": "free",
        "domains": [
          "vgtv.no",
          "aftenposten.no",
          "tv.vg.no",
          "bt.no",
          "ap.vgtv.no",
          "tv.aftonbladet.se",
          "aftonbladet.se"
        ],
        "regexps": [
          "(?:https?://(?:www\\.)?(tv.vg.no|vgtv.no|bt.no/tv|aftenbladet.no/tv|fvn.no/fvntv|aftenposten.no/webtv|ap.vgtv.no/webtv|tv.aftonbladet.se|tv.aftonbladet.se/abtv|www.aftonbladet.se/tv)/?(?:(?:\\#!/)?(?:video|live)/|embed?.*id=|a(?:rticles)?/)|(vgtv|bttv|satv|fvntv|aptv|abtv):)(\\d+)"
        ],
        "regexp": "(?:https?://(?:www\\.)?(tv.vg.no|vgtv.no|bt.no/tv|aftenbladet.no/tv|fvn.no/fvntv|aftenposten.no/webtv|ap.vgtv.no/webtv|tv.aftonbladet.se|tv.aftonbladet.se/abtv|www.aftonbladet.se/tv)/?(?:(?:\\#!/)?(?:video|live)/|embed?.*id=|a(?:rticles)?/)|(vgtv|bttv|satv|fvntv|aptv|abtv):)(\\d+)"
      },
      "vh1.com": {
        "name": "vh1.com",
        "type": "free",
        "domains": [
          "vh1.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?vh1\\.com/(?:video-clips|episodes)/([\\da-z]{6})"
        ],
        "regexp": "https?://(?:www\\.)?vh1\\.com/(?:video-clips|episodes)/([\\da-z]{6})"
      },
      "vhx": {
        "name": "vhx",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://embed\\.vhx\\.tv/videos/(\\d+)"
        ],
        "regexp": "https?://embed\\.vhx\\.tv/videos/(\\d+)"
      },
      "vice": {
        "name": "vice",
        "type": "free",
        "domains": [
          "vice.com",
          "video.vice.com",
          "vms.vice.com",
          "viceland.com",
          "vicetv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?vice\\.com/([^/]+)/article/(?:[0-9a-z]{6}/)?([^?#]+)",
          "https?://(?:(?:video|vms)\\.vice|(?:www\\.)?vice(?:land|tv))\\.com/([^/]+)/(?:video/[^/]+|embed)/([\\da-f]{24})",
          "https?://(?:video\\.vice|(?:www\\.)?vice(?:land|tv))\\.com/([^/]+)/show/([^/?#&]+)"
        ],
        "regexp": "(https?://(?:www\\.)?vice\\.com/([^/]+)/article/(?:[0-9a-z]{6}/)?([^?#]+))|(https?://(?:(?:video|vms)\\.vice|(?:www\\.)?vice(?:land|tv))\\.com/([^/]+)/(?:video/[^/]+|embed)/([\\da-f]{24}))|(https?://(?:video\\.vice|(?:www\\.)?vice(?:land|tv))\\.com/([^/]+)/show/([^/?#&]+))"
      },
      "viddler": {
        "name": "viddler",
        "type": "free",
        "domains": [
          "viddler.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?viddler\\.com/(?:v|embed|player)/([a-z0-9]+)(?:.+?\\bsecret=(\\d+))?"
        ],
        "regexp": "https?://(?:www\\.)?viddler\\.com/(?:v|embed|player)/([a-z0-9]+)(?:.+?\\bsecret=(\\d+))?"
      },
      "videa": {
        "name": "videa",
        "type": "free",
        "domains": [
          "videa.hu",
          "videakid.hu"
        ],
        "regexps": [
          "https?://videa(?:kid)?\\.hu/(?:videok/(?:[^/]+/)*[^?#&]+-|(?:videojs_)?player\\?.*?\\bv=|player/v/)([^?#&]+)"
        ],
        "regexp": "https?://videa(?:kid)?\\.hu/(?:videok/(?:[^/]+/)*[^?#&]+-|(?:videojs_)?player\\?.*?\\bv=|player/v/)([^?#&]+)"
      },
      "video.arnes.si": {
        "name": "video.arnes.si",
        "type": "free",
        "domains": [
          "video.arnes.si"
        ],
        "regexps": [
          "https?://video\\.arnes\\.si/(?:[a-z]{2}/)?(?:watch|embed|api/(?:asset|public/video))/([0-9a-zA-Z]{12})"
        ],
        "regexp": "https?://video\\.arnes\\.si/(?:[a-z]{2}/)?(?:watch|embed|api/(?:asset|public/video))/([0-9a-zA-Z]{12})"
      },
      "video.google": {
        "name": "video.google",
        "type": "free",
        "domains": [],
        "regexps": [
          "gvsearch(|[1-9][0-9]*|all):([\\s\\S]+)"
        ],
        "regexp": "gvsearch(|[1-9][0-9]*|all):([\\s\\S]+)"
      },
      "video.sky.it": {
        "name": "video.sky.it",
        "type": "free",
        "domains": [
          "video.sky.it",
          "xfactor.sky.it",
          "masterchef.sky.it"
        ],
        "regexps": [
          "https?://(?:masterchef|video|xfactor)\\.sky\\.it(?:/[^/]+)*/video/[0-9a-z-]+-(\\d+)",
          "https?://video\\.sky\\.it/diretta/([^/?&#]+)"
        ],
        "regexp": "(https?://(?:masterchef|video|xfactor)\\.sky\\.it(?:/[^/]+)*/video/[0-9a-z-]+-(\\d+))|(https?://video\\.sky\\.it/diretta/([^/?&#]+))"
      },
      "videodetective": {
        "name": "videodetective",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?videodetective\\.com/[^/]+/[^/]+/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?videodetective\\.com/[^/]+/[^/]+/(\\d+)"
      },
      "videofy.me": {
        "name": "videofy.me",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.videofy\\.me/.+?|p\\.videofy\\.me/v)/(\\d+)(&|#|$)"
        ],
        "regexp": "https?://(?:www\\.videofy\\.me/.+?|p\\.videofy\\.me/v)/(\\d+)(&|#|$)"
      },
      "videoken": {
        "name": "videoken",
        "type": "free",
        "domains": [
          "videos.neurips.cc",
          "videos.icts.res.in",
          "videos.cncf.io"
        ],
        "regexps": [
          "https?://(videos\\.icts\\.res\\.in|videos\\.cncf\\.io|videos\\.neurips\\.cc)/(?:(?:topic|category)/[^/#?]+/)?video/([\\w-]+)"
        ],
        "regexp": "https?://(videos\\.icts\\.res\\.in|videos\\.cncf\\.io|videos\\.neurips\\.cc)/(?:(?:topic|category)/[^/#?]+/)?video/([\\w-]+)"
      },
      "videokencategory": {
        "name": "videokencategory",
        "type": "free",
        "domains": [
          "videos.icts.res.in",
          "videos.neurips.cc",
          "videos.cncf.io"
        ],
        "regexps": [
          "https?://(videos\\.icts\\.res\\.in|videos\\.cncf\\.io|videos\\.neurips\\.cc)/category/(\\d+)/?(?:$|[?#])"
        ],
        "regexp": "https?://(videos\\.icts\\.res\\.in|videos\\.cncf\\.io|videos\\.neurips\\.cc)/category/(\\d+)/?(?:$|[?#])"
      },
      "videokenplayer": {
        "name": "videokenplayer",
        "type": "free",
        "domains": [
          "player.videoken.com"
        ],
        "regexps": [
          "https?://player\\.videoken\\.com/embed/slideslive-(\\d+)"
        ],
        "regexp": "https?://player\\.videoken\\.com/embed/slideslive-(\\d+)"
      },
      "videokenplaylist": {
        "name": "videokenplaylist",
        "type": "free",
        "domains": [
          "videos.icts.res.in"
        ],
        "regexps": [
          "https?://(videos\\.icts\\.res\\.in|videos\\.cncf\\.io|videos\\.neurips\\.cc)/(?:category/\\d+/)?playlist/(\\d+)"
        ],
        "regexp": "https?://(videos\\.icts\\.res\\.in|videos\\.cncf\\.io|videos\\.neurips\\.cc)/(?:category/\\d+/)?playlist/(\\d+)"
      },
      "videokentopic": {
        "name": "videokentopic",
        "type": "free",
        "domains": [
          "videos.neurips.cc",
          "videos.icts.res.in",
          "videos.cncf.io"
        ],
        "regexps": [
          "https?://(videos\\.icts\\.res\\.in|videos\\.cncf\\.io|videos\\.neurips\\.cc)/topic/([^/#?]+)/?(?:$|[?#])"
        ],
        "regexp": "https?://(videos\\.icts\\.res\\.in|videos\\.cncf\\.io|videos\\.neurips\\.cc)/topic/([^/#?]+)/?(?:$|[?#])"
      },
      "videomore": {
        "name": "videomore",
        "type": "free",
        "domains": [
          "videomore.ru",
          "player.videomore.ru",
          "odysseus.more.tv",
          "siren.more.tv",
          "more.tv"
        ],
        "regexps": [
          "videomore:(\\d+)$|https?://(?:videomore\\.ru/(?:embed|[^/]+/[^/]+)/|(?:(?:player\\.)?videomore\\.ru|siren\\.more\\.tv/player)/[^/]*\\?.*?\\btrack_id=|odysseus\\.more.tv/player/(\\d+)/)(\\d+)(?:[/?#&]|\\.(?:xml|json)|$)",
          "https?://(?:videomore\\.ru|more\\.tv)/(?!embed)([^/]+/[^/?#&]+)(?:/*|[?#&].*?)$",
          "https?://(?:videomore\\.ru|more\\.tv)/((?:(?:[^/]+/){2})?[^/?#&]+)(?:/*|[?#&].*?)$"
        ],
        "regexp": "(videomore:(\\d+)$|https?://(?:videomore\\.ru/(?:embed|[^/]+/[^/]+)/|(?:(?:player\\.)?videomore\\.ru|siren\\.more\\.tv/player)/[^/]*\\?.*?\\btrack_id=|odysseus\\.more.tv/player/(\\d+)/)(\\d+)(?:[/?#&]|\\.(?:xml|json)|$))|(https?://(?:videomore\\.ru|more\\.tv)/(?!embed)([^/]+/[^/?#&]+)(?:/*|[?#&].*?)$)|(https?://(?:videomore\\.ru|more\\.tv)/((?:(?:[^/]+/){2})?[^/?#&]+)(?:/*|[?#&].*?)$)"
      },
      "videopress": {
        "name": "videopress",
        "type": "free",
        "domains": [
          "videopress.com",
          "video.wordpress.com"
        ],
        "regexps": [
          "https?://video(?:\\.word)?press\\.com/embed/([\\da-zA-Z]{8})"
        ],
        "regexp": "https?://video(?:\\.word)?press\\.com/embed/([\\da-zA-Z]{8})"
      },
      "vidflex": {
        "name": "vidflex",
        "type": "free",
        "domains": [
          "video.hockeycanada.ca",
          "myfbcgreenville.vidflex.tv",
          "figureitoutbaseball.com",
          "videos.telusworldofscienceedmonton.ca",
          "tuffhedemantv.com",
          "albertalacrossetv.com",
          "silenticetv.com",
          "jphl.vidflex.tv"
        ],
        "regexps": [
          "https?://(?:[^.]+\\.vidflex\\.tv|(?:www\\.)?acactv\\.ca|(?:www\\.)?albertalacrossetv\\.com|(?:www\\.)?cjfltv\\.com|(?:www\\.)?figureitoutbaseball\\.com|(?:www\\.)?ocaalive\\.com|(?:www\\.)?pegasussports\\.tv|(?:www\\.)?praxisseries\\.ca|(?:www\\.)?silenticetv\\.com|(?:www\\.)?tuffhedemantv\\.com|(?:www\\.)?watchfuntv\\.com|live\\.ofsaa\\.on\\.ca|tv\\.procoro\\.ca|tv\\.realcastmedia\\.net|tv\\.fringetheatre\\.ca|video\\.haisla\\.ca|video\\.hockeycanada\\.ca|video\\.huuayaht\\.org|video\\.turningpointensemble\\.ca|videos\\.livingworks\\.net|videos\\.telusworldofscienceedmonton\\.ca|watch\\.binghamtonbulldogs\\.com|watch\\.rekindle\\.tv|watch\\.wpca\\.com)/[a-z]{2}(?:-[a-z]{2})?/c/[\\w-]+\\.(\\d+)"
        ],
        "regexp": "https?://(?:[^.]+\\.vidflex\\.tv|(?:www\\.)?acactv\\.ca|(?:www\\.)?albertalacrossetv\\.com|(?:www\\.)?cjfltv\\.com|(?:www\\.)?figureitoutbaseball\\.com|(?:www\\.)?ocaalive\\.com|(?:www\\.)?pegasussports\\.tv|(?:www\\.)?praxisseries\\.ca|(?:www\\.)?silenticetv\\.com|(?:www\\.)?tuffhedemantv\\.com|(?:www\\.)?watchfuntv\\.com|live\\.ofsaa\\.on\\.ca|tv\\.procoro\\.ca|tv\\.realcastmedia\\.net|tv\\.fringetheatre\\.ca|video\\.haisla\\.ca|video\\.hockeycanada\\.ca|video\\.huuayaht\\.org|video\\.turningpointensemble\\.ca|videos\\.livingworks\\.net|videos\\.telusworldofscienceedmonton\\.ca|watch\\.binghamtonbulldogs\\.com|watch\\.rekindle\\.tv|watch\\.wpca\\.com)/[a-z]{2}(?:-[a-z]{2})?/c/[\\w-]+\\.(\\d+)"
      },
      "vidio": {
        "name": "vidio",
        "type": "free",
        "domains": [
          "vidio.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?vidio\\.com/(watch|embed)/(\\d+)-([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?vidio\\.com/(watch|embed)/(\\d+)-([^/?#&]+)"
      },
      "vidiolive": {
        "name": "vidiolive",
        "type": "free",
        "domains": [
          "vidio.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?vidio\\.com/live/(\\d+)-([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?vidio\\.com/live/(\\d+)-([^/?#&]+)"
      },
      "vidiopremier": {
        "name": "vidiopremier",
        "type": "free",
        "domains": [
          "vidio.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?vidio\\.com/premier/(\\d+)/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?vidio\\.com/premier/(\\d+)/([^/?#&]+)"
      },
      "vidlii": {
        "name": "vidlii",
        "type": "free",
        "domains": [
          "vidlii.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?vidlii\\.com/(?:watch|embed)\\?.*?\\bv=([0-9A-Za-z_-]{11})"
        ],
        "regexp": "https?://(?:www\\.)?vidlii\\.com/(?:watch|embed)\\?.*?\\bv=([0-9A-Za-z_-]{11})"
      },
      "vidly": {
        "name": "vidly",
        "type": "free",
        "domains": [
          "vid.ly",
          "s.vid.ly"
        ],
        "regexps": [
          "https?://(?:vid\\.ly/|(?:s\\.)?vid\\.ly/embeded\\.html\\?(?:[^#]+&)?link=)(\\w+)"
        ],
        "regexp": "https?://(?:vid\\.ly/|(?:s\\.)?vid\\.ly/embeded\\.html\\?(?:[^#]+&)?link=)(\\w+)"
      },
      "vids.io": {
        "name": "vids.io",
        "type": "free",
        "domains": [
          "how-to-video.vids.io"
        ],
        "regexps": [
          "https?://[\\w-]+\\.vids\\.io/videos/([\\da-f]+)/([\\w-]+)"
        ],
        "regexp": "https?://[\\w-]+\\.vids\\.io/videos/([\\da-f]+)/([\\w-]+)"
      },
      "vidyard": {
        "name": "vidyard",
        "type": "free",
        "domains": [
          "vyexample03.hubs.vidyard.com",
          "share.vidyard.com",
          "embed.vidyard.com",
          "thelink.hubs.vidyard.com",
          "salesforce.vidyard.com",
          "play.vidyard.com"
        ],
        "regexps": [
          "https?://[\\w-]+(?:\\.hubs)?\\.vidyard\\.com/watch/([\\w-]+)",
          "https?://(?:embed|share)\\.vidyard\\.com/share/([\\w-]+)",
          "https?://play\\.vidyard\\.com/(?:player/)?([\\w-]+)"
        ],
        "regexp": "(https?://[\\w-]+(?:\\.hubs)?\\.vidyard\\.com/watch/([\\w-]+))|(https?://(?:embed|share)\\.vidyard\\.com/share/([\\w-]+))|(https?://play\\.vidyard\\.com/(?:player/)?([\\w-]+))"
      },
      "viewlift": {
        "name": "viewlift",
        "type": "free",
        "domains": [
          "embed.snagfilms.com",
          "snagfilms.com",
          "main.snagfilms.com",
          "winnersview.com",
          "monumentalsportsnetwork.com",
          "marquee.tv",
          "hoichoi.tv",
          "chorki.com"
        ],
        "regexps": [
          "https?://(?:(?:www|embed)\\.)?((?:(?:main\\.)?snagfilms|snagxtreme|funnyforfree|kiddovid|winnersview|(?:monumental|lax)sportsnetwork|vayafilm|failarmy|ftfnext|lnppass\\.legapallacanestro|moviespree|app\\.myoutdoortv|neoufitness|pflmma|theidentitytb|chorki)\\.com|(?:hoichoi|app\\.horseandcountry|kronon|marquee|supercrosslive)\\.tv)/embed/player\\?.*\\bfilmId=([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})",
          "https?://(?:www\\.)?((?:(?:main\\.)?snagfilms|snagxtreme|funnyforfree|kiddovid|winnersview|(?:monumental|lax)sportsnetwork|vayafilm|failarmy|ftfnext|lnppass\\.legapallacanestro|moviespree|app\\.myoutdoortv|neoufitness|pflmma|theidentitytb|chorki)\\.com|(?:hoichoi|app\\.horseandcountry|kronon|marquee|supercrosslive)\\.tv)((?:/(?:films/title|show|(?:news/)?videos?|watch))?/([^?#]+))"
        ],
        "regexp": "(https?://(?:(?:www|embed)\\.)?((?:(?:main\\.)?snagfilms|snagxtreme|funnyforfree|kiddovid|winnersview|(?:monumental|lax)sportsnetwork|vayafilm|failarmy|ftfnext|lnppass\\.legapallacanestro|moviespree|app\\.myoutdoortv|neoufitness|pflmma|theidentitytb|chorki)\\.com|(?:hoichoi|app\\.horseandcountry|kronon|marquee|supercrosslive)\\.tv)/embed/player\\?.*\\bfilmId=([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12}))|(https?://(?:www\\.)?((?:(?:main\\.)?snagfilms|snagxtreme|funnyforfree|kiddovid|winnersview|(?:monumental|lax)sportsnetwork|vayafilm|failarmy|ftfnext|lnppass\\.legapallacanestro|moviespree|app\\.myoutdoortv|neoufitness|pflmma|theidentitytb|chorki)\\.com|(?:hoichoi|app\\.horseandcountry|kronon|marquee|supercrosslive)\\.tv)((?:/(?:films/title|show|(?:news/)?videos?|watch))?/([^?#]+)))"
      },
      "viidea": {
        "name": "viidea",
        "type": "free",
        "domains": [
          "videolectures.net"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:videolectures\\.net|flexilearn\\.viidea\\.net|presentations\\.ocwconsortium\\.org|video\\.travel-zoom\\.si|video\\.pomp-forum\\.si|tv\\.nil\\.si|video\\.hekovnik.com|video\\.szko\\.si|kpk\\.viidea\\.com|inside\\.viidea\\.net|video\\.kiberpipa\\.org|bvvideo\\.si|kongres\\.viidea\\.net|edemokracija\\.viidea\\.com)(?:/lecture)?/([^/]+)(?:/video/(\\d+))?/*(?:[#?].*)?$"
        ],
        "regexp": "https?://(?:www\\.)?(?:videolectures\\.net|flexilearn\\.viidea\\.net|presentations\\.ocwconsortium\\.org|video\\.travel-zoom\\.si|video\\.pomp-forum\\.si|tv\\.nil\\.si|video\\.hekovnik.com|video\\.szko\\.si|kpk\\.viidea\\.com|inside\\.viidea\\.net|video\\.kiberpipa\\.org|bvvideo\\.si|kongres\\.viidea\\.net|edemokracija\\.viidea\\.com)(?:/lecture)?/([^/]+)(?:/video/(\\d+))?/*(?:[#?].*)?$"
      },
      "vimm": {
        "name": "vimm",
        "type": "free",
        "domains": [
          "vimm.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?vimm\\.tv/(?:c/)?([0-9a-z-]+)$",
          "https?://(?:www\\.)?vimm\\.tv/c/([0-9a-z-]+)\\?v=([0-9A-Za-z]+)"
        ],
        "regexp": "(https?://(?:www\\.)?vimm\\.tv/(?:c/)?([0-9a-z-]+)$)|(https?://(?:www\\.)?vimm\\.tv/c/([0-9a-z-]+)\\?v=([0-9A-Za-z]+))"
      },
      "vimp": {
        "name": "vimp",
        "type": "free",
        "domains": [
          "vimp.oth-regensburg.de",
          "hsbi.de",
          "videocampus.sachsen.de",
          "www2.univ-sba.dz",
          "vimp.weka-fachmedien.de"
        ],
        "regexps": [
          "(https?://(?:bergauf\\.tv|campus\\.demo\\.vimp\\.com|corporate\\.demo\\.vimp\\.com|dancehalldatabase\\.com|drehzahl\\.tv|educhannel\\.hs\\-gesundheit\\.de|emedia\\.ls\\.haw\\-hamburg\\.de|globale\\-evolution\\.net|hohu\\.tv|htvideos\\.hightechhigh\\.org|k210039\\.vimp\\.mivitec\\.net|media\\.cmslegal\\.com|media\\.fh\\-swf\\.de|media\\.hs\\-furtwangen\\.de|media\\.hwr\\-berlin\\.de|mediathek\\.dkfz\\.de|mediathek\\.htw\\-berlin\\.de|mediathek\\.polizei\\-bw\\.de|medien\\.hs\\-merseburg\\.de|mitmedia\\.manukau\\.ac\\.nz|mportal\\.europa\\-uni\\.de|pacific\\.demo\\.vimp\\.com|slctv\\.com|streaming\\.prairiesouth\\.ca|tube\\.isbonline\\.cn|univideo\\.uni\\-kassel\\.de|ursula2\\.genetics\\.emory\\.edu|ursulablicklevideoarchiv\\.com|v\\.agrarumweltpaedagogik\\.at|video\\.eplay\\-tv\\.de|video\\.fh\\-dortmund\\.de|video\\.hs\\-nb\\.de|video\\.hs\\-offenburg\\.de|video\\.hs\\-pforzheim\\.de|video\\.hspv\\.nrw\\.de|video\\.irtshdf\\.fr|video\\.pareygo\\.de|video\\.tu\\-dortmund\\.de|video\\.tu\\-freiberg\\.de|videocampus\\.sachsen\\.de|videoportal\\.uni\\-freiburg\\.de|videoportal\\.vm\\.uni\\-freiburg\\.de|videos\\.duoc\\.cl|videos\\.uni\\-paderborn\\.de|vimp\\-bemus\\.udk\\-berlin\\.de|vimp\\.aekwl\\.de|vimp\\.hs\\-mittweida\\.de|vimp\\.landesfilmdienste\\.de|vimp\\.oth\\-regensburg\\.de|vimp\\.ph\\-heidelberg\\.de|vimp\\.sma\\-events\\.com|vimp\\.weka\\-fachmedien\\.de|vimpdesk\\.com|webtv\\.univ\\-montp3\\.fr|www\\.b\\-tu\\.de/media|www\\.bergauf\\.tv|www\\.bigcitytv\\.de|www\\.cad\\-videos\\.de|www\\.drehzahl\\.tv|www\\.hohu\\.tv|www\\.hsbi\\.de/medienportal|www\\.logistic\\.tv|www\\.orvovideo\\.com|www\\.printtube\\.co\\.uk|www\\.rwe\\.tv|www\\.salzi\\.tv|www\\.signtube\\.co\\.uk|www\\.twb\\-power\\.com|www\\.wenglor\\-media\\.com|www2\\.univ\\-sba\\.dz))/(?:(album)/view/aid/([0-9]+)|(category|channel)/([\\w-]+)/([0-9]+)|(tag)/([0-9]+))",
          "https?://(bergauf\\.tv|campus\\.demo\\.vimp\\.com|corporate\\.demo\\.vimp\\.com|dancehalldatabase\\.com|drehzahl\\.tv|educhannel\\.hs\\-gesundheit\\.de|emedia\\.ls\\.haw\\-hamburg\\.de|globale\\-evolution\\.net|hohu\\.tv|htvideos\\.hightechhigh\\.org|k210039\\.vimp\\.mivitec\\.net|media\\.cmslegal\\.com|media\\.fh\\-swf\\.de|media\\.hs\\-furtwangen\\.de|media\\.hwr\\-berlin\\.de|mediathek\\.dkfz\\.de|mediathek\\.htw\\-berlin\\.de|mediathek\\.polizei\\-bw\\.de|medien\\.hs\\-merseburg\\.de|mitmedia\\.manukau\\.ac\\.nz|mportal\\.europa\\-uni\\.de|pacific\\.demo\\.vimp\\.com|slctv\\.com|streaming\\.prairiesouth\\.ca|tube\\.isbonline\\.cn|univideo\\.uni\\-kassel\\.de|ursula2\\.genetics\\.emory\\.edu|ursulablicklevideoarchiv\\.com|v\\.agrarumweltpaedagogik\\.at|video\\.eplay\\-tv\\.de|video\\.fh\\-dortmund\\.de|video\\.hs\\-nb\\.de|video\\.hs\\-offenburg\\.de|video\\.hs\\-pforzheim\\.de|video\\.hspv\\.nrw\\.de|video\\.irtshdf\\.fr|video\\.pareygo\\.de|video\\.tu\\-dortmund\\.de|video\\.tu\\-freiberg\\.de|videocampus\\.sachsen\\.de|videoportal\\.uni\\-freiburg\\.de|videoportal\\.vm\\.uni\\-freiburg\\.de|videos\\.duoc\\.cl|videos\\.uni\\-paderborn\\.de|vimp\\-bemus\\.udk\\-berlin\\.de|vimp\\.aekwl\\.de|vimp\\.hs\\-mittweida\\.de|vimp\\.landesfilmdienste\\.de|vimp\\.oth\\-regensburg\\.de|vimp\\.ph\\-heidelberg\\.de|vimp\\.sma\\-events\\.com|vimp\\.weka\\-fachmedien\\.de|vimpdesk\\.com|webtv\\.univ\\-montp3\\.fr|www\\.b\\-tu\\.de/media|www\\.bergauf\\.tv|www\\.bigcitytv\\.de|www\\.cad\\-videos\\.de|www\\.drehzahl\\.tv|www\\.hohu\\.tv|www\\.hsbi\\.de/medienportal|www\\.logistic\\.tv|www\\.orvovideo\\.com|www\\.printtube\\.co\\.uk|www\\.rwe\\.tv|www\\.salzi\\.tv|www\\.signtube\\.co\\.uk|www\\.twb\\-power\\.com|www\\.wenglor\\-media\\.com|www2\\.univ\\-sba\\.dz)/(?:m/([0-9a-f]+)|(?:category/)?video/([\\w-]+)/([0-9a-f]{32})|media/embed.*(?:\\?|&)key=([0-9a-f]{32}&?))"
        ],
        "regexp": "((https?://(?:bergauf\\.tv|campus\\.demo\\.vimp\\.com|corporate\\.demo\\.vimp\\.com|dancehalldatabase\\.com|drehzahl\\.tv|educhannel\\.hs\\-gesundheit\\.de|emedia\\.ls\\.haw\\-hamburg\\.de|globale\\-evolution\\.net|hohu\\.tv|htvideos\\.hightechhigh\\.org|k210039\\.vimp\\.mivitec\\.net|media\\.cmslegal\\.com|media\\.fh\\-swf\\.de|media\\.hs\\-furtwangen\\.de|media\\.hwr\\-berlin\\.de|mediathek\\.dkfz\\.de|mediathek\\.htw\\-berlin\\.de|mediathek\\.polizei\\-bw\\.de|medien\\.hs\\-merseburg\\.de|mitmedia\\.manukau\\.ac\\.nz|mportal\\.europa\\-uni\\.de|pacific\\.demo\\.vimp\\.com|slctv\\.com|streaming\\.prairiesouth\\.ca|tube\\.isbonline\\.cn|univideo\\.uni\\-kassel\\.de|ursula2\\.genetics\\.emory\\.edu|ursulablicklevideoarchiv\\.com|v\\.agrarumweltpaedagogik\\.at|video\\.eplay\\-tv\\.de|video\\.fh\\-dortmund\\.de|video\\.hs\\-nb\\.de|video\\.hs\\-offenburg\\.de|video\\.hs\\-pforzheim\\.de|video\\.hspv\\.nrw\\.de|video\\.irtshdf\\.fr|video\\.pareygo\\.de|video\\.tu\\-dortmund\\.de|video\\.tu\\-freiberg\\.de|videocampus\\.sachsen\\.de|videoportal\\.uni\\-freiburg\\.de|videoportal\\.vm\\.uni\\-freiburg\\.de|videos\\.duoc\\.cl|videos\\.uni\\-paderborn\\.de|vimp\\-bemus\\.udk\\-berlin\\.de|vimp\\.aekwl\\.de|vimp\\.hs\\-mittweida\\.de|vimp\\.landesfilmdienste\\.de|vimp\\.oth\\-regensburg\\.de|vimp\\.ph\\-heidelberg\\.de|vimp\\.sma\\-events\\.com|vimp\\.weka\\-fachmedien\\.de|vimpdesk\\.com|webtv\\.univ\\-montp3\\.fr|www\\.b\\-tu\\.de/media|www\\.bergauf\\.tv|www\\.bigcitytv\\.de|www\\.cad\\-videos\\.de|www\\.drehzahl\\.tv|www\\.hohu\\.tv|www\\.hsbi\\.de/medienportal|www\\.logistic\\.tv|www\\.orvovideo\\.com|www\\.printtube\\.co\\.uk|www\\.rwe\\.tv|www\\.salzi\\.tv|www\\.signtube\\.co\\.uk|www\\.twb\\-power\\.com|www\\.wenglor\\-media\\.com|www2\\.univ\\-sba\\.dz))/(?:(album)/view/aid/([0-9]+)|(category|channel)/([\\w-]+)/([0-9]+)|(tag)/([0-9]+)))|(https?://(bergauf\\.tv|campus\\.demo\\.vimp\\.com|corporate\\.demo\\.vimp\\.com|dancehalldatabase\\.com|drehzahl\\.tv|educhannel\\.hs\\-gesundheit\\.de|emedia\\.ls\\.haw\\-hamburg\\.de|globale\\-evolution\\.net|hohu\\.tv|htvideos\\.hightechhigh\\.org|k210039\\.vimp\\.mivitec\\.net|media\\.cmslegal\\.com|media\\.fh\\-swf\\.de|media\\.hs\\-furtwangen\\.de|media\\.hwr\\-berlin\\.de|mediathek\\.dkfz\\.de|mediathek\\.htw\\-berlin\\.de|mediathek\\.polizei\\-bw\\.de|medien\\.hs\\-merseburg\\.de|mitmedia\\.manukau\\.ac\\.nz|mportal\\.europa\\-uni\\.de|pacific\\.demo\\.vimp\\.com|slctv\\.com|streaming\\.prairiesouth\\.ca|tube\\.isbonline\\.cn|univideo\\.uni\\-kassel\\.de|ursula2\\.genetics\\.emory\\.edu|ursulablicklevideoarchiv\\.com|v\\.agrarumweltpaedagogik\\.at|video\\.eplay\\-tv\\.de|video\\.fh\\-dortmund\\.de|video\\.hs\\-nb\\.de|video\\.hs\\-offenburg\\.de|video\\.hs\\-pforzheim\\.de|video\\.hspv\\.nrw\\.de|video\\.irtshdf\\.fr|video\\.pareygo\\.de|video\\.tu\\-dortmund\\.de|video\\.tu\\-freiberg\\.de|videocampus\\.sachsen\\.de|videoportal\\.uni\\-freiburg\\.de|videoportal\\.vm\\.uni\\-freiburg\\.de|videos\\.duoc\\.cl|videos\\.uni\\-paderborn\\.de|vimp\\-bemus\\.udk\\-berlin\\.de|vimp\\.aekwl\\.de|vimp\\.hs\\-mittweida\\.de|vimp\\.landesfilmdienste\\.de|vimp\\.oth\\-regensburg\\.de|vimp\\.ph\\-heidelberg\\.de|vimp\\.sma\\-events\\.com|vimp\\.weka\\-fachmedien\\.de|vimpdesk\\.com|webtv\\.univ\\-montp3\\.fr|www\\.b\\-tu\\.de/media|www\\.bergauf\\.tv|www\\.bigcitytv\\.de|www\\.cad\\-videos\\.de|www\\.drehzahl\\.tv|www\\.hohu\\.tv|www\\.hsbi\\.de/medienportal|www\\.logistic\\.tv|www\\.orvovideo\\.com|www\\.printtube\\.co\\.uk|www\\.rwe\\.tv|www\\.salzi\\.tv|www\\.signtube\\.co\\.uk|www\\.twb\\-power\\.com|www\\.wenglor\\-media\\.com|www2\\.univ\\-sba\\.dz)/(?:m/([0-9a-f]+)|(?:category/)?video/([\\w-]+)/([0-9a-f]{32})|media/embed.*(?:\\?|&)key=([0-9a-f]{32}&?)))"
      },
      "viqeo": {
        "name": "viqeo",
        "type": "free",
        "domains": [
          "cdn.viqeo.tv",
          "api.viqeo.tv"
        ],
        "regexps": [
          "(?:viqeo:|https?://cdn\\.viqeo\\.tv/embed/*\\?.*?\\bvid=|https?://api\\.viqeo\\.tv/v\\d+/data/startup?.*?\\bvideo(?:%5B%5D|\\[\\])=)([\\da-f]+)"
        ],
        "regexp": "(?:viqeo:|https?://cdn\\.viqeo\\.tv/embed/*\\?.*?\\bvid=|https?://api\\.viqeo\\.tv/v\\d+/data/startup?.*?\\bvideo(?:%5B%5D|\\[\\])=)([\\da-f]+)"
      },
      "viu": {
        "name": "viu",
        "type": "free",
        "domains": [
          "viu.com",
          "india.viu.com"
        ],
        "regexps": [
          "(?:viu:|https?://[^/]+\\.viu\\.com/[a-z]{2}/media/)(\\d+)",
          "https?://(?:www\\.)?viu\\.com/ott/([a-z]{2})/([a-z]{2}-[a-z]{2})/vod/(\\d+)",
          "https?://www\\.viu\\.com/[^/]+/listing/playlist-(\\d+)"
        ],
        "regexp": "((?:viu:|https?://[^/]+\\.viu\\.com/[a-z]{2}/media/)(\\d+))|(https?://(?:www\\.)?viu\\.com/ott/([a-z]{2})/([a-z]{2}-[a-z]{2})/vod/(\\d+))|(https?://www\\.viu\\.com/[^/]+/listing/playlist-(\\d+))"
      },
      "viuottindonesia": {
        "name": "viuottindonesia",
        "type": "free",
        "domains": [
          "viu.com"
        ],
        "regexps": [
          "https?://www\\.viu\\.com/ott/\\w+/\\w+/all/video-[\\w-]+-(\\d+)"
        ],
        "regexp": "https?://www\\.viu\\.com/ott/\\w+/\\w+/all/video-[\\w-]+-(\\d+)"
      },
      "vk": {
        "name": "vk",
        "type": "free",
        "domains": [
          "vk.com",
          "vkvideo.ru",
          "new.vk.com",
          "vk.ru",
          "vksport.vkvideo.ru",
          "m.vk.com"
        ],
        "regexps": [
          "https?://(?:(?:(?:(?:m|new|vksport)\\.)?vk(?:(?:video)?\\.ru|\\.com)/video_|(?:www\\.)?daxab\\.com/)ext\\.php\\?(.*?\\boid=(-?\\d+).*?\\bid=(\\d+).*)|(?:(?:(?:m|new|vksport)\\.)?vk(?:(?:video)?\\.ru|\\.com)/(?:.+?\\?.*?z=)?(?:video|clip)|(?:www\\.)?daxab\\.com/embed/)(-?\\d+_\\d+)(?:.*\\blist=(([\\da-f]+)|(ln-[\\da-zA-Z]+)))?)",
          "https?://(?:(?:m|new)\\.)?vk(?:video\\.ru|\\.com/video)/playlist/(-?\\d+_-?\\d+)",
          "https?://(?:(?:m|new)\\.)?vk(?:video\\.ru|\\.com/video)/(@[^/?#]+)(?:/all)?/?(?!\\?.*\\bz=video)(?:[?#]|$)",
          "https?://(?:(?:(?:(?:m|new)\\.)?vk\\.com/(?:[^?]+\\?.*\\bw=)?wall(-?\\d+_\\d+)))"
        ],
        "regexp": "(https?://(?:(?:(?:(?:m|new|vksport)\\.)?vk(?:(?:video)?\\.ru|\\.com)/video_|(?:www\\.)?daxab\\.com/)ext\\.php\\?(.*?\\boid=(-?\\d+).*?\\bid=(\\d+).*)|(?:(?:(?:m|new|vksport)\\.)?vk(?:(?:video)?\\.ru|\\.com)/(?:.+?\\?.*?z=)?(?:video|clip)|(?:www\\.)?daxab\\.com/embed/)(-?\\d+_\\d+)(?:.*\\blist=(([\\da-f]+)|(ln-[\\da-zA-Z]+)))?))|(https?://(?:(?:m|new)\\.)?vk(?:video\\.ru|\\.com/video)/playlist/(-?\\d+_-?\\d+))|(https?://(?:(?:m|new)\\.)?vk(?:video\\.ru|\\.com/video)/(@[^/?#]+)(?:/all)?/?(?!\\?.*\\bz=video)(?:[?#]|$))|(https?://(?:(?:(?:(?:m|new)\\.)?vk\\.com/(?:[^?]+\\?.*\\bw=)?wall(-?\\d+_\\d+))))"
      },
      "vkplay": {
        "name": "vkplay",
        "type": "free",
        "domains": [
          "vkplay.live",
          "live.vkplay.ru",
          "live.vkvideo.ru"
        ],
        "regexps": [
          "https?://(?:vkplay\\.live|live\\.vk(?:play|video)\\.ru)/([^/#?]+)/record/([\\da-f-]+)"
        ],
        "regexp": "https?://(?:vkplay\\.live|live\\.vk(?:play|video)\\.ru)/([^/#?]+)/record/([\\da-f-]+)"
      },
      "vkplaylive": {
        "name": "vkplaylive",
        "type": "free",
        "domains": [
          "vkplay.live",
          "live.vkplay.ru",
          "live.vkvideo.ru"
        ],
        "regexps": [
          "https?://(?:vkplay\\.live|live\\.vk(?:play|video)\\.ru)/([^/#?]+)/?(?:[#?]|$)"
        ],
        "regexp": "https?://(?:vkplay\\.live|live\\.vk(?:play|video)\\.ru)/([^/#?]+)/?(?:[#?]|$)"
      },
      "vm.tiktok": {
        "name": "vm.tiktok",
        "type": "free",
        "domains": [
          "tiktok.com",
          "vm.tiktok.com",
          "vt.tiktok.com"
        ],
        "regexps": [
          "https?://(?:(?:vm|vt)\\.tiktok\\.com|(?:www\\.)tiktok\\.com/t)/(\\w+)"
        ],
        "regexp": "https?://(?:(?:vm|vt)\\.tiktok\\.com|(?:www\\.)tiktok\\.com/t)/(\\w+)"
      },
      "vocaroo": {
        "name": "vocaroo",
        "type": "free",
        "domains": [
          "vocaroo.com",
          "voca.ro"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:vocaroo\\.com|voca\\.ro)/(?:embed/)?(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:vocaroo\\.com|voca\\.ro)/(?:embed/)?(\\w+)"
      },
      "vodpl": {
        "name": "vodpl",
        "type": "free",
        "domains": [
          "vod.pl"
        ],
        "regexps": [
          "https?://vod\\.pl/(?:[^/]+/)+([0-9a-zA-Z]+)"
        ],
        "regexp": "https?://vod\\.pl/(?:[^/]+/)+([0-9a-zA-Z]+)"
      },
      "vodplatform": {
        "name": "vodplatform",
        "type": "free",
        "domains": [
          "vod-platform.net",
          "embed.kwikmotion.com"
        ],
        "regexps": [
          "https?://(?:(?:www\\.)?vod-platform\\.net|embed\\.kwikmotion\\.com)/[eE]mbed/([^/?#]+)"
        ],
        "regexp": "https?://(?:(?:www\\.)?vod-platform\\.net|embed\\.kwikmotion\\.com)/[eE]mbed/([^/?#]+)"
      },
      "voicy": {
        "name": "voicy",
        "type": "free",
        "domains": [
          "voicy.jp"
        ],
        "regexps": [
          "https?://voicy\\.jp/channel/(\\d+)",
          "https?://voicy\\.jp/channel/(\\d+)/(\\d+)"
        ],
        "regexp": "(https?://voicy\\.jp/channel/(\\d+))|(https?://voicy\\.jp/channel/(\\d+)/(\\d+))"
      },
      "volejtv": {
        "name": "volejtv",
        "type": "free",
        "domains": [
          "volej.tv"
        ],
        "regexps": [
          "https?://volej\\.tv/video/(\\d+)"
        ],
        "regexp": "https?://volej\\.tv/video/(\\d+)"
      },
      "voxmedia": {
        "name": "voxmedia",
        "type": "free",
        "domains": [
          "theverge.com",
          "vox.com",
          "sbnation.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:(?:theverge|vox|sbnation|eater|polygon|curbed|racked|funnyordie)\\.com|recode\\.net)/(?:[^/]+/)*([^/?]+)"
        ],
        "regexp": "https?://(?:www\\.)?(?:(?:theverge|vox|sbnation|eater|polygon|curbed|racked|funnyordie)\\.com|recode\\.net)/(?:[^/]+/)*([^/?]+)"
      },
      "voxmediavolume": {
        "name": "voxmediavolume",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://volume\\.vox-cdn\\.com/embed/([0-9a-f]{9})"
        ],
        "regexp": "https?://volume\\.vox-cdn\\.com/embed/([0-9a-f]{9})"
      },
      "vpro": {
        "name": "vpro",
        "type": "free",
        "domains": [
          "tegenlicht.vpro.nl",
          "vpro.nl",
          "2doc.nl"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:(?:tegenlicht\\.)?vpro|2doc)\\.nl/(?:[^/]+/)*([^/]+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?(?:(?:tegenlicht\\.)?vpro|2doc)\\.nl/(?:[^/]+/)*([^/]+)\\.html"
      },
      "vqq": {
        "name": "vqq",
        "type": "free",
        "domains": [
          "v.qq.com"
        ],
        "regexps": [
          "https?://v\\.qq\\.com/x/cover/(\\w+)\\.html/?(?:[?#]|$)",
          "https?://v\\.qq\\.com/x/(?:page|cover/(\\w+))/(\\w+)"
        ],
        "regexp": "(https?://v\\.qq\\.com/x/cover/(\\w+)\\.html/?(?:[?#]|$))|(https?://v\\.qq\\.com/x/(?:page|cover/(\\w+))/(\\w+))"
      },
      "vrsquare": {
        "name": "vrsquare",
        "type": "free",
        "domains": [
          "livr.jp"
        ],
        "regexps": [
          "https?://livr\\.jp/channel/(\\w+)",
          "https?://livr\\.jp/contents/([\\w-]+)",
          "https?://livr\\.jp/web-search/?\\?(?:[^#]+&)?w=[^#]+",
          "https?://livr\\.jp/(?:category|headline)/(\\w+)"
        ],
        "regexp": "(https?://livr\\.jp/channel/(\\w+))|(https?://livr\\.jp/contents/([\\w-]+))|(https?://livr\\.jp/web-search/?\\?(?:[^#]+&)?w=[^#]+)|(https?://livr\\.jp/(?:category|headline)/(\\w+))"
      },
      "vrt": {
        "name": "vrt",
        "type": "free",
        "domains": [
          "vrt.be",
          "sporza.be"
        ],
        "regexps": [
          "https?://(?:www\\.)?(vrt\\.be/vrtnws|sporza\\.be)/[a-z]{2}/\\d{4}/\\d{2}/\\d{2}/([^/?&#]+)"
        ],
        "regexp": "https?://(?:www\\.)?(vrt\\.be/vrtnws|sporza\\.be)/[a-z]{2}/\\d{4}/\\d{2}/\\d{2}/([^/?&#]+)"
      },
      "vrtmax": {
        "name": "vrtmax",
        "type": "free",
        "domains": [
          "vrt.be"
        ],
        "regexps": [
          "https?://(?:www\\.)?vrt\\.be/(?:vrtnu|vrtmax)/a-z/(?:[^/]+/){2}([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?vrt\\.be/(?:vrtnu|vrtmax)/a-z/(?:[^/]+/){2}([^/?#&]+)"
      },
      "vtm": {
        "name": "vtm",
        "type": "free",
        "domains": [
          "vtm.be"
        ],
        "regexps": [
          "https?://(?:www\\.)?vtm\\.be/[^/?#]+~v([\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12})"
        ],
        "regexp": "https?://(?:www\\.)?vtm\\.be/[^/?#]+~v([\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12})"
      },
      "vtv": {
        "name": "vtv",
        "type": "free",
        "domains": [
          "vtv.vn"
        ],
        "regexps": [
          "https?://(?:www\\.)?vtv\\.vn/video/[\\w-]*?(\\d+)\\.htm"
        ],
        "regexp": "https?://(?:www\\.)?vtv\\.vn/video/[\\w-]*?(\\d+)\\.htm"
      },
      "vtvgo": {
        "name": "vtvgo",
        "type": "free",
        "domains": [
          "vtvgo.vn"
        ],
        "regexps": [
          "https?://(?:www\\.)?vtvgo\\.vn/(kho-video|tin-tuc)/[\\w.-]*?(\\d+)(?:\\.[a-z]+|/)?(?:$|[?#])",
          "https?://(?:www\\.)?vtvgo\\.vn/digital/detail\\.php\\?(?:[^#]+&)?content_id=(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?vtvgo\\.vn/(kho-video|tin-tuc)/[\\w.-]*?(\\d+)(?:\\.[a-z]+|/)?(?:$|[?#]))|(https?://(?:www\\.)?vtvgo\\.vn/digital/detail\\.php\\?(?:[^#]+&)?content_id=(\\d+))"
      },
      "vtxtv": {
        "name": "vtxtv",
        "type": "free",
        "domains": [
          "vtxtv.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?vtxtv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?vtxtv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "vtxtvlive": {
        "name": "vtxtvlive",
        "type": "free",
        "domains": [
          "vtxtv.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?vtxtv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?vtxtv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "vtxtvrecordings": {
        "name": "vtxtvrecordings",
        "type": "free",
        "domains": [
          "vtxtv.ch"
        ],
        "regexps": [
          "https?://(?:www\\.)?vtxtv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?vtxtv\\.ch/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "vuclip": {
        "name": "vuclip",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:m\\.)?vuclip\\.com/w\\?.*?cid=([0-9]+)"
        ],
        "regexp": "https?://(?:m\\.)?vuclip\\.com/w\\?.*?cid=([0-9]+)"
      },
      "vvvvid": {
        "name": "vvvvid",
        "type": "free",
        "domains": [
          "vvvvid.it"
        ],
        "regexps": [
          "https?://(?:www\\.)?vvvvid\\.it/(?:#!)?(?:show|anime|film|series)/(\\d+)/[^/]+/(\\d+)/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?vvvvid\\.it/(?:#!)?(?:show|anime|film|series)/(\\d+)/[^/]+/(\\d+)/([0-9]+)"
      },
      "vvvvidshow": {
        "name": "vvvvidshow",
        "type": "free",
        "domains": [
          "vvvvid.it"
        ],
        "regexps": [
          "(https?://(?:www\\.)?vvvvid\\.it/(?:#!)?(?:show|anime|film|series)/(\\d+)(?:/([^/?&#]+))?)/?(?:[?#&]|$)"
        ],
        "regexp": "(https?://(?:www\\.)?vvvvid\\.it/(?:#!)?(?:show|anime|film|series)/(\\d+)(?:/([^/?&#]+))?)/?(?:[?#&]|$)"
      },
      "walla": {
        "name": "walla",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://vod\\.walla\\.co\\.il/[^/]+/(\\d+)/(.+)"
        ],
        "regexp": "https?://vod\\.walla\\.co\\.il/[^/]+/(\\d+)/(.+)"
      },
      "walytv": {
        "name": "walytv",
        "type": "free",
        "domains": [
          "player.waly.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?player\\.waly\\.tv/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?player\\.waly\\.tv/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "walytvlive": {
        "name": "walytvlive",
        "type": "free",
        "domains": [
          "player.waly.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?player\\.waly\\.tv/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?player\\.waly\\.tv/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "walytvrecordings": {
        "name": "walytvrecordings",
        "type": "free",
        "domains": [
          "player.waly.tv"
        ],
        "regexps": [
          "https?://(?:www\\.)?player\\.waly\\.tv/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?player\\.waly\\.tv/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "washingtonpost": {
        "name": "washingtonpost",
        "type": "free",
        "domains": [
          "washingtonpost.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?washingtonpost\\.com/(?:[^/]+/)*([^/?#]+)",
          "(?:washingtonpost:|https?://(?:www\\.)?washingtonpost\\.com/(?:video|posttv)/(?:[^/]+/)*)([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})"
        ],
        "regexp": "(https?://(?:www\\.)?washingtonpost\\.com/(?:[^/]+/)*([^/?#]+))|((?:washingtonpost:|https?://(?:www\\.)?washingtonpost\\.com/(?:video|posttv)/(?:[^/]+/)*)([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}))"
      },
      "wat.tv": {
        "name": "wat.tv",
        "type": "free",
        "domains": [
          "wat.tv"
        ],
        "regexps": [
          "(?:wat:|https?://(?:www\\.)?wat\\.tv/video/.*-)([0-9a-z]+)"
        ],
        "regexp": "(?:wat:|https?://(?:www\\.)?wat\\.tv/video/.*-)([0-9a-z]+)"
      },
      "watchespn": {
        "name": "watchespn",
        "type": "free",
        "domains": [
          "espn.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?espn\\.com/(?:watch|espnplus)/player/_/id/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})"
        ],
        "regexp": "https?://(?:www\\.)?espn\\.com/(?:watch|espnplus)/player/_/id/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})"
      },
      "wdr": {
        "name": "wdr",
        "type": "free",
        "domains": [
          "deviceids-medp.wdr.de"
        ],
        "regexps": [
          "https?://(?:deviceids-medp\\.wdr\\.de/ondemand/\\d+/|kinder\\.wdr\\.de/(?!mediathek/)[^#?]+-)(\\d+)\\.(?:js|assetjsonp)",
          "https?://mobile-ondemand\\.wdr\\.de/.*?/fsk([0-9]+)/[0-9]+/[0-9]+/([0-9]+)_([0-9]+)"
        ],
        "regexp": "(https?://(?:deviceids-medp\\.wdr\\.de/ondemand/\\d+/|kinder\\.wdr\\.de/(?!mediathek/)[^#?]+-)(\\d+)\\.(?:js|assetjsonp))|(https?://mobile-ondemand\\.wdr\\.de/.*?/fsk([0-9]+)/[0-9]+/[0-9]+/([0-9]+)_([0-9]+))"
      },
      "wdrelefant": {
        "name": "wdrelefant",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)wdrmaus\\.de/elefantenseite/#(.+)"
        ],
        "regexp": "https?://(?:www\\.)wdrmaus\\.de/elefantenseite/#(.+)"
      },
      "wdrpage": {
        "name": "wdrpage",
        "type": "free",
        "domains": [
          "www1.wdr.de",
          "wdrmaus.de",
          "sportschau.de",
          "kinder.wdr.de"
        ],
        "regexps": [
          "https?://(?:www\\d?\\.)?(?:(?:kinder\\.)?wdr\\d?|sportschau)\\.de/(?:mediathek/)?(?:[^/]+/)*([^/]+)\\.html|https?://(?:www\\.)wdrmaus.de/(?:[^/]+/)*?([^/?#.]+)(?:/?|/index\\.php5|\\.php5)$"
        ],
        "regexp": "https?://(?:www\\d?\\.)?(?:(?:kinder\\.)?wdr\\d?|sportschau)\\.de/(?:mediathek/)?(?:[^/]+/)*([^/]+)\\.html|https?://(?:www\\.)wdrmaus.de/(?:[^/]+/)*?([^/?#.]+)(?:/?|/index\\.php5|\\.php5)$"
      },
      "web.archive": {
        "name": "web.archive",
        "type": "free",
        "domains": [
          "web.archive.org"
        ],
        "regexps": [
          "(?:(ytarchive:)|(?:https?://)?web\\.archive\\.org/(?:web/)?(?:([0-9]{14})?[0-9A-Za-z_*]*/)?(?:https?(?::|%3[Aa])//)?(?:(?:\\w+\\.)?youtube\\.com(?::(?:80|443))?/watch(?:\\.php)?(?:\\?|%3[fF])(?:[^\\#]+(?:&|%26))?v(?:=|%3[dD])|(?:wayback-fakeurl\\.archive\\.org/yt/)))([0-9A-Za-z_-]{11})((?::([0-9]{14}))?$|(?:%26|[#&]|$))"
        ],
        "regexp": "(?:(ytarchive:)|(?:https?://)?web\\.archive\\.org/(?:web/)?(?:([0-9]{14})?[0-9A-Za-z_*]*/)?(?:https?(?::|%3[Aa])//)?(?:(?:\\w+\\.)?youtube\\.com(?::(?:80|443))?/watch(?:\\.php)?(?:\\?|%3[fF])(?:[^\\#]+(?:&|%26))?v(?:=|%3[dD])|(?:wayback-fakeurl\\.archive\\.org/yt/)))([0-9A-Za-z_-]{11})((?::([0-9]{14}))?$|(?:%26|[#&]|$))"
      },
      "webcamerapl": {
        "name": "webcamerapl",
        "type": "free",
        "domains": [
          "warszawa-plac-zamkowy.webcamera.pl",
          "gdansk-stare-miasto.webcamera.pl"
        ],
        "regexps": [
          "https?://([\\w-]+)\\.webcamera\\.pl"
        ],
        "regexp": "https?://([\\w-]+)\\.webcamera\\.pl"
      },
      "webcaster": {
        "name": "webcaster",
        "type": "free",
        "domains": [
          "bl.webcaster.pro"
        ],
        "regexps": [
          "https?://bl\\.webcaster\\.pro/(?:quote|media)/start/free_([^/]+)"
        ],
        "regexp": "https?://bl\\.webcaster\\.pro/(?:quote|media)/start/free_([^/]+)"
      },
      "webcasterfeed": {
        "name": "webcasterfeed",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://bl\\.webcaster\\.pro/feed/start/free_([^/]+)"
        ],
        "regexp": "https?://bl\\.webcaster\\.pro/feed/start/free_([^/]+)"
      },
      "webofstories": {
        "name": "webofstories",
        "type": "free",
        "domains": [
          "webofstories.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?webofstories\\.com/play/(?:[^/]+/)?([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?webofstories\\.com/play/(?:[^/]+/)?([0-9]+)"
      },
      "webofstoriesplaylist": {
        "name": "webofstoriesplaylist",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?webofstories\\.com/playAll/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?webofstories\\.com/playAll/([^/]+)"
      },
      "weibo": {
        "name": "weibo",
        "type": "free",
        "domains": [
          "weibo.com",
          "m.weibo.cn"
        ],
        "regexps": [
          "https?://(?:m\\.weibo\\.cn/(?:status|detail)|(?:www\\.)?weibo\\.com/\\d+)/([a-zA-Z0-9]+)"
        ],
        "regexp": "https?://(?:m\\.weibo\\.cn/(?:status|detail)|(?:www\\.)?weibo\\.com/\\d+)/([a-zA-Z0-9]+)"
      },
      "weibouser": {
        "name": "weibouser",
        "type": "free",
        "domains": [
          "weibo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?weibo\\.com/u/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?weibo\\.com/u/(\\d+)"
      },
      "weibovideo": {
        "name": "weibovideo",
        "type": "free",
        "domains": [
          "weibo.com",
          "video.weibo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?weibo\\.com/tv/show/(\\d+:(?:[\\da-f]{32}|\\d{16,}))",
          "https?://video\\.weibo\\.com/show/?\\?(?:[^#]+&)?fid=(\\d+:(?:[\\da-f]{32}|\\d{16,}))"
        ],
        "regexp": "(https?://(?:www\\.)?weibo\\.com/tv/show/(\\d+:(?:[\\da-f]{32}|\\d{16,})))|(https?://video\\.weibo\\.com/show/?\\?(?:[^#]+&)?fid=(\\d+:(?:[\\da-f]{32}|\\d{16,})))"
      },
      "weiqitv": {
        "name": "weiqitv",
        "type": "free",
        "domains": [
          "weiqitv.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?weiqitv\\.com/index/video_play\\?videoId=([A-Za-z0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?weiqitv\\.com/index/video_play\\?videoId=([A-Za-z0-9]+)"
      },
      "wetv": {
        "name": "wetv",
        "type": "free",
        "domains": [
          "wetv.vip"
        ],
        "regexps": [
          "https?://(?:www\\.)?wetv\\.vip/(?:[^?#]+/)?play/(\\w+)(?:-[^?#]+)?/(\\w+)(?:-[^?#]+)?"
        ],
        "regexp": "https?://(?:www\\.)?wetv\\.vip/(?:[^?#]+/)?play/(\\w+)(?:-[^?#]+)?/(\\w+)(?:-[^?#]+)?"
      },
      "wetvseries": {
        "name": "wetvseries",
        "type": "free",
        "domains": [
          "wetv.vip"
        ],
        "regexps": [
          "https?://(?:www\\.)?wetv\\.vip/(?:[^?#]+/)?play/(\\w+)(?:-[^/?#]+)?/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:www\\.)?wetv\\.vip/(?:[^?#]+/)?play/(\\w+)(?:-[^/?#]+)?/?(?:[?#]|$)"
      },
      "weverse": {
        "name": "weverse",
        "type": "free",
        "domains": [
          "weverse.io"
        ],
        "regexps": [
          "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/live/([\\d-]+)"
        ],
        "regexp": "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/live/([\\d-]+)"
      },
      "weverselive": {
        "name": "weverselive",
        "type": "free",
        "domains": [
          "weverse.io"
        ],
        "regexps": [
          "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/?(?:[?#]|$)"
      },
      "weverselivetab": {
        "name": "weverselivetab",
        "type": "free",
        "domains": [
          "weverse.io"
        ],
        "regexps": [
          "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/live/?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/live/?(?:[?#]|$)"
      },
      "weversemedia": {
        "name": "weversemedia",
        "type": "free",
        "domains": [
          "weverse.io"
        ],
        "regexps": [
          "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/media/([\\d-]+)"
        ],
        "regexp": "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/media/([\\d-]+)"
      },
      "weversemediatab": {
        "name": "weversemediatab",
        "type": "free",
        "domains": [
          "weverse.io"
        ],
        "regexps": [
          "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/media(?:/|/all|/new)?(?:[?#]|$)"
        ],
        "regexp": "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/media(?:/|/all|/new)?(?:[?#]|$)"
      },
      "weversemoment": {
        "name": "weversemoment",
        "type": "free",
        "domains": [
          "weverse.io"
        ],
        "regexps": [
          "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/moment/([\\da-f]+)/post/([\\d-]+)"
        ],
        "regexp": "https?://(?:www\\.|m\\.)?weverse\\.io/([^/?#]+)/moment/([\\da-f]+)/post/([\\d-]+)"
      },
      "wevidi": {
        "name": "wevidi",
        "type": "free",
        "domains": [
          "wevidi.net"
        ],
        "regexps": [
          "https?://(?:www\\.)?wevidi\\.net/watch/([\\w-]{11})"
        ],
        "regexp": "https?://(?:www\\.)?wevidi\\.net/watch/([\\w-]{11})"
      },
      "weyyak": {
        "name": "weyyak",
        "type": "free",
        "domains": [
          "weyyak.com"
        ],
        "regexps": [
          "https?://weyyak\\.com/(\\w+)/(?:player/)?(episode|movie)/(\\d+)"
        ],
        "regexp": "https?://weyyak\\.com/(\\w+)/(?:player/)?(episode|movie)/(\\d+)"
      },
      "whowatch": {
        "name": "whowatch",
        "type": "free",
        "domains": [
          "whowatch.tv"
        ],
        "regexps": [
          "https?://whowatch\\.tv/viewer/(\\d+)"
        ],
        "regexp": "https?://whowatch\\.tv/viewer/(\\d+)"
      },
      "whyp": {
        "name": "whyp",
        "type": "free",
        "domains": [
          "whyp.it"
        ],
        "regexps": [
          "https?://(?:www\\.)?whyp\\.it/tracks/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?whyp\\.it/tracks/(\\d+)"
      },
      "wikimedia.org": {
        "name": "wikimedia.org",
        "type": "free",
        "domains": [
          "commons.wikimedia.org"
        ],
        "regexps": [
          "https?://commons\\.wikimedia\\.org/wiki/File:([^/#?]+)\\.\\w+"
        ],
        "regexp": "https?://commons\\.wikimedia\\.org/wiki/File:([^/#?]+)\\.\\w+"
      },
      "wimbledon": {
        "name": "wimbledon",
        "type": "free",
        "domains": [
          "wimbledon.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?wimbledon\\.com/\\w+/video/media/(\\d+)\\.html"
        ],
        "regexp": "https?://(?:www\\.)?wimbledon\\.com/\\w+/video/media/(\\d+)\\.html"
      },
      "wimtv": {
        "name": "wimtv",
        "type": "free",
        "domains": [
          "platform.wim.tv"
        ],
        "regexps": [
          "(?x:\n        https?://platform\\.wim\\.tv/\n        (?:\n            (?:embed/)?\\?\n            |\\#/webtv/.+?/\n        )\n        (vod|live|cast)[=/]\n        ([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}).*?)"
        ],
        "regexp": "(?x:\n        https?://platform\\.wim\\.tv/\n        (?:\n            (?:embed/)?\\?\n            |\\#/webtv/.+?/\n        )\n        (vod|live|cast)[=/]\n        ([\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}).*?)"
      },
      "winsportsvideo": {
        "name": "winsportsvideo",
        "type": "free",
        "domains": [
          "winsports.co"
        ],
        "regexps": [
          "https?://www\\.winsports\\.co/videos/([\\w-]+)"
        ],
        "regexp": "https?://www\\.winsports\\.co/videos/([\\w-]+)"
      },
      "wistia": {
        "name": "wistia",
        "type": "free",
        "domains": [
          "fast.wistia.net",
          "fast.wistia.com"
        ],
        "regexps": [
          "(?:wistia:|https?://(?:\\w+\\.)?wistia\\.(?:net|com)/(?:embed/)?(?:iframe|medias)/)([a-z0-9]{10})"
        ],
        "regexp": "(?:wistia:|https?://(?:\\w+\\.)?wistia\\.(?:net|com)/(?:embed/)?(?:iframe|medias)/)([a-z0-9]{10})"
      },
      "wistiachannel": {
        "name": "wistiachannel",
        "type": "free",
        "domains": [
          "fast.wistia.net"
        ],
        "regexps": [
          "(?:wistiachannel:|https?://(?:\\w+\\.)?wistia\\.(?:net|com)/(?:embed/)?channel/)([a-z0-9]{10})"
        ],
        "regexp": "(?:wistiachannel:|https?://(?:\\w+\\.)?wistia\\.(?:net|com)/(?:embed/)?channel/)([a-z0-9]{10})"
      },
      "wistiaplaylist": {
        "name": "wistiaplaylist",
        "type": "free",
        "domains": [
          "fast.wistia.net"
        ],
        "regexps": [
          "https?://(?:\\w+\\.)?wistia\\.(?:net|com)/(?:embed/)?playlists/([a-z0-9]{10})"
        ],
        "regexp": "https?://(?:\\w+\\.)?wistia\\.(?:net|com)/(?:embed/)?playlists/([a-z0-9]{10})"
      },
      "wnl": {
        "name": "wnl",
        "type": "free",
        "domains": [
          "omroepwnl.nl"
        ],
        "regexps": [
          "https?://(?:www\\.)?omroepwnl\\.nl/video/detail/([^/]+)__\\d+"
        ],
        "regexp": "https?://(?:www\\.)?omroepwnl\\.nl/video/detail/([^/]+)__\\d+"
      },
      "worldstarhiphop": {
        "name": "worldstarhiphop",
        "type": "free",
        "domains": [
          "worldstarhiphop.com",
          "m.worldstarhiphop.com"
        ],
        "regexps": [
          "https?://(?:www|m)\\.worldstar(?:candy|hiphop)\\.com/(?:videos|android)/video\\.php\\?.*?\\bv=([^&]+)"
        ],
        "regexp": "https?://(?:www|m)\\.worldstar(?:candy|hiphop)\\.com/(?:videos|android)/video\\.php\\?.*?\\bv=([^&]+)"
      },
      "wppilot": {
        "name": "wppilot",
        "type": "free",
        "domains": [
          "pilot.wp.pl",
          "wppilot"
        ],
        "regexps": [
          "(?:https?://pilot\\.wp\\.pl/(?:tv/?)?(?:\\?[^#]*)?#?|wppilot:)$",
          "(?:https?://pilot\\.wp\\.pl/tv/?#|wppilot:)([a-z\\d-]+)"
        ],
        "regexp": "((?:https?://pilot\\.wp\\.pl/(?:tv/?)?(?:\\?[^#]*)?#?|wppilot:)$)|((?:https?://pilot\\.wp\\.pl/tv/?#|wppilot:)([a-z\\d-]+))"
      },
      "wrestleuniverseppv": {
        "name": "wrestleuniverseppv",
        "type": "free",
        "domains": [
          "wrestle-universe.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?wrestle-universe\\.com/(?:(\\w{2})/)?lives/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?wrestle-universe\\.com/(?:(\\w{2})/)?lives/(\\w+)"
      },
      "wrestleuniversevod": {
        "name": "wrestleuniversevod",
        "type": "free",
        "domains": [
          "wrestle-universe.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?wrestle-universe\\.com/(?:(\\w{2})/)?videos/(\\w+)"
        ],
        "regexp": "https?://(?:www\\.)?wrestle-universe\\.com/(?:(\\w{2})/)?videos/(\\w+)"
      },
      "wsj": {
        "name": "wsj",
        "type": "free",
        "domains": [
          "video-api.wsj.com",
          "wsj.com",
          "barrons.com"
        ],
        "regexps": [
          "(?:https?://video-api\\.wsj\\.com/api-video/player/iframe\\.html\\?.*?\\bguid=|https?://(?:www\\.)?(?:wsj|barrons)\\.com/video/(?:[^/]+/)+|wsj:)([a-fA-F0-9-]{36})"
        ],
        "regexp": "(?:https?://video-api\\.wsj\\.com/api-video/player/iframe\\.html\\?.*?\\bguid=|https?://(?:www\\.)?(?:wsj|barrons)\\.com/video/(?:[^/]+/)+|wsj:)([a-fA-F0-9-]{36})"
      },
      "wsjarticle": {
        "name": "wsjarticle",
        "type": "free",
        "domains": [
          "wsj.com"
        ],
        "regexps": [
          "(?i)https?://(?:www\\.)?wsj\\.com/(?:articles|opinion)/([^/?#&]+)"
        ],
        "regexp": "(?i)https?://(?:www\\.)?wsj\\.com/(?:articles|opinion)/([^/?#&]+)"
      },
      "wwe": {
        "name": "wwe",
        "type": "free",
        "domains": [
          "wwe.com",
          "de.wwe.com"
        ],
        "regexps": [
          "https?://(?:[^/]+\\.)?wwe\\.com/(?:[^/]+/)*videos/([^/?#&]+)"
        ],
        "regexp": "https?://(?:[^/]+\\.)?wwe\\.com/(?:[^/]+/)*videos/([^/?#&]+)"
      },
      "wyborcza": {
        "name": "wyborcza",
        "type": "free",
        "domains": [
          "wyborcza.pl"
        ],
        "regexps": [
          "(?:wyborcza:video:|https?://wyborcza\\.pl/(?:api-)?video/)(\\d+)"
        ],
        "regexp": "(?:wyborcza:video:|https?://wyborcza\\.pl/(?:api-)?video/)(\\d+)"
      },
      "wyborczapodcast": {
        "name": "wyborczapodcast",
        "type": "free",
        "domains": [
          "wyborcza.pl",
          "wysokieobcasy.pl"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:wyborcza\\.pl/podcast(?:/0,172673\\.html)?|wysokieobcasy\\.pl/wysokie-obcasy/0,176631\\.html)(?:\\?(?:[^&#]+?&)*podcast=(\\d+))?"
        ],
        "regexp": "https?://(?:www\\.)?(?:wyborcza\\.pl/podcast(?:/0,172673\\.html)?|wysokieobcasy\\.pl/wysokie-obcasy/0,176631\\.html)(?:\\?(?:[^&#]+?&)*podcast=(\\d+))?"
      },
      "wykop": {
        "name": "wykop",
        "type": "free",
        "domains": [
          "wykop.pl"
        ],
        "regexps": [
          "https?://(?:www\\.)?wykop\\.pl/link/(\\d+)/[^/]+/komentarz/(\\d+)",
          "https?://(?:www\\.)?wykop\\.pl/link/(\\d+)",
          "https?://(?:www\\.)?wykop\\.pl/wpis/(\\d+)/[^/#]+#(\\d+)",
          "https?://(?:www\\.)?wykop\\.pl/wpis/(\\d+)"
        ],
        "regexp": "(https?://(?:www\\.)?wykop\\.pl/link/(\\d+)/[^/]+/komentarz/(\\d+))|(https?://(?:www\\.)?wykop\\.pl/link/(\\d+))|(https?://(?:www\\.)?wykop\\.pl/wpis/(\\d+)/[^/#]+#(\\d+))|(https?://(?:www\\.)?wykop\\.pl/wpis/(\\d+))"
      },
      "xboxclips": {
        "name": "xboxclips",
        "type": "free",
        "domains": [
          "xboxclips.com",
          "gameclips.io"
        ],
        "regexps": [
          "https?://(?:www\\.)?(?:xboxclips\\.com|gameclips\\.io)/(?:video\\.php\\?.*vid=|[^/]+/)([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})"
        ],
        "regexp": "https?://(?:www\\.)?(?:xboxclips\\.com|gameclips\\.io)/(?:video\\.php\\?.*vid=|[^/]+/)([\\da-f]{8}-(?:[\\da-f]{4}-){3}[\\da-f]{12})"
      },
      "xhamster": {
        "name": "xhamster",
        "type": "free",
        "domains": [
          "xhamster.com",
          "m.xhamster.com",
          "it.xhamster.com",
          "pt.xhamster.com",
          "xhamster.one",
          "xhamster.desi",
          "xhamster2.com",
          "xhamster11.com",
          "xhamster26.com",
          "de.xhamster.com",
          "xhday.com",
          "xhvid.com",
          "xhamster20.desi"
        ],
        "regexps": [
          "https?://(?:[^/?#]+\\.)?(?:xhamster\\.(?:com|one|desi)|xhms\\.pro|xhamster\\d+\\.(?:com|desi)|xhday\\.com|xhvid\\.com)/(?:movies/([\\dA-Za-z]+)/([^/]*)\\.html|videos/([^/]*)-([\\dA-Za-z]+))"
        ],
        "regexp": "https?://(?:[^/?#]+\\.)?(?:xhamster\\.(?:com|one|desi)|xhms\\.pro|xhamster\\d+\\.(?:com|desi)|xhday\\.com|xhvid\\.com)/(?:movies/([\\dA-Za-z]+)/([^/]*)\\.html|videos/([^/]*)-([\\dA-Za-z]+))"
      },
      "xhamsterembed": {
        "name": "xhamsterembed",
        "type": "free",
        "domains": [
          "xhamster.com"
        ],
        "regexps": [
          "https?://(?:[^/?#]+\\.)?(?:xhamster\\.(?:com|one|desi)|xhms\\.pro|xhamster\\d+\\.(?:com|desi)|xhday\\.com|xhvid\\.com)/xembed\\.php\\?video=(\\d+)"
        ],
        "regexp": "https?://(?:[^/?#]+\\.)?(?:xhamster\\.(?:com|one|desi)|xhms\\.pro|xhamster\\d+\\.(?:com|desi)|xhday\\.com|xhvid\\.com)/xembed\\.php\\?video=(\\d+)"
      },
      "xhamsteruser": {
        "name": "xhamsteruser",
        "type": "free",
        "domains": [
          "xhamster.com",
          "xhday.com",
          "xhvid.com"
        ],
        "regexps": [
          "https?://(?:[^/?#]+\\.)?(?:xhamster\\.(?:com|one|desi)|xhms\\.pro|xhamster\\d+\\.(?:com|desi)|xhday\\.com|xhvid\\.com)/(?:(users)|creators)/([^/?#&]+)"
        ],
        "regexp": "https?://(?:[^/?#]+\\.)?(?:xhamster\\.(?:com|one|desi)|xhms\\.pro|xhamster\\d+\\.(?:com|desi)|xhday\\.com|xhvid\\.com)/(?:(users)|creators)/([^/?#&]+)"
      },
      "xiaohongshu": {
        "name": "xiaohongshu",
        "type": "free",
        "domains": [
          "xiaohongshu.com"
        ],
        "regexps": [
          "https?://www\\.xiaohongshu\\.com/(?:explore|discovery/item)/([\\da-f]+)"
        ],
        "regexp": "https?://www\\.xiaohongshu\\.com/(?:explore|discovery/item)/([\\da-f]+)"
      },
      "ximalaya": {
        "name": "ximalaya",
        "type": "free",
        "domains": [
          "ximalaya.com",
          "m.ximalaya.com"
        ],
        "regexps": [
          "https?://(?:www\\.|m\\.)?ximalaya\\.com/(?:\\d+/)?album/([0-9]+)",
          "https?://(?:www\\.|m\\.)?ximalaya\\.com/(?:(\\d+)/)?sound/([0-9]+)"
        ],
        "regexp": "(https?://(?:www\\.|m\\.)?ximalaya\\.com/(?:\\d+/)?album/([0-9]+))|(https?://(?:www\\.|m\\.)?ximalaya\\.com/(?:(\\d+)/)?sound/([0-9]+))"
      },
      "xinpianchang": {
        "name": "xinpianchang",
        "type": "free",
        "domains": [
          "xinpianchang.com"
        ],
        "regexps": [
          "https?://(www\\.)?xinpianchang\\.com/(a\\d+)"
        ],
        "regexp": "https?://(www\\.)?xinpianchang\\.com/(a\\d+)"
      },
      "xminus": {
        "name": "xminus",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?x-minus\\.org/track/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?x-minus\\.org/track/([0-9]+)"
      },
      "xnxx": {
        "name": "xnxx",
        "type": "free",
        "domains": [
          "xnxx.com",
          "video.xnxx.com",
          "xnxx3.com"
        ],
        "regexps": [
          "https?://(?:video|www)\\.xnxx3?\\.com/video-?([0-9a-z]+)/"
        ],
        "regexp": "https?://(?:video|www)\\.xnxx3?\\.com/video-?([0-9a-z]+)/"
      },
      "xstream": {
        "name": "xstream",
        "type": "free",
        "domains": [
          "frontend.xstream.dk"
        ],
        "regexps": [
          "(?:xstream:|https?://frontend\\.xstream\\.(?:dk|net)/)([^/]+)(?::|/feed/video/\\?.*?\\bid=)(\\d+)"
        ],
        "regexp": "(?:xstream:|https?://frontend\\.xstream\\.(?:dk|net)/)([^/]+)(?::|/feed/video/\\?.*?\\bid=)(\\d+)"
      },
      "xvideos": {
        "name": "xvideos",
        "type": "free",
        "domains": [
          "xvideos.com",
          "flashservice.xvideos.com",
          "static-hw.xvideos.com",
          "xvideos.es",
          "fr.xvideos.com",
          "it.xvideos.com",
          "de.xvideos.com"
        ],
        "regexps": [
          "https?://(?:(?:[^/]+\\.)?xvideos2?\\.com/video\\.?|(?:www\\.)?xvideos\\.es/video\\.?|(?:www|flashservice)\\.xvideos\\.com/embedframe/|static-hw\\.xvideos\\.com/swf/xv-player\\.swf\\?.*?\\bid_video=)([0-9a-z]+)",
          "https?://((?:[^/?#]+\\.)?xvideos2?\\.com)/(?:profiles/|amateur-channels/)?[^/?#]+#quickies/a/(\\w+)"
        ],
        "regexp": "(https?://(?:(?:[^/]+\\.)?xvideos2?\\.com/video\\.?|(?:www\\.)?xvideos\\.es/video\\.?|(?:www|flashservice)\\.xvideos\\.com/embedframe/|static-hw\\.xvideos\\.com/swf/xv-player\\.swf\\?.*?\\bid_video=)([0-9a-z]+))|(https?://((?:[^/?#]+\\.)?xvideos2?\\.com)/(?:profiles/|amateur-channels/)?[^/?#]+#quickies/a/(\\w+))"
      },
      "xxxymovies": {
        "name": "xxxymovies",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?xxxymovies\\.com/videos/(\\d+)/([^/]+)"
        ],
        "regexp": "https?://(?:www\\.)?xxxymovies\\.com/videos/(\\d+)/([^/]+)"
      },
      "yahoo": {
        "name": "yahoo",
        "type": "free",
        "domains": [
          "news.yahoo.com",
          "yahoo.com",
          "gma.yahoo.com",
          "sports.yahoo.com",
          "tw.news.yahoo.com",
          "tw.video.yahoo.com",
          "malaysia.news.yahoo.com",
          "es-us.noticias.yahoo.com",
          "news.yahoo.co.jp"
        ],
        "regexps": [
          "(https?://(?:([a-zA-Z]{2}(?:-[a-zA-Z]{2})?|malaysia)\\.)?(?:[\\da-zA-Z_-]+\\.)?yahoo\\.com/(?:[^/]+/)*([^?&#]*-[0-9]+(?:-[a-z]+)?)\\.html)",
          "https?://news\\.yahoo\\.co\\.jp/(?:articles|feature)/([a-zA-Z0-9]+)",
          "yvsearch(|[1-9][0-9]*|all):([\\s\\S]+)"
        ],
        "regexp": "((https?://(?:([a-zA-Z]{2}(?:-[a-zA-Z]{2})?|malaysia)\\.)?(?:[\\da-zA-Z_-]+\\.)?yahoo\\.com/(?:[^/]+/)*([^?&#]*-[0-9]+(?:-[a-z]+)?)\\.html))|(https?://news\\.yahoo\\.co\\.jp/(?:articles|feature)/([a-zA-Z0-9]+))|(yvsearch(|[1-9][0-9]*|all):([\\s\\S]+))"
      },
      "yandexdisk": {
        "name": "yandexdisk",
        "type": "free",
        "domains": [
          "yadi.sk",
          "disk.360.yandex.ru"
        ],
        "regexps": [
          "https?://(yadi\\.sk|disk\\.(?:360\\.)?yandex\\.(?:az|by|co(?:m(?:\\.(?:am|ge|tr))?|\\.il)|ee|fr|k[gz]|l[tv]|md|t[jm]|u[az]|ru))/(?:[di]/|public.*?\\bhash=)([^/?#&]+)"
        ],
        "regexp": "https?://(yadi\\.sk|disk\\.(?:360\\.)?yandex\\.(?:az|by|co(?:m(?:\\.(?:am|ge|tr))?|\\.il)|ee|fr|k[gz]|l[tv]|md|t[jm]|u[az]|ru))/(?:[di]/|public.*?\\bhash=)([^/?#&]+)"
      },
      "yandexmusic": {
        "name": "yandexmusic",
        "type": "free",
        "domains": [
          "music.yandex.ru",
          "music.yandex.com"
        ],
        "regexps": [
          "https?://music\\.yandex\\.(ru|kz|ua|by|com)/album/(\\d+)",
          "https?://music\\.yandex\\.(ru|kz|ua|by|com)/artist/(\\d+)/albums",
          "https?://music\\.yandex\\.(ru|kz|ua|by|com)/artist/(\\d+)/tracks",
          "https?://music\\.yandex\\.(ru|kz|ua|by|com)/users/([^/]+)/playlists/(\\d+)",
          "https?://music\\.yandex\\.(ru|kz|ua|by|com)/album/(\\d+)/track/(\\d+)"
        ],
        "regexp": "(https?://music\\.yandex\\.(ru|kz|ua|by|com)/album/(\\d+))|(https?://music\\.yandex\\.(ru|kz|ua|by|com)/artist/(\\d+)/albums)|(https?://music\\.yandex\\.(ru|kz|ua|by|com)/artist/(\\d+)/tracks)|(https?://music\\.yandex\\.(ru|kz|ua|by|com)/users/([^/]+)/playlists/(\\d+))|(https?://music\\.yandex\\.(ru|kz|ua|by|com)/album/(\\d+)/track/(\\d+))"
      },
      "yandexvideo": {
        "name": "yandexvideo",
        "type": "free",
        "domains": [
          "yandex.ru",
          "frontend.vh.yandex.ru"
        ],
        "regexps": [
          "https?://(?:yandex\\.ru(?:/(?:portal/(?:video|efir)|efir))?/?\\?.*?stream_id=|frontend\\.vh\\.yandex\\.ru/player/)((?:[\\da-f]{32}|[\\w-]{12}))"
        ],
        "regexp": "https?://(?:yandex\\.ru(?:/(?:portal/(?:video|efir)|efir))?/?\\?.*?stream_id=|frontend\\.vh\\.yandex\\.ru/player/)((?:[\\da-f]{32}|[\\w-]{12}))"
      },
      "yandexvideopreview": {
        "name": "yandexvideopreview",
        "type": "free",
        "domains": [
          "yandex.ru",
          "yandex.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?yandex\\.\\w{2,3}(?:\\.(?:am|ge|il|tr))?/video/preview(?:/?\\?.*?filmId=|/)(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?yandex\\.\\w{2,3}(?:\\.(?:am|ge|il|tr))?/video/preview(?:/?\\?.*?filmId=|/)(\\d+)"
      },
      "yapfiles": {
        "name": "yapfiles",
        "type": "free",
        "domains": [
          "yapfiles.ru",
          "api.yapfiles.ru"
        ],
        "regexps": [
          "https?://(?:(?:www|api)\\.)?yapfiles\\.ru/get_player/*\\?.*?\\bv=(\\w+)"
        ],
        "regexp": "https?://(?:(?:www|api)\\.)?yapfiles\\.ru/get_player/*\\?.*?\\bv=(\\w+)"
      },
      "yappy": {
        "name": "yappy",
        "type": "free",
        "domains": [
          "yappy.media"
        ],
        "regexps": [
          "https?://yappy\\.media/video/(\\w+)"
        ],
        "regexp": "https?://yappy\\.media/video/(\\w+)"
      },
      "yappyprofile": {
        "name": "yappyprofile",
        "type": "free",
        "domains": [
          "yappy.media"
        ],
        "regexps": [
          "https?://yappy\\.media/profile/(\\w+)"
        ],
        "regexp": "https?://yappy\\.media/profile/(\\w+)"
      },
      "yfanefa": {
        "name": "yfanefa",
        "type": "free",
        "domains": [
          "yfanefa.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?yfanefa\\.com/([^?#]+)"
        ],
        "regexp": "https?://(?:www\\.)?yfanefa\\.com/([^?#]+)"
      },
      "yleareena": {
        "name": "yleareena",
        "type": "free",
        "domains": [
          "areena.yle.fi"
        ],
        "regexps": [
          "https?://areena\\.yle\\.fi/(podcastit/)?([\\d-]+)"
        ],
        "regexp": "https?://areena\\.yle\\.fi/(podcastit/)?([\\d-]+)"
      },
      "youjizz": {
        "name": "youjizz",
        "type": "free",
        "domains": [
          "youjizz.com"
        ],
        "regexps": [
          "https?://(?:\\w+\\.)?youjizz\\.com/videos/(?:[^/#?]*-(\\d+)\\.html|embed/(\\d+))"
        ],
        "regexp": "https?://(?:\\w+\\.)?youjizz\\.com/videos/(?:[^/#?]*-(\\d+)\\.html|embed/(\\d+))"
      },
      "youku": {
        "name": "youku",
        "type": "free",
        "domains": [
          "player.youku.com",
          "v.youku.com",
          "play.tudou.com",
          "list.youku.com"
        ],
        "regexps": [
          "(?:https?://((?:v|play(?:er)?)\\.(?:youku|tudou)\\.com/(?:v_show/id_|player\\.php/sid/)|video\\.tudou\\.com/v/)|youku:)([A-Za-z0-9]+)(?:\\.html|/v\\.swf|)",
          "https?://list\\.youku\\.com/show/id_([0-9a-z]+)\\.html"
        ],
        "regexp": "((?:https?://((?:v|play(?:er)?)\\.(?:youku|tudou)\\.com/(?:v_show/id_|player\\.php/sid/)|video\\.tudou\\.com/v/)|youku:)([A-Za-z0-9]+)(?:\\.html|/v\\.swf|))|(https?://list\\.youku\\.com/show/id_([0-9a-z]+)\\.html)"
      },
      "younowchannel": {
        "name": "younowchannel",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?younow\\.com/([^/]+)/channel"
        ],
        "regexp": "https?://(?:www\\.)?younow\\.com/([^/]+)/channel"
      },
      "younowlive": {
        "name": "younowlive",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?younow\\.com/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?younow\\.com/([^/?#&]+)"
      },
      "younowmoment": {
        "name": "younowmoment",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?younow\\.com/[^/]+/([^/?#&]+)"
        ],
        "regexp": "https?://(?:www\\.)?younow\\.com/[^/]+/([^/?#&]+)"
      },
      "youporn": {
        "name": "youporn",
        "type": "free",
        "domains": [
          "youporn.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?youporn\\.com/(?:watch|embed)/(\\d+)(?:/([^/?#&]+))?/?(?:[#?]|$)"
        ],
        "regexp": "https?://(?:www\\.)?youporn\\.com/(?:watch|embed)/(\\d+)(?:/([^/?#&]+))?/?(?:[#?]|$)"
      },
      "youporncategory": {
        "name": "youporncategory",
        "type": "free",
        "domains": [
          "youporn.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?youporn\\.com/(category)/([^/?#&]+)(?:/(popular|views|rating|time|duration))?/?(?:[#?]|$)"
        ],
        "regexp": "https?://(?:www\\.)?youporn\\.com/(category)/([^/?#&]+)(?:/(popular|views|rating|time|duration))?/?(?:[#?]|$)"
      },
      "youpornchannel": {
        "name": "youpornchannel",
        "type": "free",
        "domains": [
          "youporn.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?youporn\\.com/(channel)/([^/?#&]+)(?:/(rating|views|duration))?/?(?:[#?]|$)"
        ],
        "regexp": "https?://(?:www\\.)?youporn\\.com/(channel)/([^/?#&]+)(?:/(rating|views|duration))?/?(?:[#?]|$)"
      },
      "youporncollection": {
        "name": "youporncollection",
        "type": "free",
        "domains": [
          "youporn.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?youporn\\.com/(collection)s/videos/(\\d+)(?:/(rating|views|time|duration))?/?(?:[#?]|$)"
        ],
        "regexp": "https?://(?:www\\.)?youporn\\.com/(collection)s/videos/(\\d+)(?:/(rating|views|time|duration))?/?(?:[#?]|$)"
      },
      "youpornstar": {
        "name": "youpornstar",
        "type": "free",
        "domains": [
          "youporn.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?youporn\\.com/(pornstar)/([^/?#&]+)(?:/(rating|views|duration))?/?(?:[#?]|$)"
        ],
        "regexp": "https?://(?:www\\.)?youporn\\.com/(pornstar)/([^/?#&]+)(?:/(rating|views|duration))?/?(?:[#?]|$)"
      },
      "youporntag": {
        "name": "youporntag",
        "type": "free",
        "domains": [
          "youporn.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?youporn\\.com/porn(tag)s/([^/?#&]+)(?:/(views|rating|time|duration))?/?(?:[#?]|$)"
        ],
        "regexp": "https?://(?:www\\.)?youporn\\.com/porn(tag)s/([^/?#&]+)(?:/(views|rating|time|duration))?/?(?:[#?]|$)"
      },
      "youpornvideos": {
        "name": "youpornvideos",
        "type": "free",
        "domains": [
          "youporn.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?youporn\\.com/(?:(browse)/)?(((?:duration|rating|time|views)|(?:most_(?:favou?rit|view)ed|recommended|top_rated)?))(?:[/#?]|$)"
        ],
        "regexp": "https?://(?:www\\.)?youporn\\.com/(?:(browse)/)?(((?:duration|rating|time|views)|(?:most_(?:favou?rit|view)ed|recommended|top_rated)?))(?:[/#?]|$)"
      },
      "youtube": {
        "name": "youtube",
        "type": "free",
        "domains": [
          "youtube.com",
          "music.youtube.com",
          "invidio.us",
          "youtubekids.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?youtube\\.com/clip/([^/?#]+)",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          ":ytfav(?:ou?rite)?s?",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          ":ythis(?:tory)?",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          "https?://music\\.youtube\\.com/search\\?([^#]+&)?(?:search_query|q)=(?:[^&]+)(?:[&#]|$)",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          ":ytnotif(?:ication)?s?",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          "(?:(?:https?://)?(?:\\w+\\.)?(?:(?:youtube(?:kids)?\\.com|(?:www\\.)?redirect\\.invidious\\.io|(?:(?:www|dev)\\.)?invidio\\.us|(?:www\\.)?invidious\\.pussthecat\\.org|(?:www\\.)?invidious\\.zee\\.li|(?:www\\.)?invidious\\.ethibox\\.fr|(?:www\\.)?iv\\.ggtyler\\.dev|(?:www\\.)?inv\\.vern\\.i2p|(?:www\\.)?am74vkcrjp2d5v36lcdqgsj2m6x36tbrkhsruoegwfcizzabnfgf5zyd\\.onion|(?:www\\.)?inv\\.riverside\\.rocks|(?:www\\.)?invidious\\.silur\\.me|(?:www\\.)?inv\\.bp\\.projectsegfau\\.lt|(?:www\\.)?invidious\\.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid\\.onion|(?:www\\.)?invidious\\.slipfox\\.xyz|(?:www\\.)?invidious\\.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd\\.onion|(?:www\\.)?inv\\.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad\\.onion|(?:www\\.)?invidious\\.tiekoetter\\.com|(?:www\\.)?iv\\.odysfvr23q5wgt7i456o5t3trw2cw5dgn56vbjfbq2m7xsc5vqbqpcyd\\.onion|(?:www\\.)?invidious\\.nerdvpn\\.de|(?:www\\.)?invidious\\.weblibre\\.org|(?:www\\.)?inv\\.odyssey346\\.dev|(?:www\\.)?invidious\\.dhusch\\.de|(?:www\\.)?iv\\.melmac\\.space|(?:www\\.)?watch\\.thekitty\\.zone|(?:www\\.)?invidious\\.privacydev\\.net|(?:www\\.)?ng27owmagn5amdm7l5s3rsqxwscl5ynppnis5dqcasogkyxcfqn7psid\\.onion|(?:www\\.)?invidious\\.drivet\\.xyz|(?:www\\.)?vid\\.priv\\.au|(?:www\\.)?euxxcnhsynwmfidvhjf6uzptsmh4dipkmgdmcmxxuo7tunp3ad2jrwyd\\.onion|(?:www\\.)?inv\\.vern\\.cc|(?:www\\.)?invidious\\.esmailelbob\\.xyz|(?:www\\.)?invidious\\.sethforprivacy\\.com|(?:www\\.)?yt\\.oelrichsgarcia\\.de|(?:www\\.)?yt\\.artemislena\\.eu|(?:www\\.)?invidious\\.flokinet\\.to|(?:www\\.)?invidious\\.baczek\\.me|(?:www\\.)?y\\.com\\.sb|(?:www\\.)?invidious\\.epicsite\\.xyz|(?:www\\.)?invidious\\.lidarshield\\.cloud|(?:www\\.)?yt\\.funami\\.tech|(?:www\\.)?invidious\\.3o7z6yfxhbw7n3za4rss6l434kmv55cgw2vuziwuigpwegswvwzqipyd\\.onion|(?:www\\.)?osbivz6guyeahrwp2lnwyjk2xos342h4ocsxyqrlaopqjuhwn2djiiyd\\.onion|(?:www\\.)?u2cvlit75owumwpy4dj2hsmvkq7nvrclkpht7xgyye2pyoxhpmclkrad\\.onion|(?:(?:www|no)\\.)?invidiou\\.sh|(?:(?:www|fi)\\.)?invidious\\.snopyta\\.org|(?:www\\.)?invidious\\.kabi\\.tk|(?:www\\.)?invidious\\.mastodon\\.host|(?:www\\.)?invidious\\.zapashcanon\\.fr|(?:www\\.)?(?:invidious(?:-us)?|piped)\\.kavin\\.rocks|(?:www\\.)?invidious\\.tinfoil-hat\\.net|(?:www\\.)?invidious\\.himiko\\.cloud|(?:www\\.)?invidious\\.reallyancient\\.tech|(?:www\\.)?invidious\\.tube|(?:www\\.)?invidiou\\.site|(?:www\\.)?invidious\\.site|(?:www\\.)?invidious\\.xyz|(?:www\\.)?invidious\\.nixnet\\.xyz|(?:www\\.)?invidious\\.048596\\.xyz|(?:www\\.)?invidious\\.drycat\\.fr|(?:www\\.)?inv\\.skyn3t\\.in|(?:www\\.)?tube\\.poal\\.co|(?:www\\.)?tube\\.connect\\.cafe|(?:www\\.)?vid\\.wxzm\\.sx|(?:www\\.)?vid\\.mint\\.lgbt|(?:www\\.)?vid\\.puffyan\\.us|(?:www\\.)?yewtu\\.be|(?:www\\.)?yt\\.elukerio\\.org|(?:www\\.)?yt\\.lelux\\.fi|(?:www\\.)?invidious\\.ggc-project\\.de|(?:www\\.)?yt\\.maisputain\\.ovh|(?:www\\.)?ytprivate\\.com|(?:www\\.)?invidious\\.13ad\\.de|(?:www\\.)?invidious\\.toot\\.koeln|(?:www\\.)?invidious\\.fdn\\.fr|(?:www\\.)?watch\\.nettohikari\\.com|(?:www\\.)?invidious\\.namazso\\.eu|(?:www\\.)?invidious\\.silkky\\.cloud|(?:www\\.)?invidious\\.exonip\\.de|(?:www\\.)?invidious\\.riverside\\.rocks|(?:www\\.)?invidious\\.blamefran\\.net|(?:www\\.)?invidious\\.moomoo\\.de|(?:www\\.)?ytb\\.trom\\.tf|(?:www\\.)?yt\\.cyberhost\\.uk|(?:www\\.)?kgg2m7yk5aybusll\\.onion|(?:www\\.)?qklhadlycap4cnod\\.onion|(?:www\\.)?axqzx4s6s54s32yentfqojs3x5i7faxza6xo3ehd4bzzsg2ii4fv2iid\\.onion|(?:www\\.)?c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid\\.onion|(?:www\\.)?fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad\\.onion|(?:www\\.)?invidious\\.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd\\.onion|(?:www\\.)?owxfohz4kjyv25fvlqilyxast7inivgiktls3th44jhk3ej3i7ya\\.b32\\.i2p|(?:www\\.)?4l2dgddgsrkf2ous66i6seeyi6etzfgrue332grh2n7madpwopotugyd\\.onion|(?:www\\.)?w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd\\.onion|(?:www\\.)?kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad\\.onion|(?:www\\.)?grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad\\.onion|(?:www\\.)?hpniueoejy4opn7bc4ftgazyqjoeqwlvh2uiku2xqku6zpoa4bf5ruid\\.onion|(?:www\\.)?piped\\.kavin\\.rocks|(?:www\\.)?piped\\.tokhmi\\.xyz|(?:www\\.)?piped\\.syncpundit\\.io|(?:www\\.)?piped\\.mha\\.fi|(?:www\\.)?watch\\.whatever\\.social|(?:www\\.)?piped\\.garudalinux\\.org|(?:www\\.)?piped\\.rivo\\.lol|(?:www\\.)?piped-libre\\.kavin\\.rocks|(?:www\\.)?yt\\.jae\\.fi|(?:www\\.)?piped\\.mint\\.lgbt|(?:www\\.)?il\\.ax|(?:www\\.)?piped\\.esmailelbob\\.xyz|(?:www\\.)?piped\\.projectsegfau\\.lt|(?:www\\.)?piped\\.privacydev\\.net|(?:www\\.)?piped\\.palveluntarjoaja\\.eu|(?:www\\.)?piped\\.smnz\\.de|(?:www\\.)?piped\\.adminforge\\.de|(?:www\\.)?watch\\.whatevertinfoil\\.de|(?:www\\.)?piped\\.qdi\\.fi|(?:(?:www|cf)\\.)?piped\\.video|(?:www\\.)?piped\\.aeong\\.one|(?:www\\.)?piped\\.moomoo\\.me|(?:www\\.)?piped\\.chauvet\\.pro|(?:www\\.)?watch\\.leptons\\.xyz|(?:www\\.)?pd\\.vern\\.cc|(?:www\\.)?piped\\.hostux\\.net|(?:www\\.)?piped\\.lunar\\.icu|(?:www\\.)?hyperpipe\\.surge\\.sh|(?:www\\.)?hyperpipe\\.esmailelbob\\.xyz|(?:www\\.)?listen\\.whatever\\.social|(?:www\\.)?music\\.adminforge\\.de)/.*?\\?.*?\\blist=)?((?:(?:PL|LL|EC|UU|FL|RD|UL|TL|PU|OLAK5uy_)[0-9A-Za-z-_]{10,}|RDMM|WL|LL|LM)))",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          "https?://(?:www\\.)?youtube\\.com/?(?:[?#]|$)|:ytrec(?:ommended)?",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          "ytsearchdate(|[1-9][0-9]*|all):([\\s\\S]+)",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          "ytsearch(|[1-9][0-9]*|all):([\\s\\S]+)",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          "https?://(?:www\\.)?youtube\\.com/(?:results|search)\\?([^#]+&)?(?:search_query|q)=(?:[^&]+)(?:[&#]|$)",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          "https?://(?:www\\.)?youtube\\.com/source/([\\w-]{11})/shorts",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          ":ytsub(?:scription)?s?",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          "(?x:\n        https?://\n            (?!consent\\.)(?:\\w+\\.)?\n            (?:\n                youtube(?:kids)?\\.com|\n                (?:www\\.)?redirect\\.invidious\\.io|(?:(?:www|dev)\\.)?invidio\\.us|(?:www\\.)?invidious\\.pussthecat\\.org|(?:www\\.)?invidious\\.zee\\.li|(?:www\\.)?invidious\\.ethibox\\.fr|(?:www\\.)?iv\\.ggtyler\\.dev|(?:www\\.)?inv\\.vern\\.i2p|(?:www\\.)?am74vkcrjp2d5v36lcdqgsj2m6x36tbrkhsruoegwfcizzabnfgf5zyd\\.onion|(?:www\\.)?inv\\.riverside\\.rocks|(?:www\\.)?invidious\\.silur\\.me|(?:www\\.)?inv\\.bp\\.projectsegfau\\.lt|(?:www\\.)?invidious\\.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid\\.onion|(?:www\\.)?invidious\\.slipfox\\.xyz|(?:www\\.)?invidious\\.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd\\.onion|(?:www\\.)?inv\\.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad\\.onion|(?:www\\.)?invidious\\.tiekoetter\\.com|(?:www\\.)?iv\\.odysfvr23q5wgt7i456o5t3trw2cw5dgn56vbjfbq2m7xsc5vqbqpcyd\\.onion|(?:www\\.)?invidious\\.nerdvpn\\.de|(?:www\\.)?invidious\\.weblibre\\.org|(?:www\\.)?inv\\.odyssey346\\.dev|(?:www\\.)?invidious\\.dhusch\\.de|(?:www\\.)?iv\\.melmac\\.space|(?:www\\.)?watch\\.thekitty\\.zone|(?:www\\.)?invidious\\.privacydev\\.net|(?:www\\.)?ng27owmagn5amdm7l5s3rsqxwscl5ynppnis5dqcasogkyxcfqn7psid\\.onion|(?:www\\.)?invidious\\.drivet\\.xyz|(?:www\\.)?vid\\.priv\\.au|(?:www\\.)?euxxcnhsynwmfidvhjf6uzptsmh4dipkmgdmcmxxuo7tunp3ad2jrwyd\\.onion|(?:www\\.)?inv\\.vern\\.cc|(?:www\\.)?invidious\\.esmailelbob\\.xyz|(?:www\\.)?invidious\\.sethforprivacy\\.com|(?:www\\.)?yt\\.oelrichsgarcia\\.de|(?:www\\.)?yt\\.artemislena\\.eu|(?:www\\.)?invidious\\.flokinet\\.to|(?:www\\.)?invidious\\.baczek\\.me|(?:www\\.)?y\\.com\\.sb|(?:www\\.)?invidious\\.epicsite\\.xyz|(?:www\\.)?invidious\\.lidarshield\\.cloud|(?:www\\.)?yt\\.funami\\.tech|(?:www\\.)?invidious\\.3o7z6yfxhbw7n3za4rss6l434kmv55cgw2vuziwuigpwegswvwzqipyd\\.onion|(?:www\\.)?osbivz6guyeahrwp2lnwyjk2xos342h4ocsxyqrlaopqjuhwn2djiiyd\\.onion|(?:www\\.)?u2cvlit75owumwpy4dj2hsmvkq7nvrclkpht7xgyye2pyoxhpmclkrad\\.onion|(?:(?:www|no)\\.)?invidiou\\.sh|(?:(?:www|fi)\\.)?invidious\\.snopyta\\.org|(?:www\\.)?invidious\\.kabi\\.tk|(?:www\\.)?invidious\\.mastodon\\.host|(?:www\\.)?invidious\\.zapashcanon\\.fr|(?:www\\.)?(?:invidious(?:-us)?|piped)\\.kavin\\.rocks|(?:www\\.)?invidious\\.tinfoil-hat\\.net|(?:www\\.)?invidious\\.himiko\\.cloud|(?:www\\.)?invidious\\.reallyancient\\.tech|(?:www\\.)?invidious\\.tube|(?:www\\.)?invidiou\\.site|(?:www\\.)?invidious\\.site|(?:www\\.)?invidious\\.xyz|(?:www\\.)?invidious\\.nixnet\\.xyz|(?:www\\.)?invidious\\.048596\\.xyz|(?:www\\.)?invidious\\.drycat\\.fr|(?:www\\.)?inv\\.skyn3t\\.in|(?:www\\.)?tube\\.poal\\.co|(?:www\\.)?tube\\.connect\\.cafe|(?:www\\.)?vid\\.wxzm\\.sx|(?:www\\.)?vid\\.mint\\.lgbt|(?:www\\.)?vid\\.puffyan\\.us|(?:www\\.)?yewtu\\.be|(?:www\\.)?yt\\.elukerio\\.org|(?:www\\.)?yt\\.lelux\\.fi|(?:www\\.)?invidious\\.ggc-project\\.de|(?:www\\.)?yt\\.maisputain\\.ovh|(?:www\\.)?ytprivate\\.com|(?:www\\.)?invidious\\.13ad\\.de|(?:www\\.)?invidious\\.toot\\.koeln|(?:www\\.)?invidious\\.fdn\\.fr|(?:www\\.)?watch\\.nettohikari\\.com|(?:www\\.)?invidious\\.namazso\\.eu|(?:www\\.)?invidious\\.silkky\\.cloud|(?:www\\.)?invidious\\.exonip\\.de|(?:www\\.)?invidious\\.riverside\\.rocks|(?:www\\.)?invidious\\.blamefran\\.net|(?:www\\.)?invidious\\.moomoo\\.de|(?:www\\.)?ytb\\.trom\\.tf|(?:www\\.)?yt\\.cyberhost\\.uk|(?:www\\.)?kgg2m7yk5aybusll\\.onion|(?:www\\.)?qklhadlycap4cnod\\.onion|(?:www\\.)?axqzx4s6s54s32yentfqojs3x5i7faxza6xo3ehd4bzzsg2ii4fv2iid\\.onion|(?:www\\.)?c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid\\.onion|(?:www\\.)?fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad\\.onion|(?:www\\.)?invidious\\.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd\\.onion|(?:www\\.)?owxfohz4kjyv25fvlqilyxast7inivgiktls3th44jhk3ej3i7ya\\.b32\\.i2p|(?:www\\.)?4l2dgddgsrkf2ous66i6seeyi6etzfgrue332grh2n7madpwopotugyd\\.onion|(?:www\\.)?w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd\\.onion|(?:www\\.)?kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad\\.onion|(?:www\\.)?grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad\\.onion|(?:www\\.)?hpniueoejy4opn7bc4ftgazyqjoeqwlvh2uiku2xqku6zpoa4bf5ruid\\.onion|(?:www\\.)?piped\\.kavin\\.rocks|(?:www\\.)?piped\\.tokhmi\\.xyz|(?:www\\.)?piped\\.syncpundit\\.io|(?:www\\.)?piped\\.mha\\.fi|(?:www\\.)?watch\\.whatever\\.social|(?:www\\.)?piped\\.garudalinux\\.org|(?:www\\.)?piped\\.rivo\\.lol|(?:www\\.)?piped-libre\\.kavin\\.rocks|(?:www\\.)?yt\\.jae\\.fi|(?:www\\.)?piped\\.mint\\.lgbt|(?:www\\.)?il\\.ax|(?:www\\.)?piped\\.esmailelbob\\.xyz|(?:www\\.)?piped\\.projectsegfau\\.lt|(?:www\\.)?piped\\.privacydev\\.net|(?:www\\.)?piped\\.palveluntarjoaja\\.eu|(?:www\\.)?piped\\.smnz\\.de|(?:www\\.)?piped\\.adminforge\\.de|(?:www\\.)?watch\\.whatevertinfoil\\.de|(?:www\\.)?piped\\.qdi\\.fi|(?:(?:www|cf)\\.)?piped\\.video|(?:www\\.)?piped\\.aeong\\.one|(?:www\\.)?piped\\.moomoo\\.me|(?:www\\.)?piped\\.chauvet\\.pro|(?:www\\.)?watch\\.leptons\\.xyz|(?:www\\.)?pd\\.vern\\.cc|(?:www\\.)?piped\\.hostux\\.net|(?:www\\.)?piped\\.lunar\\.icu|(?:www\\.)?hyperpipe\\.surge\\.sh|(?:www\\.)?hyperpipe\\.esmailelbob\\.xyz|(?:www\\.)?listen\\.whatever\\.social|(?:www\\.)?music\\.adminforge\\.de\n            )/\n            (?:\n                (channel|c|user|browse)/|\n                (\n                    feed/|hashtag/|\n                    (?:playlist|watch)\\?.*?\\blist=\n                )|\n                (?!(?:channel|c|user|playlist|watch|w|v|embed|e|live|watch_popup|clip|shorts|movies|results|search|shared|hashtag|trending|explore|feed|feeds|browse|oembed|get_video_info|iframe_api|s/player|source|storefront|oops|index|account|t/terms|about|upload|signin|logout)\\b)  # Direct URLs\n            )\n            ([^/?\\#&]+)\n    )",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          ":ytwatchlater",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?",
          "ytuser:(.+)",
          "((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?"
        ],
        "regexp": "https?://(?:www\\.)?youtube\\.com/clip/([^/?#]+)"
      },
      "youtubelivestreamembed": {
        "name": "youtubelivestreamembed",
        "type": "free",
        "domains": [
          "youtube.com"
        ],
        "regexps": [
          "https?://(?:\\w+\\.)?youtube\\.com/embed/live_stream/?\\?(?:[^#]+&)?channel=([^&#]+)"
        ],
        "regexp": "https?://(?:\\w+\\.)?youtube\\.com/embed/live_stream/?\\?(?:[^#]+&)?channel=([^&#]+)"
      },
      "youtubeytbe": {
        "name": "youtubeytbe",
        "type": "free",
        "domains": [
          "youtu.be"
        ],
        "regexps": [
          "https?://youtu\\.be/([0-9A-Za-z_-]{11})/*?.*?\\blist=((?:(?:PL|LL|EC|UU|FL|RD|UL|TL|PU|OLAK5uy_)[0-9A-Za-z-_]{10,}|RDMM|WL|LL|LM))"
        ],
        "regexp": "https?://youtu\\.be/([0-9A-Za-z_-]{11})/*?.*?\\blist=((?:(?:PL|LL|EC|UU|FL|RD|UL|TL|PU|OLAK5uy_)[0-9A-Za-z-_]{10,}|RDMM|WL|LL|LM))"
      },
      "zaiko": {
        "name": "zaiko",
        "type": "free",
        "domains": [
          "zaiko.io"
        ],
        "regexps": [
          "https?://(?:[\\w-]+\\.)?zaiko\\.io/event/(\\d+)/stream(?:/\\d+)+"
        ],
        "regexp": "https?://(?:[\\w-]+\\.)?zaiko\\.io/event/(\\d+)/stream(?:/\\d+)+"
      },
      "zaikoeticket": {
        "name": "zaikoeticket",
        "type": "free",
        "domains": [
          "zaiko.io"
        ],
        "regexps": [
          "https?://(?:www.)?zaiko\\.io/account/eticket/([\\w=-]{49})"
        ],
        "regexp": "https?://(?:www.)?zaiko\\.io/account/eticket/([\\w=-]{49})"
      },
      "zapiks": {
        "name": "zapiks",
        "type": "free",
        "domains": [
          "zapiks.fr",
          "zapiks.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?zapiks\\.(?:fr|com)/(?:(?:[a-z]{2}/)?(.+?)\\.html|index\\.php\\?.*\\bmedia_id=(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?zapiks\\.(?:fr|com)/(?:(?:[a-z]{2}/)?(.+?)\\.html|index\\.php\\?.*\\bmedia_id=(\\d+))"
      },
      "zattoo": {
        "name": "zattoo",
        "type": "free",
        "domains": [
          "zattoo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?zattoo\\.com/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
        ],
        "regexp": "https?://(?:www\\.)?zattoo\\.com/(?:[^?#]+\\?(?:[^#]+&)?program=(\\d+)|(?:program|watch)/[^/]+/(\\d+))"
      },
      "zattoolive": {
        "name": "zattoolive",
        "type": "free",
        "domains": [
          "zattoo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?zattoo\\.com/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
        ],
        "regexp": "https?://(?:www\\.)?zattoo\\.com/(?:[^?#]+\\?(?:[^#]+&)?channel=([^/?&#]+)|live/([^/?&#]+))"
      },
      "zattoomovies": {
        "name": "zattoomovies",
        "type": "free",
        "domains": [
          "zattoo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?zattoo\\.com/(?:[^?#]+\\?(?:[^#]+&)?movie_id=(\\w+)|vod/movies/(\\w+))"
        ],
        "regexp": "https?://(?:www\\.)?zattoo\\.com/(?:[^?#]+\\?(?:[^#]+&)?movie_id=(\\w+)|vod/movies/(\\w+))"
      },
      "zattoorecordings": {
        "name": "zattoorecordings",
        "type": "free",
        "domains": [
          "zattoo.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?zattoo\\.com/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
        ],
        "regexp": "https?://(?:www\\.)?zattoo\\.com/(?:[^?#]+\\?(?:[^#]+&)?recording=(\\d+)())"
      },
      "zdf": {
        "name": "zdf",
        "type": "free",
        "domains": [
          "zdf.de",
          "zdfheute.de",
          "logo.de"
        ],
        "regexps": [
          "https?://www\\.zdf\\.de/(?:[^/?#]+/)*([^/?#]+)",
          "https?://(?:www\\.)?zdf\\.de/(?:video|play)/(?:[^/?#]+/)*([^/?#]+)",
          "https?://(?:www\\.)?zdf\\.de/(?:[^/?#]+/)*([^/?#]+)\\.html",
          "https?://(?:www\\.)?(?:zdfheute|logo)\\.de/(?:[^/?#]+/)*([^/?#]+)\\.html"
        ],
        "regexp": "(https?://www\\.zdf\\.de/(?:[^/?#]+/)*([^/?#]+))|(https?://(?:www\\.)?zdf\\.de/(?:video|play)/(?:[^/?#]+/)*([^/?#]+))|(https?://(?:www\\.)?zdf\\.de/(?:[^/?#]+/)*([^/?#]+)\\.html)|(https?://(?:www\\.)?(?:zdfheute|logo)\\.de/(?:[^/?#]+/)*([^/?#]+)\\.html)"
      },
      "zee5": {
        "name": "zee5",
        "type": "free",
        "domains": [
          "zee5.com"
        ],
        "regexps": [
          "(?:zee5:|https?://(?:www\\.)?zee5\\.com/(?:[^#?]+/)?(?:(?:tv-shows|kids|web-series|zee5originals)(?:/[^#/?]+){3}|(?:movies|kids|videos|news|music-videos)/(?!kids-shows)[^#/?]+)/([^#/?]+)/)([^#/?]+)/?(?:$|[?#])",
          "(?:zee5:series:|https?://(?:www\\.)?zee5\\.com/(?:[^#?]+/)?(?:tv-shows|web-series|kids|zee5originals)/(?!kids-movies)(?:[^#/?]+/){2})([^#/?]+)(?:/episodes)?/?(?:$|[?#])"
        ],
        "regexp": "((?:zee5:|https?://(?:www\\.)?zee5\\.com/(?:[^#?]+/)?(?:(?:tv-shows|kids|web-series|zee5originals)(?:/[^#/?]+){3}|(?:movies|kids|videos|news|music-videos)/(?!kids-shows)[^#/?]+)/([^#/?]+)/)([^#/?]+)/?(?:$|[?#]))|((?:zee5:series:|https?://(?:www\\.)?zee5\\.com/(?:[^#?]+/)?(?:tv-shows|web-series|kids|zee5originals)/(?!kids-movies)(?:[^#/?]+/){2})([^#/?]+)(?:/episodes)?/?(?:$|[?#]))"
      },
      "zeenews": {
        "name": "zeenews",
        "type": "free",
        "domains": [
          "zeenews.india.com"
        ],
        "regexps": [
          "https?://zeenews\\.india\\.com/[^#?]+/video/([^#/?]+)/(\\d+)"
        ],
        "regexp": "https?://zeenews\\.india\\.com/[^#?]+/video/([^#/?]+)/(\\d+)"
      },
      "zenporn": {
        "name": "zenporn",
        "type": "free",
        "domains": [
          "zenporn.com"
        ],
        "regexps": [
          "https?://(?:www\\.)?zenporn\\.com/video/(\\d+)"
        ],
        "regexp": "https?://(?:www\\.)?zenporn\\.com/video/(\\d+)"
      },
      "zetlanddkarticle": {
        "name": "zetlanddkarticle",
        "type": "free",
        "domains": [
          "zetland.dk"
        ],
        "regexps": [
          "https?://www\\.zetland\\.dk/\\w+/((\\w{8})-(\\w{8})-(?:\\w{5}))"
        ],
        "regexp": "https?://www\\.zetland\\.dk/\\w+/((\\w{8})-(\\w{8})-(?:\\w{5}))"
      },
      "zhihu": {
        "name": "zhihu",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://(?:www\\.)?zhihu\\.com/zvideo/([0-9]+)"
        ],
        "regexp": "https?://(?:www\\.)?zhihu\\.com/zvideo/([0-9]+)"
      },
      "zingmp3": {
        "name": "zingmp3",
        "type": "free",
        "domains": [
          "zingmp3.vn",
          "mp3.zing.vn"
        ],
        "regexps": [
          "https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:album|playlist))/[^/?#]+/(\\w+)(?:\\.html|\\?)",
          "https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:zing-chart|moi-phat-hanh|top100|podcast-discover))/?(?:[#?]|$)",
          "https?://(?:mp3\\.zing|zingmp3)\\.vn/(the-loai-video)/([^/]+)/([^\\.]+)",
          "https?://(?:mp3\\.zing|zingmp3)\\.vn/(hub)/[^/?#]+/([^./?#]+)",
          "https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:bai-hat|video-clip|embed|eps))/[^/?#]+/(\\w+)(?:\\.html|\\?)",
          "https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:liveradio))/(\\w+)(?:\\.html|\\?)",
          "https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:pgr|cgr))/[^/?#]+/(\\w+)(?:\\.html|\\?)",
          "https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:cgr|top-podcast|podcast-new))/?(?:[#?]|$)",
          "https?://(?:mp3\\.zing|zingmp3)\\.vn/([^/]+)/(bai-hat|single|album|video|song)/?(?:[?#]|$)",
          "https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:zing-chart-tuan))/[^/?#]+/(\\w+)(?:\\.html|\\?)"
        ],
        "regexp": "(https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:album|playlist))/[^/?#]+/(\\w+)(?:\\.html|\\?))|(https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:zing-chart|moi-phat-hanh|top100|podcast-discover))/?(?:[#?]|$))|(https?://(?:mp3\\.zing|zingmp3)\\.vn/(the-loai-video)/([^/]+)/([^\\.]+))|(https?://(?:mp3\\.zing|zingmp3)\\.vn/(hub)/[^/?#]+/([^./?#]+))|(https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:bai-hat|video-clip|embed|eps))/[^/?#]+/(\\w+)(?:\\.html|\\?))|(https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:liveradio))/(\\w+)(?:\\.html|\\?))|(https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:pgr|cgr))/[^/?#]+/(\\w+)(?:\\.html|\\?))|(https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:cgr|top-podcast|podcast-new))/?(?:[#?]|$))|(https?://(?:mp3\\.zing|zingmp3)\\.vn/([^/]+)/(bai-hat|single|album|video|song)/?(?:[?#]|$))|(https?://(?:mp3\\.zing|zingmp3)\\.vn/((?:zing-chart-tuan))/[^/?#]+/(\\w+)(?:\\.html|\\?))"
      },
      "zoom": {
        "name": "zoom",
        "type": "free",
        "domains": [
          "economist.zoom.us",
          "ffgolf.zoom.us",
          "us02web.zoom.us",
          "cityofdetroit.zoom.us"
        ],
        "regexps": [
          "(https?://(?:[^.]+\\.)?zoom\\.us/)rec(?:ording)?/(play|share)/([\\w.-]+)"
        ],
        "regexp": "(https?://(?:[^.]+\\.)?zoom\\.us/)rec(?:ording)?/(play|share)/([\\w.-]+)"
      },
      "zype": {
        "name": "zype",
        "type": "free",
        "domains": [],
        "regexps": [
          "https?://player\\.zype\\.com/embed/([\\da-fA-F]+)\\.(?:js|json|html)\\?.*?(?:access_token|(?:ap[ip]|player)_key)=[^&]+"
        ],
        "regexp": "https?://player\\.zype\\.com/embed/([\\da-fA-F]+)\\.(?:js|json|html)\\?.*?(?:access_token|(?:ap[ip]|player)_key)=[^&]+"
      }
    },
    "redirectors": {
      "1fichier": {
        "name": "1fichier",
        "type": "premium",
        "domains": [
          "1fichier.com"
        ],
        "regexps": [
          "(1fichier.com/dir/[a-zA-Z0-9]+)"
        ],
        "regexp": "(1fichier.com/dir/[a-zA-Z0-9]+)"
      },
      "adfly": {
        "name": "adfly",
        "type": "premium",
        "domains": [
          "adf.ly"
        ],
        "regexps": [
          "(adf\\.ly/[0-9]+/(https?://[^ \"'<>]+))",
          "(adf\\.ly/[0-9a-zA-Z]+)"
        ],
        "regexp": "((adf\\.ly/[0-9]+/(https?://[^ \"'<>]+)))|((adf\\.ly/[0-9a-zA-Z]+))"
      },
      "baidu": {
        "name": "baidu",
        "type": "premium",
        "domains": [
          "pan.baidu.com"
        ],
        "regexps": [
          "pan\\.baidu\\.com/(s/|share/init\\?surl=)([0-9a-zA-Z_-]+)(?!\\?fid=)"
        ],
        "regexp": "pan\\.baidu\\.com/(s/|share/init\\?surl=)([0-9a-zA-Z_-]+)(?!\\?fid=)"
      },
      "bigto": {
        "name": "bigto",
        "type": "premium",
        "domains": [
          "big.to",
          "isrbx.net",
          "israbox-music.com",
          "isrbx.me"
        ],
        "regexps": [
          "(biq\\.to/go/[0-9a-z]{20,})",
          "((isrbx\\.net|israbox-music\\.com|isrbx.me)/go/[0-9a-z]{20,})"
        ],
        "regexp": "((biq\\.to/go/[0-9a-z]{20,}))|(((isrbx\\.net|israbox-music\\.com|isrbx.me)/go/[0-9a-z]{20,}))"
      },
      "bitly": {
        "name": "bitly",
        "type": "premium",
        "domains": [
          "bit.ly"
        ],
        "regexps": [
          "(bit\\.ly/[0-9a-zA-Z]+)"
        ],
        "regexp": "(bit\\.ly/[0-9a-zA-Z]+)"
      },
      "ddlisland": {
        "name": "ddlisland",
        "type": "premium",
        "domains": [
          "protect.ddl-island.su"
        ],
        "regexps": [
          "(protect\\.ddl-island\\.su/[0-9a-zA-Z]+)",
          "(dl-protect\\.ru/[[^/<>\"'\"& ]+]+)"
        ],
        "regexp": "((protect\\.ddl-island\\.su/[0-9a-zA-Z]+))|((dl-protect\\.ru/[[^/<>\"'\"& ]+]+))"
      },
      "dereferer": {
        "name": "dereferer",
        "type": "premium",
        "domains": [
          "dereferer.org"
        ],
        "regexps": [
          "(dereferer\\.org/\\?[^\"' <]+)"
        ],
        "regexp": "(dereferer\\.org/\\?[^\"' <]+)"
      },
      "dl-protect": {
        "name": "dl-protect",
        "type": "premium",
        "domains": [
          "dl-protect.top",
          "dl-protecte.org",
          "protect-lien.com",
          "protect-zt.com",
          "protecte-link.com",
          "liens-telechargement.com",
          "dl-protect1.com",
          "dl-protect1.co"
        ],
        "regexps": [
          "(dl-protect\\.top/go\\.php\\?url=[[^/<>\"'\" ]+]+)",
          "(dl-protect\\.top/(liens/)?[0-9A-Za-z]+)"
        ],
        "regexp": "((dl-protect\\.top/go\\.php\\?url=[[^/<>\"'\" ]+]+))|((dl-protect\\.top/(liens/)?[0-9A-Za-z]+))"
      },
      "dl-protect-best": {
        "name": "dl-protect-best",
        "type": "premium",
        "domains": [
          "dl-protect.best"
        ],
        "regexps": [
          "dl\\-protect\\.(best|info|net|link|cc)/([0-9a-zA-Z]{8})"
        ],
        "regexp": "dl\\-protect\\.(best|info|net|link|cc)/([0-9a-zA-Z]{8})"
      },
      "ed-protect": {
        "name": "ed-protect",
        "type": "premium",
        "domains": [
          "ed-protect.org"
        ],
        "regexps": [
          "(ed-protect\\.org/[0-9A-Za-z-]{4,})"
        ],
        "regexp": "(ed-protect\\.org/[0-9A-Za-z-]{4,})"
      },
      "example": {
        "name": "example",
        "type": "premium",
        "domains": [
          "redirect.example.com"
        ],
        "regexps": [
          "(redirect.example\\.com/[0-9a-zA-Z]{4,20})",
          "redirect.example\\.net/([0-9a-zA-Z]{4,20})"
        ],
        "regexp": "((redirect.example\\.com/[0-9a-zA-Z]{4,20}))|(redirect.example\\.net/([0-9a-zA-Z]{4,20}))"
      },
      "extreme-download": {
        "name": "extreme-download",
        "type": "premium",
        "domains": [
          "extreme-download.club",
          "extreme-protect.net"
        ],
        "regexps": [
          "(extreme-download\\.club/[0-9A-Za-z]+)",
          "extreme-protect\\.net/([0-9A-Za-z]+)",
          "extreme\\-download\\.(cc|co|ch)/torrent/([0-9A-Za-z]+)"
        ],
        "regexp": "((extreme-download\\.club/[0-9A-Za-z]+))|(extreme-protect\\.net/([0-9A-Za-z]+))|(extreme\\-download\\.(cc|co|ch)/torrent/([0-9A-Za-z]+))"
      },
      "filecrypt": {
        "name": "filecrypt",
        "type": "premium",
        "domains": [
          "filecrypt.cc"
        ],
        "regexps": [
          "(filecrypt\\.cc/Container/[A-F0-9]+.html)",
          "filecrypt\\.co/Container/([A-F0-9]+.html)"
        ],
        "regexp": "((filecrypt\\.cc/Container/[A-F0-9]+.html))|(filecrypt\\.co/Container/([A-F0-9]+.html))"
      },
      "generic": {
        "name": "generic",
        "type": "premium",
        "domains": [
          "generic.tld"
        ],
        "regexps": [
          "((example.com|1fichier.com|4shared.com|vev.io|clipwatching.com|clicknupload.click|playvidto.com|uploadrar.com|simfileshare.net|usersdrive.com|fastbit.cc|dropgalaxy.in|uploadboy.com|file.al|filespace.com|uploader.link|9xupload.asia|hexupload.net|filefactory.com|filerio.in|drive.google.com|gigapeta.com|isra.cloud|katfile.com|mediafire.com|mega.co.nz|alldebrid.com|prefiles.com|rapidgator.net|alfafile.net|scribd.com|turbobit.net|hitfile.net|sendit.cloud|ddl.to|exload.com|uploadhaven.com|vidoza.net|mixdrop.co|dropapk.to|indishare.me|world-files.com|uploadbox.io|worldbytez.com|mp4upload.com|mexashare.com|upload42.com|uploading.vn|filedot.to|zofile.com|spicyfile.com|modsbase.com|sharemods.com|dl-file.com|dosya.co|loadstar.club|dailyuploads.net|file-upload.com|uploadbank.com|filezip.cc|hot4share.com|streamtape.com)/folders?/[^'\"<>;]+)"
        ],
        "regexp": "((example.com|1fichier.com|4shared.com|vev.io|clipwatching.com|clicknupload.click|playvidto.com|uploadrar.com|simfileshare.net|usersdrive.com|fastbit.cc|dropgalaxy.in|uploadboy.com|file.al|filespace.com|uploader.link|9xupload.asia|hexupload.net|filefactory.com|filerio.in|drive.google.com|gigapeta.com|isra.cloud|katfile.com|mediafire.com|mega.co.nz|alldebrid.com|prefiles.com|rapidgator.net|alfafile.net|scribd.com|turbobit.net|hitfile.net|sendit.cloud|ddl.to|exload.com|uploadhaven.com|vidoza.net|mixdrop.co|dropapk.to|indishare.me|world-files.com|uploadbox.io|worldbytez.com|mp4upload.com|mexashare.com|upload42.com|uploading.vn|filedot.to|zofile.com|spicyfile.com|modsbase.com|sharemods.com|dl-file.com|dosya.co|loadstar.club|dailyuploads.net|file-upload.com|uploadbank.com|filezip.cc|hot4share.com|streamtape.com)/folders?/[^'\"<>;]+)"
      },
      "google": {
        "name": "google",
        "type": "premium",
        "domains": [
          "google.com"
        ],
        "regexps": [
          "(drive\\.google\\.com/drive/folders/[a-zA-Z0-9_-]+)"
        ],
        "regexp": "(drive\\.google\\.com/drive/folders/[a-zA-Z0-9_-]+)"
      },
      "go_to": {
        "name": "go_to",
        "type": "premium",
        "domains": [
          "go_to.com"
        ],
        "regexps": [
          "(([a-z0-9\\.[a-z]+)/go_to/[a-zA-Z0-9]+)"
        ],
        "regexp": "(([a-z0-9\\.[a-z]+)/go_to/[a-zA-Z0-9]+)"
      },
      "hyipstats": {
        "name": "hyipstats",
        "type": "premium",
        "domains": [
          "sumoweb.net"
        ],
        "regexps": [
          "(sumoweb\\.net/open_link/[A-Za-z0-9]+)"
        ],
        "regexp": "(sumoweb\\.net/open_link/[A-Za-z0-9]+)"
      },
      "liencaptcha": {
        "name": "liencaptcha",
        "type": "premium",
        "domains": [
          "liencaptcha.com"
        ],
        "regexps": [
          "(liencaptcha\\.com/lien\\.php\\?idupload=[0-9]+&ad=[0-9]+&pos=[0-9]+&link=[0-9]+)"
        ],
        "regexp": "(liencaptcha\\.com/lien\\.php\\?idupload=[0-9]+&ad=[0-9]+&pos=[0-9]+&link=[0-9]+)"
      },
      "mediafire": {
        "name": "mediafire",
        "type": "premium",
        "domains": [
          "mediafire.com"
        ],
        "regexps": [
          "(mediafire\\.com/folder/[0-9a-z]{12,})"
        ],
        "regexp": "(mediafire\\.com/folder/[0-9a-z]{12,})"
      },
      "meganz": {
        "name": "meganz",
        "type": "premium",
        "domains": [
          "mega.nz",
          "mega.co.nz"
        ],
        "regexps": [
          "(?!.*\\/file)(mega\\.co\\.nz|mega\\.nz)(/folder/[0-9a-zA-Z_\\-]+\\#[0-9a-zA-Z_\\-]+)(/folder/[0-9a-zA-Z_\\-]+)?",
          "(mega\\.co\\.nz|mega\\.nz)/(\\?fbclid=[^\\#]+)?(\\#F!([0-9a-zA-Z\\_\\-]+)!([0-9a-zA-Z\\_\\-]+)(!([0-9a-zA-Z\\_\\-]+))?)"
        ],
        "regexp": "((?!.*\\/file)(mega\\.co\\.nz|mega\\.nz)(/folder/[0-9a-zA-Z_\\-]+\\#[0-9a-zA-Z_\\-]+)(/folder/[0-9a-zA-Z_\\-]+)?)|((mega\\.co\\.nz|mega\\.nz)/(\\?fbclid=[^\\#]+)?(\\#F!([0-9a-zA-Z\\_\\-]+)!([0-9a-zA-Z\\_\\-]+)(!([0-9a-zA-Z\\_\\-]+))?))"
      },
      "multiup": {
        "name": "multiup",
        "type": "premium",
        "domains": [
          "multiup.org"
        ],
        "regexps": [
          "(multiup\\.org/[a-z]+/mirror/[a-z0-9]+/[^/<>\"'\" ]+)",
          "(multiup\\.org/[a-z0-9]{32})",
          "multiup\\.org/([a-z]+/)?download/([a-z0-9]+/[^/<>\"'\" ]+)"
        ],
        "regexp": "((multiup\\.org/[a-z]+/mirror/[a-z0-9]+/[^/<>\"'\" ]+))|((multiup\\.org/[a-z0-9]{32}))|(multiup\\.org/([a-z]+/)?download/([a-z0-9]+/[^/<>\"'\" ]+))"
      },
      "prodebrid": {
        "name": "prodebrid",
        "type": "premium",
        "domains": [
          "prodebrid.com",
          "prodebrid.com"
        ],
        "regexps": [
          "(([a-z0-9\\.[a-z]+)/(link|streaming)\\-([0-9]+)\\.html)"
        ],
        "regexp": "(([a-z0-9\\.[a-z]+)/(link|streaming)\\-([0-9]+)\\.html)"
      },
      "rg": {
        "name": "rg",
        "type": "premium",
        "domains": [
          "rapidgator.net",
          "rg.to"
        ],
        "regexps": [
          "(rapidgator\\.net/folder/[0-9]+/[^/<>\"'\"]+\\.html)",
          "rg\\.to/folder/([0-9]+/[^/<>\"'\"]+\\.html)"
        ],
        "regexp": "((rapidgator\\.net/folder/[0-9]+/[^/<>\"'\"]+\\.html))|(rg\\.to/folder/([0-9]+/[^/<>\"'\"]+\\.html))"
      },
      "safelinking": {
        "name": "safelinking",
        "type": "premium",
        "domains": [
          "safelinking.net"
        ],
        "regexps": [
          "(safelinking\\.net/[0-9a-zA-Z]{7,})"
        ],
        "regexp": "(safelinking\\.net/[0-9a-zA-Z]{7,})"
      },
      "scene-rls": {
        "name": "scene-rls",
        "type": "premium",
        "domains": [
          "nfo.scene-rls.net"
        ],
        "regexps": [
          "(nfo.scene-rls.net/view/[0-9]+)"
        ],
        "regexp": "(nfo.scene-rls.net/view/[0-9]+)"
      },
      "searchlossless": {
        "name": "searchlossless",
        "type": "premium",
        "domains": [
          "searchlossless.com"
        ],
        "regexps": [
          "(searchlossless\\.com/flac\\?a(:|%3A)([A-Z0-9a-z\\_\\-\\=%]+))"
        ],
        "regexp": "(searchlossless\\.com/flac\\?a(:|%3A)([A-Z0-9a-z\\_\\-\\=%]+))"
      },
      "tb": {
        "name": "tb",
        "type": "premium",
        "domains": [
          "turbobit.net"
        ],
        "regexps": [
          "((turbobit\\.net|hitfile\\.net)/download/folder/[0-9]+)"
        ],
        "regexp": "((turbobit\\.net|hitfile\\.net)/download/folder/[0-9]+)"
      },
      "tinyurl": {
        "name": "tinyurl",
        "type": "premium",
        "domains": [
          "tinyurl.com"
        ],
        "regexps": [
          "(tinyurl\\.com/[0-9a-zA-Z-]+)"
        ],
        "regexp": "(tinyurl\\.com/[0-9a-zA-Z-]+)"
      },
      "ul": {
        "name": "ul",
        "type": "premium",
        "domains": [
          "uploaded.net"
        ],
        "regexps": [
          "(uploaded\\.net/(f|folder)/[A-Za-z0-9]+)",
          "ul\\.to/(f|folder)/([A-Za-z0-9]+)"
        ],
        "regexp": "((uploaded\\.net/(f|folder)/[A-Za-z0-9]+))|(ul\\.to/(f|folder)/([A-Za-z0-9]+))"
      },
      "unknow": {
        "name": "unknow",
        "type": "premium",
        "domains": [
          "example.com"
        ],
        "regexps": [
          "(index\\.php\\?do=go&url=(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?)"
        ],
        "regexp": "(index\\.php\\?do=go&url=(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?)"
      },
      "youtube": {
        "name": "youtube",
        "type": "premium",
        "domains": [
          "youtube.com"
        ],
        "regexps": [
          "(youtube\\.com/[0-9a-zA-Z_\\-=?&]+list=[0-9a-zA-Z_\\-]+)"
        ],
        "regexp": "(youtube\\.com/[0-9a-zA-Z_\\-=?&]+list=[0-9a-zA-Z_\\-]+)"
      },
      "zt-protect": {
        "name": "zt-protect",
        "type": "premium",
        "domains": [
          "zt-protect.com"
        ],
        "regexps": [
          "(zt-protect\\.com/(voirlien|telecharger|proteger|pagelien|support|linkpage)/[0-9A-Za-z=-]{12,})"
        ],
        "regexp": "(zt-protect\\.com/(voirlien|telecharger|proteger|pagelien|support|linkpage)/[0-9A-Za-z=-]{12,})"
      }
    }
  }
}