A music player that connects to your cloud/distributed storage.
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

Processing Pt. 3

+596 -108
+6 -1
Makefile
··· 1 - .PHONY: build system 1 + .PHONY: build system vendor 2 2 3 3 4 4 # Variables 5 5 6 + NPM_DIR=./node_modules 6 7 SRC_DIR=./src 7 8 BUILD_DIR=./build 8 9 ··· 60 61 server: 61 62 @echo "> Booting up web server on port 5000" 62 63 @devd --port 5000 --all --crossdomain --quiet --notfound=index.html $(BUILD_DIR) 64 + 65 + 66 + test: 67 + @make -j doc-tests 63 68 64 69 65 70 watch: build
+10 -46
README.md
··· 1 - <strong><img src="https://diffuse.sh/images/diffuse-dark.svg" alt="Diffuse" width="158" /></strong> 1 + <img src="https://diffuse.sh/images/diffuse-dark.svg" alt="Diffuse" width="158" /> 2 2 3 - A music player which connects to your cloud/distributed storage. 3 + __A music player which connects to your cloud/distributed storage__, in the form of a static, serverless, web application. 4 4 5 5 <br /> 6 6 <img src="https://icidasset-public.s3.amazonaws.com/diffuse.jpg" /> ··· 9 9 10 10 11 11 12 - ## Versions 13 - 14 - 🌍 [Web](https://diffuse.sh/) 15 - Chrome, Firefox, Safari & Edge. 16 - 17 - 🖥 [Native](https://github.com/icidasset/diffuse/releases) 18 - MacOS, Linux & Windows. 19 - <small>Unique features: Add music from local filesystem, WebDAV & media-keys support.</small> 20 - 21 - 22 - 23 12 ## Integrations 24 13 25 14 [More info](https://diffuse.sh/about/) 26 15 27 16 #### User layer 28 17 29 - - [Blockstack](https://blockstack.org/) 30 - - [RemoteStorage](remotestorage.io) 31 18 - [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) <small>(ie. anonymous mode)</small> 32 19 33 20 #### Music layer 34 21 35 22 - [Amazon S3](https://aws.amazon.com/s3/) 36 - - [Azure Blob Storage](https://azure.microsoft.com/en-us/services/storage/blobs/) 37 - - [Dropbox](https://dropbox.com/) 38 - - [Google Drive](https://drive.google.com/) 39 - - [IPFS](https://ipfs.io/) 40 - - Local Filesystem <small>(native only)</small> 41 - - [WebDAV](https://en.wikipedia.org/wiki/WebDAV) <small>(native only)</small> 42 23 43 24 44 25 45 - ## Q&A 46 - 47 - 48 - __Why don't you support WebDAV on the web version?__ 49 - Most WebDAV servers aren't built according to the [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) specification. 50 - Which is a must-have for the web version, otherwise it doesn't work. 51 - The WebDAV version was built with [NextCloud](https://nextcloud.com/) in mind. 52 - 53 - 54 - 55 - ## Dependencies 56 - 57 - - Loads of `Elm` 58 - - A moderate amount of `Haskell` 26 + --- 59 27 60 28 61 29 62 30 ## Development 63 31 64 - ```shell 65 - # This assumes that you are using macOS 66 - 67 - brew install haskell-stack 68 - brew install elm 69 - 70 - stack setup 71 - ``` 32 + - [Elm](https://elm-lang.org/) programming language 33 + - [Haskell](https://docs.haskellstack.org/en/stable/README/) programming language 34 + - [Elm Proofread](https://github.com/icidasset/elm-proofread) documentation tests 35 + - [Devd](https://github.com/cortesi/devd) web server for development 36 + - [Watchexec](https://github.com/watchexec/watchexec) watching for file changes 72 37 73 - ### How to run 74 38 75 39 ```shell 76 - # build + server + watch 40 + # build, start server & watch for changes 77 41 make 78 42 79 - # make a static `./build` 43 + # make a static ./build 80 44 make build 81 45 82 46 # run tests
+2 -2
elm.json
··· 30 30 "justgage/tachyons-elm": "4.1.1", 31 31 "noahzgordon/elm-color-extra": "1.0.1", 32 32 "rtfeldman/elm-css": "16.0.0", 33 + "rtfeldman/elm-hex": "1.0.0", 33 34 "ryannhg/date-format": "2.3.0", 34 35 "ymtszw/elm-xml-decode": "3.0.0" 35 36 }, ··· 40 41 "elm/random": "1.0.0", 41 42 "elm-explorations/test": "1.2.0", 42 43 "fredcy/elm-parseint": "2.0.1", 43 - "jinjor/elm-xml-parser": "2.0.0", 44 - "rtfeldman/elm-hex": "1.0.0" 44 + "jinjor/elm-xml-parser": "2.0.0" 45 45 } 46 46 }, 47 47 "test-dependencies": {
+2 -3
package.json
··· 1 1 { 2 2 "private": true, 3 - "depedencies": {}, 4 3 "dependencies": { 5 - "fast-text-encoding": "^1.0.0", 6 - "tachyons": "^4.11.1" 4 + "fast-text-encoding": "~1.0.0", 5 + "tachyons": "~4.11.1" 7 6 } 8 7 }
+100 -32
src/Applications/Brain/Sources/Processing.elm
··· 1 1 module Brain.Sources.Processing exposing (initialCommand, initialModel, subscriptions, update) 2 2 3 + import Alien 4 + import Brain.Ports 3 5 import Brain.Reply exposing (Reply(..)) 4 6 import Brain.Sources.Processing.Common exposing (..) 5 7 import Brain.Sources.Processing.Steps as Steps 6 8 import Http 7 - import Replying exposing (R3D3) 9 + import Json.Encode as Encode 10 + import List.Extra as List 11 + import Maybe.Extra as Maybe 12 + import Replying exposing (R3D3, do) 8 13 import Return3 9 14 import Sources.Processing exposing (..) 15 + import Task 10 16 import Time 17 + import Tracks.Encoding 11 18 12 19 13 20 ··· 24 31 25 32 initialCommand : Cmd Msg 26 33 initialCommand = 27 - Cmd.none 34 + Task.perform SetCurrentTime Time.now 28 35 29 36 30 37 ··· 39 46 If there are sources, start processing the first source. 40 47 -} 41 48 Process { origin, sources, tracks } -> 42 - if isProcessing model.status then 49 + if isProcessing model.status || List.isEmpty sources then 43 50 Return3.withNothing model 44 51 45 52 else 46 - case List.head sources of 47 - Just source -> 48 - let 49 - filter s = 50 - List.filter (.sourceId >> (==) s.id) tracks 53 + let 54 + filter s = 55 + List.filter (.sourceId >> (==) s.id) tracks 51 56 52 - status = 53 - sources 54 - |> List.map (\s -> ( s, filter s )) 55 - |> Processing 56 - in 57 - ( { model | status = status } 58 - , Steps.takeFirstStep origin model.currentTime source 57 + all = 58 + List.map (\s -> ( s, filter s )) sources 59 + in 60 + case List.uncons all of 61 + Just ( ( s, t ), future ) -> 62 + ( { model | origin = origin, status = Processing ( s, t ) future } 63 + , Steps.takeFirstStep origin model.currentTime s 59 64 , Nothing 60 65 ) 61 66 ··· 67 72 If there are sources left, start processing the next source in line. 68 73 -} 69 74 NextInLine -> 70 - ( model 71 - , Cmd.none 72 - , Nothing 73 - ) 75 + case model.status of 76 + Processing _ (( source, tracks ) :: rest) -> 77 + ( { model | status = Processing ( source, tracks ) rest } 78 + , Steps.takeFirstStep model.origin model.currentTime source 79 + , Nothing 80 + ) 81 + 82 + _ -> 83 + ( { model | status = NotProcessing } 84 + , Cmd.none 85 + , Nothing 86 + ) 74 87 75 88 ----------------------------------------- 76 89 -- Phase 1 77 90 -- Prepare for processing. 78 91 ----------------------------------------- 79 92 PrepareStep context (Ok response) -> 93 + let 94 + ( cmd, maybeReplies ) = 95 + Steps.takePrepareStep context response model.currentTime 96 + in 80 97 ( model 81 - , Cmd.none 82 - , Nothing 98 + , cmd 99 + , maybeReplies 83 100 ) 84 101 85 102 PrepareStep context (Err err) -> 86 103 ( model 87 - , Cmd.none 104 + , do NextInLine 88 105 , Just [ reportHttpError context.source err ] 89 106 ) 90 107 ··· 93 110 -- Make a file list/tree. 94 111 ----------------------------------------- 95 112 TreeStep context (Ok response) -> 96 - ( model 97 - , Cmd.none 98 - , Nothing 99 - ) 113 + let 114 + dbg = 115 + Debug.log "treeStep" response 116 + in 117 + case model.status of 118 + Processing ( source, tracks ) rest -> 119 + ( { model | status = Processing ( context.source, tracks ) rest } 120 + , Steps.takeTreeStep context response tracks model.currentTime 121 + , Nothing 122 + ) 123 + 124 + NotProcessing -> 125 + ( model 126 + , Cmd.none 127 + , Nothing 128 + ) 100 129 101 130 TreeStep context (Err err) -> 102 131 ( model 103 - , Cmd.none 132 + , do NextInLine 104 133 , Just [ reportHttpError context.source err ] 105 134 ) 106 135 107 136 TreeStepRemoveTracks sourceId filePaths -> 108 - -- TODO 137 + let 138 + encodedData = 139 + Encode.object 140 + [ ( "filePaths", Encode.list Encode.string filePaths ) 141 + , ( "sourceId", Encode.string sourceId ) 142 + ] 143 + in 109 144 ( model 110 145 , Cmd.none 111 - , Nothing 146 + , Just [ GiveUI Alien.RemoveTracksByPath encodedData ] 112 147 ) 113 148 114 149 ----------------------------------------- ··· 116 151 -- Get the tags for each file in the file list. 117 152 ----------------------------------------- 118 153 TagsStep tagsContext -> 154 + let 155 + dbg = 156 + Debug.log "tags" tagsContext 157 + in 119 158 ( model 120 - , Cmd.none 121 - , Nothing 159 + ---------- 160 + -- Command 161 + ---------- 162 + , case model.status of 163 + Processing ( source, _ ) _ -> 164 + source 165 + |> Debug.log "tagsSource" 166 + |> Steps.takeTagsStep model.currentTime tagsContext 167 + |> Debug.log "tagsCmd" 168 + |> Maybe.withDefault Cmd.none 169 + 170 + NotProcessing -> 171 + Cmd.none 172 + -------- 173 + -- Reply 174 + -------- 175 + , case List.isEmpty (List.filter Maybe.isJust tagsContext.receivedTags) of 176 + True -> 177 + Nothing 178 + 179 + False -> 180 + tagsContext 181 + |> tracksFromTagsContext 182 + |> Debug.log "tracks" 183 + |> Encode.list Tracks.Encoding.encodeTrack 184 + |> GiveUI Alien.AddTracks 185 + |> List.singleton 186 + |> Just 122 187 ) 123 188 124 189 ----------------------------------------- ··· 137 202 138 203 subscriptions : Model -> Sub Msg 139 204 subscriptions _ = 140 - Time.every (60 * 1000) SetCurrentTime 205 + Sub.batch 206 + [ Time.every (60 * 1000) SetCurrentTime 207 + , Brain.Ports.receiveTags TagsStep 208 + ]
+2 -7
src/Applications/Brain/Sources/Processing/Common.elm
··· 1 - module Brain.Sources.Processing.Common exposing (Model, Msg(..), contextToTagsContext, findTagsContextSource, isProcessing, reportError, reportHttpError, tracksFromTagsContext, translateHttpError) 1 + module Brain.Sources.Processing.Common exposing (Model, Msg(..), contextToTagsContext, isProcessing, reportError, reportHttpError, tracksFromTagsContext, translateHttpError) 2 2 3 3 import Alien 4 4 import Brain.Reply exposing (Reply(..)) ··· 58 58 } 59 59 60 60 61 - findTagsContextSource : ContextForTags -> List Source -> Maybe Source 62 - findTagsContextSource tagsContext = 63 - List.find (.id >> (==) tagsContext.sourceId) 64 - 65 - 66 61 isProcessing : Status -> Bool 67 62 isProcessing status = 68 63 case status of 69 - Processing _ -> 64 + Processing _ _ -> 70 65 True 71 66 72 67 NotProcessing ->
+10 -7
src/Applications/Brain/Sources/Processing/Steps.elm
··· 74 74 -- 2nd STEP 75 75 76 76 77 - takePrepareStep : Context -> String -> Time.Posix -> ( Cmd Msg, Maybe Reply ) 77 + takePrepareStep : Context -> String -> Time.Posix -> ( Cmd Msg, Maybe (List Reply) ) 78 78 takePrepareStep context response currentTime = 79 79 context 80 80 |> handlePreparationResponse response ··· 110 110 , urlsForTags = makeTrackUrls currentTime source filesToProcess 111 111 } 112 112 in 113 - filesToProcess 114 - |> List.head 115 - |> Maybe.map (always (getTags newTagsCtx)) 113 + if List.isEmpty filesToProcess then 114 + Nothing 115 + 116 + else 117 + Just (getTags newTagsCtx) 116 118 117 119 118 120 ··· 162 164 } 163 165 164 166 165 - intoPreparationCommands : Time.Posix -> Context -> ( Cmd Msg, Maybe Reply ) 167 + intoPreparationCommands : Time.Posix -> Context -> ( Cmd Msg, Maybe (List Reply) ) 166 168 intoPreparationCommands currentTime context = 167 169 case context.preparationMarker of 168 170 TheBeginning -> ··· 193 195 , updatedSource 194 196 |> Sources.Encoding.encode 195 197 |> GiveUI Alien.UpdateSourceData 198 + |> List.singleton 196 199 |> Just 197 200 ) 198 201 ··· 301 304 302 305 303 306 getTags : ContextForTags -> Cmd Msg 304 - getTags context = 305 - Ports.requestTags context 307 + getTags = 308 + Ports.requestTags 306 309 307 310 308 311 makeTrackUrls : Time.Posix -> Source -> List String -> List TagUrls
+25 -2
src/Applications/UI.elm
··· 12 12 import Html.Styled as Html exposing (Html, div, section, text, toUnstyled) 13 13 import Html.Styled.Attributes exposing (id, style) 14 14 import Html.Styled.Lazy as Lazy 15 - import Json.Encode 15 + import Json.Encode as Encode 16 16 import Replying exposing (return) 17 17 import Return2 18 18 import Return3 19 19 import Sources 20 + import Sources.Encoding 20 21 import Tachyons.Classes as T 22 + import Tracks.Encoding 21 23 import UI.Authentication 22 24 import UI.Backdrop 23 25 import UI.Core as Core exposing (Flags, Model, Msg(..), Switch(..)) ··· 139 141 , Ports.toBrain alienEvent 140 142 ) 141 143 144 + Core.ProcessSources -> 145 + ( model 146 + , [ ( "origin", Encode.string "TODO" ) 147 + , ( "sources", Encode.list Sources.Encoding.encode model.sources.collection ) 148 + , ( "tracks", Encode.list Tracks.Encoding.encodeTrack [] ) 149 + ] 150 + |> Encode.object 151 + |> Alien.broadcast Alien.ProcessSources 152 + |> Ports.toBrain 153 + ) 154 + 142 155 Core.SaveEnclosedUserData -> 143 156 ( model 144 157 , Cmd.none ··· 156 169 ( model 157 170 , method 158 171 |> Authentication.methodToString 159 - |> Json.Encode.string 172 + |> Encode.string 160 173 |> Alien.broadcast Alien.SignIn 161 174 |> Ports.toBrain 162 175 ) ··· 213 226 GoToPage page -> 214 227 ChangeUrlUsingPage page 215 228 229 + Reply.ProcessSources -> 230 + Core.ProcessSources 231 + 216 232 Reply.SaveEnclosedUserData -> 217 233 Core.SaveEnclosedUserData 218 234 ··· 244 260 245 261 Just Alien.LoadHypaethralUserData -> 246 262 LoadHypaethralUserData event.data 263 + 264 + Just Alien.ReportGenericError -> 265 + let 266 + dbg = 267 + Debug.log "error" event 268 + in 269 + Bypass 247 270 248 271 _ -> 249 272 Bypass
+1
src/Applications/UI/Core.elm
··· 56 56 -- Brain 57 57 ----------------------------------------- 58 58 | NotifyBrain Alien.Event 59 + | ProcessSources 59 60 | SaveEnclosedUserData 60 61 | SaveHypaethralUserData 61 62 | SignIn Authentication.Method
+1
src/Applications/UI/Reply.elm
··· 12 12 = AddSourceToCollection Source 13 13 | Chill 14 14 | GoToPage Page 15 + | ProcessSources 15 16 | SaveEnclosedUserData 16 17 | SaveHypaethralUserData
+7 -3
src/Applications/UI/Sources.elm
··· 44 44 45 45 type Msg 46 46 = Bypass 47 + | Process 47 48 ----------------------------------------- 48 49 -- Collection 49 50 ----------------------------------------- ··· 59 60 update msg model = 60 61 case msg of 61 62 Bypass -> 62 - model 63 - |> Return3.withNothing 63 + Return3.withNothing model 64 + 65 + Process -> 66 + ( model, Cmd.none, Just [ UI.Reply.ProcessSources ] ) 64 67 65 68 ----------------------------------------- 66 69 -- Collection 67 70 ----------------------------------------- 68 71 AddToCollection source -> 72 + -- TODO: Set proper source id 69 73 source 70 74 |> List.singleton 71 75 |> List.append model.collection ··· 122 126 ) 123 127 , ( Icon Icons.sync 124 128 , Label "Process sources" Shown 125 - , PerformMsg Bypass 129 + , PerformMsg Process 126 130 ) 127 131 ] 128 132
+4 -1
src/Applications/UI/Sources/Form.elm
··· 100 100 context = 101 101 model.context 102 102 103 + trimmedValue = 104 + String.trim value 105 + 103 106 updatedData = 104 - Dict.insert key value context.data 107 + Dict.insert key trimmedValue context.data 105 108 in 106 109 { model | context = { context | data = updatedData } } 107 110
+15
src/Javascript/Workers/brain.js
··· 4 4 // 5 5 // This worker is responsible for everything non-UI. 6 6 7 + importScripts("/vendor/music-metadata.js") 8 + 7 9 importScripts("/brain.js") 8 10 importScripts("/indexed-db.js") 11 + importScripts("/processing.js") 12 + importScripts("/urls.js") 9 13 10 14 11 15 const app = Elm.Brain.init() ··· 47 51 app.ports.toCache.subscribe(event => { 48 52 setInIndex({ key: event.tag, data: event.data }) 49 53 }) 54 + 55 + 56 + 57 + // Tags 58 + // ---- 59 + 60 + app.ports.requestTags.subscribe(context => { 61 + processContext(context).then(newContext => { 62 + app.ports.receiveTags.send(newContext) 63 + }) 64 + })
+83
src/Javascript/processing.js
··· 1 + // 2 + // Processing 3 + // ♪(´ε` ) 4 + // 5 + // Audio processing, getting metadata, etc. 6 + 7 + 8 + // Contexts 9 + // -------- 10 + 11 + function processContext(context) { 12 + const initialPromise = Promise.resolve([]) 13 + 14 + return context.urlsForTags.reduce((accumulator, urls) => { 15 + let getUrl 16 + let headUrl 17 + 18 + return accumulator.then(col => 19 + transformUrl(urls.getUrl) 20 + .then(url => { getUrl = url; return transformUrl(urls.headUrl) }) 21 + .then(url => { headUrl = url; return getTags(getUrl, headUrl) }) 22 + .then(r => col.concat(r)) 23 + .catch(e => { 24 + console.error(e) 25 + return col.concat(null) 26 + }) 27 + ) 28 + 29 + }, initialPromise).then(col => { 30 + context.receivedTags = col 31 + return context 32 + 33 + }) 34 + } 35 + 36 + 37 + 38 + // Tags 39 + // ---- 40 + 41 + 42 + const readerConfiguration = { 43 + timeoutInSec: 300, 44 + avoidHeadRequests: false 45 + } 46 + 47 + 48 + const parserConfiguration = Object.assign( 49 + {}, musicMetadata.parsingOptions, 50 + { duration: false, skipCovers: true, skipPostHeaders: true } 51 + ) 52 + 53 + 54 + 55 + function getTags(getUrl, headUrl) { 56 + const reader = new StreamingHttpTokenReader(headUrl, readerConfiguration) 57 + 58 + return reader.init().then(_ => { 59 + reader.url = getUrl 60 + 61 + return musicMetadata.parseFromTokenizer( 62 + reader, 63 + reader.contentType, 64 + parserConfiguration 65 + ) 66 + }).then(pickTags) 67 + } 68 + 69 + 70 + function pickTags(result) { 71 + const tags = result.common 72 + 73 + return { 74 + disc: tags.disk.no || 1, 75 + nr: tags.track.no || 1, 76 + album: tags.album && tags.album.length ? tags.album : "Unknown", 77 + artist: tags.artist && tags.artist.length ? tags.artist : "Unknown", 78 + title: tags.title && tags.title.length ? tags.title : "Unknown", 79 + genre: tags.genre && tags.genre[0], 80 + year: tags.year || null, 81 + picture: null 82 + } 83 + }
+36
src/Javascript/urls.js
··· 1 + // 2 + // URLs 3 + // \ (•◡•) / 4 + // 5 + // Some URLs are special you know. 6 + 7 + function transformUrl(url) { 8 + const parts = url.split("://") 9 + 10 + switch (parts[0]) { 11 + 12 + case "dropbox": 13 + const dropboxBits = parts[1].split("@") 14 + const accessToken = dropboxBits[0] 15 + const filePath = dropboxBits[1] 16 + 17 + return fetch( 18 + "https://api.dropboxapi.com/2/files/get_temporary_link", 19 + { method: "POST" 20 + , body: JSON.stringify({ path: filePath }) 21 + , headers: new Headers({ 22 + "Authorization": "Bearer " + accessToken, 23 + "Content-Type": "application/json" 24 + }) 25 + } 26 + ).then( 27 + response => response.json() 28 + ).then( 29 + response => response.link 30 + ) 31 + 32 + default: 33 + return Promise.resolve(url) 34 + 35 + } 36 + }
+14
src/Library/Alien.elm
··· 29 29 | SignIn 30 30 | SignOut 31 31 -- to UI 32 + | AddTracks 32 33 | HideLoadingScreen 33 34 | LoadEnclosedUserData 34 35 | LoadHypaethralUserData 36 + | RemoveTracksByPath 35 37 | ReportGenericError 36 38 | ReportProcessingError 37 39 | UpdateSourceData ··· 98 100 ----------------------------------------- 99 101 -- To UI 100 102 ----------------------------------------- 103 + AddTracks -> 104 + "ADD_TRACKS" 105 + 101 106 HideLoadingScreen -> 102 107 "HIDE_LOADING_SCREEN" 103 108 ··· 107 112 LoadHypaethralUserData -> 108 113 "LOAD_HYPAETHRAL_USER_DATA" 109 114 115 + RemoveTracksByPath -> 116 + "REMOVE_TRACKS_BY_PATH" 117 + 110 118 ReportGenericError -> 111 119 "REPORT_GENERIC_ERROR" 112 120 ··· 150 158 ----------------------------------------- 151 159 -- UI 152 160 ----------------------------------------- 161 + "ADD_TRACKS" -> 162 + Just AddTracks 163 + 153 164 "HIDE_LOADING_SCREEN" -> 154 165 Just HideLoadingScreen 155 166 ··· 158 169 159 170 "LOAD_HYPAETHRAL_USER_DATA" -> 160 171 Just LoadHypaethralUserData 172 + 173 + "REMOVE_TRACKS_BY_PATH" -> 174 + Just RemoveTracksByPath 161 175 162 176 "REPORT_GENERIC_ERROR" -> 163 177 Just ReportGenericError
+9
src/Library/Crypto/Hmac.elm
··· 16 16 These include: SHA-0, SHA-1, SHA-224, SHA-256, MD5, etc. 17 17 18 18 >>> import Binary 19 + >>> import Crypto.Binary as Binary 19 20 >>> import SHA 20 21 21 22 >>> encrypt64 SHA.sha256 "" "" ··· 27 28 ..> |> Binary.toHex 28 29 ..> |> String.toLower 29 30 "f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8" 31 + 32 + >>> "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b" 33 + ..> |> Binary.fromHex 34 + ..> |> Binary.toString 35 + ..> |> encrypt64 SHA.sha256 "Hi There" 36 + ..> |> Binary.toHex 37 + ..> |> String.toLower 38 + "b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da726e9376c2e32cff7" 30 39 31 40 -} 32 41 encrypt64 : HashFunction -> String -> String -> Bits
+1 -1
src/Library/Sources/Processing.elm
··· 10 10 11 11 12 12 type Status 13 - = Processing (List ( Source, List Track )) 13 + = Processing ( Source, List Track ) (List ( Source, List Track )) 14 14 | NotProcessing 15 15 16 16
+33 -3
src/Library/Sources/Services/AmazonS3/Presign.elm
··· 6 6 import DateFormat as Date 7 7 import Dict 8 8 import Dict.Ext as Dict 9 + import Hex 9 10 import Maybe.Extra as Maybe 11 + import Regex 10 12 import SHA 11 13 import Sources exposing (SourceData) 12 14 import Sources.Processing exposing (HttpMethod, httpMethod) ··· 14 16 import Time 15 17 import Url 16 18 import Url.Builder as Url 19 + 20 + 21 + 22 + -- 🔱 17 23 18 24 19 25 presignedUrl : ··· 36 42 Dict.fetchUnknown "bucketName" aws 37 43 38 44 customHost = 39 - Dict.get "host" aws 45 + case Dict.fetch "host" "" aws of 46 + "" -> 47 + Nothing 48 + 49 + x -> 50 + Just x 40 51 41 52 host = 42 53 case customHost of ··· 68 79 pathToFile 69 80 |> String.chopStart "/" 70 81 |> String.split "/" 71 - |> List.map Url.percentEncode 82 + |> List.map (Url.percentEncode >> encodeAdditionalCharacters) 72 83 |> String.join "/" 73 84 |> String.append ("/" ++ filePathPrefix) 74 85 ··· 119 130 |> List.sortBy Tuple.first 120 131 |> List.map (\( a, b ) -> Url.string a b) 121 132 |> Url.toQuery 133 + |> String.dropLeft 1 134 + |> encodeAdditionalCharacters 122 135 123 136 request = 124 137 String.join ··· 139 152 [ "AWS4-HMAC-SHA256" 140 153 , timestamp 141 154 , String.join "/" [ date, region, "s3", "aws4_request" ] 142 - , Binary.toHex (SHA.sha256 request) 155 + , String.toLower (Binary.toHex (SHA.sha256 request)) 143 156 ] 144 157 145 158 -- Signature ··· 150 163 |> hmacSha256 "s3" 151 164 |> hmacSha256 "aws4_request" 152 165 |> hmacSha256 stringToSign 166 + |> Binary.fromString 167 + |> Binary.toHex 168 + |> String.toLower 153 169 in 154 170 String.concat 155 171 [ protocol 156 172 , host 157 173 , filePath 174 + , "?" 158 175 , queryString 159 176 , "&X-Amz-Signature=" 160 177 , signature ··· 163 180 164 181 165 182 -- ⚗️ 183 + 184 + 185 + encodeAdditionalCharacters : String -> String 186 + encodeAdditionalCharacters query = 187 + Regex.replace 188 + (Maybe.withDefault Regex.never <| Regex.fromString "[!*'()]") 189 + (\{ match } -> 190 + match 191 + |> String.toList 192 + |> List.map (Char.toCode >> Hex.toString >> String.toUpper >> (++) "%") 193 + |> String.concat 194 + ) 195 + query 166 196 167 197 168 198 hmacSha256 : String -> String -> String
+1
src/Static/Html/Application.html
··· 19 19 20 20 <!-- Stylesheets --> 21 21 <link rel="stylesheet" href="/vendor/tachyons.css"> 22 + 22 23 <link rel="stylesheet" href="/application.css"> 23 24 <link rel="stylesheet" href="/fonts.css"> 24 25
+2
system/Vendor/Main.hs
··· 15 15 Shikensu.listRelative 16 16 [ "node_modules/fast-text-encoding/text.min.js" 17 17 , "node_modules/tachyons/css/tachyons.min.css" 18 + , "vendor/music-metadata.min.js" 18 19 ] 19 20 "./" 20 21 >>= read ··· 30 31 flow = 31 32 rename "text.min.js" "text-encoding.js" 32 33 .> rename "tachyons.min.css" "tachyons.css" 34 + .> rename "music-metadata.min.js" "music-metadata.js" 33 35 .> prefixDirname "vendor" 34 36 .> return
+232
vendor/music-metadata.min.js
··· 1 + parcelRequire=function(e,r,n,t){var i="function"==typeof parcelRequire&&parcelRequire,o="function"==typeof require&&require;function u(n,t){if(!r[n]){if(!e[n]){var f="function"==typeof parcelRequire&&parcelRequire;if(!t&&f)return f(n,!0);if(i)return i(n,!0);if(o&&"string"==typeof n)return o(n);var c=new Error("Cannot find module '"+n+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[n][1][r]||r},p.cache={};var l=r[n]=new u.Module(n);e[n][0].call(l.exports,p,l,l.exports,this)}return r[n].exports;function p(e){return u(p.resolve(e))}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=r,u.parent=i,u.register=function(r,n){e[r]=[function(e,r){r.exports=n},{}]};for(var f=0;f<n.length;f++)u(n[f]);if(n.length){var c=u(n[n.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=c:"function"==typeof define&&define.amd?define(function(){return c}):t&&(this[t]=c)}return u}({"LVkZ":[function(require,module,exports) { 2 + var s=1e3,e=60*s,r=60*e,a=24*r,n=7*a,c=365.25*a;function t(t){if(!((t=String(t)).length>100)){var u=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(u){var o=parseFloat(u[1]);switch((u[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return o*c;case"weeks":case"week":case"w":return o*n;case"days":case"day":case"d":return o*a;case"hours":case"hour":case"hrs":case"hr":case"h":return o*r;case"minutes":case"minute":case"mins":case"min":case"m":return o*e;case"seconds":case"second":case"secs":case"sec":case"s":return o*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}function u(n){var c=Math.abs(n);return c>=a?Math.round(n/a)+"d":c>=r?Math.round(n/r)+"h":c>=e?Math.round(n/e)+"m":c>=s?Math.round(n/s)+"s":n+"ms"}function o(n){var c=Math.abs(n);return c>=a?i(n,c,a,"day"):c>=r?i(n,c,r,"hour"):c>=e?i(n,c,e,"minute"):c>=s?i(n,c,s,"second"):n+" ms"}function i(s,e,r,a){var n=e>=1.5*r;return Math.round(s/r)+" "+a+(n?"s":"")}module.exports=function(s,e){e=e||{};var r=typeof s;if("string"===r&&s.length>0)return t(s);if("number"===r&&!1===isNaN(s))return e.long?o(s):u(s);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(s))}; 3 + },{}],"MTTc":[function(require,module,exports) { 4 + function e(e){function n(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]}function t(e){let o;function i(...e){if(!i.enabled)return;const n=i,s=Number(new Date),r=s-(o||s);n.diff=r,n.prev=o,n.curr=s,o=s,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(s,r)=>{if("%%"===s)return s;a++;const o=t.formatters[r];if("function"==typeof o){const t=e[a];s=o.call(n,t),e.splice(a,1),a--}return s}),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.enabled=t.enabled(e),i.useColors=t.useColors(),i.color=n(e),i.destroy=s,i.extend=r,"function"==typeof t.init&&t.init(i),t.instances.push(i),i}function s(){const e=t.instances.indexOf(this);return-1!==e&&(t.instances.splice(e,1),!0)}function r(e,n){const s=t(this.namespace+(void 0===n?":":n)+e);return s.log=this.log,s}function o(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(o),...t.skips.map(o).map(e=>"-"+e)].join(",");return t.enable(""),e},t.enable=function(e){let n;t.save(e),t.names=[],t.skips=[];const s=("string"==typeof e?e:"").split(/[\s,]+/),r=s.length;for(n=0;n<r;n++)s[n]&&("-"===(e=s[n].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.substr(1)+"$")):t.names.push(new RegExp("^"+e+"$")));for(n=0;n<t.instances.length;n++){const e=t.instances[n];e.enabled=t.enabled(e.namespace)}},t.enabled=function(e){if("*"===e[e.length-1])return!0;let n,s;for(n=0,s=t.skips.length;n<s;n++)if(t.skips[n].test(e))return!1;for(n=0,s=t.names.length;n<s;n++)if(t.names[n].test(e))return!0;return!1},t.humanize=require("ms"),Object.keys(e).forEach(n=>{t[n]=e[n]}),t.instances=[],t.names=[],t.skips=[],t.formatters={},t.selectColor=n,t.enable(t.load()),t}module.exports=e; 5 + },{"ms":"LVkZ"}],"g5I+":[function(require,module,exports) { 6 + 7 + var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a<e;)c&&c[a].run();a=-1,e=s.length}c=null,l=!1,u(t)}}function m(t,e){this.fun=t,this.array=e}function p(){}n.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];s.push(new m(t,e)),1!==s.length||l||i(h)},m.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=p,n.addListener=p,n.once=p,n.off=p,n.removeListener=p,n.removeAllListeners=p,n.emit=p,n.prependListener=p,n.prependOnceListener=p,n.listeners=function(t){return[]},n.binding=function(t){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(t){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}; 8 + },{}],"j+D9":[function(require,module,exports) { 9 + var process = require("process"); 10 + var e=require("process");function o(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function C(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff),!this.useColors)return;const o="color: "+this.color;e.splice(1,0,o,"color: inherit");let C=0,t=0;e[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(C++,"%c"===e&&(t=C))}),e.splice(t,0,o)}function t(...e){return"object"==typeof console&&console.log&&console.log(...e)}function r(e){try{e?exports.storage.setItem("debug",e):exports.storage.removeItem("debug")}catch(o){}}function n(){let o;try{o=exports.storage.getItem("debug")}catch(C){}return!o&&void 0!==e&&"env"in e&&(o=void 0),o}function s(){try{return localStorage}catch(e){}}exports.log=t,exports.formatArgs=C,exports.save=r,exports.load=n,exports.useColors=o,exports.storage=s(),exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],module.exports=require("./common")(exports);const{formatters:F}=module.exports;F.j=function(e){try{return JSON.stringify(e)}catch(o){return"[UnexpectedJSONParseError]: "+o.message}}; 11 + },{"./common":"MTTc","process":"g5I+"}],"2Fe+":[function(require,module,exports) { 12 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.endOfFile="End-Of-File"; 13 + },{}],"FRly":[function(require,module,exports) { 14 + "use strict";exports.byteLength=u,exports.toByteArray=i,exports.fromByteArray=d;for(var r=[],t=[],e="undefined"!=typeof Uint8Array?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=n.length;o<a;++o)r[o]=n[o],t[n.charCodeAt(o)]=o;function h(r){var t=r.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var e=r.indexOf("=");return-1===e&&(e=t),[e,e===t?0:4-e%4]}function u(r){var t=h(r),e=t[0],n=t[1];return 3*(e+n)/4-n}function c(r,t,e){return 3*(t+e)/4-e}function i(r){for(var n,o=h(r),a=o[0],u=o[1],i=new e(c(r,a,u)),f=0,A=u>0?a-4:a,d=0;d<A;d+=4)n=t[r.charCodeAt(d)]<<18|t[r.charCodeAt(d+1)]<<12|t[r.charCodeAt(d+2)]<<6|t[r.charCodeAt(d+3)],i[f++]=n>>16&255,i[f++]=n>>8&255,i[f++]=255&n;return 2===u&&(n=t[r.charCodeAt(d)]<<2|t[r.charCodeAt(d+1)]>>4,i[f++]=255&n),1===u&&(n=t[r.charCodeAt(d)]<<10|t[r.charCodeAt(d+1)]<<4|t[r.charCodeAt(d+2)]>>2,i[f++]=n>>8&255,i[f++]=255&n),i}function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function A(r,t,e){for(var n,o=[],a=t;a<e;a+=3)n=(r[a]<<16&16711680)+(r[a+1]<<8&65280)+(255&r[a+2]),o.push(f(n));return o.join("")}function d(t){for(var e,n=t.length,o=n%3,a=[],h=0,u=n-o;h<u;h+=16383)a.push(A(t,h,h+16383>u?u:h+16383));return 1===o?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===o&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")}t["-".charCodeAt(0)]=62,t["_".charCodeAt(0)]=63; 15 + },{}],"Quj6":[function(require,module,exports) { 16 + exports.read=function(o,t,a,r,h){var M,p,w=8*h-r-1,f=(1<<w)-1,N=f>>1,n=-7,i=a?h-1:0,e=a?-1:1,s=o[t+i];for(i+=e,M=s&(1<<-n)-1,s>>=-n,n+=w;n>0;M=256*M+o[t+i],i+=e,n-=8);for(p=M&(1<<-n)-1,M>>=-n,n+=r;n>0;p=256*p+o[t+i],i+=e,n-=8);if(0===M)M=1-N;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=N}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(o,t,a,r,h,M){var p,w,f,N=8*M-h-1,n=(1<<N)-1,i=n>>1,e=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(w=isNaN(t)?1:0,p=n):(p=Math.floor(Math.log(t)/Math.LN2),t*(f=Math.pow(2,-p))<1&&(p--,f*=2),(t+=p+i>=1?e/f:e*Math.pow(2,1-i))*f>=2&&(p++,f/=2),p+i>=n?(w=0,p=n):p+i>=1?(w=(t*f-1)*Math.pow(2,h),p+=i):(w=t*Math.pow(2,i-1)*Math.pow(2,h),p=0));h>=8;o[a+s]=255&w,s+=u,w/=256,h-=8);for(p=p<<h|w,N+=h;N>0;o[a+s]=255&p,s+=u,p/=256,N-=8);o[a+s-u]|=128*l}; 17 + },{}],"aq/z":[function(require,module,exports) { 18 + var r={}.toString;module.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}; 19 + },{}],"aMB2":[function(require,module,exports) { 20 + 21 + var global = arguments[3]; 22 + var t=arguments[3],r=require("base64-js"),e=require("ieee754"),n=require("isarray");function i(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(r){return!1}}function o(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,r){if(o()<r)throw new RangeError("Invalid typed array length");return u.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(r)).__proto__=u.prototype:(null===t&&(t=new u(r)),t.length=r),t}function u(t,r,e){if(!(u.TYPED_ARRAY_SUPPORT||this instanceof u))return new u(t,r,e);if("number"==typeof t){if("string"==typeof r)throw new Error("If encoding is specified then the first argument must be a string");return p(this,t)}return h(this,t,r,e)}function h(t,r,e,n){if("number"==typeof r)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&r instanceof ArrayBuffer?g(t,r,e,n):"string"==typeof r?l(t,r,e):y(t,r)}function f(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function a(t,r,e,n){return f(r),r<=0?s(t,r):void 0!==e?"string"==typeof n?s(t,r).fill(e,n):s(t,r).fill(e):s(t,r)}function p(t,r){if(f(r),t=s(t,r<0?0:0|w(r)),!u.TYPED_ARRAY_SUPPORT)for(var e=0;e<r;++e)t[e]=0;return t}function l(t,r,e){if("string"==typeof e&&""!==e||(e="utf8"),!u.isEncoding(e))throw new TypeError('"encoding" must be a valid string encoding');var n=0|v(r,e),i=(t=s(t,n)).write(r,e);return i!==n&&(t=t.slice(0,i)),t}function c(t,r){var e=r.length<0?0:0|w(r.length);t=s(t,e);for(var n=0;n<e;n+=1)t[n]=255&r[n];return t}function g(t,r,e,n){if(r.byteLength,e<0||r.byteLength<e)throw new RangeError("'offset' is out of bounds");if(r.byteLength<e+(n||0))throw new RangeError("'length' is out of bounds");return r=void 0===e&&void 0===n?new Uint8Array(r):void 0===n?new Uint8Array(r,e):new Uint8Array(r,e,n),u.TYPED_ARRAY_SUPPORT?(t=r).__proto__=u.prototype:t=c(t,r),t}function y(t,r){if(u.isBuffer(r)){var e=0|w(r.length);return 0===(t=s(t,e)).length?t:(r.copy(t,0,0,e),t)}if(r){if("undefined"!=typeof ArrayBuffer&&r.buffer instanceof ArrayBuffer||"length"in r)return"number"!=typeof r.length||d(r.length)?s(t,0):c(t,r);if("Buffer"===r.type&&n(r.data))return c(t,r.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function w(t){if(t>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|t}function E(t){return+t!=t&&(t=0),u.alloc(+t)}function v(t,r){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var e=t.length;if(0===e)return 0;for(var n=!1;;)switch(r){case"ascii":case"latin1":case"binary":return e;case"utf8":case"utf-8":case void 0:return K(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*e;case"hex":return e>>>1;case"base64":return I(t).length;default:if(n)return K(t).length;r=(""+r).toLowerCase(),n=!0}}function R(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)return"";if((void 0===e||e>this.length)&&(e=this.length),e<=0)return"";if((e>>>=0)<=(r>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return k(this,r,e);case"utf8":case"utf-8":return O(this,r,e);case"ascii":return L(this,r,e);case"latin1":case"binary":return M(this,r,e);case"base64":return S(this,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return N(this,r,e);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function _(t,r,e){var n=t[r];t[r]=t[e],t[e]=n}function A(t,r,e,n,i){if(0===t.length)return-1;if("string"==typeof e?(n=e,e=0):e>2147483647?e=2147483647:e<-2147483648&&(e=-2147483648),e=+e,isNaN(e)&&(e=i?0:t.length-1),e<0&&(e=t.length+e),e>=t.length){if(i)return-1;e=t.length-1}else if(e<0){if(!i)return-1;e=0}if("string"==typeof r&&(r=u.from(r,n)),u.isBuffer(r))return 0===r.length?-1:m(t,r,e,n,i);if("number"==typeof r)return r&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,e):Uint8Array.prototype.lastIndexOf.call(t,r,e):m(t,[r],e,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,r,e,n,i){var o,s=1,u=t.length,h=r.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||r.length<2)return-1;s=2,u/=2,h/=2,e/=2}function f(t,r){return 1===s?t[r]:t.readUInt16BE(r*s)}if(i){var a=-1;for(o=e;o<u;o++)if(f(t,o)===f(r,-1===a?0:o-a)){if(-1===a&&(a=o),o-a+1===h)return a*s}else-1!==a&&(o-=o-a),a=-1}else for(e+h>u&&(e=u-h),o=e;o>=0;o--){for(var p=!0,l=0;l<h;l++)if(f(t,o+l)!==f(r,l)){p=!1;break}if(p)return o}return-1}function b(t,r,e,n){e=Number(e)||0;var i=t.length-e;n?(n=Number(n))>i&&(n=i):n=i;var o=r.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s<n;++s){var u=parseInt(r.substr(2*s,2),16);if(isNaN(u))return s;t[e+s]=u}return s}function T(t,r,e,n){return x(K(r,t.length-e),t,e,n)}function B(t,r,e,n){return x(Q(r),t,e,n)}function U(t,r,e,n){return B(t,r,e,n)}function Y(t,r,e,n){return x(I(r),t,e,n)}function P(t,r,e,n){return x(W(r,t.length-e),t,e,n)}function S(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function O(t,r,e){e=Math.min(t.length,e);for(var n=[],i=r;i<e;){var o,s,u,h,f=t[i],a=null,p=f>239?4:f>223?3:f>191?2:1;if(i+p<=e)switch(p){case 1:f<128&&(a=f);break;case 2:128==(192&(o=t[i+1]))&&(h=(31&f)<<6|63&o)>127&&(a=h);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(h=(15&f)<<12|(63&o)<<6|63&s)>2047&&(h<55296||h>57343)&&(a=h);break;case 4:o=t[i+1],s=t[i+2],u=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&u)&&(h=(15&f)<<18|(63&o)<<12|(63&s)<<6|63&u)>65535&&h<1114112&&(a=h)}null===a?(a=65533,p=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=p}return C(n)}exports.Buffer=u,exports.SlowBuffer=E,exports.INSPECT_MAX_BYTES=50,u.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:i(),exports.kMaxLength=o(),u.poolSize=8192,u._augment=function(t){return t.__proto__=u.prototype,t},u.from=function(t,r,e){return h(null,t,r,e)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(t,r,e){return a(null,t,r,e)},u.allocUnsafe=function(t){return p(null,t)},u.allocUnsafeSlow=function(t){return p(null,t)},u.isBuffer=function(t){return!(null==t||!t._isBuffer)},u.compare=function(t,r){if(!u.isBuffer(t)||!u.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var e=t.length,n=r.length,i=0,o=Math.min(e,n);i<o;++i)if(t[i]!==r[i]){e=t[i],n=r[i];break}return e<n?-1:n<e?1:0},u.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(t,r){if(!n(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return u.alloc(0);var e;if(void 0===r)for(r=0,e=0;e<t.length;++e)r+=t[e].length;var i=u.allocUnsafe(r),o=0;for(e=0;e<t.length;++e){var s=t[e];if(!u.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(i,o),o+=s.length}return i},u.byteLength=v,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r<t;r+=2)_(this,r,r+1);return this},u.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var r=0;r<t;r+=4)_(this,r,r+3),_(this,r+1,r+2);return this},u.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var r=0;r<t;r+=8)_(this,r,r+7),_(this,r+1,r+6),_(this,r+2,r+5),_(this,r+3,r+4);return this},u.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?O(this,0,t):R.apply(this,arguments)},u.prototype.equals=function(t){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===u.compare(this,t)},u.prototype.inspect=function(){var t="",r=exports.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),"<Buffer "+t+">"},u.prototype.compare=function(t,r,e,n,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===e&&(e=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),r<0||e>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&r>=e)return 0;if(n>=i)return-1;if(r>=e)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(e>>>=0)-(r>>>=0),h=Math.min(o,s),f=this.slice(n,i),a=t.slice(r,e),p=0;p<h;++p)if(f[p]!==a[p]){o=f[p],s=a[p];break}return o<s?-1:s<o?1:0},u.prototype.includes=function(t,r,e){return-1!==this.indexOf(t,r,e)},u.prototype.indexOf=function(t,r,e){return A(this,t,r,e,!0)},u.prototype.lastIndexOf=function(t,r,e){return A(this,t,r,e,!1)},u.prototype.write=function(t,r,e,n){if(void 0===r)n="utf8",e=this.length,r=0;else if(void 0===e&&"string"==typeof r)n=r,e=this.length,r=0;else{if(!isFinite(r))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");r|=0,isFinite(e)?(e|=0,void 0===n&&(n="utf8")):(n=e,e=void 0)}var i=this.length-r;if((void 0===e||e>i)&&(e=i),t.length>0&&(e<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return b(this,t,r,e);case"utf8":case"utf-8":return T(this,t,r,e);case"ascii":return B(this,t,r,e);case"latin1":case"binary":return U(this,t,r,e);case"base64":return Y(this,t,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,r,e);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function C(t){var r=t.length;if(r<=D)return String.fromCharCode.apply(String,t);for(var e="",n=0;n<r;)e+=String.fromCharCode.apply(String,t.slice(n,n+=D));return e}function L(t,r,e){var n="";e=Math.min(t.length,e);for(var i=r;i<e;++i)n+=String.fromCharCode(127&t[i]);return n}function M(t,r,e){var n="";e=Math.min(t.length,e);for(var i=r;i<e;++i)n+=String.fromCharCode(t[i]);return n}function k(t,r,e){var n=t.length;(!r||r<0)&&(r=0),(!e||e<0||e>n)&&(e=n);for(var i="",o=r;o<e;++o)i+=H(t[o]);return i}function N(t,r,e){for(var n=t.slice(r,e),i="",o=0;o<n.length;o+=2)i+=String.fromCharCode(n[o]+256*n[o+1]);return i}function F(t,r,e){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+r>e)throw new RangeError("Trying to access beyond buffer length")}function j(t,r,e,n,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>i||r<o)throw new RangeError('"value" argument is out of bounds');if(e+n>t.length)throw new RangeError("Index out of range")}function q(t,r,e,n){r<0&&(r=65535+r+1);for(var i=0,o=Math.min(t.length-e,2);i<o;++i)t[e+i]=(r&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function V(t,r,e,n){r<0&&(r=4294967295+r+1);for(var i=0,o=Math.min(t.length-e,4);i<o;++i)t[e+i]=r>>>8*(n?i:3-i)&255}function X(t,r,e,n,i,o){if(e+n>t.length)throw new RangeError("Index out of range");if(e<0)throw new RangeError("Index out of range")}function J(t,r,n,i,o){return o||X(t,r,n,4,3.4028234663852886e38,-3.4028234663852886e38),e.write(t,r,n,i,23,4),n+4}function Z(t,r,n,i,o){return o||X(t,r,n,8,1.7976931348623157e308,-1.7976931348623157e308),e.write(t,r,n,i,52,8),n+8}u.prototype.slice=function(t,r){var e,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r<t&&(r=t),u.TYPED_ARRAY_SUPPORT)(e=this.subarray(t,r)).__proto__=u.prototype;else{var i=r-t;e=new u(i,void 0);for(var o=0;o<i;++o)e[o]=this[o+t]}return e},u.prototype.readUIntLE=function(t,r,e){t|=0,r|=0,e||F(t,r,this.length);for(var n=this[t],i=1,o=0;++o<r&&(i*=256);)n+=this[t+o]*i;return n},u.prototype.readUIntBE=function(t,r,e){t|=0,r|=0,e||F(t,r,this.length);for(var n=this[t+--r],i=1;r>0&&(i*=256);)n+=this[t+--r]*i;return n},u.prototype.readUInt8=function(t,r){return r||F(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,r){return r||F(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,r){return r||F(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,r){return r||F(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,r){return r||F(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,r,e){t|=0,r|=0,e||F(t,r,this.length);for(var n=this[t],i=1,o=0;++o<r&&(i*=256);)n+=this[t+o]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*r)),n},u.prototype.readIntBE=function(t,r,e){t|=0,r|=0,e||F(t,r,this.length);for(var n=r,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*r)),o},u.prototype.readInt8=function(t,r){return r||F(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,r){r||F(t,2,this.length);var e=this[t]|this[t+1]<<8;return 32768&e?4294901760|e:e},u.prototype.readInt16BE=function(t,r){r||F(t,2,this.length);var e=this[t+1]|this[t]<<8;return 32768&e?4294901760|e:e},u.prototype.readInt32LE=function(t,r){return r||F(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,r){return r||F(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,r){return r||F(t,4,this.length),e.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,r){return r||F(t,4,this.length),e.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,r){return r||F(t,8,this.length),e.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,r){return r||F(t,8,this.length),e.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,r,e,n){(t=+t,r|=0,e|=0,n)||j(this,t,r,e,Math.pow(2,8*e)-1,0);var i=1,o=0;for(this[r]=255&t;++o<e&&(i*=256);)this[r+o]=t/i&255;return r+e},u.prototype.writeUIntBE=function(t,r,e,n){(t=+t,r|=0,e|=0,n)||j(this,t,r,e,Math.pow(2,8*e)-1,0);var i=e-1,o=1;for(this[r+i]=255&t;--i>=0&&(o*=256);)this[r+i]=t/o&255;return r+e},u.prototype.writeUInt8=function(t,r,e){return t=+t,r|=0,e||j(this,t,r,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=255&t,r+1},u.prototype.writeUInt16LE=function(t,r,e){return t=+t,r|=0,e||j(this,t,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):q(this,t,r,!0),r+2},u.prototype.writeUInt16BE=function(t,r,e){return t=+t,r|=0,e||j(this,t,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):q(this,t,r,!1),r+2},u.prototype.writeUInt32LE=function(t,r,e){return t=+t,r|=0,e||j(this,t,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=255&t):V(this,t,r,!0),r+4},u.prototype.writeUInt32BE=function(t,r,e){return t=+t,r|=0,e||j(this,t,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):V(this,t,r,!1),r+4},u.prototype.writeIntLE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);j(this,t,r,e,i-1,-i)}var o=0,s=1,u=0;for(this[r]=255&t;++o<e&&(s*=256);)t<0&&0===u&&0!==this[r+o-1]&&(u=1),this[r+o]=(t/s>>0)-u&255;return r+e},u.prototype.writeIntBE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);j(this,t,r,e,i-1,-i)}var o=e-1,s=1,u=0;for(this[r+o]=255&t;--o>=0&&(s*=256);)t<0&&0===u&&0!==this[r+o+1]&&(u=1),this[r+o]=(t/s>>0)-u&255;return r+e},u.prototype.writeInt8=function(t,r,e){return t=+t,r|=0,e||j(this,t,r,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=255&t,r+1},u.prototype.writeInt16LE=function(t,r,e){return t=+t,r|=0,e||j(this,t,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):q(this,t,r,!0),r+2},u.prototype.writeInt16BE=function(t,r,e){return t=+t,r|=0,e||j(this,t,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):q(this,t,r,!1),r+2},u.prototype.writeInt32LE=function(t,r,e){return t=+t,r|=0,e||j(this,t,r,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):V(this,t,r,!0),r+4},u.prototype.writeInt32BE=function(t,r,e){return t=+t,r|=0,e||j(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):V(this,t,r,!1),r+4},u.prototype.writeFloatLE=function(t,r,e){return J(this,t,r,!0,e)},u.prototype.writeFloatBE=function(t,r,e){return J(this,t,r,!1,e)},u.prototype.writeDoubleLE=function(t,r,e){return Z(this,t,r,!0,e)},u.prototype.writeDoubleBE=function(t,r,e){return Z(this,t,r,!1,e)},u.prototype.copy=function(t,r,e,n){if(e||(e=0),n||0===n||(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n<e&&(n=e),n===e)return 0;if(0===t.length||0===this.length)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(e<0||e>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r<n-e&&(n=t.length-r+e);var i,o=n-e;if(this===t&&e<r&&r<n)for(i=o-1;i>=0;--i)t[i+r]=this[i+e];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)t[i+r]=this[i+e];else Uint8Array.prototype.set.call(t,this.subarray(e,e+o),r);return o},u.prototype.fill=function(t,r,e,n){if("string"==typeof t){if("string"==typeof r?(n=r,r=0,e=this.length):"string"==typeof e&&(n=e,e=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!u.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof t&&(t&=255);if(r<0||this.length<r||this.length<e)throw new RangeError("Out of range index");if(e<=r)return this;var o;if(r>>>=0,e=void 0===e?this.length:e>>>0,t||(t=0),"number"==typeof t)for(o=r;o<e;++o)this[o]=t;else{var s=u.isBuffer(t)?t:K(new u(t,n).toString()),h=s.length;for(o=0;o<e-r;++o)this[o+r]=s[o%h]}return this};var $=/[^+\/0-9A-Za-z-_]/g;function z(t){if((t=G(t).replace($,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}function G(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function H(t){return t<16?"0"+t.toString(16):t.toString(16)}function K(t,r){var e;r=r||1/0;for(var n=t.length,i=null,o=[],s=0;s<n;++s){if((e=t.charCodeAt(s))>55295&&e<57344){if(!i){if(e>56319){(r-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(r-=3)>-1&&o.push(239,191,189);continue}i=e;continue}if(e<56320){(r-=3)>-1&&o.push(239,191,189),i=e;continue}e=65536+(i-55296<<10|e-56320)}else i&&(r-=3)>-1&&o.push(239,191,189);if(i=null,e<128){if((r-=1)<0)break;o.push(e)}else if(e<2048){if((r-=2)<0)break;o.push(e>>6|192,63&e|128)}else if(e<65536){if((r-=3)<0)break;o.push(e>>12|224,e>>6&63|128,63&e|128)}else{if(!(e<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;o.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}}return o}function Q(t){for(var r=[],e=0;e<t.length;++e)r.push(255&t.charCodeAt(e));return r}function W(t,r){for(var e,n,i,o=[],s=0;s<t.length&&!((r-=2)<0);++s)n=(e=t.charCodeAt(s))>>8,i=e%256,o.push(i),o.push(n);return o}function I(t){return r.toByteArray(z(t))}function x(t,r,e,n){for(var i=0;i<n&&!(i+e>=r.length||i>=t.length);++i)r[i+e]=t[i];return i}function d(t){return t!=t} 23 + },{"base64-js":"FRly","ieee754":"Quj6","isarray":"aq/z","buffer":"aMB2"}],"PoRW":[function(require,module,exports) { 24 + var Buffer = require("buffer").Buffer; 25 + var e=require("buffer").Buffer,n=this&&this.__awaiter||function(e,n,r,t){return new(r||(r=Promise))(function(i,o){function u(e){try{l(t.next(e))}catch(n){o(n)}}function f(e){try{l(t.throw(e))}catch(n){o(n)}}function l(e){e.done?i(e.value):new r(function(n){n(e.value)}).then(u,f)}l((t=t.apply(e,n||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const r=require("./type");class t{constructor(){this.position=0,this.numBuffer=e.alloc(4)}readToken(t,i=null,o){return n(this,void 0,void 0,function*(){const n=e.alloc(t.len),u=yield this.readBuffer(n,0,t.len,i);if(!o&&u<t.len)throw new Error(r.endOfFile);return t.get(n,0)})}peekToken(t,i=this.position,o){return n(this,void 0,void 0,function*(){const n=e.alloc(t.len),u=yield this.peekBuffer(n,0,t.len,i);if(!o&&u<t.len)throw new Error(r.endOfFile);return t.get(n,0)})}readNumber(e){return n(this,void 0,void 0,function*(){if((yield this.readBuffer(this.numBuffer,0,e.len,null))<e.len)throw new Error(r.endOfFile);return e.get(this.numBuffer,0)})}peekNumber(e){return n(this,void 0,void 0,function*(){if((yield this.peekBuffer(this.numBuffer,0,e.len))<e.len)throw new Error(r.endOfFile);return e.get(this.numBuffer,0)})}close(){return n(this,void 0,void 0,function*(){})}}exports.AbstractTokenizer=t; 26 + },{"./type":"2Fe+","buffer":"aMB2"}],"ebtb":[function(require,module,exports) { 27 + module.exports=function(o){return o&&"object"==typeof o&&"function"==typeof o.copy&&"function"==typeof o.fill&&"function"==typeof o.readUInt8}; 28 + },{}],"Zvxt":[function(require,module,exports) { 29 + "function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}; 30 + },{}],"KpDW":[function(require,module,exports) { 31 + var global = arguments[3]; 32 + var process = require("process"); 33 + var e=arguments[3],t=require("process"),r=/%[sdj%]/g;exports.format=function(e){if(!m(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(i(arguments[n]));return t.join(" ")}n=1;for(var o=arguments,u=o.length,s=String(e).replace(r,function(e){if("%%"===e)return"%";if(n>=u)return e;switch(e){case"%s":return String(o[n++]);case"%d":return Number(o[n++]);case"%j":try{return JSON.stringify(o[n++])}catch(t){return"[Circular]"}default:return e}}),c=o[n];n<u;c=o[++n])h(c)||!z(c)?s+=" "+c:s+=" "+i(c);return s},exports.deprecate=function(r,n){if(j(e.process))return function(){return exports.deprecate(r,n).apply(this,arguments)};if(!0===t.noDeprecation)return r;var o=!1;return function(){if(!o){if(t.throwDeprecation)throw new Error(n);t.traceDeprecation?console.trace(n):console.error(n),o=!0}return r.apply(this,arguments)}};var n,o={};function i(e,t){var r={seen:[],stylize:s};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),x(t)?r.showHidden=t:t&&exports._extend(r,t),j(r.showHidden)&&(r.showHidden=!1),j(r.depth)&&(r.depth=2),j(r.colors)&&(r.colors=!1),j(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),l(r,e,r.depth)}function u(e,t){var r=i.styles[t];return r?"["+i.colors[r][0]+"m"+e+"["+i.colors[r][1]+"m":e}function s(e,t){return e}function c(e){var t={};return e.forEach(function(e,r){t[e]=!0}),t}function l(e,t,r){if(e.customInspect&&t&&D(t.inspect)&&t.inspect!==exports.inspect&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return m(n)||(n=l(e,n,r)),n}var o=p(e,t);if(o)return o;var i=Object.keys(t),u=c(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),E(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return a(t);if(0===i.length){if(D(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(O(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(w(t))return e.stylize(Date.prototype.toString.call(t),"date");if(E(t))return a(t)}var x,h="",b=!1,v=["{","}"];(d(t)&&(b=!0,v=["[","]"]),D(t))&&(h=" [Function"+(t.name?": "+t.name:"")+"]");return O(t)&&(h=" "+RegExp.prototype.toString.call(t)),w(t)&&(h=" "+Date.prototype.toUTCString.call(t)),E(t)&&(h=" "+a(t)),0!==i.length||b&&0!=t.length?r<0?O(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),x=b?f(e,t,r,u,i):i.map(function(n){return y(e,t,r,u,n,b)}),e.seen.pop(),g(x,h,v)):v[0]+h+v[1]}function p(e,t){if(j(t))return e.stylize("undefined","undefined");if(m(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return v(t)?e.stylize(""+t,"number"):x(t)?e.stylize(""+t,"boolean"):h(t)?e.stylize("null","null"):void 0}function a(e){return"["+Error.prototype.toString.call(e)+"]"}function f(e,t,r,n,o){for(var i=[],u=0,s=t.length;u<s;++u)$(t,String(u))?i.push(y(e,t,r,n,String(u),!0)):i.push("");return o.forEach(function(o){o.match(/^\d+$/)||i.push(y(e,t,r,n,o,!0))}),i}function y(e,t,r,n,o,i){var u,s,c;if((c=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(s=e.stylize("[Setter]","special")),$(n,o)||(u="["+o+"]"),s||(e.seen.indexOf(c.value)<0?(s=h(r)?l(e,c.value,null):l(e,c.value,r-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+s.split("\n").map(function(e){return" "+e}).join("\n")):s=e.stylize("[Circular]","special")),j(u)){if(i&&o.match(/^\d+$/))return s;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+s}function g(e,t,r){return e.reduce(function(e,t){return 0,t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function d(e){return Array.isArray(e)}function x(e){return"boolean"==typeof e}function h(e){return null===e}function b(e){return null==e}function v(e){return"number"==typeof e}function m(e){return"string"==typeof e}function S(e){return"symbol"==typeof e}function j(e){return void 0===e}function O(e){return z(e)&&"[object RegExp]"===A(e)}function z(e){return"object"==typeof e&&null!==e}function w(e){return z(e)&&"[object Date]"===A(e)}function E(e){return z(e)&&("[object Error]"===A(e)||e instanceof Error)}function D(e){return"function"==typeof e}function N(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function A(e){return Object.prototype.toString.call(e)}function J(e){return e<10?"0"+e.toString(10):e.toString(10)}exports.debuglog=function(e){if(j(n)&&(n=""),e=e.toUpperCase(),!o[e])if(new RegExp("\\b"+e+"\\b","i").test(n)){var r=t.pid;o[e]=function(){var t=exports.format.apply(exports,arguments);console.error("%s %d: %s",e,r,t)}}else o[e]=function(){};return o[e]},exports.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},exports.isArray=d,exports.isBoolean=x,exports.isNull=h,exports.isNullOrUndefined=b,exports.isNumber=v,exports.isString=m,exports.isSymbol=S,exports.isUndefined=j,exports.isRegExp=O,exports.isObject=z,exports.isDate=w,exports.isError=E,exports.isFunction=D,exports.isPrimitive=N,exports.isBuffer=require("./support/isBuffer");var R=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function H(){var e=new Date,t=[J(e.getHours()),J(e.getMinutes()),J(e.getSeconds())].join(":");return[e.getDate(),R[e.getMonth()],t].join(" ")}function $(e,t){return Object.prototype.hasOwnProperty.call(e,t)}exports.log=function(){console.log("%s - %s",H(),exports.format.apply(exports,arguments))},exports.inherits=require("inherits"),exports._extend=function(e,t){if(!t||!z(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}; 34 + },{"./support/isBuffer":"ebtb","inherits":"Zvxt","process":"g5I+"}],"g2FE":[function(require,module,exports) { 35 + var global = arguments[3]; 36 + var t=arguments[3];function e(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function r(e){return t.Buffer&&"function"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var n=require("util/"),i=Object.prototype.hasOwnProperty,o=Array.prototype.slice,u="foo"===function(){}.name;function a(t){return Object.prototype.toString.call(t)}function f(e){return!r(e)&&("function"==typeof t.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var c=module.exports=y,s=/\s*function\s+([^\(\s]*)\s*/;function l(t){if(n.isFunction(t)){if(u)return t.name;var e=t.toString().match(s);return e&&e[1]}}function p(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function g(t){if(u||!n.isFunction(t))return n.inspect(t);var e=l(t);return"[Function"+(e?": "+e:"")+"]"}function h(t){return p(g(t.actual),128)+" "+t.operator+" "+p(g(t.expected),128)}function E(t,e,r,n,i){throw new c.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function y(t,e){t||E(t,!0,e,"==",c.ok)}function d(t,i,o,u){if(t===i)return!0;if(r(t)&&r(i))return 0===e(t,i);if(n.isDate(t)&&n.isDate(i))return t.getTime()===i.getTime();if(n.isRegExp(t)&&n.isRegExp(i))return t.source===i.source&&t.global===i.global&&t.multiline===i.multiline&&t.lastIndex===i.lastIndex&&t.ignoreCase===i.ignoreCase;if(null!==t&&"object"==typeof t||null!==i&&"object"==typeof i){if(f(t)&&f(i)&&a(t)===a(i)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===e(new Uint8Array(t.buffer),new Uint8Array(i.buffer));if(r(t)!==r(i))return!1;var c=(u=u||{actual:[],expected:[]}).actual.indexOf(t);return-1!==c&&c===u.expected.indexOf(i)||(u.actual.push(t),u.expected.push(i),b(t,i,o,u))}return o?t===i:t==i}function m(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function b(t,e,r,i){if(null==t||null==e)return!1;if(n.isPrimitive(t)||n.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var u=m(t),a=m(e);if(u&&!a||!u&&a)return!1;if(u)return d(t=o.call(t),e=o.call(e),r);var f,c,s=O(t),l=O(e);if(s.length!==l.length)return!1;for(s.sort(),l.sort(),c=s.length-1;c>=0;c--)if(s[c]!==l[c])return!1;for(c=s.length-1;c>=0;c--)if(!d(t[f=s[c]],e[f],r,i))return!1;return!0}function v(t,e,r){d(t,e,!0)&&E(t,e,r,"notDeepStrictEqual",v)}function q(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(r){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function x(t){var e;try{t()}catch(r){e=r}return e}function w(t,e,r,i){var o;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),o=x(e),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),t&&!o&&E(o,r,"Missing expected exception"+i);var u="string"==typeof i,a=!t&&o&&!r;if((!t&&n.isError(o)&&u&&q(o,r)||a)&&E(o,r,"Got unwanted exception"+i),t&&o&&r&&!q(o,r)||!t&&o)throw o}c.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=h(this),this.generatedMessage=!0);var e=t.stackStartFunction||E;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=l(e),o=n.indexOf("\n"+i);if(o>=0){var u=n.indexOf("\n",o+1);n=n.substring(u+1)}this.stack=n}}},n.inherits(c.AssertionError,Error),c.fail=E,c.ok=y,c.equal=function(t,e,r){t!=e&&E(t,e,r,"==",c.equal)},c.notEqual=function(t,e,r){t==e&&E(t,e,r,"!=",c.notEqual)},c.deepEqual=function(t,e,r){d(t,e,!1)||E(t,e,r,"deepEqual",c.deepEqual)},c.deepStrictEqual=function(t,e,r){d(t,e,!0)||E(t,e,r,"deepStrictEqual",c.deepStrictEqual)},c.notDeepEqual=function(t,e,r){d(t,e,!1)&&E(t,e,r,"notDeepEqual",c.notDeepEqual)},c.notDeepStrictEqual=v,c.strictEqual=function(t,e,r){t!==e&&E(t,e,r,"===",c.strictEqual)},c.notStrictEqual=function(t,e,r){t===e&&E(t,e,r,"!==",c.notStrictEqual)},c.throws=function(t,e,r){w(!0,t,e,r)},c.doesNotThrow=function(t,e,r){w(!1,t,e,r)},c.ifError=function(t){if(t)throw t};var O=Object.keys||function(t){var e=[];for(var r in t)i.call(t,r)&&e.push(r);return e}; 37 + },{"util/":"KpDW"}],"3mbL":[function(require,module,exports) { 38 + "use strict";var e=this&&this.__awaiter||function(e,t,r,s){return new(r||(r=Promise))(function(n,i){function o(e){try{u(s.next(e))}catch(t){i(t)}}function h(e){try{u(s.throw(e))}catch(t){i(t)}}function u(e){e.done?n(e.value):new r(function(t){t(e.value)}).then(o,h)}u((s=s.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const t=require("assert");class r{constructor(){this.promise=new Promise((e,t)=>{this.reject=t,this.resolve=e})}}exports.endOfStream="End-Of-Stream";class s{constructor(e){if(this.s=e,this.endOfStream=!1,this.peekQueue=[],!e.read||!e.once)throw new Error("Expected an instance of stream.Readable");this.s.once("end",()=>this.reject(new Error(exports.endOfStream))),this.s.once("error",e=>this.reject(e)),this.s.once("close",()=>this.reject(new Error("Stream closed")))}peek(t,r,s){return e(this,void 0,void 0,function*(){const e=yield this.read(t,r,s);return this.peekQueue.push(t.slice(r,r+e)),e})}read(t,r,s){return e(this,void 0,void 0,function*(){if(0===s)return 0;if(0===this.peekQueue.length&&this.endOfStream)throw new Error(exports.endOfStream);let e=s,n=0;for(;this.peekQueue.length>0&&e>0;){const s=this.peekQueue.pop(),i=Math.min(s.length,e);s.copy(t,r+n,0,i),n+=i,e-=i,i<s.length&&this.peekQueue.push(s.slice(i))}return e>0&&!this.endOfStream&&(n+=(yield this._read(t,r+n,e))),n})}_read(s,n,i){return e(this,void 0,void 0,function*(){t.ok(!this.request,"Concurrent read operation?");const e=this.s.read(i);return e?(e.copy(s,n),e.length):(this.request={buffer:s,offset:n,length:i,deferred:new r},this.s.once("readable",()=>{this.tryRead()}),this.request.deferred.promise.then(e=>(this.request=null,e)).catch(e=>{throw this.request=null,e}))})}tryRead(){const e=this.s.read(this.request.length);e?(e.copy(this.request.buffer,this.request.offset),this.request.deferred.resolve(e.length)):this.s.once("readable",()=>{this.tryRead()})}reject(e){this.endOfStream=!0,this.request&&(this.request.deferred.reject(e),this.request=null)}}exports.StreamReader=s; 39 + },{"assert":"g2FE"}],"h40E":[function(require,module,exports) { 40 + var Buffer = require("buffer").Buffer; 41 + var e=require("buffer").Buffer,r=this&&this.__awaiter||function(e,r,t,i){return new(t||(t=Promise))(function(n,o){function s(e){try{f(i.next(e))}catch(r){o(r)}}function a(e){try{f(i.throw(e))}catch(r){o(r)}}function f(e){e.done?n(e.value):new t(function(r){r(e.value)}).then(s,a)}f((i=i.apply(e,r||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const t=require("./AbstractTokenizer"),i=require("./type"),n=require("then-read-stream"),o=require("debug"),s=o("strtok3:ReadStreamTokenizer");class a extends t.AbstractTokenizer{constructor(e,r){super(),this.streamReader=new n.StreamReader(e),this.fileSize=r}readBuffer(e,t=0,o=e.length,s){return r(this,void 0,void 0,function*(){if(0===o)return 0;if(s){const r=s-this.position;if(r>0)return yield this.ignore(s-this.position),this.readBuffer(e,t,o);if(r<0)throw new Error("Cannot read from a negative offset in a stream")}let r;try{r=yield this.streamReader.read(e,t,o),this.position+=r}catch(a){throw a.message===n.endOfStream?new Error(i.endOfFile):a}if(r<o)throw new Error(i.endOfFile);return r})}peekBuffer(t,o=0,s=t.length,a,f){return r(this,void 0,void 0,function*(){let r;if(a){const i=a-this.position;if(i>0){const n=e.alloc(s+i);return r=yield this.peekBuffer(n,0,i+s,void 0,f),n.copy(t,o,i),r-i}if(i<0)throw new Error("Cannot peek from a negative offset in a stream")}try{r=yield this.streamReader.peek(t,o,s)}catch(u){throw u.message===n.endOfStream?new Error(i.endOfFile):u}if(!f&&r<s)throw new Error(i.endOfFile);return r})}ignore(t){return r(this,void 0,void 0,function*(){s(`ignore ${this.position}...${this.position+t-1}`);const r=e.alloc(t);return this.readBuffer(r)})}}exports.ReadStreamTokenizer=a; 42 + },{"./AbstractTokenizer":"PoRW","./type":"2Fe+","then-read-stream":"3mbL","debug":"j+D9","buffer":"aMB2"}],"FUZC":[function(require,module,exports) { 43 + "use strict";var t=this&&this.__awaiter||function(t,i,e,n){return new(e||(e=Promise))(function(o,r){function s(t){try{u(n.next(t))}catch(i){r(i)}}function h(t){try{u(n.throw(t))}catch(i){r(i)}}function u(t){t.done?o(t.value):new e(function(i){i(t.value)}).then(s,h)}u((n=n.apply(t,i||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const i=require("./type");class e{constructor(t){this.buffer=t,this.position=0,this.fileSize=t.length}readBuffer(i,e,n,o){return t(this,void 0,void 0,function*(){return this.position=o||this.position,this.peekBuffer(i,e,n,this.position).then(t=>(this.position+=t,t))})}peekBuffer(e,n,o,r,s=!1){return t(this,void 0,void 0,function*(){r=r||this.position,o||(o=e.length);const t=Math.min(this.buffer.length-r,o);if(!s&&t<o)throw new Error(i.endOfFile);return this.buffer.copy(e,n,r,r+t),t})}readToken(i,e){return t(this,void 0,void 0,function*(){this.position=e||this.position;try{const n=this.peekToken(i,this.position);return this.position+=i.len,n}catch(t){throw this.position+=this.buffer.length-e,t}})}peekToken(e,n=this.position){return t(this,void 0,void 0,function*(){if(this.buffer.length-n<e.len)throw new Error(i.endOfFile);return e.get(this.buffer,n)})}readNumber(i){return t(this,void 0,void 0,function*(){return this.readToken(i)})}peekNumber(i){return t(this,void 0,void 0,function*(){return this.peekToken(i)})}ignore(i){return t(this,void 0,void 0,function*(){const t=Math.min(this.buffer.length-this.position,i);return this.position+=t,t})}close(){return t(this,void 0,void 0,function*(){})}}exports.BufferTokenizer=e; 44 + },{"./type":"2Fe+"}],"tvmF":[function(require,module,exports) { 45 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./ReadStreamTokenizer"),r=require("./BufferTokenizer");function t(r,t){return new e.ReadStreamTokenizer(r,t)}function n(e){return new r.BufferTokenizer(e)}exports.fromStream=t,exports.fromBuffer=n; 46 + },{"./ReadStreamTokenizer":"h40E","./BufferTokenizer":"FUZC"}],"gPQA":[function(require,module,exports) { 47 + var Buffer = require("buffer").Buffer; 48 + var e=require("buffer").Buffer;function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e){return r(e)||m(e)||f()}function f(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function m(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function r(e){if(Array.isArray(e)){for(var t=0,i=new Array(e.length);t<e.length;t++)i[t]=e[t];return i}}var o=function(e){return i(e).map(function(e){return e.charCodeAt(0)})},n=o("META-INF/mozilla.rsa"),a=o("[Content_Types].xml"),p=o("_rels/.rels");function u(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=e[t],f=1,m=0;++m<8;)f*=256,i+=e[t+m]*f;return i}module.exports=function(f){if(!(f instanceof Uint8Array||e.isBuffer(f)))throw new TypeError("Expected the `input` argument to be of type `Uint8Array` or `Buffer`, got `".concat(t(f),"`"));var m=f instanceof Uint8Array?f:new Uint8Array(f);if(!(m&&m.length>1))return null;var r=function(e,t){t=Object.assign({offset:0},t);for(var i=0;i<e.length;i++)if(t.mask){if(e[i]!==(t.mask[i]&m[i+t.offset]))return!1}else if(e[i]!==m[i+t.offset])return!1;return!0},s=function(e,t){return r(o(e),t)};if(r([255,216,255]))return{ext:"jpg",mime:"image/jpeg"};if(r([137,80,78,71,13,10,26,10]))return{ext:"png",mime:"image/png"};if(r([71,73,70]))return{ext:"gif",mime:"image/gif"};if(r([87,69,66,80],{offset:8}))return{ext:"webp",mime:"image/webp"};if(r([70,76,73,70]))return{ext:"flif",mime:"image/flif"};if((r([73,73,42,0])||r([77,77,0,42]))&&r([67,82],{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(r([73,73,42,0])||r([77,77,0,42]))return{ext:"tif",mime:"image/tiff"};if(r([66,77]))return{ext:"bmp",mime:"image/bmp"};if(r([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(r([56,66,80,83]))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(r([80,75,3,4])){if(r([109,105,109,101,116,121,112,101,97,112,112,108,105,99,97,116,105,111,110,47,101,112,117,98,43,122,105,112],{offset:30}))return{ext:"epub",mime:"application/epub+zip"};if(r(n,{offset:30}))return{ext:"xpi",mime:"application/x-xpinstall"};if(s("mimetypeapplication/vnd.oasis.opendocument.text",{offset:30}))return{ext:"odt",mime:"application/vnd.oasis.opendocument.text"};if(s("mimetypeapplication/vnd.oasis.opendocument.spreadsheet",{offset:30}))return{ext:"ods",mime:"application/vnd.oasis.opendocument.spreadsheet"};if(s("mimetypeapplication/vnd.oasis.opendocument.presentation",{offset:30}))return{ext:"odp",mime:"application/vnd.oasis.opendocument.presentation"};var x=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.findIndex(function(e,i,f){return i>=t&&80===f[i]&&75===f[i+1]&&3===f[i+2]&&4===f[i+3]})},c=0,l=!1,d=null;do{var g=c+30;if(l||(l=r(a,{offset:g})||r(p,{offset:g})),d||(s("word/",{offset:g})?d={ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}:s("ppt/",{offset:g})?d={ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}:s("xl/",{offset:g})&&(d={ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})),l&&d)return d;c=x(m,g)}while(c>=0);if(d)return d}if(r([80,75])&&(3===m[2]||5===m[2]||7===m[2])&&(4===m[3]||6===m[3]||8===m[3]))return{ext:"zip",mime:"application/zip"};if(r([117,115,116,97,114],{offset:257}))return{ext:"tar",mime:"application/x-tar"};if(r([82,97,114,33,26,7])&&(0===m[6]||1===m[6]))return{ext:"rar",mime:"application/x-rar-compressed"};if(r([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(r([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(r([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(r([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(r([51,103,112,53])||r([0,0,0])&&r([102,116,121,112],{offset:4})&&(r([109,112,52,49],{offset:8})||r([109,112,52,50],{offset:8})||r([105,115,111,109],{offset:8})||r([105,115,111,50],{offset:8})||r([109,109,112,52],{offset:8})||r([77,52,86],{offset:8})||r([100,97,115,104],{offset:8})))return{ext:"mp4",mime:"video/mp4"};if(r([77,84,104,100]))return{ext:"mid",mime:"audio/midi"};if(r([26,69,223,163])){var v=m.subarray(4,4100),b=v.findIndex(function(e,t,i){return 66===i[t]&&130===i[t+1]});if(-1!==b){var y=b+3,h=function(e){return i(e).every(function(e,t){return v[y+t]===e.charCodeAt(0)})};if(h("matroska"))return{ext:"mkv",mime:"video/x-matroska"};if(h("webm"))return{ext:"webm",mime:"video/webm"}}}if(r([0,0,0,20,102,116,121,112,113,116,32,32])||r([102,114,101,101],{offset:4})||r([102,116,121,112,113,116,32,32],{offset:4})||r([109,100,97,116],{offset:4})||r([109,111,111,118],{offset:4})||r([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(r([82,73,70,70])){if(r([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(r([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/vnd.wave"};if(r([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(r([48,38,178,117,142,102,207,17,166,217])){var w=30;do{var k=u(m,w+16);if(r([145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101],{offset:w})){if(r([64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43],{offset:w+24}))return{ext:"wma",mime:"audio/x-ms-wma"};if(r([192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43],{offset:w+24}))return{ext:"wmv",mime:"video/x-ms-asf"};break}w+=k}while(w+24<=m.length);return{ext:"asf",mime:"application/vnd.ms-asf"}}if(r([0,0,1,186])||r([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(r([102,116,121,112,51,103],{offset:4}))return{ext:"3gp",mime:"video/3gpp"};for(var j=0;j<2&&j<m.length-16;j++){if(r([73,68,51],{offset:j})||r([255,226],{offset:j,mask:[255,226]}))return{ext:"mp3",mime:"audio/mpeg"};if(r([255,228],{offset:j,mask:[255,228]}))return{ext:"mp2",mime:"audio/mpeg"};if(r([255,248],{offset:j,mask:[255,252]}))return{ext:"mp2",mime:"audio/mpeg"};if(r([255,240],{offset:j,mask:[255,252]}))return{ext:"mp4",mime:"audio/mpeg"}}if(r([102,116,121,112,77,52,65],{offset:4})||r([77,52,65,32]))return{ext:"m4a",mime:"audio/mp4"};if(r([79,112,117,115,72,101,97,100],{offset:28}))return{ext:"opus",mime:"audio/opus"};if(r([79,103,103,83]))return r([128,116,104,101,111,114,97],{offset:28})?{ext:"ogv",mime:"video/ogg"}:r([1,118,105,100,101,111,0],{offset:28})?{ext:"ogm",mime:"video/ogg"}:r([127,70,76,65,67],{offset:28})?{ext:"oga",mime:"audio/ogg"}:r([83,112,101,101,120,32,32],{offset:28})?{ext:"spx",mime:"audio/ogg"}:r([1,118,111,114,98,105,115],{offset:28})?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"};if(r([102,76,97,67]))return{ext:"flac",mime:"audio/x-flac"};if(r([77,65,67,32]))return{ext:"ape",mime:"audio/ape"};if(r([119,118,112,107]))return{ext:"wv",mime:"audio/wavpack"};if(r([35,33,65,77,82,10]))return{ext:"amr",mime:"audio/amr"};if(r([37,80,68,70]))return{ext:"pdf",mime:"application/pdf"};if(r([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if((67===m[0]||70===m[0])&&r([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(r([123,92,114,116,102]))return{ext:"rtf",mime:"application/rtf"};if(r([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(r([119,79,70,70])&&(r([0,1,0,0],{offset:4})||r([79,84,84,79],{offset:4})))return{ext:"woff",mime:"font/woff"};if(r([119,79,70,50])&&(r([0,1,0,0],{offset:4})||r([79,84,84,79],{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(r([76,80],{offset:34})&&(r([0,0,1],{offset:8})||r([1,0,2],{offset:8})||r([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(r([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(r([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(r([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(r([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(r([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(r([37,33]))return{ext:"ps",mime:"application/postscript"};if(r([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(r([83,81,76,105]))return{ext:"sqlite",mime:"application/x-sqlite3"};if(r([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(r([67,114,50,52]))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(r([77,83,67,70])||r([73,83,99,40]))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(r([33,60,97,114,99,104,62,10,100,101,98,105,97,110,45,98,105,110,97,114,121]))return{ext:"deb",mime:"application/x-deb"};if(r([33,60,97,114,99,104,62]))return{ext:"ar",mime:"application/x-unix-archive"};if(r([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(r([31,160])||r([31,157]))return{ext:"Z",mime:"application/x-compress"};if(r([76,90,73,80]))return{ext:"lz",mime:"application/x-lzip"};if(r([208,207,17,224,161,177,26,225]))return{ext:"msi",mime:"application/x-msi"};if(r([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(r([71],{offset:4})&&(r([71],{offset:192})||r([71],{offset:196})))return{ext:"mts",mime:"video/mp2t"};if(r([66,76,69,78,68,69,82]))return{ext:"blend",mime:"application/x-blender"};if(r([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(r([0,0,0,12,106,80,32,32,13,10,135,10])){if(r([106,112,50,32],{offset:20}))return{ext:"jp2",mime:"image/jp2"};if(r([106,112,120,32],{offset:20}))return{ext:"jpx",mime:"image/jpx"};if(r([106,112,109,32],{offset:20}))return{ext:"jpm",mime:"image/jpm"};if(r([109,106,112,50],{offset:20}))return{ext:"mj2",mime:"image/mj2"}}if(r([70,79,82,77,0]))return{ext:"aif",mime:"audio/aiff"};if(s("<?xml "))return{ext:"xml",mime:"application/xml"};if(r([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(r([102,116,121,112],{offset:4})){if(r([109,105,102,49],{offset:8}))return{ext:"heic",mime:"image/heif"};if(r([109,115,102,49],{offset:8}))return{ext:"heic",mime:"image/heif-sequence"};if(r([104,101,105,99],{offset:8})||r([104,101,105,120],{offset:8}))return{ext:"heic",mime:"image/heic"};if(r([104,101,118,99],{offset:8})||r([104,101,118,120],{offset:8}))return{ext:"heic",mime:"image/heic-sequence"}}return r([171,75,84,88,32,49,49,187,13,10,26,10])?{ext:"ktx",mime:"image/ktx"}:r([68,73,67,77],{offset:128})?{ext:"dcm",mime:"application/dicom"}:r([77,80,43])?{ext:"mpc",mime:"audio/x-musepack"}:r([77,80,67,75])?{ext:"mpc",mime:"audio/x-musepack"}:r([66,69,71,73,78,58])?{ext:"ics",mime:"text/calendar"}:r([103,108,84,70,2,0,0,0])?{ext:"glb",mime:"model/gltf-binary"}:null},Object.defineProperty(module.exports,"minimumBytes",{value:4100}); 49 + },{"buffer":"aMB2"}],"atBn":[function(require,module,exports) { 50 + var e=/; *([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *= *("(?:[ !\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u0020-\u007e])*"|[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) */g,r=/^[\u0020-\u007e\u0080-\u00ff]+$/,t=/^[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+$/,a=/\\([\u0000-\u007f])/g,n=/([\\"])/g,o=/^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/,i=/^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/,f=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;function u(e){if(!e||"object"!=typeof e)throw new TypeError("argument obj is required");var r=e.parameters,a=e.subtype,n=e.suffix,f=e.type;if(!f||!i.test(f))throw new TypeError("invalid type");if(!a||!o.test(a))throw new TypeError("invalid subtype");var u=f+"/"+a;if(n){if(!i.test(n))throw new TypeError("invalid suffix");u+="+"+n}if(r&&"object"==typeof r)for(var s,p=Object.keys(r).sort(),w=0;w<p.length;w++){if(s=p[w],!t.test(s))throw new TypeError("invalid parameter name");u+="; "+s+"="+y(r[s])}return u}function s(r){if(!r)throw new TypeError("argument string is required");if("object"==typeof r&&(r=p(r)),"string"!=typeof r)throw new TypeError("argument string is required to be a string");var t,n,o,i=r.indexOf(";"),f=w(-1!==i?r.substr(0,i):r),u={};for(e.lastIndex=i;n=e.exec(r);){if(n.index!==i)throw new TypeError("invalid parameter format");i+=n[0].length,t=n[1].toLowerCase(),'"'===(o=n[2])[0]&&(o=o.substr(1,o.length-2).replace(a,"$1")),u[t]=o}if(-1!==i&&i!==r.length)throw new TypeError("invalid parameter format");return f.parameters=u,f}function p(e){return"function"==typeof e.getHeader?e.getHeader("content-type"):"object"==typeof e.headers?e.headers&&e.headers["content-type"]:void 0}function y(e){var a=String(e);if(t.test(a))return a;if(a.length>0&&!r.test(a))throw new TypeError("invalid parameter value");return'"'+a.replace(n,"\\$1")+'"'}function w(e){var r=f.exec(e.toLowerCase());if(!r)throw new TypeError("invalid media type");var t,a=r[1],n=r[2],o=n.lastIndexOf("+");return-1!==o&&(t=n.substr(o+1),n=n.substr(0,o)),{type:a,subtype:n,suffix:t}}exports.format=u,exports.parse=s; 51 + },{}],"Wlj4":[function(require,module,exports) { 52 + "use strict";function i(i){return exports.commonTags.hasOwnProperty(i)&&!exports.commonTags[i].multiple}function l(i){return!exports.commonTags[i].multiple||exports.commonTags[i].unique}Object.defineProperty(exports,"__esModule",{value:!0}),exports.commonTags={year:{multiple:!1},track:{multiple:!1},disk:{multiple:!1},title:{multiple:!1},artist:{multiple:!1},artists:{multiple:!0,unique:!0},albumartist:{multiple:!1},album:{multiple:!1},date:{multiple:!1},originaldate:{multiple:!1},originalyear:{multiple:!1},comment:{multiple:!0,unique:!1},genre:{multiple:!0,unique:!0},picture:{multiple:!0,unique:!0},composer:{multiple:!0,unique:!0},lyrics:{multiple:!0,unique:!1},albumsort:{multiple:!1,unique:!0},titlesort:{multiple:!1,unique:!0},work:{multiple:!1,unique:!0},artistsort:{multiple:!1,unique:!0},albumartistsort:{multiple:!1,unique:!0},composersort:{multiple:!0,unique:!0},lyricist:{multiple:!0,unique:!0},writer:{multiple:!0,unique:!0},conductor:{multiple:!0,unique:!0},remixer:{multiple:!0,unique:!0},arranger:{multiple:!0,unique:!0},engineer:{multiple:!0,unique:!0},producer:{multiple:!0,unique:!0},technician:{multiple:!0,unique:!0},djmixer:{multiple:!0,unique:!0},mixer:{multiple:!0,unique:!0},label:{multiple:!0,unique:!0},grouping:{multiple:!1},subtitle:{multiple:!1},discsubtitle:{multiple:!1},totaltracks:{multiple:!1},totaldiscs:{multiple:!1},compilation:{multiple:!1},rating:{multiple:!0},bpm:{multiple:!1},mood:{multiple:!1},media:{multiple:!1},catalognumber:{multiple:!0,unique:!0},tvShow:{multiple:!1},tvShowSort:{multiple:!1},tvSeason:{multiple:!1},tvEpisode:{multiple:!1},tvEpisodeId:{multiple:!1},tvNetwork:{multiple:!1},podcast:{multiple:!1},podcasturl:{multiple:!1},releasestatus:{multiple:!1},releasetype:{multiple:!0},releasecountry:{multiple:!1},script:{multiple:!1},language:{multiple:!1},copyright:{multiple:!1},license:{multiple:!1},encodedby:{multiple:!1},encodersettings:{multiple:!1},gapless:{multiple:!1},barcode:{multiple:!1},isrc:{multiple:!0},asin:{multiple:!1},musicbrainz_recordingid:{multiple:!1},musicbrainz_trackid:{multiple:!1},musicbrainz_albumid:{multiple:!1},musicbrainz_artistid:{multiple:!0},musicbrainz_albumartistid:{multiple:!0},musicbrainz_releasegroupid:{multiple:!1},musicbrainz_workid:{multiple:!1},musicbrainz_trmid:{multiple:!1},musicbrainz_discid:{multiple:!1},acoustid_id:{multiple:!1},acoustid_fingerprint:{multiple:!1},musicip_puid:{multiple:!1},musicip_fingerprint:{multiple:!1},website:{multiple:!1},"performer:instrument":{multiple:!0,unique:!0},averageLevel:{multiple:!1},peakLevel:{multiple:!1},notes:{multiple:!0,unique:!1},key:{multiple:!1},originalalbum:{multiple:!1},originalartist:{multiple:!1},discogs_artist_id:{multiple:!0,unique:!0},discogs_release_id:{multiple:!1},discogs_label_id:{multiple:!1},discogs_master_release_id:{multiple:!1},discogs_votes:{multiple:!1},discogs_rating:{multiple:!1},replaygain_track_peak:{multiple:!1},replaygain_track_gain:{multiple:!1},description:{multiple:!0}},exports.isSingleton=i,exports.isUnique=l; 53 + },{}],"0BDm":[function(require,module,exports) { 54 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});class e{static decode(r){let t="";for(const n in r)r.hasOwnProperty(n)&&(t+=e.codePointToString(e.singleByteDecoder(r[n])));return t}static inRange(e,r,t){return r<=e&&e<=t}static codePointToString(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}static singleByteDecoder(r){if(e.inRange(r,0,127))return r;const t=e.windows1252[r-128];if(null===t)throw Error("invaliding encoding");return t}}e.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],exports.Windows1292Decoder=e; 55 + },{}],"5e0M":[function(require,module,exports) { 56 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const t=require("assert"),e=require("./Windows1292Decoder");class r{static findZero(t,e,r,n){let i=e;if("utf16"===n){for(;0!==t[i]||0!==t[i+1];){if(i>=r)return r;i+=2}return i}for(;0!==t[i];){if(i>=r)return r;i++}return i}static trimRightNull(t){const e=t.indexOf("\0");return-1===e?t:t.substr(0,e)}static swapBytes(e){const r=e.length;t.ok(0==(1&r),"Buffer length must be even");for(let t=0;t<r;t+=2){const r=e[t];e[t]=e[t+1],e[t+1]=r}return e}static readUTF16String(t){let e=0;return 254===t[0]&&255===t[1]?(t=r.swapBytes(t),e=2):255===t[0]&&254===t[1]&&(e=2),t.toString("ucs2",e)}static decodeString(t,n){if(255===t[0]&&254===t[1]&&254===t[2]&&255===t[3]&&(t=t.slice(2)),"utf16le"===n||"utf16"===n)return r.readUTF16String(t);if("utf8"===n)return t.toString("utf8");if("iso-8859-1"===n)return e.Windows1292Decoder.decode(t);throw Error(n+" encoding is not supported!")}static stripNulls(t){return t=(t=t.replace(/^\x00+/g,"")).replace(/\x00+$/g,"")}static getBitAllignedNumber(t,e,n,i){const s=n%8;let u=t[e+~~(n/8)];u&=255>>s;const o=8-s,c=i-o;return c<0?u>>=8-s-i:c>0&&(u<<=c,u|=r.getBitAllignedNumber(t,e,n+o,c)),u}static isBitSet(t,e,n){return 1===r.getBitAllignedNumber(t,e,n,1)}static a2hex(t){const e=[];for(let r=0,n=t.length;r<n;r++){const n=Number(t.charCodeAt(r)).toString(16);e.push(1===n.length?"0"+n:n)}return e.join(" ")}}r.strtokBITSET={get:(t,e,r)=>0!=(t[e]&1<<r),len:1},exports.default=r; 57 + },{"assert":"g2FE","./Windows1292Decoder":"0BDm"}],"1rOY":[function(require,module,exports) { 58 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("assert"),t=(e,t,n,r)=>{if(t+n>e.length){if("function"!=typeof r)throw new Error("Buffer out of space and no valid flush() function found");return r(e,t),0}return t};exports.UINT8={len:1,get:(e,t)=>e.readUInt8(t),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=0&&o<=255),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeUInt8(o,u),u-r+this.len}},exports.UINT16_LE={len:2,get:(e,t)=>e.readUInt16LE(t),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=0&&o<=65535),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeUInt16LE(o,u),u-r+this.len}},exports.UINT16_BE={len:2,get:(e,t)=>e.readUInt16BE(t),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=0&&o<=65535),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeUInt16BE(o,u),u-r+this.len}},exports.UINT24_LE={len:3,get:(e,t)=>e.readUIntLE(t,3),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=0&&o<=16777215),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeUIntLE(o,u,3),u-r+this.len}},exports.UINT24_BE={len:3,get:(e,t)=>e.readUIntBE(t,3),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=0&&o<=16777215),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeUIntBE(o,u,3),u-r+this.len}},exports.UINT32_LE={len:4,get:(e,t)=>e.readUInt32LE(t),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=0&&o<=4294967295),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeUInt32LE(o,u),u-r+this.len}},exports.UINT32_BE={len:4,get:(e,t)=>e.readUInt32BE(t),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=0&&o<=4294967295),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeUInt32BE(o,u),u-r+this.len}},exports.INT8={len:1,get:(e,t)=>e.readInt8(t),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=-128&&o<=127),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeInt8(o,u),u-r+this.len}},exports.INT16_BE={len:2,get:(e,t)=>e.readInt16BE(t),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=-32768&&o<=32767),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeInt16BE(o,u),u-r+this.len}},exports.INT16_LE={len:2,get:(e,t)=>e.readInt16LE(t),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=-32768&&o<=32767),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeInt16LE(o,u),u-r+this.len}},exports.INT24_LE={len:3,get:(e,t)=>e.readIntLE(t,3),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=-8388608&&o<=8388607),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeIntLE(o,u,3),u-r+this.len}},exports.INT24_BE={len:3,get:(e,t)=>e.readIntBE(t,3),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=-8388608&&o<=8388607),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeIntBE(o,u,3),u-r+this.len}},exports.INT32_BE={len:4,get:(e,t)=>e.readInt32BE(t),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=-2147483648&&o<=2147483647),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeInt32BE(o,u),u-r+this.len}},exports.INT32_LE={len:4,get:(e,t)=>e.readInt32LE(t),put(n,r,o,l){e.equal(typeof r,"number"),e.equal(typeof o,"number"),e.ok(o>=-2147483648&&o<=2147483647),e.ok(r>=0),e.ok(this.len<=n.length);const u=t(n,r,this.len,l);return n.writeInt32LE(o,u),u-r+this.len}},exports.UINT64_LE={len:8,get(e,t){return u(e,t,this.len)},put(e,t,n){return s(e,n,t,this.len)}},exports.INT64_LE={len:8,get(e,t){return i(e,t,this.len)},put(e,t,n){return p(e,n,t,this.len)}},exports.UINT64_BE={len:8,get(e,t){return h(e,t,this.len)},put(e,t,n){return a(e,n,t,this.len)}},exports.INT64_BE={len:8,get(e,t){return f(e,t,this.len)},put(e,t,n){return c(e,n,t,this.len)}};class n{constructor(e){this.len=e}get(e,t){return null}}exports.IgnoreType=n;class r{constructor(e){this.len=e}get(e,t){return e.slice(t,t+this.len)}}exports.BufferType=r;class o{constructor(e,t){this.len=e,this.encoding=t}get(e,t){return e.toString(this.encoding,t,t+this.len)}}exports.StringType=o;class l{constructor(e){this.len=e}static decode(e,t,n){let r="";for(let o=t;o<n;++o)r+=l.codePointToString(l.singleByteDecoder(e[o]));return r}static inRange(e,t,n){return t<=e&&e<=n}static codePointToString(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}static singleByteDecoder(e){if(l.inRange(e,0,127))return e;const t=l.windows1252[e-128];if(null===t)throw Error("invaliding encoding");return t}get(e,t=0){return l.decode(e,t,t+this.len)}}function u(e,t,n){n>>>=0;let r=e[t>>>=0],o=1,l=0;for(;++l<n&&(o*=256);)r+=e[t+l]*o;return r}function s(e,t,n,r){t=+t,r>>>=0;let o=1,l=0;for(e[n>>>=0]=255&t;++l<r&&(o*=256);)e[n+l]=t/o&255;return n+r}function i(e,t,n){n>>>=0;let r=e[t>>>=0],o=1,l=0;for(;++l<n&&(o*=256);)r+=e[t+l]*o;return r>=(o*=128)&&(r-=Math.pow(2,8*n)),r}function p(e,t,n,r){t=+t;let o=0,l=1,u=0;for(e[n>>>=0]=255&t;++o<r&&(l*=256);)t<0&&0===u&&0!==e[n+o-1]&&(u=1),e[n+o]=(t/l>>0)-u&255;return n+r}function h(e,t,n){n>>>=0;let r=e[(t>>>=0)+--n],o=1;for(;n>0&&(o*=256);)r+=e[t+--n]*o;return r}function a(e,t,n,r){t=+t;let o=(r>>>=0)-1,l=1;for(e[(n>>>=0)+o]=255&t;--o>=0&&(l*=256);)e[n+o]=t/l&255;return n+r}function f(e,t,n){let r=n>>>=0,o=1,l=e[(t>>>=0)+--r];for(;r>0&&(o*=256);)l+=e[t+--r]*o;return l>=(o*=128)&&(l-=Math.pow(2,8*n)),l}function c(e,t,n,r){t=+t;let o=r-1,l=1,u=0;for(e[(n>>>=0)+o]=255&t;--o>=0&&(l*=256);)t<0&&0===u&&0!==e[n+o+1]&&(u=1),e[n+o]=(t/l>>0)-u&255;return n+r}l.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],exports.AnsiStringType=l,exports.writeIntLE=p,exports.readUIntBE=h,exports.writeUIntBE=a,exports.readIntBE=f,exports.writeIntBE=c; 59 + },{"assert":"g2FE"}],"O0hF":[function(require,module,exports) { 60 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});class t{constructor(){this.warnings=[]}init(t,s,e){return this.metadata=t,this.tokenizer=s,this.options=e,this}}exports.BasicParser=t; 61 + },{}],"WTnS":[function(require,module,exports) { 62 + "use strict";var e=this&&this.__awaiter||function(e,t,o,a){return new(o||(o=Promise))(function(n,r){function i(e){try{c(a.next(e))}catch(t){r(t)}}function s(e){try{c(a.throw(e))}catch(t){r(t)}}function c(e){e.done?n(e.value):new o(function(t){t(e.value)}).then(i,s)}c((a=a.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const t=require("debug"),o=require("../common/Util"),a=require("token-types"),n=require("../common/BasicParser"),r=t("music-metadata:parser:ID3v1");exports.Genres=["Blues","Classic Rock","Country","Dance","Disco","Funk","Grunge","Hip-Hop","Jazz","Metal","New Age","Oldies","Other","Pop","R&B","Rap","Reggae","Rock","Techno","Industrial","Alternative","Ska","Death Metal","Pranks","Soundtrack","Euro-Techno","Ambient","Trip-Hop","Vocal","Jazz+Funk","Fusion","Trance","Classical","Instrumental","Acid","House","Game","Sound Clip","Gospel","Noise","Alt. Rock","Bass","Soul","Punk","Space","Meditative","Instrumental Pop","Instrumental Rock","Ethnic","Gothic","Darkwave","Techno-Industrial","Electronic","Pop-Folk","Eurodance","Dream","Southern Rock","Comedy","Cult","Gangsta Rap","Top 40","Christian Rap","Pop/Funk","Jungle","Native American","Cabaret","New Wave","Psychedelic","Rave","Showtunes","Trailer","Lo-Fi","Tribal","Acid Punk","Acid Jazz","Polka","Retro","Musical","Rock & Roll","Hard Rock","Folk","Folk/Rock","National Folk","Swing","Fast-Fusion","Bebob","Latin","Revival","Celtic","Bluegrass","Avantgarde","Gothic Rock","Progressive Rock","Psychedelic Rock","Symphonic Rock","Slow Rock","Big Band","Chorus","Easy Listening","Acoustic","Humour","Speech","Chanson","Opera","Chamber Music","Sonata","Symphony","Booty Bass","Primus","Porn Groove","Satire","Slow Jam","Club","Tango","Samba","Folklore","Ballad","Power Ballad","Rhythmic Soul","Freestyle","Duet","Punk Rock","Drum Solo","A Cappella","Euro-House","Dance Hall","Goa","Drum & Bass","Club-House","Hardcore","Terror","Indie","BritPop","Negerpunk","Polsk Punk","Beat","Christian Gangsta Rap","Heavy Metal","Black Metal","Crossover","Contemporary Christian","Christian Rock","Merengue","Salsa","Thrash Metal","Anime","JPop","Synthpop","Abstract","Art Rock","Baroque","Bhangra","Big Beat","Breakbeat","Chillout","Downtempo","Dub","EBM","Eclectic","Electro","Electroclash","Emo","Experimental","Garage","Global","IDM","Illbient","Industro-Goth","Jam Band","Krautrock","Leftfield","Lounge","Math Rock","New Romantic","Nu-Breakz","Post-Punk","Post-Rock","Psytrance","Shoegaze","Space Rock","Trop Rock","World Music","Neoclassical","Audiobook","Audio Theatre","Neue Deutsche Welle","Podcast","Indie Rock","G-Funk","Dubstep","Garage Rock","Psybient"];const i={len:128,get:(e,t)=>{const o=new s(3).get(e,t);return"TAG"===o?{header:o,title:new s(30).get(e,t+3),artist:new s(30).get(e,t+33),album:new s(30).get(e,t+63),year:new s(4).get(e,t+93),comment:new s(28).get(e,t+97),zeroByte:a.UINT8.get(e,t+127),track:a.UINT8.get(e,t+126),genre:a.UINT8.get(e,t+127)}:null}};class s extends a.StringType{constructor(e){super(e,"binary")}get(e,t){let a=super.get(e,t);return(a=(a=o.default.trimRightNull(a)).trim()).length>0?a:void 0}}class c extends n.BasicParser{static getGenre(e){if(e<exports.Genres.length)return exports.Genres[e]}parse(){return e(this,void 0,void 0,function*(){if(!this.tokenizer.fileSize)return void r("Skip checking for ID3v1 because the file-size is unknown");const e=this.tokenizer.fileSize-i.len;if(this.tokenizer.position>e)return void r("Already consumed the last 128 bytes");const t=yield this.tokenizer.readToken(i,e);if(t){r("ID3v1 header found at: pos=%s",this.tokenizer.fileSize-i.len);for(const o of["title","artist","album","comment","track","year"])t[o]&&""!==t[o]&&this.addTag(o,t[o]);const e=c.getGenre(t.genre);e&&this.addTag("genre",e)}else r("ID3v1 header not found at: pos=%s",this.tokenizer.fileSize-i.len)})}addTag(e,t){this.metadata.addTag("ID3v1",e,t)}}exports.ID3v1Parser=c; 63 + },{"debug":"j+D9","../common/Util":"5e0M","token-types":"1rOY","../common/BasicParser":"O0hF"}],"QsE/":[function(require,module,exports) { 64 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const t=require("../id3v1/ID3v1Parser");class e{constructor(t,e){this.tagTypes=t,this.tagMap=e}static parseGenre(e){const r=e.trim().split(/\((.*?)\)/g).filter(t=>""!==t),s=[];for(let a of r)/^\d+$/.test(a)&&!isNaN(parseInt(a,10))&&(a=t.Genres[a]),s.push(a);return s.filter(t=>void 0!==t).join("/")}static fixPictureMimeType(t){switch(t=t.toLocaleLowerCase()){case"image/jpg":return"image/jpeg"}return t}static toIntOrNull(t){const e=parseInt(t,10);return isNaN(e)?null:e}static normalizeTrack(t){const e=t.toString().split("/");return{no:parseInt(e[0],10)||null,of:parseInt(e[1],10)||null}}mapGenericTag(t){t={id:t.id,value:t.value},this.postMap(t);const e=this.getCommonName(t.id);return e?{id:e,value:t.value}:null}getCommonName(t){return this.tagMap[t]}postMap(t){}}e.maxRatingScore=1,exports.CommonTagMapper=e; 65 + },{"../id3v1/ID3v1Parser":"WTnS"}],"oC4z":[function(require,module,exports) { 66 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("../common/GenericTagMapper"),r={title:"title",artist:"artist",album:"album",year:"year",comment:"comment",track:"track",genre:"genre"};class t extends e.CommonTagMapper{constructor(){super(["ID3v1"],r)}}exports.ID3v1TagMapper=t; 67 + },{"../common/GenericTagMapper":"QsE/"}],"39L3":[function(require,module,exports) { 68 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("../common/GenericTagMapper"),i=require("../common/Util"),r={TIT2:"title",TPE1:"artist","TXXX:Artists":"artists",TPE2:"albumartist",TALB:"album",TDRV:"date",TORY:"originalyear",TPOS:"disk",TCON:"genre",APIC:"picture",TCOM:"composer","USLT:description":"lyrics",TSOA:"albumsort",TSOT:"titlesort",TOAL:"originalalbum",TSOP:"artistsort",TSO2:"albumartistsort",TSOC:"composersort",TEXT:"lyricist","TXXX:Writer":"writer",TPE3:"conductor",TPE4:"remixer","IPLS:arranger":"arranger","IPLS:engineer":"engineer","IPLS:producer":"producer","IPLS:DJ-mix":"djmixer","IPLS:mix":"mixer",TPUB:"label",TIT1:"grouping",TIT3:"subtitle",TRCK:"track",TCMP:"compilation",POPM:"rating",TBPM:"bpm",TMED:"media","TXXX:CATALOGNUMBER":"catalognumber","TXXX:MusicBrainz Album Status":"releasestatus","TXXX:MusicBrainz Album Type":"releasetype","TXXX:MusicBrainz Album Release Country":"releasecountry","TXXX:RELEASECOUNTRY":"releasecountry","TXXX:SCRIPT":"script",TLAN:"language",TCOP:"copyright",WCOP:"license",TENC:"encodedby",TSSE:"encodersettings","TXXX:BARCODE":"barcode",TSRC:"isrc","TXXX:ASIN":"asin","TXXX:originalyear":"originalyear","UFID:http://musicbrainz.org":"musicbrainz_recordingid","TXXX:MusicBrainz Release Track Id":"musicbrainz_trackid","TXXX:MusicBrainz Album Id":"musicbrainz_albumid","TXXX:MusicBrainz Artist Id":"musicbrainz_artistid","TXXX:MusicBrainz Album Artist Id":"musicbrainz_albumartistid","TXXX:MusicBrainz Release Group Id":"musicbrainz_releasegroupid","TXXX:MusicBrainz Work Id":"musicbrainz_workid","TXXX:MusicBrainz TRM Id":"musicbrainz_trmid","TXXX:MusicBrainz Disc Id":"musicbrainz_discid","TXXX:ACOUSTID_ID":"acoustid_id","TXXX:Acoustid Id":"acoustid_id","TXXX:Acoustid Fingerprint":"acoustid_fingerprint","TXXX:MusicIP PUID":"musicip_puid","TXXX:MusicMagic Fingerprint":"musicip_fingerprint",WOAR:"website",TDRC:"date",TYER:"year",TDOR:"originaldate","TIPL:arranger":"arranger","TIPL:engineer":"engineer","TIPL:producer":"producer","TIPL:DJ-mix":"djmixer","TIPL:mix":"mixer",TMOO:"mood",SYLT:"lyrics",TSST:"discsubtitle",TKEY:"key",COMM:"comment",TOPE:"originalartist","PRIV:AverageLevel":"averageLevel","PRIV:PeakLevel":"peakLevel","TXXX:DISCOGS_ARTIST_ID":"discogs_artist_id","TXXX:DISCOGS_ARTISTS":"artists","TXXX:DISCOGS_ARTIST_NAME":"artists","TXXX:DISCOGS_ALBUM_ARTISTS":"albumartist","TXXX:DISCOGS_CATALOG":"catalognumber","TXXX:DISCOGS_COUNTRY":"releasecountry","TXXX:DISCOGS_DATE":"originaldate","TXXX:DISCOGS_LABEL":"label","TXXX:DISCOGS_LABEL_ID":"discogs_label_id","TXXX:DISCOGS_MASTER_RELEASE_ID":"discogs_master_release_id","TXXX:DISCOGS_RATING":"discogs_rating","TXXX:DISCOGS_RELEASED":"date","TXXX:DISCOGS_RELEASE_ID":"discogs_release_id","TXXX:DISCOGS_VOTES":"discogs_votes","TXXX:CATALOGID":"catalognumber","TXXX:STYLE":"genre","TXXX:replaygain_track_peak":"replaygain_track_peak","TXXX:replaygain_track_gain":"replaygain_track_gain"};class a extends e.CommonTagMapper{static toRating(i){return{source:i.email,rating:i.rating>0?(i.rating-1)/254*e.CommonTagMapper.maxRatingScore:void 0}}constructor(){super(["ID3v2.3","ID3v2.4"],r)}postMap(e){switch(e.id){case"UFID":"http://musicbrainz.org"===e.value.owner_identifier&&(e.id+=":"+e.value.owner_identifier,e.value=i.default.decodeString(e.value.identifier,"iso-8859-1"));break;case"PRIV":switch(e.value.owner_identifier){case"AverageLevel":case"PeakValue":e.id+=":"+e.value.owner_identifier,e.value=4===e.value.data.length?e.value.data.readUInt32LE():null}break;case"COMM":e.value=e.value?e.value.text:null;break;case"POPM":e.value=a.toRating(e.value)}}}exports.ID3v24TagMapper=a; 69 + },{"../common/GenericTagMapper":"QsE/","../common/Util":"5e0M"}],"+BSV":[function(require,module,exports) { 70 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const i=require("../common/GenericTagMapper"),r={Title:"title",Author:"artist","WM/AlbumArtist":"albumartist","WM/AlbumTitle":"album","WM/Year":"date","WM/OriginalReleaseTime":"originaldate","WM/OriginalReleaseYear":"originalyear",Description:"comment","WM/TrackNumber":"track","WM/PartOfSet":"disk","WM/Genre":"genre","WM/Composer":"composer","WM/Lyrics":"lyrics","WM/AlbumSortOrder":"albumsort","WM/TitleSortOrder":"titlesort","WM/ArtistSortOrder":"artistsort","WM/AlbumArtistSortOrder":"albumartistsort","WM/ComposerSortOrder":"composersort","WM/Writer":"lyricist","WM/Conductor":"conductor","WM/ModifiedBy":"remixer","WM/Engineer":"engineer","WM/Producer":"producer","WM/DJMixer":"djmixer","WM/Mixer":"mixer","WM/Publisher":"label","WM/ContentGroupDescription":"grouping","WM/SubTitle":"subtitle","WM/SetSubTitle":"discsubtitle","WM/IsCompilation":"compilation","WM/SharedUserRating":"rating","WM/BeatsPerMinute":"bpm","WM/Mood":"mood","WM/Media":"media","WM/CatalogNo":"catalognumber","MusicBrainz/Album Status":"releasestatus","MusicBrainz/Album Type":"releasetype","MusicBrainz/Album Release Country":"releasecountry","WM/Script":"script","WM/Language":"language",Copyright:"copyright",LICENSE:"license","WM/EncodedBy":"encodedby","WM/EncodingSettings":"encodersettings","WM/Barcode":"barcode","WM/ISRC":"isrc","MusicBrainz/Track Id":"musicbrainz_recordingid","MusicBrainz/Release Track Id":"musicbrainz_trackid","MusicBrainz/Album Id":"musicbrainz_albumid","MusicBrainz/Artist Id":"musicbrainz_artistid","MusicBrainz/Album Artist Id":"musicbrainz_albumartistid","MusicBrainz/Release Group Id":"musicbrainz_releasegroupid","MusicBrainz/Work Id":"musicbrainz_workid","MusicBrainz/TRM Id":"musicbrainz_trmid","MusicBrainz/Disc Id":"musicbrainz_discid","Acoustid/Id":"acoustid_id","Acoustid/Fingerprint":"acoustid_fingerprint","MusicIP/PUID":"musicip_puid","WM/ARTISTS":"artists","WM/InitialKey":"key",ASIN:"asin","WM/Work":"work","WM/AuthorURL":"website","WM/Picture":"picture"};class e extends i.CommonTagMapper{static toRating(i){return{rating:parseFloat(i+1)/5}}constructor(){super(["asf"],r)}postMap(i){switch(i.id){case"WM/SharedUserRating":const r=i.id.split(":");i.value=e.toRating(i.value),i.id=r[0]}}}exports.AsfTagMapper=e; 71 + },{"../common/GenericTagMapper":"QsE/"}],"xe48":[function(require,module,exports) { 72 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("../common/GenericTagMapper");exports.id3v22TagMap={TT2:"title",TP1:"artist",TP2:"albumartist",TAL:"album",TYE:"year",COM:"comment",TRK:"track",TPA:"disk",TCO:"genre",PIC:"picture",TCM:"composer",TOR:"originaldate",TOT:"work",TXT:"lyricist",TP3:"conductor",TPB:"label",TT1:"grouping",TT3:"subtitle",TLA:"language",TCR:"copyright",WCP:"license",TEN:"encodedby",TSS:"encodersettings",WAR:"website","COM:iTunPGAP":"gapless"};class T extends e.CommonTagMapper{constructor(){super(["ID3v2.2"],exports.id3v22TagMap)}}exports.ID3v22TagMapper=T; 73 + },{"../common/GenericTagMapper":"QsE/"}],"8e34":[function(require,module,exports) { 74 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const r=require("../common/GenericTagMapper"),i={Title:"title",Artist:"artist",Artists:"artists","Album Artist":"albumartist",Album:"album",Year:"date",Originalyear:"originalyear",Originaldate:"originaldate",Comment:"comment",Track:"track",Disc:"disk",DISCNUMBER:"disk",Genre:"genre","Cover Art (Front)":"picture","Cover Art (Back)":"picture",Composer:"composer",Lyrics:"lyrics",ALBUMSORT:"albumsort",TITLESORT:"titlesort",WORK:"work",ARTISTSORT:"artistsort",ALBUMARTISTSORT:"albumartistsort",COMPOSERSORT:"composersort",Lyricist:"lyricist",Writer:"writer",Conductor:"conductor",MixArtist:"remixer",Arranger:"arranger",Engineer:"engineer",Producer:"producer",DJMixer:"djmixer",Mixer:"mixer",Label:"label",Grouping:"grouping",Subtitle:"subtitle",DiscSubtitle:"discsubtitle",Compilation:"compilation",BPM:"bpm",Mood:"mood",Media:"media",CatalogNumber:"catalognumber",MUSICBRAINZ_ALBUMSTATUS:"releasestatus",MUSICBRAINZ_ALBUMTYPE:"releasetype",RELEASECOUNTRY:"releasecountry",Script:"script",Language:"language",Copyright:"copyright",LICENSE:"license",EncodedBy:"encodedby",EncoderSettings:"encodersettings",Barcode:"barcode",ISRC:"isrc",ASIN:"asin",musicbrainz_trackid:"musicbrainz_recordingid",musicbrainz_releasetrackid:"musicbrainz_trackid",MUSICBRAINZ_ALBUMID:"musicbrainz_albumid",MUSICBRAINZ_ARTISTID:"musicbrainz_artistid",MUSICBRAINZ_ALBUMARTISTID:"musicbrainz_albumartistid",MUSICBRAINZ_RELEASEGROUPID:"musicbrainz_releasegroupid",MUSICBRAINZ_WORKID:"musicbrainz_workid",MUSICBRAINZ_TRMID:"musicbrainz_trmid",MUSICBRAINZ_DISCID:"musicbrainz_discid",Acoustid_Id:"acoustid_id",ACOUSTID_FINGERPRINT:"acoustid_fingerprint",MUSICIP_PUID:"musicip_puid",Weblink:"website"};class e extends r.CommonTagMapper{constructor(){const r={};for(const e in i)r[e.toUpperCase()]=i[e];super(["APEv2"],r)}getCommonName(r){return this.tagMap[r.toUpperCase()]}}exports.APEv2TagMapper=e; 75 + },{"../common/GenericTagMapper":"QsE/"}],"a2T+":[function(require,module,exports) { 76 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("../common/GenericTagMapper"),i={"©nam":"title","©ART":"artist",aART:"albumartist","----:com.apple.iTunes:Band":"albumartist","©alb":"album","©day":"date","©cmt":"comment",trkn:"track",disk:"disk","©gen":"genre",covr:"picture","©wrt":"composer","©lyr":"lyrics",soal:"albumsort",sonm:"titlesort",soar:"artistsort",soaa:"albumartistsort",soco:"composersort","----:com.apple.iTunes:LYRICIST":"lyricist","----:com.apple.iTunes:CONDUCTOR":"conductor","----:com.apple.iTunes:REMIXER":"remixer","----:com.apple.iTunes:ENGINEER":"engineer","----:com.apple.iTunes:PRODUCER":"producer","----:com.apple.iTunes:DJMIXER":"djmixer","----:com.apple.iTunes:MIXER":"mixer","----:com.apple.iTunes:LABEL":"label","©grp":"grouping","----:com.apple.iTunes:SUBTITLE":"subtitle","----:com.apple.iTunes:DISCSUBTITLE":"discsubtitle",cpil:"compilation",tmpo:"bpm","----:com.apple.iTunes:MOOD":"mood","----:com.apple.iTunes:MEDIA":"media","----:com.apple.iTunes:CATALOGNUMBER":"catalognumber",tvsh:"tvShow",tvsn:"tvSeason",tves:"tvEpisode",sosn:"tvShowSort",tven:"tvEpisodeId",tvnn:"tvNetwork",pcst:"podcast",purl:"podcasturl","----:com.apple.iTunes:MusicBrainz Album Status":"releasestatus","----:com.apple.iTunes:MusicBrainz Album Type":"releasetype","----:com.apple.iTunes:MusicBrainz Album Release Country":"releasecountry","----:com.apple.iTunes:SCRIPT":"script","----:com.apple.iTunes:LANGUAGE":"language",cprt:"copyright","----:com.apple.iTunes:LICENSE":"license","©too":"encodedby",pgap:"gapless","----:com.apple.iTunes:BARCODE":"barcode","----:com.apple.iTunes:ISRC":"isrc","----:com.apple.iTunes:ASIN":"asin","----:com.apple.iTunes:NOTES":"comment","----:com.apple.iTunes:MusicBrainz Track Id":"musicbrainz_recordingid","----:com.apple.iTunes:MusicBrainz Release Track Id":"musicbrainz_trackid","----:com.apple.iTunes:MusicBrainz Album Id":"musicbrainz_albumid","----:com.apple.iTunes:MusicBrainz Artist Id":"musicbrainz_artistid","----:com.apple.iTunes:MusicBrainz Album Artist Id":"musicbrainz_albumartistid","----:com.apple.iTunes:MusicBrainz Release Group Id":"musicbrainz_releasegroupid","----:com.apple.iTunes:MusicBrainz Work Id":"musicbrainz_workid","----:com.apple.iTunes:MusicBrainz TRM Id":"musicbrainz_trmid","----:com.apple.iTunes:MusicBrainz Disc Id":"musicbrainz_discid","----:com.apple.iTunes:Acoustid Id":"acoustid_id","----:com.apple.iTunes:Acoustid Fingerprint":"acoustid_fingerprint","----:com.apple.iTunes:MusicIP PUID":"musicip_puid","----:com.apple.iTunes:fingerprint":"musicip_fingerprint",gnre:"genre","----:com.apple.iTunes:ALBUMARTISTSORT":"albumartistsort","----:com.apple.iTunes:ARTISTS":"artists","----:com.apple.iTunes:ORIGINALDATE":"originaldate","----:com.apple.iTunes:ORIGINALYEAR":"originalyear",desc:"description",ldes:"description"};exports.tagType="iTunes";class s extends e.CommonTagMapper{constructor(){super([exports.tagType],i)}}exports.MP4TagMapper=s; 77 + },{"../common/GenericTagMapper":"QsE/"}],"ZM9N":[function(require,module,exports) { 78 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const i=require("../../common/GenericTagMapper"),r={TITLE:"title",ARTIST:"artist",ARTISTS:"artists",ALBUMARTIST:"albumartist",ALBUM:"album",DATE:"date",ORIGINALDATE:"originaldate",ORIGINALYEAR:"originalyear",COMMENT:"comment",TRACKNUMBER:"track",DISCNUMBER:"disk",GENRE:"genre",METADATA_BLOCK_PICTURE:"picture",COMPOSER:"composer",LYRICS:"lyrics",ALBUMSORT:"albumsort",TITLESORT:"titlesort",WORK:"work",ARTISTSORT:"artistsort",ALBUMARTISTSORT:"albumartistsort",COMPOSERSORT:"composersort",LYRICIST:"lyricist",WRITER:"writer",CONDUCTOR:"conductor",REMIXER:"remixer",ARRANGER:"arranger",ENGINEER:"engineer",PRODUCER:"producer",DJMIXER:"djmixer",MIXER:"mixer",LABEL:"label",GROUPING:"grouping",SUBTITLE:"subtitle",DISCSUBTITLE:"discsubtitle",TRACKTOTAL:"totaltracks",DISCTOTAL:"totaldiscs",COMPILATION:"compilation",RATING:"rating",BPM:"bpm",MOOD:"mood",MEDIA:"media",CATALOGNUMBER:"catalognumber",RELEASESTATUS:"releasestatus",RELEASETYPE:"releasetype",RELEASECOUNTRY:"releasecountry",SCRIPT:"script",LANGUAGE:"language",COPYRIGHT:"copyright",LICENSE:"license",ENCODEDBY:"encodedby",ENCODERSETTINGS:"encodersettings",BARCODE:"barcode",ISRC:"isrc",ASIN:"asin",MUSICBRAINZ_TRACKID:"musicbrainz_recordingid",MUSICBRAINZ_RELEASETRACKID:"musicbrainz_trackid",MUSICBRAINZ_ALBUMID:"musicbrainz_albumid",MUSICBRAINZ_ARTISTID:"musicbrainz_artistid",MUSICBRAINZ_ALBUMARTISTID:"musicbrainz_albumartistid",MUSICBRAINZ_RELEASEGROUPID:"musicbrainz_releasegroupid",MUSICBRAINZ_WORKID:"musicbrainz_workid",MUSICBRAINZ_TRMID:"musicbrainz_trmid",MUSICBRAINZ_DISCID:"musicbrainz_discid",ACOUSTID_ID:"acoustid_id",ACOUSTID_ID_FINGERPRINT:"acoustid_fingerprint",MUSICIP_PUID:"musicip_puid",WEBSITE:"website",NOTES:"notes",TOTALTRACKS:"totaltracks",TOTALDISCS:"totaldiscs",DISCOGS_ARTIST_ID:"discogs_artist_id",DISCOGS_ARTISTS:"artists",DISCOGS_ARTIST_NAME:"artists",DISCOGS_ALBUM_ARTISTS:"albumartist",DISCOGS_CATALOG:"catalognumber",DISCOGS_COUNTRY:"releasecountry",DISCOGS_DATE:"originaldate",DISCOGS_LABEL:"label",DISCOGS_LABEL_ID:"discogs_label_id",DISCOGS_MASTER_RELEASE_ID:"discogs_master_release_id",DISCOGS_RATING:"discogs_rating",DISCOGS_RELEASED:"date",DISCOGS_RELEASE_ID:"discogs_release_id",DISCOGS_VOTES:"discogs_votes",CATALOGID:"catalognumber",STYLE:"genre",REPLAYGAIN_TRACK_GAIN:"replaygain_track_gain",REPLAYGAIN_TRACK_PEAK:"replaygain_track_peak"};class e extends i.CommonTagMapper{static toRating(r,e){return{source:r?r.toLowerCase():r,rating:parseFloat(e)*i.CommonTagMapper.maxRatingScore}}constructor(){super(["vorbis"],r)}postMap(i){if(0===i.id.indexOf("RATING:")){const r=i.id.split(":");i.value=e.toRating(r[1],i.value),i.id=r[0]}}}exports.VorbisTagMapper=e; 79 + },{"../../common/GenericTagMapper":"QsE/"}],"WbCo":[function(require,module,exports) { 80 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("../common/GenericTagMapper");exports.riffInfoTagMap={IART:"artist",ICRD:"date",INAM:"title",TITL:"title",IPRD:"album",ITRK:"track",COMM:"comment",ICMT:"comment",ICNT:"releasecountry",GNRE:"genre",IWRI:"writer",RATE:"rating",YEAR:"year",ISFT:"encodedby",CODE:"encodedby",TURL:"website",IGNR:"genre",IENG:"engineer",ITCH:"technician",IMED:"media",IRPD:"album"};class r extends e.CommonTagMapper{constructor(){super(["exif"],exports.riffInfoTagMap)}}exports.RiffInfoTagMapper=r; 81 + },{"../common/GenericTagMapper":"QsE/"}],"CeTJ":[function(require,module,exports) { 82 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("../id3v1/ID3v1TagMap"),r=require("../id3v2/ID3v24TagMapper"),a=require("../asf/AsfTagMapper"),p=require("../id3v2/ID3v22TagMapper"),g=require("../apev2/APEv2TagMapper"),i=require("../mp4/MP4TagMapper"),s=require("../ogg/vorbis/VorbisTagMapper"),M=require("../riff/RiffInfoTagMap");class t{constructor(){this.tagMappers={},[new e.ID3v1TagMapper,new p.ID3v22TagMapper,new r.ID3v24TagMapper,new i.MP4TagMapper,new i.MP4TagMapper,new s.VorbisTagMapper,new g.APEv2TagMapper,new a.AsfTagMapper,new M.RiffInfoTagMapper].forEach(e=>{this.registerTagMapper(e)})}mapTag(e,r){if(this.tagMappers[e])return this.tagMappers[e].mapGenericTag(r);throw new Error("No generic tag mapper defined for tag-format: "+e)}registerTagMapper(e){for(const r of e.tagTypes)this.tagMappers[r]=e}}exports.CombinedTagMapper=t; 83 + },{"../id3v1/ID3v1TagMap":"oC4z","../id3v2/ID3v24TagMapper":"39L3","../asf/AsfTagMapper":"+BSV","../id3v2/ID3v22TagMapper":"xe48","../apev2/APEv2TagMapper":"8e34","../mp4/MP4TagMapper":"a2T+","../ogg/vorbis/VorbisTagMapper":"ZM9N","../riff/RiffInfoTagMap":"WbCo"}],"34Xp":[function(require,module,exports) { 84 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const i=require("debug"),t=require("./GenericTagTypes"),e=require("./CombinedTagMapper"),s=require("./GenericTagMapper"),a=i("music-metadata:collector"),o=["APEv2","vorbis","ID3v2.4","ID3v2.3","ID3v2.2","exif","asf","iTunes","ID3v1"];class r{constructor(i){this.opts=i,this.format={tagTypes:[]},this.native={},this.common={track:{no:null,of:null},disk:{no:null,of:null}},this.commonOrigin={},this.originPriority={},this.tagMapper=new e.CombinedTagMapper;let t=1;for(const e of o)this.originPriority[e]=t++;this.originPriority.artificial=500,this.originPriority.id3v1=600}hasAny(){for(const i in this.native)return!0;return!1}setFormat(i,t){a(`format: ${i} = ${t}`),this.format[i]=t,this.opts.observer&&this.opts.observer({metadata:this,tag:{type:"format",id:i,value:t}})}addTag(i,t,e){a(`tag ${i}.${t} = ${e}`),this.native[i]||(this.format.tagTypes.push(i),this.native[i]=[]),this.native[i].push({id:t,value:e}),this.toCommon(i,t,e)}getNativeMetadata(){return{format:this.format,native:this.native}}postMap(i,t){switch(t.id){case"artist":if(this.commonOrigin.artist===this.originPriority[i])return this.postMap("artificial",{id:"artists",value:t.value});this.common.artists||this.setGenericTag("artificial",{id:"artists",value:t.value});break;case"artists":if(!(this.common.artist&&this.commonOrigin.artist!==this.originPriority.artificial||this.common.artists&&-1!==this.common.artists.indexOf(t.value))){const i={id:"artist",value:n((this.common.artists||[]).concat([t.value]))};this.setGenericTag("artificial",i)}break;case"genre":t.value=s.CommonTagMapper.parseGenre(t.value);break;case"picture":t.value.format=s.CommonTagMapper.fixPictureMimeType(t.value.format);break;case"totaltracks":return void(this.common.track.of=s.CommonTagMapper.toIntOrNull(t.value));case"totaldiscs":return void(this.common.disk.of=s.CommonTagMapper.toIntOrNull(t.value));case"track":case"disk":const e=this.common[t.id].of;return this.common[t.id]=s.CommonTagMapper.normalizeTrack(t.value),void(this.common[t.id].of=null!=e?e:this.common[t.id].of);case"year":case"originalyear":t.value=parseInt(t.value,10);break;case"date":const a=parseInt(t.value.substr(0,4),10);a&&!isNaN(a)&&(this.common.year=a);break;case"discogs_label_id":case"discogs_release_id":case"discogs_master_release_id":case"discogs_artist_id":case"discogs_votes":t.value="string"==typeof t.value?parseInt(t.value,10):t.value;break;case"replaygain_track_peak":t.value="string"==typeof t.value?parseFloat(t.value):t.value;break;case"gapless":t.value="1"===t.value}this.setGenericTag(i,t)}toCommonMetadata(){return{format:this.format,native:this.opts.native?this.native:void 0,common:this.common}}toCommon(i,t,e){const s={id:t,value:e},a=this.tagMapper.mapTag(i,s);a&&this.postMap(i,a)}setGenericTag(i,e){a(`common.${e.id} = ${e.value}`);const s=this.commonOrigin[e.id]||1e3,o=this.originPriority[i];if(t.isSingleton(e.id)){if(!(o<=s))return a(`Ignore native tag (singleton): ${i}.${e.id} = ${e.value}`);this.common[e.id]=e.value,this.commonOrigin[e.id]=o}else if(o===s)t.isUnique(e.id)&&-1!==this.common[e.id].indexOf(e.value)?a(`Ignore duplicate value: ${i}.${e.id} = ${e.value}`):this.common[e.id].push(e.value);else{if(!(o<s))return a(`Ignore native tag (list): ${i}.${e.id} = ${e.value}`);this.common[e.id]=[e.value],this.commonOrigin[e.id]=o}this.opts.observer&&this.opts.observer({metadata:this,tag:{type:"common",id:e.id,value:e.value}})}}function n(i){return i.length>2?i.slice(0,i.length-1).join(", ")+" & "+i[i.length-1]:i.join(" & ")}exports.MetadataCollector=r,exports.joinArtists=n; 85 + },{"debug":"j+D9","./GenericTagTypes":"Wlj4","./CombinedTagMapper":"CeTJ","./GenericTagMapper":"QsE/"}],"5YKB":[function(require,module,exports) { 86 + var Buffer = require("buffer").Buffer; 87 + var e=require("buffer").Buffer,a=this&&this.__awaiter||function(e,a,r,s){return new(r||(r=Promise))(function(t,c){function n(e){try{i(s.next(e))}catch(a){c(a)}}function o(e){try{i(s.throw(e))}catch(a){c(a)}}function i(e){e.done?t(e.value):new r(function(a){a(e.value)}).then(n,o)}i((s=s.apply(e,a||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const r=require("file-type"),s=require("media-typer"),t=require("debug"),c=require("./common/MetadataCollector"),n=t("music-metadata:parser:factory");class o{constructor(){this.warning=[]}static parse(s,t,c){return a(this,void 0,void 0,function*(){let a=o.getParserIdForMimeType(t)||o.getParserIdForExtension(t);if(!a){n("No parser found for MIME-type / extension: "+t);const i=e.alloc(4100);yield s.peekBuffer(i,0,i.byteLength,s.position,!0);const u=r(i);if(!u)throw new Error("Failed to guess MIME-type");if(!(a=o.getParserIdForMimeType(u.mime)))throw new Error("Guessed MIME-type not supported: "+u.mime);return this._parse(s,a,c)}return this._parse(s,a,c)})}static getParserIdForExtension(e){if(!e)return;switch(this.getExtension(e).toLocaleLowerCase()||e){case".mp2":case".mp3":case".m2a":return"mpeg";case".ape":return"apev2";case".aac":case".mp4":case".m4a":case".m4b":case".m4pa":case".m4v":case".m4r":case".3gp":return"mp4";case".wma":case".wmv":case".asf":return"asf";case".flac":return"flac";case".ogg":case".ogv":case".oga":case".ogm":case".ogx":case".opus":case".spx":return"ogg";case".aif":case".aiff":case".aifc":return"aiff";case".wav":return"riff";case".wv":case".wvp":return"wavpack";case".mpc":return"musepack"}}static loadParser(e,r){return a(this,void 0,void 0,function*(){if(n(`Lazy loading parser: ${e}`),r.loadParser){const a=yield r.loadParser(e);if(!a)throw new Error(`options.loadParser failed to resolve module "${e}".`);return a}return new(require("./"+e+"/index").default)})}static _parse(e,r,s={}){return a(this,void 0,void 0,function*(){const a=yield o.loadParser(r,s),t=new c.MetadataCollector(s);return yield a.init(t,e,s).parse(),t.toCommonMetadata()})}static getExtension(e){const a=e.lastIndexOf(".");return-1===a?"":e.slice(a)}static getParserIdForMimeType(e){let a;try{a=s.parse(e)}catch(t){return void n(`Invalid MIME-type: ${e}`)}const r=0===a.subtype.indexOf("x-")?a.subtype.substring(2):a.subtype;switch(a.type){case"audio":switch(r){case"mp3":case"mpeg":return"mpeg";case"flac":return"flac";case"ape":case"monkeys-audio":return"apev2";case"mp4":case"aac":case"aacp":case"m4a":return"mp4";case"ogg":case"opus":case"speex":return"ogg";case"ms-wma":case"ms-wmv":case"ms-asf":return"asf";case"aiff":case"aif":case"aifc":return"aiff";case"vnd.wave":case"wav":case"wave":return"riff";case"wavpack":return"wavpack";case"musepack":return"musepack"}break;case"video":switch(r){case"ms-asf":case"ms-wmv":return"asf";case"m4v":case"mp4":return"mp4";case"ogg":return"ogg"}break;case"application":switch(r){case"vnd.ms-asf":return"asf";case"ogg":return"ogg"}}}}exports.ParserFactory=o; 88 + },{"file-type":"gPQA","media-typer":"atBn","debug":"j+D9","./common/MetadataCollector":"34Xp","buffer":"aMB2"}],"0Pvp":[function(require,module,exports) { 89 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const r=require("strtok3/lib/core"),e=require("./ParserFactory");function t(e,t,o={}){return i(r.fromStream(e),t,o)}function o(e,t,o={}){return i(r.fromBuffer(e),t,o)}function i(r,t,o={}){return!r.fileSize&&o.fileSize&&(r.fileSize=o.fileSize),e.ParserFactory.parse(r,t,o)}function n(r){const e={};for(const t of r)(e[t.id]=e[t.id]||[]).push(t.value);return e}function s(r){return void 0===r?0:1+Math.round(4*r)}exports.parseStream=t,exports.parseBuffer=o,exports.parseFromTokenizer=i,exports.orderTags=n,exports.ratingToStars=s; 90 + },{"strtok3/lib/core":"tvmF","./ParserFactory":"5YKB"}],"ugmL":[function(require,module,exports) { 91 + module.exports=n,n.strict=a,n.loose=o;var t=Object.prototype.toString,r={"[object Int8Array]":!0,"[object Int16Array]":!0,"[object Int32Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Uint16Array]":!0,"[object Uint32Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0};function n(t){return a(t)||o(t)}function a(t){return t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array}function o(n){return r[t.call(n)]} 92 + },{}],"QV2L":[function(require,module,exports) { 93 + var Buffer = require("buffer").Buffer; 94 + var e=require("buffer").Buffer,r=require("is-typedarray").strict;module.exports=function(t){if(r(t)){var f=e.from(t.buffer);return t.byteLength!==t.buffer.byteLength&&(f=f.slice(t.byteOffset,t.byteOffset+t.byteLength)),f}return e.from(t)}; 95 + },{"is-typedarray":"ugmL","buffer":"aMB2"}],"wIHY":[function(require,module,exports) { 96 + function e(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function t(e){return"function"==typeof e}function s(e){return"number"==typeof e}function i(e){return"object"==typeof e&&null!==e}function n(e){return void 0===e}module.exports=e,e.EventEmitter=e,e.prototype._events=void 0,e.prototype._maxListeners=void 0,e.defaultMaxListeners=10,e.prototype.setMaxListeners=function(e){if(!s(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},e.prototype.emit=function(e){var s,r,o,h,v,l;if(this._events||(this._events={}),"error"===e&&(!this._events.error||i(this._events.error)&&!this._events.error.length)){if((s=arguments[1])instanceof Error)throw s;var f=new Error('Uncaught, unspecified "error" event. ('+s+")");throw f.context=s,f}if(n(r=this._events[e]))return!1;if(t(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:h=Array.prototype.slice.call(arguments,1),r.apply(this,h)}else if(i(r))for(h=Array.prototype.slice.call(arguments,1),o=(l=r.slice()).length,v=0;v<o;v++)l[v].apply(this,h);return!0},e.prototype.addListener=function(s,r){var o;if(!t(r))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",s,t(r.listener)?r.listener:r),this._events[s]?i(this._events[s])?this._events[s].push(r):this._events[s]=[this._events[s],r]:this._events[s]=r,i(this._events[s])&&!this._events[s].warned&&(o=n(this._maxListeners)?e.defaultMaxListeners:this._maxListeners)&&o>0&&this._events[s].length>o&&(this._events[s].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[s].length),"function"==typeof console.trace&&console.trace()),this},e.prototype.on=e.prototype.addListener,e.prototype.once=function(e,s){if(!t(s))throw TypeError("listener must be a function");var i=!1;function n(){this.removeListener(e,n),i||(i=!0,s.apply(this,arguments))}return n.listener=s,this.on(e,n),this},e.prototype.removeListener=function(e,s){var n,r,o,h;if(!t(s))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(o=(n=this._events[e]).length,r=-1,n===s||t(n.listener)&&n.listener===s)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,s);else if(i(n)){for(h=o;h-- >0;)if(n[h]===s||n[h].listener&&n[h].listener===s){r=h;break}if(r<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,s)}return this},e.prototype.removeAllListeners=function(e){var s,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(s in this._events)"removeListener"!==s&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events={},this}if(t(i=this._events[e]))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},e.prototype.listeners=function(e){return this._events&&this._events[e]?t(this._events[e])?[this._events[e]]:this._events[e].slice():[]},e.prototype.listenerCount=function(e){if(this._events){var s=this._events[e];if(t(s))return 1;if(s)return s.length}return 0},e.listenerCount=function(e,t){return e.listenerCount(t)}; 97 + },{}],"Ldkg":[function(require,module,exports) { 98 + module.exports=require("events").EventEmitter; 99 + },{"events":"wIHY"}],"sC8V":[function(require,module,exports) { 100 + 101 + },{}],"Pj7u":[function(require,module,exports) { 102 + 103 + "use strict";function t(t){for(var n=1;n<arguments.length;n++){var h=null!=arguments[n]?arguments[n]:{},i=Object.keys(h);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(h).filter(function(t){return Object.getOwnPropertyDescriptor(h,t).enumerable}))),i.forEach(function(n){e(t,n,h[n])})}return t}function e(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var n=require("buffer"),h=n.Buffer,i=require("util"),a=i.inspect,r=a&&a.custom||"inspect";function l(t,e,n){h.prototype.copy.call(t,e,n)}module.exports=function(){function e(){this.head=null,this.tail=null,this.length=0}var n=e.prototype;return n.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},n.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},n.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},n.clear=function(){this.head=this.tail=null,this.length=0},n.join=function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n},n.concat=function(t){if(0===this.length)return h.alloc(0);for(var e=h.allocUnsafe(t>>>0),n=this.head,i=0;n;)l(n.data,e,i),i+=n.data.length,n=n.next;return e},n.consume=function(t,e){var n;return t<this.head.data.length?(n=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):n=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),n},n.first=function(){return this.head.data},n._getString=function(t){var e=this.head,n=1,h=e.data;for(t-=h.length;e=e.next;){var i=e.data,a=t>i.length?i.length:t;if(a===i.length?h+=i:h+=i.slice(0,t),0===(t-=a)){a===i.length?(++n,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++n}return this.length-=n,h},n._getBuffer=function(t){var e=h.allocUnsafe(t),n=this.head,i=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var a=n.data,r=t>a.length?a.length:t;if(a.copy(e,e.length-t,0,r),0===(t-=r)){r===a.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=a.slice(r));break}++i}return this.length-=i,e},n[r]=function(e,n){return a(this,t({},n,{depth:0,customInspect:!1}))},e}(); 104 + },{"buffer":"aMB2","util":"sC8V"}],"8xNh":[function(require,module,exports) { 105 + var process = require("process"); 106 + var t=require("process");function e(e,r){var d=this,l=this._readableState&&this._readableState.destroyed,h=this._writableState&&this._writableState.destroyed;return l||h?(r?r(e):!e||this._writableState&&this._writableState.errorEmitted||t.nextTick(s,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!r&&e?(t.nextTick(a,d,e),d._writableState&&(d._writableState.errorEmitted=!0)):r?(t.nextTick(i,d),r(e)):t.nextTick(i,d)}),this)}function a(t,e){s(t,e),i(t)}function i(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function r(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function s(t,e){t.emit("error",e)}module.exports={destroy:e,undestroy:r}; 107 + },{"process":"g5I+"}],"jwuI":[function(require,module,exports) { 108 + "use strict";function t(n){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(n)}function n(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n}var o={};function r(t,r,e){e||(e=Error);var c=function(t){function o(n,o,e){return t.call(this,function(t,n,o){return"string"==typeof r?r:r(t,n,o)}(n,o,e))||this}return n(o,t),o}(e);c.prototype.name=e.name,c.prototype.code=t,o[t]=c}function e(t,n){if(Array.isArray(t)){var o=t.length;return t=t.map(function(t){return String(t)}),o>2?"one of ".concat(n," ").concat(t.slice(0,o-1).join(", "),", or ")+t[o-1]:2===o?"one of ".concat(n," ").concat(t[0]," or ").concat(t[1]):"of ".concat(n," ").concat(t[0])}return"of ".concat(n," ").concat(String(t))}function c(t,n,o){return t.substr(!o||o<0?0:+o,n.length)===n}function u(t,n,o){return(void 0===o||o>t.length)&&(o=t.length),t.substring(o-n.length,o)===n}function a(t,n,o){return"number"!=typeof o&&(o=0),!(o+n.length>t.length)&&-1!==t.indexOf(n,o)}r("ERR_INVALID_OPT_VALUE",function(t,n){return'The value "'+n+'" is invalid for option "'+t+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(n,o,r){var E,i;if("string"==typeof o&&c(o,"not ")?(E="must not be",o=o.replace(/^not /,"")):E="must be",u(n," argument"))i="The ".concat(n," ").concat(E," ").concat(e(o,"type"));else{var _=a(n,".")?"property":"argument";i='The "'.concat(n,'" ').concat(_," ").concat(E," ").concat(e(o,"type"))}return i+=". Received type ".concat(t(r))},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),module.exports.codes=o; 109 + },{}],"KKJ4":[function(require,module,exports) { 110 + "use strict";var r=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function e(r,e,t){return null!=r.highWaterMark?r.highWaterMark:e?r[t]:null}function t(t,i,o,a){var n=e(i,a,o);if(null!=n){if(!isFinite(n)||Math.floor(n)!==n||n<0)throw new r(a?o:"highWaterMark",n);return Math.floor(n)}return t.objectMode?16:16384}module.exports={getHighWaterMark:t}; 111 + },{"../../../errors":"jwuI"}],"GZzH":[function(require,module,exports) { 112 + var process = require("process"); 113 + var e=require("process"),n=new Set;function a(a){if(!n.has(a)){var i=a+" is an experimental feature. This feature could change at any time";n.add(a),e.emitWarning(i,"ExperimentalWarning")}}function i(){}module.exports.emitExperimentalWarning=e.emitWarning?a:i; 114 + },{"process":"g5I+"}],"hQaz":[function(require,module,exports) { 115 + var global = arguments[3]; 116 + var r=arguments[3];function t(r,t){if(e("noDeprecation"))return r;var n=!1;return function(){if(!n){if(e("throwDeprecation"))throw new Error(t);e("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return r.apply(this,arguments)}}function e(t){try{if(!r.localStorage)return!1}catch(n){return!1}var e=r.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}module.exports=t; 117 + },{}],"A/6d":[function(require,module,exports) { 118 + 119 + var global = arguments[3]; 120 + var process = require("process"); 121 + var e,t=arguments[3],i=require("process");function n(e,t,i){this.chunk=e,this.encoding=t,this.callback=i,this.next=null}function r(e){var t=this;this.next=null,this.entry=null,this.finish=function(){H(t,e)}}module.exports=m,m.WritableState=E;var o={deprecate:require("util-deprecate")},u=require("./internal/streams/stream"),f=require("buffer").Buffer,s=t.Uint8Array||function(){};function c(e){return f.from(e)}function a(e){return f.isBuffer(e)||e instanceof s}var d,l=require("./internal/streams/destroy"),h=require("./internal/streams/state"),p=h.getHighWaterMark,b=require("../errors").codes,w=b.ERR_INVALID_ARG_TYPE,g=b.ERR_METHOD_NOT_IMPLEMENTED,_=b.ERR_MULTIPLE_CALLBACK,y=b.ERR_STREAM_CANNOT_PIPE,R=b.ERR_STREAM_DESTROYED,k=b.ERR_STREAM_NULL_VALUES,S=b.ERR_STREAM_WRITE_AFTER_END,q=b.ERR_UNKNOWN_ENCODING;function v(){}function E(t,i,n){e=e||require("./_stream_duplex"),t=t||{},"boolean"!=typeof n&&(n=i instanceof e),this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=p(this,t,"writableHighWaterMark",n),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===t.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){A(i,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function m(t){var i=this instanceof(e=e||require("./_stream_duplex"));if(!i&&!d.call(m,this))return new m(t);this._writableState=new E(t,this,i),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),u.call(this)}function x(e,t){var n=new S;e.emit("error",n),i.nextTick(t,n)}function M(e,t,n,r){var o;return null===n?o=new k:"string"==typeof n||t.objectMode||(o=new w("chunk",["string","Buffer"],n)),!o||(e.emit("error",o),i.nextTick(r,o),!1)}function T(e,t,i){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=f.from(t,i)),t}function P(e,t,i,n,r,o){if(!i){var u=T(t,n,r);n!==u&&(i=!0,r="buffer",n=u)}var f=t.objectMode?1:n.length;t.length+=f;var s=t.length<t.highWaterMark;if(s||(t.needDrain=!0),t.writing||t.corked){var c=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:r,isBuf:i,callback:o,next:null},c?c.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else j(e,t,!1,f,n,r,o);return s}function j(e,t,i,n,r,o,u){t.writelen=n,t.writecb=u,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new R("write")):i?e._writev(r,t.onwrite):e._write(r,o,t.onwrite),t.sync=!1}function C(e,t,n,r,o){--t.pendingcb,n?(i.nextTick(o,r),i.nextTick(W,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(o(r),e._writableState.errorEmitted=!0,e.emit("error",r),W(e,t))}function O(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function A(e,t){var n=e._writableState,r=n.sync,o=n.writecb;if("function"!=typeof o)throw new _;if(O(n),t)C(e,n,r,t,o);else{var u=N(n);u||n.corked||n.bufferProcessing||!n.bufferedRequest||L(e,n),r?i.nextTick(D,e,n,u,o):D(e,n,u,o)}}function D(e,t,i,n){i||B(e,t),t.pendingcb--,n(),W(e,t)}function B(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function L(e,t){t.bufferProcessing=!0;var i=t.bufferedRequest;if(e._writev&&i&&i.next){var n=t.bufferedRequestCount,o=new Array(n),u=t.corkedRequestsFree;u.entry=i;for(var f=0,s=!0;i;)o[f]=i,i.isBuf||(s=!1),i=i.next,f+=1;o.allBuffers=s,j(e,t,!0,t.length,o,"",u.finish),t.pendingcb++,t.lastBufferedRequest=null,u.next?(t.corkedRequestsFree=u.next,u.next=null):t.corkedRequestsFree=new r(t),t.bufferedRequestCount=0}else{for(;i;){var c=i.chunk,a=i.encoding,d=i.callback;if(j(e,t,!1,t.objectMode?1:c.length,c,a,d),i=i.next,t.bufferedRequestCount--,t.writing)break}null===i&&(t.lastBufferedRequest=null)}t.bufferedRequest=i,t.bufferProcessing=!1}function N(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function I(e,t){e._final(function(i){t.pendingcb--,i&&e.emit("error",i),t.prefinished=!0,e.emit("prefinish"),W(e,t)})}function F(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,i.nextTick(I,e,t)))}function W(e,t){var i=N(t);return i&&(F(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),i}function U(e,t,n){t.ending=!0,W(e,t),n&&(t.finished?i.nextTick(n):e.once("finish",n)),t.ended=!0,e.writable=!1}function H(e,t,i){var n=e.entry;for(e.entry=null;n;){var r=n.callback;t.pendingcb--,r(i),n=n.next}t.corkedRequestsFree.next=e}require("inherits")(m,u),E.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(E.prototype,"buffer",{get:o.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(m,Symbol.hasInstance,{value:function(e){return!!d.call(this,e)||this===m&&(e&&e._writableState instanceof E)}})):d=function(e){return e instanceof this},m.prototype.pipe=function(){this.emit("error",new y)},m.prototype.write=function(e,t,i){var n=this._writableState,r=!1,o=!n.objectMode&&a(e);return o&&!f.isBuffer(e)&&(e=c(e)),"function"==typeof t&&(i=t,t=null),o?t="buffer":t||(t=n.defaultEncoding),"function"!=typeof i&&(i=v),n.ending?x(this,i):(o||M(this,n,e,i))&&(n.pendingcb++,r=P(this,n,o,e,t,i)),r},m.prototype.cork=function(){this._writableState.corked++},m.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||L(this,e))},m.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new q(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(m.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(m.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),m.prototype._write=function(e,t,i){i(new g("_write()"))},m.prototype._writev=null,m.prototype.end=function(e,t,i){var n=this._writableState;return"function"==typeof e?(i=e,e=null,t=null):"function"==typeof t&&(i=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||U(this,n,i),this},Object.defineProperty(m.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(m.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),m.prototype.destroy=l.destroy,m.prototype._undestroy=l.undestroy,m.prototype._destroy=function(e,t){t(e)}; 122 + },{"util-deprecate":"hQaz","./internal/streams/stream":"Ldkg","buffer":"aMB2","./internal/streams/destroy":"8xNh","./internal/streams/state":"KKJ4","../errors":"jwuI","inherits":"Zvxt","./_stream_duplex":"4c8A","process":"g5I+"}],"4c8A":[function(require,module,exports) { 123 + var process = require("process"); 124 + var e=require("process"),t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=l;var r=require("./_stream_readable"),a=require("./_stream_writable");require("inherits")(l,r);for(var i=t(a.prototype),n=0;n<i.length;n++){var o=i[n];l.prototype[o]||(l.prototype[o]=a.prototype[o])}function l(e){if(!(this instanceof l))return new l(e);r.call(this,e),a.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",s)))}function s(){this._writableState.ended||e.nextTick(b,this)}function b(e){e.end()}Object.defineProperty(l.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(l.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(l.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(l.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}); 125 + },{"./_stream_readable":"+Ebo","./_stream_writable":"A/6d","inherits":"Zvxt","process":"g5I+"}],"gI/y":[function(require,module,exports) { 126 + 127 + var r=require("buffer"),e=r.Buffer;function n(r,e){for(var n in r)e[n]=r[n]}function o(r,n,o){return e(r,n,o)}e.from&&e.alloc&&e.allocUnsafe&&e.allocUnsafeSlow?module.exports=r:(n(r,exports),exports.Buffer=o),n(e,o),o.from=function(r,n,o){if("number"==typeof r)throw new TypeError("Argument must not be a number");return e(r,n,o)},o.alloc=function(r,n,o){if("number"!=typeof r)throw new TypeError("Argument must be a number");var f=e(r);return void 0!==n?"string"==typeof o?f.fill(n,o):f.fill(n):f.fill(0),f},o.allocUnsafe=function(r){if("number"!=typeof r)throw new TypeError("Argument must be a number");return e(r)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}; 128 + },{"buffer":"aMB2"}],"ikue":[function(require,module,exports) { 129 + 130 + "use strict";var t=require("safe-buffer").Buffer,e=t.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function a(a){var i=s(a);if("string"!=typeof i&&(t.isEncoding===e||!e(a)))throw new Error("Unknown encoding: "+a);return i||a}function i(e){var s;switch(this.encoding=a(e),this.encoding){case"utf16le":this.text=c,this.end=f,s=4;break;case"utf8":this.fillLast=l,s=4;break;case"base64":this.text=d,this.end=g,s=3;break;default:return this.write=N,void(this.end=v)}this.lastNeed=0,this.lastTotal=0,this.lastChar=t.allocUnsafe(s)}function r(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function n(t,e,s){var a=e.length-1;if(a<s)return 0;var i=r(e[a]);return i>=0?(i>0&&(t.lastNeed=i-1),i):--a<s||-2===i?0:(i=r(e[a]))>=0?(i>0&&(t.lastNeed=i-2),i):--a<s||-2===i?0:(i=r(e[a]))>=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}function h(t,e,s){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}function l(t){var e=this.lastTotal-this.lastNeed,s=h(this,t,e);return void 0!==s?s:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function o(t,e){var s=n(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=s;var a=t.length-(s-this.lastNeed);return t.copy(this.lastChar,0,a),t.toString("utf8",e,a)}function u(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function c(t,e){if((t.length-e)%2==0){var s=t.toString("utf16le",e);if(s){var a=s.charCodeAt(s.length-1);if(a>=55296&&a<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],s.slice(0,-1)}return s}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function f(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var s=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,s)}return e}function d(t,e){var s=(t.length-e)%3;return 0===s?t.toString("base64",e):(this.lastNeed=3-s,this.lastTotal=3,1===s?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-s))}function g(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function N(t){return t.toString(this.encoding)}function v(t){return t&&t.length?this.write(t):""}exports.StringDecoder=i,i.prototype.write=function(t){if(0===t.length)return"";var e,s;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";s=this.lastNeed,this.lastNeed=0}else s=0;return s<t.length?e?e+this.text(t,s):this.text(t,s):e||""},i.prototype.end=u,i.prototype.text=o,i.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}; 131 + },{"safe-buffer":"gI/y"}],"+T/F":[function(require,module,exports) { 132 + "use strict";var e=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function r(){}function n(e){return e.setHeader&&"function"==typeof e.abort}function o(e){var r=!1;return function(n){r||(r=!0,e.call(this,n))}}function t(i,l,a){if("function"==typeof l)return t(i,null,l);l||(l={}),a=o(a||r);var c=i._writableState,s=i._readableState,u=l.readable||!1!==l.readable&&i.readable,f=l.writable||!1!==l.writable&&i.writable,d=function(){i.writable||v()},v=function(){f=!1,u||a.call(i)},m=function(){u=!1,f||a.call(i)},b=function(e){a.call(i,e)},L=function(){return(!u||s&&s.ended)&&(!f||c&&c.ended)?void 0:a.call(i,new e)},q=function(){i.req.on("finish",v)};return n(i)?(i.on("complete",v),i.on("abort",L),i.req?q():i.on("request",q)):f&&!c&&(i.on("end",d),i.on("close",d)),i.on("end",m),i.on("finish",v),!1!==l.error&&i.on("error",b),i.on("close",L),function(){i.removeListener("complete",v),i.removeListener("abort",L),i.removeListener("request",q),i.req&&i.req.removeListener("finish",v),i.removeListener("end",d),i.removeListener("close",d),i.removeListener("finish",v),i.removeListener("end",m),i.removeListener("error",b),i.removeListener("close",L)}}module.exports=t; 133 + },{"../../../errors":"jwuI"}],"qLKb":[function(require,module,exports) { 134 + var process = require("process"); 135 + var e,n=require("process");function l(e,n,l){return n in e?Object.defineProperty(e,n,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[n]=l,e}var t=require("./end-of-stream"),r=Symbol("lastResolve"),u=Symbol("lastReject"),i=Symbol("error"),o=Symbol("ended"),a=Symbol("lastPromise"),s=Symbol("handlePromise"),c=Symbol("stream");function f(e,n){return{value:e,done:n}}function v(e){var n=e[r];if(null!==n){var l=e[c].read();null!==l&&(e[a]=null,e[r]=null,e[u]=null,n(f(l,!1)))}}function b(e){n.nextTick(v,e)}function d(e,n){return function(l,t){e.then(function(){n[s](l,t)},t)}}var m=Object.getPrototypeOf(function(){}),h=Object.setPrototypeOf((l(e={get stream(){return this[c]},next:function(){var e=this,l=this[i];if(null!==l)return Promise.reject(l);if(this[o])return Promise.resolve(f(null,!0));if(this[c].destroyed)return new Promise(function(l,t){n.nextTick(function(){e[i]?t(e[i]):l(f(null,!0))})});var t,r=this[a];if(r)t=new Promise(d(r,this));else{var u=this[c].read();if(null!==u)return Promise.resolve(f(u,!1));t=new Promise(this[s])}return this[a]=t,t}},Symbol.asyncIterator,function(){return this}),l(e,"return",function(){var e=this;return new Promise(function(n,l){e[c].destroy(null,function(e){e?l(e):n(f(null,!0))})})}),e),m),y=function(e){var n,v=Object.create(h,(l(n={},c,{value:e,writable:!0}),l(n,r,{value:null,writable:!0}),l(n,u,{value:null,writable:!0}),l(n,i,{value:null,writable:!0}),l(n,o,{value:e._readableState.endEmitted,writable:!0}),l(n,a,{value:null,writable:!0}),l(n,s,{value:function(e,n){var l=v[c].read();l?(v[a]=null,v[r]=null,v[u]=null,e(f(l,!1))):(v[r]=e,v[u]=n)},writable:!0}),n));return t(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var n=v[u];return null!==n&&(v[a]=null,v[r]=null,v[u]=null,n(e)),void(v[i]=e)}var l=v[r];null!==l&&(v[a]=null,v[r]=null,v[u]=null,l(f(null,!0))),v[o]=!0}),e.on("readable",b.bind(null,v)),v};module.exports=y; 136 + },{"./end-of-stream":"+T/F","process":"g5I+"}],"+Ebo":[function(require,module,exports) { 137 + 138 + var global = arguments[3]; 139 + var process = require("process"); 140 + var e,t=arguments[3],n=require("process");module.exports=D,D.ReadableState=x;var r=require("events").EventEmitter,i=function(e,t){return e.listeners(t).length},a=require("./internal/streams/stream"),o=require("buffer").Buffer,d=t.Uint8Array||function(){};function l(e){return o.from(e)}function s(e){return o.isBuffer(e)||e instanceof d}var p,u=require("util");p=u&&u.debuglog?u.debuglog("stream"):function(){};var f,h,g=require("./internal/streams/buffer_list"),c=require("./internal/streams/destroy"),b=require("./internal/streams/state"),y=b.getHighWaterMark,v=require("../errors").codes,m=v.ERR_INVALID_ARG_TYPE,w=v.ERR_STREAM_PUSH_AFTER_EOF,L=v.ERR_METHOD_NOT_IMPLEMENTED,j=v.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,M=require("../experimentalWarning"),S=M.emitExperimentalWarning;require("inherits")(D,a);var q=["error","close","destroy","pause","resume"];function W(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}function x(t,n,r){e=e||require("./_stream_duplex"),t=t||{},"boolean"!=typeof r&&(r=n instanceof e),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=y(this,t,"readableHighWaterMark",r),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.emitClose=!1!==t.emitClose,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(f||(f=require("string_decoder/").StringDecoder),this.decoder=new f(t.encoding),this.encoding=t.encoding)}function D(t){if(e=e||require("./_stream_duplex"),!(this instanceof D))return new D(t);var n=this instanceof e;this._readableState=new x(t,this,n),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this)}function C(e,t,n,r,i){p("readableAddChunk",t);var a,d=e._readableState;if(null===t)d.reading=!1,z(e,d);else if(i||(a=P(d,t)),a)e.emit("error",a);else if(d.objectMode||t&&t.length>0)if("string"==typeof t||d.objectMode||Object.getPrototypeOf(t)===o.prototype||(t=l(t)),r)d.endEmitted?e.emit("error",new j):O(e,d,t,!0);else if(d.ended)e.emit("error",new w);else{if(d.destroyed)return!1;d.reading=!1,d.decoder&&!n?(t=d.decoder.write(t),d.objectMode||0!==t.length?O(e,d,t,!1):K(e,d)):O(e,d,t,!1)}else r||(d.reading=!1,K(e,d));return!d.ended&&(d.length<d.highWaterMark||0===d.length)}function O(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",n)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&B(e)),K(e,t)}function P(e,t){var n;return s(t)||"string"==typeof t||void 0===t||e.objectMode||(n=new m("chunk",["string","Buffer","Uint8Array"],t)),n}Object.defineProperty(D.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),D.prototype.destroy=c.destroy,D.prototype._undestroy=c.undestroy,D.prototype._destroy=function(e,t){t(e)},D.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=o.from(e,t),t=""),n=!0),C(this,e,t,!1,n)},D.prototype.unshift=function(e){return C(this,e,null,!0,!1)},D.prototype.isPaused=function(){return!1===this._readableState.flowing},D.prototype.setEncoding=function(e){return f||(f=require("string_decoder/").StringDecoder),this._readableState.decoder=new f(e),this._readableState.encoding=this._readableState.decoder.encoding,this};var G=8388608;function Y(e){return e>=G?e=G:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function _(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=Y(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function z(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?B(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,J(e)))}}function B(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(p("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(J,e))}function J(e){var t=e._readableState;p("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||e.emit("readable"),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,U(e)}function K(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(Q,e,t))}function Q(e,t){for(var n=t.length;!t.reading&&!t.ended&&t.length<t.highWaterMark&&(p("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function X(e){return function(){var t=e._readableState;p("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&i(e,"data")&&(t.flowing=!0,U(e))}}function Z(e){e._readableState.readableListening=e.listenerCount("readable")>0,e.listenerCount("data")>0&&e.resume()}function $(e){p("readable nexttick read 0"),e.read(0)}function I(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(V,e,t))}function V(e,t){p("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),U(e),t.flowing&&!t.reading&&e.read(0)}function U(e){var t=e._readableState;for(p("flow",t.flowing);t.flowing&&null!==e.read(););}function H(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function k(e){var t=e._readableState;p("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(N,t,e))}function N(e,t){p("endReadableNT",e.endEmitted,e.length),e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function A(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}D.prototype.read=function(e){p("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return p("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?k(this):B(this),null;if(0===(e=_(e,t))&&t.ended)return 0===t.length&&k(this),null;var r,i=t.needReadable;return p("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&p("length less than watermark",i=!0),t.ended||t.reading?p("reading or ended",i=!1):i&&(p("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=_(n,t))),null===(r=e>0?H(e,t):null)?(t.needReadable=!0,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&k(this)),null!==r&&this.emit("data",r),r},D.prototype._read=function(e){this.emit("error",new L("_read()"))},D.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,p("pipe count=%d opts=%j",a.pipesCount,t);var o=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?l:b;function d(t,n){p("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,p("cleanup"),e.removeListener("close",g),e.removeListener("finish",c),e.removeListener("drain",s),e.removeListener("error",h),e.removeListener("unpipe",d),r.removeListener("end",l),r.removeListener("end",b),r.removeListener("data",f),u=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||s())}function l(){p("onend"),e.end()}a.endEmitted?n.nextTick(o):r.once("end",o),e.on("unpipe",d);var s=X(r);e.on("drain",s);var u=!1;function f(t){p("ondata");var n=e.write(t);p("dest.write",n),!1===n&&((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==A(a.pipes,e))&&!u&&(p("false write response, pause",a.awaitDrain),a.awaitDrain++),r.pause())}function h(t){p("onerror",t),b(),e.removeListener("error",h),0===i(e,"error")&&e.emit("error",t)}function g(){e.removeListener("finish",c),b()}function c(){p("onfinish"),e.removeListener("close",g),b()}function b(){p("unpipe"),r.unpipe(e)}return r.on("data",f),W(e,"error",h),e.once("close",g),e.once("finish",c),e.emit("pipe",r),a.flowing||(p("pipe resume"),r.resume()),e},D.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)r[a].emit("unpipe",this,{hasUnpiped:!1});return this}var o=A(t.pipes,e);return-1===o?this:(t.pipes.splice(o,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},D.prototype.on=function(e,t){var r=a.prototype.on.call(this,e,t),i=this._readableState;return"data"===e?(i.readableListening=this.listenerCount("readable")>0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,p("on readable",i.length,i.reading),i.length?B(this):i.reading||n.nextTick($,this))),r},D.prototype.addListener=D.prototype.on,D.prototype.removeListener=function(e,t){var r=a.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(Z,this),r},D.prototype.removeAllListeners=function(e){var t=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(Z,this),t},D.prototype.resume=function(){var e=this._readableState;return e.flowing||(p("resume"),e.flowing=!e.readableListening,I(this,e)),this},D.prototype.pause=function(){return p("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(p("pause"),this._readableState.flowing=!1,this.emit("pause")),this},D.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",function(){if(p("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(i){(p("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))}),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a<q.length;a++)e.on(q[a],this.emit.bind(this,q[a]));return this._read=function(t){p("wrapped _read",t),r&&(r=!1,e.resume())},this},"function"==typeof Symbol&&(D.prototype[Symbol.asyncIterator]=function(){return S("Readable[Symbol.asyncIterator]"),void 0===h&&(h=require("./internal/streams/async_iterator")),h(this)}),Object.defineProperty(D.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(D.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(D.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),D._fromList=H,Object.defineProperty(D.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}); 141 + },{"events":"wIHY","./internal/streams/stream":"Ldkg","buffer":"aMB2","util":"sC8V","./internal/streams/buffer_list":"Pj7u","./internal/streams/destroy":"8xNh","./internal/streams/state":"KKJ4","../errors":"jwuI","../experimentalWarning":"GZzH","inherits":"Zvxt","./_stream_duplex":"4c8A","string_decoder/":"ikue","./internal/streams/async_iterator":"qLKb","process":"g5I+"}],"oXT5":[function(require,module,exports) { 142 + "use strict";module.exports=o;var t=require("../errors").codes,r=t.ERR_METHOD_NOT_IMPLEMENTED,e=t.ERR_MULTIPLE_CALLBACK,n=t.ERR_TRANSFORM_ALREADY_TRANSFORMING,i=t.ERR_TRANSFORM_WITH_LENGTH_0,a=require("./_stream_duplex");function s(t,r){var n=this._transformState;n.transforming=!1;var i=n.writecb;if(null===i)return this.emit("error",new e);n.writechunk=null,n.writecb=null,null!=r&&this.push(r),i(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}function o(t){if(!(this instanceof o))return new o(t);a.call(this,t),this._transformState={afterTransform:s.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",h)}function h(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?f(this,null,null):this._flush(function(r,e){f(t,r,e)})}function f(t,r,e){if(r)return t.emit("error",r);if(null!=e&&t.push(e),t._writableState.length)throw new i;if(t._transformState.transforming)throw new n;return t.push(null)}require("inherits")(o,a),o.prototype.push=function(t,r){return this._transformState.needTransform=!1,a.prototype.push.call(this,t,r)},o.prototype._transform=function(t,e,n){n(new r("_transform()"))},o.prototype._write=function(t,r,e){var n=this._transformState;if(n.writecb=e,n.writechunk=t,n.writeencoding=r,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},o.prototype._read=function(t){var r=this._transformState;null===r.writechunk||r.transforming?r.needTransform=!0:(r.transforming=!0,this._transform(r.writechunk,r.writeencoding,r.afterTransform))},o.prototype._destroy=function(t,r){a.prototype._destroy.call(this,t,function(t){r(t)})}; 143 + },{"../errors":"jwuI","./_stream_duplex":"4c8A","inherits":"Zvxt"}],"GXpZ":[function(require,module,exports) { 144 + "use strict";module.exports=t;var r=require("./_stream_transform");function t(e){if(!(this instanceof t))return new t(e);r.call(this,e)}require("inherits")(t,r),t.prototype._transform=function(r,t,e){e(null,r)}; 145 + },{"./_stream_transform":"oXT5","inherits":"Zvxt"}],"D0Hn":[function(require,module,exports) { 146 + exports=module.exports=require("./lib/_stream_readable.js"),exports.Stream=exports,exports.Readable=exports,exports.Writable=require("./lib/_stream_writable.js"),exports.Duplex=require("./lib/_stream_duplex.js"),exports.Transform=require("./lib/_stream_transform.js"),exports.PassThrough=require("./lib/_stream_passthrough.js"); 147 + },{"./lib/_stream_readable.js":"+Ebo","./lib/_stream_writable.js":"A/6d","./lib/_stream_duplex.js":"4c8A","./lib/_stream_transform.js":"oXT5","./lib/_stream_passthrough.js":"GXpZ"}],"ktgA":[function(require,module,exports) { 148 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("stream");class t extends e.Readable{constructor(e){super(),this.bytesRead=0,this.reader=e.getReader()}_read(){this.reader.read().then(e=>{e.done?this.push(null):(this.bytesRead+=e.value.length,this.push(e.value))})}_destroy(e,t){this.reader.cancel().then(()=>{t(null)}).catch(e=>{t(e)})}}exports.Browser2NodeStream=t; 149 + },{"stream":"D0Hn"}],"yy1F":[function(require,module,exports) { 150 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("debug"),r=require("music-metadata/lib/core"),t=require("typedarray-to-buffer"),o=require("./fetch/Browser2NodeStream"),a=e("music-metadata-browser");function s(e,r,t){const s=new o.Browser2NodeStream(e);return exports.parseNodeStream(s,r,t).then(e=>(a(`Completed parsing from stream 1bytesRead=${s.bytesRead} / fileSize=${t&&t.fileSize?t.fileSize:"?"}`),e))}function n(e,t){return p(e).then(o=>r.parseBuffer(o,e.type,t))}function i(e,r){return fetch(e).then(e=>{const t=e.headers.get("Content-Type"),o=[];if(e.headers.forEach(e=>{o.push(e)}),e.ok)return e.body?this.parseReadableStream(e.body,t,r).then(r=>(e.body.cancel(),r)):e.blob().then(e=>this.parseBlob(e,r));throw new Error(`HTTP error status=${e.status}: ${e.statusText}`)})}function p(e){return new Promise((r,o)=>{const a=new FileReader;a.onloadend=(e=>{let o=e.target.result;o instanceof ArrayBuffer&&(o=t(new Uint8Array(e.target.result))),r(o)}),a.onerror=(e=>{o(new Error(e.type))}),a.onabort=(e=>{o(new Error(e.type))}),a.readAsArrayBuffer(e)})}exports.parseNodeStream=r.parseStream,exports.parseReadableStream=s,exports.parseBuffer=r.parseBuffer,exports.parseBlob=n,exports.fetchFromUrl=i,exports.parseFromTokenizer=r.parseFromTokenizer,exports.orderTags=r.orderTags,exports.ratingToStars=r.ratingToStars; 151 + },{"debug":"j+D9","music-metadata/lib/core":"0Pvp","typedarray-to-buffer":"QV2L","./fetch/Browser2NodeStream":"ktgA"}],"pQHU":[function(require,module,exports) { 152 + var Buffer = require("buffer").Buffer; 153 + var t=require("buffer").Buffer;Object.defineProperty(exports,"__esModule",{value:!0});const e=-1;class a{constructor(){this._fileData=[]}addData(t,a){const f=t+a.byteLength-1,s=this._getChunkRange(t,f);if(s.startIx===e)this._fileData.splice(s.insertIx||0,0,{offset:t,data:a});else{const e=this._fileData[s.startIx],i=this._fileData[s.endIx],n=t>e.offset,r=f<i.offset+i.data.byteLength-1,o={offset:Math.min(t,e.offset),data:a};if(n){const f=e.data.slice(0,t-e.offset);o.data=this._concatData(f,a)}if(r){const t=o.data.slice(0,i.offset-o.offset);o.data=this._concatData(t,i.data)}this._fileData.splice(s.startIx,s.endIx-s.startIx+1,o)}}hasDataRange(t,e){for(let a=0;a<this._fileData.length;a++){const f=this._fileData[a];if(e<f.offset)return!1;if(t>=f.offset&&e<f.offset+f.data.byteLength)return!0}return!1}readToBuffer(e,a,f,s){const i=f;let n;for(let r=0;r<this._fileData.length;r++){const o=this._fileData[r].offset,h=o+this._fileData[r].data.byteLength-1;if(i>=o&&i<=h){n=this._fileData[r];const h=i-o,l=Math.min(s,n.data.byteLength-h);return t.from(n.data).copy(e,a,h,h+l),l<s?this.readToBuffer(e,a+l,f+l,s-l):void 0}}throw new Error(`Offset ${i} hasn't been loaded yet.`)}_concatData(t,e){const a=new Uint8Array(t.byteLength+e.byteLength);return a.set(new Uint8Array(t),0),a.set(new Uint8Array(e),t.byteLength),a.buffer}_getChunkRange(t,a){let f=e,s=e,i=0;for(let e=0;e<this._fileData.length;i=++e){const s=this._fileData[e].offset,i=s+this._fileData[e].data.byteLength;if(a<s-1)break;if(t<=i+1&&a>=s-1){f=e;break}}if(f===e)return{startIx:e,endIx:e,insertIx:i};for(let e=f;e<this._fileData.length;e++){const t=this._fileData[e].offset;if(a>=t-1&&(s=e),a<=t+this._fileData[e].data.byteLength+1)break}return s===e&&(s=f),{startIx:f,endIx:s}}}exports.ChunkedFileData=a; 154 + },{"buffer":"aMB2"}],"L2sF":[function(require,module,exports) { 155 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("debug"),t=require("strtok3/lib/AbstractTokenizer"),n=require("./chunked-file-data"),i=e("xhr");class s extends t.AbstractTokenizer{constructor(e,t){super(),this.url=e,this.config={avoidHeadRequests:!1,initialChunkSize:4096,minimumChunkSize:1024},t&&Object.assign(this.config,t),this._fileData=new n.ChunkedFileData,this._isInitialized=!1,this.fileSize=0}static getContentLength(e){const t=e.get("Content-Length");return t?parseInt(t,10):void 0}readBuffer(e,t=0,n=e.length,s){return s&&(this.position=s),i(`readBuffer position=${this.position} length=${n}`),0===n?Promise.resolve(0):(n||(n=e.length),this.peekBuffer(e,t,n,this.position).then(()=>(this.position+=n,n)))}peekBuffer(e,t=0,n=e.length,s=this.position){i(`peekBuffer position=${s} length=${n}`);const r=s+n-1;return this.loadRange([s,r]).then(()=>(this._fileData.readToBuffer(e,t,s,n),n))}ignore(e){const t=this.fileSize-this.position;return e<=t?(this.position+=e,Promise.resolve(e)):(this.position+=t,Promise.resolve(t))}init(){return this.config.avoidHeadRequests?this._fetchSizeWithGetRequest():this._fetchSizeWithHeadRequest()}loadRange(e){return i(`loadRange ${e[0]}..${e[1]}`),this._fileData.hasDataRange(e[0],Math.min(this.fileSize,e[1]))?(i("Read from cache"),Promise.resolve()):((e=this._roundRange(e))[1]=Math.min(this.fileSize,e[1]),i(`adjust range to: ${e[0]}..${e[1]}`),this._getResponse("GET",e).then(t=>t.arrayBuffer().then(t=>{this._fileData.addData(e[0],t)})))}_fetchSizeWithHeadRequest(){return i("_fetchSizeWithHeadRequest()"),fetch(this.url,{method:"HEAD"}).then(e=>{const t=s.getContentLength(e.headers);if(!t)return i("Content-Length not provided by the server, fallback to GET requests"),this._fetchSizeWithGetRequest();i(`contentLength=${t}`),this.fileSize=t,this.contentType=e.headers.get("Content-Type")})}_fetchSizeWithGetRequest(){const e=this._roundRange([0,this.config.initialChunkSize]);return this._getResponse("GET",e).then(e=>{const t=this._parseContentRange(e.headers);if(i(`_fetchSizeWithGetRequest response: contentRange=${t}`),this.contentType=e.headers.get("Content-Type"),t)return this.fileSize=t.instanceLength,e;throw new Error("Did not get a content range")})}_parseContentRange(e){const t=e.get("Content-Range");if(i(`_parseContentRang response: contentRange=${t}`),t){const e=t.match(/bytes (\d+)-(\d+)\/(?:(\d+)|\*)/i);if(!e)throw new Error("FIXME: Unknown Content-Range syntax: "+t);return{firstBytePosition:parseInt(e[1],10),lastBytePosition:parseInt(e[2],10),instanceLength:e[3]?parseInt(e[3],10):null}}return null}_roundRange(e){const t=e[1]-e[0]+1,n=Math.max(this.config.minimumChunkSize,t);return[e[0],e[0]+n-1]}_getResponse(e,t){i(t?`_makeXHRRequest ${e} ${t[0]}..${t[1]}`:`_makeXHRRequest ${e} (range not provided)`);const n=new Headers;return n.set("Range","bytes="+t[0]+"-"+t[1]),fetch(this.url,{method:e,headers:n}).then(e=>{if(e.ok)return e;throw new Error(`Unexpected HTTP response status=${e.status}`)})}}exports.StreamingHttpTokenReader=s; 156 + },{"debug":"j+D9","strtok3/lib/AbstractTokenizer":"PoRW","./chunked-file-data":"pQHU"}],"SsVx":[function(require,module,exports) { 157 + var Buffer = require("buffer").Buffer; 158 + var e=require("buffer").Buffer;Object.defineProperty(exports,"__esModule",{value:!0});class t{constructor(e){this.str=e}static fromBin(e,n=0){return new t(this.decode(e,n))}static decode(e,t=0){return(e.readUInt32LE(t).toString(16)+"-"+e.readUInt16LE(t+4).toString(16)+"-"+e.readUInt16LE(t+6).toString(16)+"-"+e.readUInt16BE(t+8).toString(16)+"-"+e.slice(t+10,t+16).toString("hex")).toUpperCase()}static decodeMediaType(e){switch(e.str){case t.AudioMedia.str:return"audio";case t.VideoMedia.str:return"video";case t.CommandMedia.str:return"command";case t.Degradable_JPEG_Media.str:return"degradable-jpeg";case t.FileTransferMedia.str:return"file-transfer";case t.BinaryMedia.str:return"binary"}}static encode(t){const n=e.alloc(16);return n.writeUInt32LE(parseInt(t.slice(0,8),16),0),n.writeUInt16LE(parseInt(t.slice(9,13),16),4),n.writeUInt16LE(parseInt(t.slice(14,18),16),6),e.from(t.slice(19,23),"hex").copy(n,8),e.from(t.slice(24),"hex").copy(n,10),n}equals(e){return this.str===e.str}toBin(){return t.encode(this.str)}}t.HeaderObject=new t("75B22630-668E-11CF-A6D9-00AA0062CE6C"),t.DataObject=new t("75B22636-668E-11CF-A6D9-00AA0062CE6C"),t.SimpleIndexObject=new t("33000890-E5B1-11CF-89F4-00A0C90349CB"),t.IndexObject=new t("D6E229D3-35DA-11D1-9034-00A0C90349BE"),t.MediaObjectIndexObject=new t("FEB103F8-12AD-4C64-840F-2A1D2F7AD48C"),t.TimecodeIndexObject=new t("3CB73FD0-0C4A-4803-953D-EDF7B6228F0C"),t.FilePropertiesObject=new t("8CABDCA1-A947-11CF-8EE4-00C00C205365"),t.StreamPropertiesObject=new t("B7DC0791-A9B7-11CF-8EE6-00C00C205365"),t.HeaderExtensionObject=new t("5FBF03B5-A92E-11CF-8EE3-00C00C205365"),t.CodecListObject=new t("86D15240-311D-11D0-A3A4-00A0C90348F6"),t.ScriptCommandObject=new t("1EFB1A30-0B62-11D0-A39B-00A0C90348F6"),t.MarkerObject=new t("F487CD01-A951-11CF-8EE6-00C00C205365"),t.BitrateMutualExclusionObject=new t("D6E229DC-35DA-11D1-9034-00A0C90349BE"),t.ErrorCorrectionObject=new t("75B22635-668E-11CF-A6D9-00AA0062CE6C"),t.ContentDescriptionObject=new t("75B22633-668E-11CF-A6D9-00AA0062CE6C"),t.ExtendedContentDescriptionObject=new t("D2D0A440-E307-11D2-97F0-00A0C95EA850"),t.ContentBrandingObject=new t("2211B3FA-BD23-11D2-B4B7-00A0C955FC6E"),t.StreamBitratePropertiesObject=new t("7BF875CE-468D-11D1-8D82-006097C9A2B2"),t.ContentEncryptionObject=new t("2211B3FB-BD23-11D2-B4B7-00A0C955FC6E"),t.ExtendedContentEncryptionObject=new t("298AE614-2622-4C17-B935-DAE07EE9289C"),t.DigitalSignatureObject=new t("2211B3FC-BD23-11D2-B4B7-00A0C955FC6E"),t.PaddingObject=new t("1806D474-CADF-4509-A4BA-9AABCB96AAE8"),t.ExtendedStreamPropertiesObject=new t("14E6A5CB-C672-4332-8399-A96952065B5A"),t.AdvancedMutualExclusionObject=new t("A08649CF-4775-4670-8A16-6E35357566CD"),t.GroupMutualExclusionObject=new t("D1465A40-5A79-4338-B71B-E36B8FD6C249"),t.StreamPrioritizationObject=new t("D4FED15B-88D3-454F-81F0-ED5C45999E24"),t.BandwidthSharingObject=new t("A69609E6-517B-11D2-B6AF-00C04FD908E9"),t.LanguageListObject=new t("7C4346A9-EFE0-4BFC-B229-393EDE415C85"),t.MetadataObject=new t("C5F8CBEA-5BAF-4877-8467-AA8C44FA4CCA"),t.MetadataLibraryObject=new t("44231C94-9498-49D1-A141-1D134E457054"),t.IndexParametersObject=new t("D6E229DF-35DA-11D1-9034-00A0C90349BE"),t.MediaObjectIndexParametersObject=new t("6B203BAD-3F11-48E4-ACA8-D7613DE2CFA7"),t.TimecodeIndexParametersObject=new t("F55E496D-9797-4B5D-8C8B-604DFE9BFB24"),t.CompatibilityObject=new t("26F18B5D-4584-47EC-9F5F-0E651F0452C9"),t.AdvancedContentEncryptionObject=new t("43058533-6981-49E6-9B74-AD12CB86D58C"),t.AudioMedia=new t("F8699E40-5B4D-11CF-A8FD-00805F5C442B"),t.VideoMedia=new t("BC19EFC0-5B4D-11CF-A8FD-00805F5C442B"),t.CommandMedia=new t("59DACFC0-59E6-11D0-A3AC-00A0C90348F6"),t.JFIF_Media=new t("B61BE100-5B4E-11CF-A8FD-00805F5C442B"),t.Degradable_JPEG_Media=new t("35907DE0-E415-11CF-A917-00805F5C442B"),t.FileTransferMedia=new t("91BD222C-F21C-497A-8B6D-5AA86BFC0185"),t.BinaryMedia=new t("3AFB65E2-47EF-40F2-AC2C-70A90D71D343"),t.ASF_Index_Placeholder_Object=new t("D9AADE20-7C17-4F9C-BC28-8555DD98E2A2"),exports.default=t; 159 + },{"buffer":"aMB2"}],"VWU3":[function(require,module,exports) { 160 + var Buffer = require("buffer").Buffer; 161 + var r=require("buffer").Buffer;Object.defineProperty(exports,"__esModule",{value:!0});const t=require("../common/Util"),e=require("token-types");class a{static getParserForAttr(r){return a.attributeParsers[r]}static parseUnicodeAttr(r){return t.default.stripNulls(t.default.decodeString(r,"utf16le"))}static parseByteArrayAttr(t){const e=r.alloc(t.length);return t.copy(e),e}static parseBoolAttr(r,t=0){return 1===a.parseWordAttr(r,t)}static parseDWordAttr(r,t=0){return r.readUInt32LE(t)}static parseQWordAttr(r,t=0){return e.UINT64_LE.get(r,t)}static parseWordAttr(r,t=0){return r.readUInt16LE(t)}}a.attributeParsers=[a.parseUnicodeAttr,a.parseByteArrayAttr,a.parseBoolAttr,a.parseDWordAttr,a.parseQWordAttr,a.parseWordAttr,a.parseByteArrayAttr],exports.AsfUtil=a; 162 + },{"../common/Util":"5e0M","token-types":"1rOY","buffer":"aMB2"}],"GKOa":[function(require,module,exports) { 163 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("token-types"),t=require("../common/Util");var r;!function(e){e[e.Other=0]="Other",e[e["32x32 pixels 'file icon' (PNG only)"]=1]="32x32 pixels 'file icon' (PNG only)",e[e["Other file icon"]=2]="Other file icon",e[e["Cover (front)"]=3]="Cover (front)",e[e["Cover (back)"]=4]="Cover (back)",e[e["Leaflet page"]=5]="Leaflet page",e[e["Media (e.g. label side of CD)"]=6]="Media (e.g. label side of CD)",e[e["Lead artist/lead performer/soloist"]=7]="Lead artist/lead performer/soloist",e[e["Artist/performer"]=8]="Artist/performer",e[e.Conductor=9]="Conductor",e[e["Band/Orchestra"]=10]="Band/Orchestra",e[e.Composer=11]="Composer",e[e["Lyricist/text writer"]=12]="Lyricist/text writer",e[e["Recording Location"]=13]="Recording Location",e[e["During recording"]=14]="During recording",e[e["During performance"]=15]="During performance",e[e["Movie/video screen capture"]=16]="Movie/video screen capture",e[e["A bright coloured fish"]=17]="A bright coloured fish",e[e.Illustration=18]="Illustration",e[e["Band/artist logotype"]=19]="Band/artist logotype",e[e["Publisher/Studio logotype"]=20]="Publisher/Studio logotype"}(r=exports.AttachedPictureType||(exports.AttachedPictureType={}));class o{}o.UINT32SYNCSAFE={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4},o.Header={len:10,get:(r,i)=>({fileIdentifier:new e.StringType(3,"ascii").get(r,i),version:{major:e.INT8.get(r,i+3),revision:e.INT8.get(r,i+4)},flags:{raw:e.INT8.get(r,i+4),unsynchronisation:t.default.strtokBITSET.get(r,i+5,7),isExtendedHeader:t.default.strtokBITSET.get(r,i+5,6),expIndicator:t.default.strtokBITSET.get(r,i+5,5),footer:t.default.strtokBITSET.get(r,i+5,4)},size:o.UINT32SYNCSAFE.get(r,i+6)})},o.ExtendedHeader={len:10,get:(r,o)=>({size:e.UINT32_BE.get(r,o),extendedFlags:e.UINT16_BE.get(r,o+4),sizeOfPadding:e.UINT32_BE.get(r,o+6),crcDataPresent:t.default.strtokBITSET.get(r,o+4,31)})},exports.ID3v2Token=o; 164 + },{"token-types":"1rOY","../common/Util":"5e0M"}],"RkL5":[function(require,module,exports) { 165 + var Buffer = require("buffer").Buffer; 166 + var e=require("buffer").Buffer;Object.defineProperty(exports,"__esModule",{value:!0});const t=require("../common/Util"),r=require("token-types"),s=require("./GUID"),a=require("./AsfUtil"),n=require("../id3v2/ID3v2");var o;!function(e){e[e.UnicodeString=0]="UnicodeString",e[e.ByteArray=1]="ByteArray",e[e.Bool=2]="Bool",e[e.DWord=3]="DWord",e[e.QWord=4]="QWord",e[e.Word=5]="Word"}(o=exports.DataType||(exports.DataType={})),exports.TopLevelHeaderObjectToken={len:30,get:(e,t)=>({objectId:s.default.fromBin(new r.BufferType(16).get(e,t)),objectSize:r.UINT64_LE.get(e,t+16),numberOfHeaderObjects:r.UINT32_LE.get(e,t+24)})},exports.HeaderObjectToken={len:24,get:(e,t)=>({objectId:s.default.fromBin(new r.BufferType(16).get(e,t)),objectSize:r.UINT64_LE.get(e,t+16)})};class i{constructor(e){this.len=e.objectSize-exports.HeaderObjectToken.len}postProcessTag(e,t,r,s){if("WM/Picture"===t)e.push({id:t,value:T.fromBuffer(s)});else{const n=a.AsfUtil.getParserForAttr(r);if(!n)throw new Error("unexpected value headerType: "+r);e.push({id:t,value:n(s)})}}}exports.State=i;class c extends i{constructor(e){super(e)}get(e,t){return null}}exports.IgnoreObjectState=c;class d extends i{constructor(e){super(e)}get(e,a){return{fileId:s.default.fromBin(e,a),fileSize:r.UINT64_LE.get(e,a+16),creationDate:r.UINT64_LE.get(e,a+24),dataPacketsCount:r.UINT64_LE.get(e,a+32),playDuration:r.UINT64_LE.get(e,a+40),sendDuration:r.UINT64_LE.get(e,a+48),preroll:r.UINT64_LE.get(e,a+56),flags:{broadcast:t.default.strtokBITSET.get(e,a+64,24),seekable:t.default.strtokBITSET.get(e,a+64,25)},minimumDataPacketSize:r.UINT32_LE.get(e,a+68),maximumDataPacketSize:r.UINT32_LE.get(e,a+72),maximumBitrate:r.UINT32_LE.get(e,a+76)}}}d.guid=s.default.FilePropertiesObject,exports.FilePropertiesObject=d;class u extends i{constructor(e){super(e)}get(e,t){return{streamType:s.default.decodeMediaType(s.default.fromBin(e,t)),errorCorrectionType:s.default.fromBin(e,t+8)}}}u.guid=s.default.StreamPropertiesObject,exports.StreamPropertiesObject=u;class l{constructor(){this.len=22}get(e,t){e.readUInt32LE(t+18);return{reserved1:s.default.fromBin(e,t),reserved2:e.readUInt16LE(t+16),extensionDataSize:e.readUInt32LE(t+18)}}}l.guid=s.default.HeaderExtensionObject,exports.HeaderExtensionObject=l;class f extends i{constructor(e){super(e)}get(e,t){const r=[];let s=t+10;for(let n=0;n<f.contentDescTags.length;++n){const o=e.readUInt16LE(t+2*n);if(o>0){const t=f.contentDescTags[n],i=s+o;r.push({id:t,value:a.AsfUtil.parseUnicodeAttr(e.slice(s,i))}),s=i}}return r}}f.guid=s.default.ContentDescriptionObject,f.contentDescTags=["Title","Author","Copyright","Description","Rating"],exports.ContentDescriptionObjectState=f;class p extends i{constructor(e){super(e)}get(e,t){const r=[],s=e.readUInt16LE(t);let n=t+2;for(let o=0;o<s;o+=1){const t=e.readUInt16LE(n);n+=2;const s=a.AsfUtil.parseUnicodeAttr(e.slice(n,n+t));n+=t;const o=e.readUInt16LE(n);n+=2;const i=e.readUInt16LE(n);n+=2;const c=e.slice(n,n+i);n+=i,this.postProcessTag(r,s,o,c)}return r}}p.guid=s.default.ExtendedContentDescriptionObject,exports.ExtendedContentDescriptionObjectState=p;class g extends i{constructor(e){super(e)}get(e,s){return{startTime:r.UINT64_LE.get(e,s),endTime:r.UINT64_LE.get(e,s+8),dataBitrate:e.readInt32LE(s+12),bufferSize:e.readInt32LE(s+16),initialBufferFullness:e.readInt32LE(s+20),alternateDataBitrate:e.readInt32LE(s+24),alternateBufferSize:e.readInt32LE(s+28),alternateInitialBufferFullness:e.readInt32LE(s+32),maximumObjectSize:e.readInt32LE(s+36),flags:{reliableFlag:t.default.strtokBITSET.get(e,s+40,0),seekableFlag:t.default.strtokBITSET.get(e,s+40,1),resendLiveCleanpointsFlag:t.default.strtokBITSET.get(e,s+40,2)},streamNumber:e.readInt16LE(s+42),streamLanguageId:e.readInt16LE(s+44),averageTimePerFrame:e.readInt32LE(s+52),streamNameCount:e.readInt32LE(s+54),payloadExtensionSystems:e.readInt32LE(s+56),streamNames:[],streamPropertiesObject:null}}}g.guid=s.default.ExtendedStreamPropertiesObject,exports.ExtendedStreamPropertiesObjectState=g;class E extends i{constructor(e){super(e)}get(e,t){const r=[],s=e.readUInt16LE(t);let n=t+2;for(let o=0;o<s;o+=1){n+=4;const t=e.readUInt16LE(n);n+=2;const s=e.readUInt16LE(n);n+=2;const o=e.readUInt32LE(n);n+=4;const i=a.AsfUtil.parseUnicodeAttr(e.slice(n,n+t));n+=t;const c=e.slice(n,n+o);if(n+=o,!a.AsfUtil.getParserForAttr(s))throw new Error("unexpected value headerType: "+s);this.postProcessTag(r,i,s,c)}return r}}E.guid=s.default.MetadataObject,exports.MetadataObjectState=E;class I extends E{constructor(e){super(e)}}I.guid=s.default.MetadataLibraryObject,exports.MetadataLibraryObjectState=I;class T{constructor(e){this.len=e}static fromBase64(t){return this.fromBuffer(e.from(t,"base64"))}static fromBuffer(e){return new T(e.length).get(e,0)}get(e,t){const r=e.readUInt8(t++),s=e.readInt32LE(t);let a=5;for(;0!==e.readUInt16BE(a);)a+=2;const o=e.slice(5,a).toString("utf16le");for(;0!==e.readUInt16BE(a);)a+=2;const i=e.slice(5,a).toString("utf16le");return{type:n.AttachedPictureType[r],format:o,description:i,size:s,data:e.slice(a+4)}}}exports.WmPictureToken=T; 167 + },{"../common/Util":"5e0M","token-types":"1rOY","./GUID":"SsVx","./AsfUtil":"VWU3","../id3v2/ID3v2":"GKOa","buffer":"aMB2"}],"EvYH":[function(require,module,exports) { 168 + "use strict";var e=this&&this.__awaiter||function(e,t,r,a){return new(r||(r=Promise))(function(i,n){function s(e){try{d(a.next(e))}catch(t){n(t)}}function o(e){try{d(a.throw(e))}catch(t){n(t)}}function d(e){e.done?i(e.value):new r(function(t){t(e.value)}).then(s,o)}d((a=a.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const t=require("./GUID"),r=require("./AsfObject"),a=require("debug"),i=require("../common/BasicParser"),n=a("music-metadata:parser:ASF"),s="asf";class o extends i.BasicParser{parse(){return e(this,void 0,void 0,function*(){const e=yield this.tokenizer.readToken(r.TopLevelHeaderObjectToken);if(!e.objectId.equals(t.default.HeaderObject))throw new Error("expected asf header; but was not found; got: "+e.objectId.str);try{yield this.parseObjectHeader(e.numberOfHeaderObjects)}catch(a){n("Error while parsing ASF: %s",a)}})}parseObjectHeader(a){return e(this,void 0,void 0,function*(){let e;do{const a=yield this.tokenizer.readToken(r.HeaderObjectToken);switch(n("header GUID=%s",a.objectId.str),a.objectId.str){case r.FilePropertiesObject.guid.str:const i=yield this.tokenizer.readToken(new r.FilePropertiesObject(a));this.metadata.setFormat("duration",i.playDuration/1e7),this.metadata.setFormat("bitrate",i.maximumBitrate);break;case r.StreamPropertiesObject.guid.str:const s=yield this.tokenizer.readToken(new r.StreamPropertiesObject(a));this.metadata.setFormat("dataformat","ASF/"+s.streamType);break;case r.HeaderExtensionObject.guid.str:const o=yield this.tokenizer.readToken(new r.HeaderExtensionObject);yield this.parseExtensionObject(o.extensionDataSize);break;case r.ContentDescriptionObjectState.guid.str:e=yield this.tokenizer.readToken(new r.ContentDescriptionObjectState(a)),this.addTags(e);break;case r.ExtendedContentDescriptionObjectState.guid.str:e=yield this.tokenizer.readToken(new r.ExtendedContentDescriptionObjectState(a)),this.addTags(e);break;case t.default.CodecListObject.str:case t.default.StreamBitratePropertiesObject.str:yield this.tokenizer.ignore(a.objectSize-r.HeaderObjectToken.len);break;case t.default.PaddingObject.str:n("Padding: %s bytes",a.objectSize-r.HeaderObjectToken.len),yield this.tokenizer.ignore(a.objectSize-r.HeaderObjectToken.len);break;default:this.warnings.push("Ignore ASF-Object-GUID: "+a.objectId.str),n("Ignore ASF-Object-GUID: %s",a.objectId.str),yield this.tokenizer.readToken(new r.IgnoreObjectState(a))}}while(--a)})}addTags(e){e.forEach(e=>{this.metadata.addTag(s,e.id,e.value)})}parseExtensionObject(a){return e(this,void 0,void 0,function*(){do{const e=yield this.tokenizer.readToken(r.HeaderObjectToken);switch(e.objectId.str){case r.ExtendedStreamPropertiesObjectState.guid.str:yield this.tokenizer.readToken(new r.ExtendedStreamPropertiesObjectState(e));break;case r.MetadataObjectState.guid.str:const a=yield this.tokenizer.readToken(new r.MetadataObjectState(e));this.addTags(a);break;case r.MetadataLibraryObjectState.guid.str:const i=yield this.tokenizer.readToken(new r.MetadataLibraryObjectState(e));this.addTags(i);break;case t.default.PaddingObject.str:yield this.tokenizer.ignore(e.objectSize-r.HeaderObjectToken.len);break;case t.default.CompatibilityObject.str:this.tokenizer.ignore(e.objectSize-r.HeaderObjectToken.len);break;case t.default.ASF_Index_Placeholder_Object.str:yield this.tokenizer.ignore(e.objectSize-r.HeaderObjectToken.len);break;default:this.warnings.push("Ignore ASF-Object-GUID: "+e.objectId.str),yield this.tokenizer.readToken(new r.IgnoreObjectState(e))}a-=e.objectSize}while(a>0)})}}exports.AsfParser=o; 169 + },{"./GUID":"SsVx","./AsfObject":"RkL5","debug":"j+D9","../common/BasicParser":"O0hF"}],"tqmk":[function(require,module,exports) { 170 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./AsfParser");exports.default=e.AsfParser; 171 + },{"./AsfParser":"EvYH"}],"IGPB":[function(require,module,exports) { 172 + var Buffer = require("buffer").Buffer; 173 + var e=require("buffer").Buffer;Object.defineProperty(exports,"__esModule",{value:!0});const t=require("token-types"),r=require("../../id3v2/ID3v2");class n{constructor(e){this.len=e}static fromBase64(t){return this.fromBuffer(e.from(t,"base64"))}static fromBuffer(e){return new n(e.length).get(e,0)}get(n,i){const o=r.AttachedPictureType[t.UINT32_BE.get(n,i)],a=t.UINT32_BE.get(n,i+=4),s=n.toString("utf-8",i+=4,i+a),d=t.UINT32_BE.get(n,i+=a),c=n.toString("utf-8",i+=4,i+d),f=t.UINT32_BE.get(n,i+=d),g=t.UINT32_BE.get(n,i+=4),u=t.UINT32_BE.get(n,i+=4),I=t.UINT32_BE.get(n,i+=4),U=t.UINT32_BE.get(n,i+=4);return{type:o,format:s,description:c,width:f,height:g,colour_depth:u,indexed_color:I,data:e.from(n.slice(i+=4,i+U))}}}exports.VorbisPictureToken=n,exports.CommonHeader={len:7,get:(e,r)=>({packetType:e.readUInt8(r),vorbis:new t.StringType(6,"ascii").get(e,r+1)})},exports.IdentificationHeader={len:23,get:(e,t)=>({version:e.readUInt32LE(t+0),channelMode:e.readUInt8(t+4),sampleRate:e.readUInt32LE(t+5),bitrateMax:e.readUInt32LE(t+9),bitrateNominal:e.readUInt32LE(t+13),bitrateMin:e.readUInt32LE(t+17)})}; 174 + },{"token-types":"1rOY","../../id3v2/ID3v2":"GKOa","buffer":"aMB2"}],"toCx":[function(require,module,exports) { 175 + var Buffer = require("buffer").Buffer; 176 + var e=require("buffer").Buffer;Object.defineProperty(exports,"__esModule",{value:!0});const t=require("debug"),a=require("token-types"),r=require("../common/Util"),i=require("./ID3v2"),c=t("music-metadata:id3v2:frame-parser");class s{static readData(t,d,n,o){const l=s.getTextEncoding(t[0]),u=t.length;let f=0,g=[];const p=s.getNullTerminatorLength(l);let T;const S={};switch("TXXX"!==d&&"T"===d[0]?"T*":d){case"T*":case"IPLS":const m=r.default.decodeString(t.slice(1),l).replace(/\x00+$/,"");switch(d){case"TMCL":case"TIPL":case"IPLS":g=s.splitValue(4,m),g=s.functionList(g);break;case"TRK":case"TRCK":case"TPOS":g=m;break;case"TCOM":case"TEXT":case"TOLY":case"TOPE":case"TPE1":case"TSRC":g=s.splitValue(n,m);break;default:g=n>=4?s.splitValue(n,m):[m]}break;case"TXXX":g={description:(g=s.readIdentifierAndData(t,f+1,u,l)).id,text:s.splitValue(n,r.default.decodeString(g.data,l).replace(/\x00+$/,""))};break;case"PIC":case"APIC":if(o){const a={};switch(f+=1,n){case 2:a.format=r.default.decodeString(t.slice(f,f+3),l),f+=3;break;case 3:case 4:const e="iso-8859-1";T=r.default.findZero(t,f,u,e),a.format=r.default.decodeString(t.slice(f,T),e),f=T+1;break;default:throw new Error("Warning: unexpected major versionIndex: "+n)}a.format=s.fixPictureMimeType(a.format),a.type=i.AttachedPictureType[t[f]],f+=1,T=r.default.findZero(t,f,u,l),a.description=r.default.decodeString(t.slice(f,T),l),f=T+p,a.data=e.from(t.slice(f,u)),g=a}break;case"CNT":case"PCNT":g=a.UINT32_BE.get(t,0);break;case"SYLT":for(f+=7,g=[];f<u;){const e=t.slice(f,f=r.default.findZero(t,f,u,l));f+=5,g.push(r.default.decodeString(e,l))}break;case"ULT":case"USLT":case"COM":case"COMM":f+=1,S.language=r.default.decodeString(t.slice(f,f+3),"iso-8859-1"),f+=3,T=r.default.findZero(t,f,u,l),S.description=r.default.decodeString(t.slice(f,T),l),f=T+p,S.text=r.default.decodeString(t.slice(f,u),l).replace(/\x00+$/,""),g=[S];break;case"UFID":g={owner_identifier:(g=s.readIdentifierAndData(t,f,u,"iso-8859-1")).id,identifier:g.data};break;case"PRIV":g={owner_identifier:(g=s.readIdentifierAndData(t,f,u,"iso-8859-1")).id,data:g.data};break;case"POPM":T=r.default.findZero(t,f,u,l);const b=r.default.decodeString(t.slice(f,T),l),P=u-(f=T+s.getNullTerminatorLength(l));g={email:b,rating:t.readUInt8(f),counter:P>=5?t.readUInt32BE(f+1):void 0};break;case"GEOB":{T=r.default.findZero(t,f+1,u,l);const e=r.default.decodeString(t.slice(f+1,T),"iso-8859-1");f=T+1,T=r.default.findZero(t,f,u-f,l);const a=r.default.decodeString(t.slice(f+1,T),"iso-8859-1");f=T+1,T=r.default.findZero(t,f,u-f,l),g={type:e,filename:a,description:r.default.decodeString(t.slice(f+1,T),"iso-8859-1"),data:t.slice(f+1,u)};break}case"WCOM":case"WCOP":case"WOAF":case"WOAR":case"WOAS":case"WORS":case"WPAY":case"WPUB":g=r.default.decodeString(t.slice(f,T),l);break;case"WXXX":{T=r.default.findZero(t,f+1,u,l);const e=r.default.decodeString(t.slice(f+1,T),"iso-8859-1");f=T+1,T=r.default.findZero(t,f,u-f,l),g={description:e,url:r.default.decodeString(t.slice(f,u-f),l)};break}case"MCDI":g=t.slice(0,u);break;default:c("Warning: unsupported id3v2-tag-type: "+d)}return g}static fixPictureMimeType(e){switch(e=e.toLocaleLowerCase()){case"jpg":return"image/jpeg";case"png":return"image/png"}return e}static functionList(e){const t={};for(let a=0;a+1<e.length;a+=2){const r=e[a+1].split(",");t[e[a]]=t.hasOwnProperty(e[a])?t[e[a]].concat(r):r}return t}static splitValue(e,t){const a=t.split(e>=4?/\x00/g:/\//g);return s.trimArray(a)}static trimArray(e){for(let t=0;t<e.length;++t)e[t]=e[t].replace(/\x00+$/,"").trim();return e}static readIdentifierAndData(e,t,a,i){const c=r.default.findZero(e,t,a,i),d=r.default.decodeString(e.slice(t,c),i);return t=c+s.getNullTerminatorLength(i),{id:d,data:e.slice(t,a)}}static getTextEncoding(e){switch(e){case 0:return"iso-8859-1";case 1:case 2:return"utf16";case 3:default:return"utf8"}}static getNullTerminatorLength(e){switch(e){case"utf16":return 2;default:return 1}}}exports.default=s; 177 + },{"debug":"j+D9","token-types":"1rOY","../common/Util":"5e0M","./ID3v2":"GKOa","buffer":"aMB2"}],"pIqu":[function(require,module,exports) { 178 + var Buffer = require("buffer").Buffer; 179 + var e=require("buffer").Buffer,t=this&&this.__awaiter||function(e,t,r,a){return new(r||(r=Promise))(function(i,s){function n(e){try{o(a.next(e))}catch(t){s(t)}}function d(e){try{o(a.throw(e))}catch(t){s(t)}}function o(e){e.done?i(e.value):new r(function(t){t(e.value)}).then(n,d)}o((a=a.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const r=require("token-types"),a=require("../common/Util"),i=require("./FrameParser"),s=require("./ID3v2");class n{static getInstance(){return new n}static removeUnsyncBytes(e){let t=0,r=0;for(;t<e.length-1;)t!==r&&(e[r]=e[t]),t+=255===e[t]&&0===e[t+1]?2:1,r++;return t<e.length&&(e[r++]=e[t++]),e.slice(0,r)}static readFrameHeader(e,t){let a;switch(t){case 2:a={id:e.toString("ascii",0,3),length:r.UINT24_BE.get(e,3)};break;case 3:a={id:e.toString("ascii",0,4),length:r.UINT32_BE.get(e,4),flags:n.readFrameFlags(e.slice(8,10))};break;case 4:a={id:e.toString("ascii",0,4),length:s.ID3v2Token.UINT32SYNCSAFE.get(e,4),flags:n.readFrameFlags(e.slice(8,10))};break;default:throw new Error("Unexpected majorVer: "+t)}return a}static getFrameHeaderLength(e){switch(e){case 2:return 6;case 3:case 4:return 10;default:throw new Error("header versionIndex is incorrect")}}static readFrameFlags(e){return{status:{tag_alter_preservation:a.default.strtokBITSET.get(e,0,6),file_alter_preservation:a.default.strtokBITSET.get(e,0,5),read_only:a.default.strtokBITSET.get(e,0,4)},format:{grouping_identity:a.default.strtokBITSET.get(e,1,7),compression:a.default.strtokBITSET.get(e,1,3),encryption:a.default.strtokBITSET.get(e,1,2),unsynchronisation:a.default.strtokBITSET.get(e,1,1),data_length_indicator:a.default.strtokBITSET.get(e,1,0)}}}static readFrameData(e,t,r,a){switch(r){case 2:return i.default.readData(e,t.id,r,a);case 3:case 4:return t.flags.format.unsynchronisation&&(e=n.removeUnsyncBytes(e)),t.flags.format.data_length_indicator&&(e=e.slice(4,e.length)),i.default.readData(e,t.id,r,a);default:throw new Error("Unexpected majorVer: "+r)}}static makeDescriptionTagName(e,t){return e+(t?":"+t:"")}parse(e,r,a){return t(this,void 0,void 0,function*(){this.tokenizer=r,this.metadata=e,this.options=a;const t=yield this.tokenizer.readToken(s.ID3v2Token.Header);if("ID3"!==t.fileIdentifier)throw new Error("expected ID3-header file-identifier 'ID3' was not found");return this.id3Header=t,this.headerType="ID3v2."+t.version.major,t.flags.isExtendedHeader?this.parseExtendedHeader():this.parseId3Data(t.size)})}parseExtendedHeader(){return t(this,void 0,void 0,function*(){const e=yield this.tokenizer.readToken(s.ID3v2Token.ExtendedHeader),t=e.size-s.ID3v2Token.ExtendedHeader.len;return t>0?this.parseExtendedHeaderData(t,e.size):this.parseId3Data(this.id3Header.size-e.size)})}parseExtendedHeaderData(r,a){return t(this,void 0,void 0,function*(){const t=e.alloc(r);return yield this.tokenizer.readBuffer(t,0,r),this.parseId3Data(this.id3Header.size-a)})}parseId3Data(r){return t(this,void 0,void 0,function*(){const t=e.alloc(r);yield this.tokenizer.readBuffer(t,0,r);for(const e of this.parseMetadata(t))if("TXXX"===e.id)for(const t of e.value.text)this.addTag(n.makeDescriptionTagName(e.id,e.value.description),t);else if("COM"===e.id)for(const t of e.value)this.addTag(n.makeDescriptionTagName(e.id,t.description),t.text);else if(Array.isArray(e.value))for(const t of e.value)this.addTag(e.id,t);else this.addTag(e.id,e.value)})}addTag(e,t){this.metadata.addTag(this.headerType,e,t)}parseMetadata(e){let t=0;const r=[];for(;t!==e.length;){const a=n.getFrameHeaderLength(this.id3Header.version.major);if(t+a>e.length)break;const i=e.slice(t,t+=a),s=n.readFrameHeader(i,this.id3Header.version.major);if(""===s.id||"\0\0\0\0"===s.id||-1==="ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(s.id[0]))break;const d=e.slice(t,t+=s.length),o=n.readFrameData(d,s,this.id3Header.version.major,!this.options.skipCovers);r.push({id:s.id,value:o})}return r}}exports.ID3v2Parser=n; 180 + },{"token-types":"1rOY","../common/Util":"5e0M","./FrameParser":"toCx","./ID3v2":"GKOa","buffer":"aMB2"}],"Tc8M":[function(require,module,exports) { 181 + "use strict";var e=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(s,n){function a(e){try{d(r.next(e))}catch(t){n(t)}}function o(e){try{d(r.throw(e))}catch(t){n(t)}}function d(e){e.done?s(e.value):new i(function(t){t(e.value)}).then(a,o)}d((r=r.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const t=require("strtok3/lib/type"),i=require("./ID3v2"),r=require("./ID3v2Parser"),s=require("../id3v1/ID3v1Parser"),n=require("debug"),a=require("../common/BasicParser"),o=n("music-metadata:parser:ID3");class d extends a.BasicParser{constructor(){super(...arguments),this.id3parser=new r.ID3v2Parser}static startsWithID3v2Header(t){return e(this,void 0,void 0,function*(){return"ID3"===(yield t.peekToken(i.ID3v2Token.Header)).fileIdentifier})}parse(){return this.parseID3v2().catch(e=>{if(e.message!==t.endOfFile)throw e})}finalize(){}parseID3v2(){return e(this,void 0,void 0,function*(){if(yield this.tryReadId3v2Headers(),o("End of ID3v2 header, go to MPEG-parser: pos=%s",this.tokenizer.position),yield this._parse(),this.options.skipPostHeaders&&this.metadata.hasAny())this.finalize();else{const e=new s.ID3v1Parser;yield e.init(this.metadata,this.tokenizer,this.options).parse(),this.finalize()}})}tryReadId3v2Headers(){return e(this,void 0,void 0,function*(){if("ID3"===(yield this.tokenizer.peekToken(i.ID3v2Token.Header)).fileIdentifier)return o("Found ID3v2 header, pos=%s",this.tokenizer.position),yield this.id3parser.parse(this.metadata,this.tokenizer,this.options),this.tryReadId3v2Headers()})}}exports.AbstractID3Parser=d; 182 + },{"strtok3/lib/type":"2Fe+","./ID3v2":"GKOa","./ID3v2Parser":"pIqu","../id3v1/ID3v1Parser":"WTnS","debug":"j+D9","../common/BasicParser":"O0hF"}],"P2sd":[function(require,module,exports) { 183 + var Buffer = require("buffer").Buffer; 184 + var r=require("buffer").Buffer;Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./Util"),t=/^[\w-©][\w-\x000-3]/;exports.FourCcToken={len:4,get:(r,n)=>{const o=r.toString("binary",n,n+exports.FourCcToken.len);if(!o.match(t))throw new Error(`FourCC contains invalid characters: ${e.default.a2hex(o)}`);return o},put:(e,t,n)=>{const o=r.from(n,"binary");if(4!==o.length)throw new Error("Invalid length");return o.copy(e,t)}}; 185 + },{"./Util":"5e0M","buffer":"aMB2"}],"lnZi":[function(require,module,exports) { 186 + "use strict";var e=this&&this.__awaiter||function(e,t,a,r){return new(a||(a=Promise))(function(i,s){function n(e){try{l(r.next(e))}catch(t){s(t)}}function o(e){try{l(r.throw(e))}catch(t){s(t)}}function l(e){e.done?i(e.value):new a(function(t){t(e.value)}).then(n,o)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const t=require("../common/Util"),a=require("token-types"),r=require("../ogg/vorbis/Vorbis"),i=require("../id3v2/AbstractID3Parser"),s=require("../common/FourCC"),n=require("debug"),o=n("music-metadata:parser:FLAC");var l;!function(e){e[e.STREAMINFO=0]="STREAMINFO",e[e.PADDING=1]="PADDING",e[e.APPLICATION=2]="APPLICATION",e[e.SEEKTABLE=3]="SEEKTABLE",e[e.VORBIS_COMMENT=4]="VORBIS_COMMENT",e[e.CUESHEET=5]="CUESHEET",e[e.PICTURE=6]="PICTURE"}(l||(l={}));class d extends i.AbstractID3Parser{constructor(){super(...arguments),this.padding=0}static getInstance(){return new d}_parse(){return e(this,void 0,void 0,function*(){if("fLaC"!==(yield this.tokenizer.readToken(s.FourCcToken)).toString())throw new Error("Invalid FLAC preamble");let e;do{e=yield this.tokenizer.readToken(c.BlockHeader),yield this.parseDataBlock(e)}while(!e.lastBlock);if(this.tokenizer.fileSize&&this.metadata.format.duration){const e=this.tokenizer.fileSize-this.tokenizer.position;this.metadata.setFormat("bitrate",8*e/this.metadata.format.duration)}})}addTag(e,t){this.metadata.addTag("vorbis",e,t)}parseDataBlock(e){switch(o(`blockHeader type=${e.type}, length=${e.length}`),e.type){case l.STREAMINFO:return this.parseBlockStreamInfo(e.length);case l.PADDING:this.padding+=e.length;break;case l.APPLICATION:case l.SEEKTABLE:break;case l.VORBIS_COMMENT:return this.parseComment(e.length);case l.CUESHEET:break;case l.PICTURE:return this.parsePicture(e.length);default:this.warnings.push("Unknown block type: "+e.type)}return this.tokenizer.readToken(new a.IgnoreType(e.length))}parseBlockStreamInfo(t){return e(this,void 0,void 0,function*(){if(t!==c.BlockStreamInfo.len)throw new Error("Unexpected block-stream-info length");const e=yield this.tokenizer.readToken(c.BlockStreamInfo);this.metadata.setFormat("dataformat","flac"),this.metadata.setFormat("lossless",!0),this.metadata.setFormat("numberOfChannels",e.channels),this.metadata.setFormat("bitsPerSample",e.bitsPerSample),this.metadata.setFormat("sampleRate",e.sampleRate),this.metadata.setFormat("duration",e.totalSamples/e.sampleRate)})}parseComment(t){return e(this,void 0,void 0,function*(){const e=yield this.tokenizer.readToken(new a.BufferType(t)),r=new h(e);r.readStringUtf8();const i=r.readInt32();for(let t=0;t<i;t++){const e=r.readStringUtf8().split("=");this.addTag(e[0].toUpperCase(),e.splice(1).join("="))}})}parsePicture(t){return e(this,void 0,void 0,function*(){if(this.options.skipCovers)return this.tokenizer.ignore(t);{const e=yield this.tokenizer.readToken(new r.VorbisPictureToken(t));this.addTag("METADATA_BLOCK_PICTURE",e)}})}}exports.FlacParser=d;class c{}c.BlockHeader={len:4,get:(e,r)=>({lastBlock:t.default.strtokBITSET.get(e,r,7),type:t.default.getBitAllignedNumber(e,r,1,7),length:a.UINT24_BE.get(e,r+1)})},c.BlockStreamInfo={len:34,get:(e,r)=>({minimumBlockSize:a.UINT16_BE.get(e,r),maximumBlockSize:a.UINT16_BE.get(e,r+2)/1e3,minimumFrameSize:a.UINT24_BE.get(e,r+4),maximumFrameSize:a.UINT24_BE.get(e,r+7),sampleRate:a.UINT24_BE.get(e,r+10)>>4,channels:t.default.getBitAllignedNumber(e,r+12,4,3)+1,bitsPerSample:t.default.getBitAllignedNumber(e,r+12,7,5)+1,totalSamples:t.default.getBitAllignedNumber(e,r+13,4,36),fileMD5:new a.BufferType(16).get(e,r+18)})};class h{constructor(e){this.data=e,this.offset=0}readInt32(){const e=a.UINT32_LE.get(this.data,this.offset);return this.offset+=4,e}readStringUtf8(){const e=this.readInt32(),t=this.data.toString("utf8",this.offset,this.offset+e);return this.offset+=e,t}} 187 + },{"../common/Util":"5e0M","token-types":"1rOY","../ogg/vorbis/Vorbis":"IGPB","../id3v2/AbstractID3Parser":"Tc8M","../common/FourCC":"P2sd","debug":"j+D9"}],"00rn":[function(require,module,exports) { 188 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./FlacParser");exports.default=e.FlacParser; 189 + },{"./FlacParser":"lnZi"}],"wi0z":[function(require,module,exports) { 190 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("token-types"),t=require("../common/FourCC"),r=require("debug"),o=r("music-metadata:parser:MP4:atom");exports.Header={len:8,get:(r,o)=>{const n=e.UINT32_BE.get(r,o);if(n<0)throw new Error("Invalid atom header length");return{length:n,name:t.FourCcToken.get(r,o+4)}},put:(r,o,n)=>(e.UINT32_BE.put(r,o,n.length),t.FourCcToken.put(r,o+4,n.name))},exports.ExtendedSize=e.UINT64_BE,exports.ftyp={len:4,get:(t,r)=>({type:new e.StringType(4,"ascii").get(t,r)})},exports.mhdr={len:8,get:(t,r)=>({version:e.UINT8.get(t,r+0),flags:e.UINT24_BE.get(t,r+1),nextItemID:e.UINT32_BE.get(t,r+4)})};class n{constructor(e,t,r){if(this.len=e,e<t)throw new Error(`Atom ${r} expected to be ${t}, but specifies ${e} bytes long.`);e>t&&o(`Warning: atom ${r} expected to be ${t}, but was actually ${e} bytes long.`)}}exports.FixedLengthAtom=n;class g extends n{constructor(e){super(e,24,"mdhd"),this.len=e}get(t,r){return{version:e.UINT8.get(t,r+0),flags:e.UINT24_BE.get(t,r+1),creationTime:e.UINT32_BE.get(t,r+4),modificationTime:e.UINT32_BE.get(t,r+8),timeScale:e.UINT32_BE.get(t,r+12),duration:e.UINT32_BE.get(t,r+16),language:e.UINT16_BE.get(t,r+20),quality:e.UINT16_BE.get(t,r+22)}}}exports.MdhdAtom=g;class s extends n{constructor(e){super(e,100,"mvhd"),this.len=e}get(t,r){return{version:e.UINT8.get(t,r+0),flags:e.UINT24_BE.get(t,r+1),creationTime:e.UINT32_BE.get(t,r+4),modificationTime:e.UINT32_BE.get(t,r+8),timeScale:e.UINT32_BE.get(t,r+12),duration:e.UINT32_BE.get(t,r+16),preferredRate:e.UINT32_BE.get(t,r+20),preferredVolume:e.UINT16_BE.get(t,r+24),previewTime:e.UINT32_BE.get(t,r+72),previewDuration:e.UINT32_BE.get(t,r+76),posterTime:e.UINT32_BE.get(t,r+80),selectionTime:e.UINT32_BE.get(t,r+84),selectionDuration:e.UINT32_BE.get(t,r+88),currentTime:e.UINT32_BE.get(t,r+92),nextTrackID:e.UINT32_BE.get(t,r+96)}}}exports.MvhdAtom=s;class i{constructor(e){this.len=e}get(t,r){return{type:{set:e.UINT8.get(t,r+0),type:e.UINT24_BE.get(t,r+1)},locale:e.UINT24_BE.get(t,r+4),value:new e.BufferType(this.len-8).get(t,r+8)}}}exports.DataAtom=i;class T{constructor(e){this.len=e}get(t,r){return{version:e.UINT8.get(t,r),flags:e.UINT24_BE.get(t,r+1),name:new e.StringType(this.len-4,"utf-8").get(t,r+4)}}}exports.NameAtom=T;class a{constructor(e){this.len=e}get(t,r){return{version:e.UINT8.get(t,r),flags:e.UINT24_BE.get(t,r+1),creationTime:e.UINT32_BE.get(t,r+4),modificationTime:e.UINT32_BE.get(t,r+8),trackId:e.UINT32_BE.get(t,r+12),duration:e.UINT32_BE.get(t,r+20),layer:e.UINT16_BE.get(t,r+24),alternateGroup:e.UINT16_BE.get(t,r+26),volume:e.UINT16_BE.get(t,r+28)}}}exports.TrackHeaderAtom=a; 191 + },{"token-types":"1rOY","../common/FourCC":"P2sd","debug":"j+D9"}],"0TSH":[function(require,module,exports) { 192 + "use strict";var e=this&&this.__awaiter||function(e,t,a,s){return new(a||(a=Promise))(function(n,i){function r(e){try{o(s.next(e))}catch(t){i(t)}}function d(e){try{o(s.throw(e))}catch(t){i(t)}}function o(e){e.done?n(e.value):new a(function(t){t(e.value)}).then(r,d)}o((s=s.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const t=require("strtok3/lib/type"),a=require("debug"),s=require("token-types"),n=require("./AtomToken"),i=a("music-metadata:parser:MP4:Atom");class r{constructor(e,t,a){this.header=e,this.extended=t,this.parent=a,this.children=[],this.atomPath=(this.parent?this.parent.atomPath+"/":"")+this.header.name,this.dataLen=this.header.length-(t?16:8)}readAtoms(a,s,n){return e(this,void 0,void 0,function*(){const e=yield this.readAtom(a,s);return this.children.push(e),void 0===n?this.readAtoms(a,s,n).catch(e=>{if(e.message!==t.endOfFile)throw e;i("Reached end-of-file")}):(n-=e.header.length)>0?this.readAtoms(a,s,n):void 0})}readAtom(t,a){return e(this,void 0,void 0,function*(){const e=t.position,s=yield t.readToken(n.Header),d=1===s.length;d&&(s.length=yield t.readToken(n.ExtendedSize));const o=new r(s,d,this);return i(`parse atom name=${o.atomPath}, extended=${o.extended}, offset=${e}, len=${o.header.length}`),yield o.readData(t,a),o})}readData(t,a){return e(this,void 0,void 0,function*(){switch(this.header.name){case"moov":case"udta":case"trak":case"mdia":case"minf":case"stbl":case"<id>":case"ilst":return this.readAtoms(t,a,this.dataLen);case"meta":return yield t.readToken(new s.IgnoreType(4)),this.readAtoms(t,a,this.dataLen-4);case"mdhd":case"mvhd":case"tkhd":case"stsz":case"mdat":default:return a(this)}})}}exports.Atom=r; 193 + },{"strtok3/lib/type":"2Fe+","debug":"j+D9","token-types":"1rOY","./AtomToken":"wi0z"}],"eyoP":[function(require,module,exports) { 194 + var Buffer = require("buffer").Buffer; 195 + var e=require("buffer").Buffer,t=this&&this.__awaiter||function(e,t,a,r){return new(a||(a=Promise))(function(n,i){function s(e){try{o(r.next(e))}catch(t){i(t)}}function d(e){try{o(r.throw(e))}catch(t){i(t)}}function o(e){e.done?n(e.value):new a(function(t){t(e.value)}).then(s,d)}o((r=r.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const a=require("debug"),r=require("token-types"),n=require("../common/BasicParser"),i=require("./Atom"),s=require("./AtomToken"),d=require("../id3v1/ID3v1Parser"),o=require("../common/Util"),h=a("music-metadata:parser:MP4"),u="iTunes";class m extends n.BasicParser{static read_BE_Signed_Integer(e){return r.readIntBE(e,0,e.length)}static read_BE_Unsigned_Integer(e){return r.readUIntBE(e,0,e.length)}parse(){return t(this,void 0,void 0,function*(){return this.metadata.setFormat("dataformat","MPEG-4"),new i.Atom({name:"mp4",length:this.tokenizer.fileSize},!1,null).readAtoms(this.tokenizer,e=>t(this,void 0,void 0,function*(){if(e.parent)switch(e.parent.header.name){case"ilst":case"<id>":return this.parseMetadataItemData(e)}switch(e.header.name){case"ftyp":const t=yield this.parseAtom_ftyp(e.dataLen);return void h(`ftyp: ${t.join("/")}`);case"mdhd":return this.parseAtom_mdhd(e);case"mvhd":return this.parseAtom_mvhd(e)}yield this.tokenizer.readToken(new r.IgnoreType(e.dataLen)),h(`Ignore atom data: path=${e.atomPath}, payload-len=${e.dataLen}`)}),this.tokenizer.fileSize)})}addTag(e,t){this.metadata.addTag(u,e,t)}addWarning(e){h("Warning:"+e),this.warnings.push(e)}parseMetadataItemData(e){let a=e.header.name;return e.readAtoms(this.tokenizer,e=>t(this,void 0,void 0,function*(){switch(e.header.name){case"data":return this.parseValueAtom(a,e);case"name":const t=yield this.tokenizer.readToken(new s.NameAtom(e.dataLen));a+=":"+t.name;break;case"mean":const n=yield this.tokenizer.readToken(new s.NameAtom(e.dataLen));a+=":"+n.name;break;default:const i=yield this.tokenizer.readToken(new r.BufferType(e.dataLen));this.addWarning("Unsupported meta-item: "+a+"["+e.header.name+"] => value="+i.toString("hex")+" ascii="+i.toString("ascii"))}}),e.dataLen)}parseValueAtom(a,n){return t(this,void 0,void 0,function*(){const t=yield this.tokenizer.readToken(new s.DataAtom(n.header.length-s.Header.len));if(0!==t.type.set)throw new Error("Unsupported type-set != 0: "+t.type.set);switch(t.type.type){case 0:switch(a){case"trkn":case"disk":const e=r.UINT8.get(t.value,3),n=r.UINT8.get(t.value,5);this.addTag(a,e+"/"+n);break;case"gnre":const i=r.UINT8.get(t.value,1),s=d.Genres[i-1];this.addTag(a,s)}break;case 1:case 18:this.addTag(a,t.value.toString("utf-8"));break;case 13:if(this.options.skipCovers)break;this.addTag(a,{format:"image/jpeg",data:e.from(t.value)});break;case 14:if(this.options.skipCovers)break;this.addTag(a,{format:"image/png",data:e.from(t.value)});break;case 21:this.addTag(a,m.read_BE_Signed_Integer(t.value));break;case 22:this.addTag(a,m.read_BE_Unsigned_Integer(t.value));break;case 65:this.addTag(a,t.value.readInt8(0));break;case 66:this.addTag(a,t.value.readInt16BE(0));break;case 67:this.addTag(a,t.value.readInt32BE(0));break;default:this.addWarning(`atom key=${a}, has unknown well-known-type (data-type): ${t.type.type}`)}})}parseAtom_mvhd(e){return t(this,void 0,void 0,function*(){const t=yield this.tokenizer.readToken(new s.MvhdAtom(e.dataLen));this.parse_mxhd(t)})}parseAtom_mdhd(e){return t(this,void 0,void 0,function*(){const t=yield this.tokenizer.readToken(new s.MdhdAtom(e.dataLen));this.parse_mxhd(t)})}parse_mxhd(e){this.metadata.setFormat("sampleRate",e.timeScale),this.metadata.setFormat("duration",e.duration/e.timeScale)}parseAtom_ftyp(e){return t(this,void 0,void 0,function*(){const t=yield this.tokenizer.readToken(s.ftyp);if((e-=s.ftyp.len)>0){const a=yield this.parseAtom_ftyp(e),r=o.default.stripNulls(t.type).trim();return r.length>0&&a.push(r),a}return[]})}}exports.MP4Parser=m; 196 + },{"debug":"j+D9","token-types":"1rOY","../common/BasicParser":"O0hF","./Atom":"0TSH","./AtomToken":"wi0z","../id3v1/ID3v1Parser":"WTnS","../common/Util":"5e0M","buffer":"aMB2"}],"wNE+":[function(require,module,exports) { 197 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./MP4Parser");exports.default=e.MP4Parser; 198 + },{"./MP4Parser":"eyoP"}],"jtQL":[function(require,module,exports) { 199 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("token-types");exports.InfoTagHeaderTag=new e.StringType(4,"ascii"),exports.LameEncoderVersion=new e.StringType(6,"ascii"),exports.XingInfoTag={len:136,get:(t,r)=>({headerFlags:new e.BufferType(4).get(t,r),numFrames:e.UINT32_BE.get(t,r+4),streamSize:e.UINT32_BE.get(t,r+8),vbrScale:e.UINT32_BE.get(t,r+112),encoder:new e.StringType(9,"ascii").get(t,r+116),infoTagRevision:e.UINT8.get(t,r+125)>>4,vbrMethod:15&e.UINT8.get(t,r+125)})}; 200 + },{"token-types":"1rOY"}],"7/3S":[function(require,module,exports) { 201 + var Buffer = require("buffer").Buffer; 202 + var e=require("buffer").Buffer,t=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(a,s){function n(e){try{l(r.next(e))}catch(t){s(t)}}function o(e){try{l(r.throw(e))}catch(t){s(t)}}function l(e){e.done?a(e.value):new i(function(t){t(e.value)}).then(n,o)}l((r=r.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const i=require("assert"),r=require("token-types"),a=require("strtok3/lib/type"),s=require("debug"),n=require("../common/Util"),o=require("../id3v2/AbstractID3Parser"),l=require("./XingTag"),h=s("music-metadata:parser:mpeg"),d=1024;class f{constructor(e,t){if(this.versionIndex=n.default.getBitAllignedNumber(e,t+1,3,2),this.layer=f.LayerDescription[n.default.getBitAllignedNumber(e,t+1,5,2)],null===this.layer)throw new Error("Invalid MPEG layer");if(this.isProtectedByCRC=!n.default.isBitSet(e,t+1,7),this.bitrateIndex=n.default.getBitAllignedNumber(e,t+2,0,4),this.sampRateFreqIndex=n.default.getBitAllignedNumber(e,t+2,4,2),this.padding=n.default.isBitSet(e,t+2,6),this.privateBit=n.default.isBitSet(e,t+2,7),this.channelModeIndex=n.default.getBitAllignedNumber(e,t+3,0,2),this.modeExtension=n.default.getBitAllignedNumber(e,t+3,2,2),this.isCopyrighted=n.default.isBitSet(e,t+3,4),this.isOriginalMedia=n.default.isBitSet(e,t+3,5),this.emphasis=n.default.getBitAllignedNumber(e,t+3,7,2),this.version=f.VersionID[this.versionIndex],null===this.version)throw new Error("Invalid MPEG Audio version");this.channelMode=f.ChannelMode[this.channelModeIndex];const i=this.calcBitrate();if(!i)throw new Error("Cannot determine bit-rate");if(this.bitrate=null===i?null:1e3*i,this.samplingRate=this.calcSamplingRate(),null==this.samplingRate)throw new Error("Cannot determine sampling-rate")}calcDuration(e){return e*this.calcSamplesPerFrame()/this.samplingRate}calcSamplesPerFrame(){return f.samplesInFrameTable[1===this.version?0:1][this.layer]}calculateSideInfoLength(){if(3!==this.layer)return 2;if(3===this.channelModeIndex){if(1===this.version)return 17;if(2===this.version||2.5===this.version)return 9}else{if(1===this.version)return 32;if(2===this.version||2.5===this.version)return 17}}calcSlotSize(){return[null,4,1,1][this.layer]}calcBitrate(){if(0===this.bitrateIndex)return null;if(15===this.bitrateIndex)return null;const e=this.version.toString()+this.layer;return f.bitrate_index[this.bitrateIndex][e]}calcSamplingRate(){return 3===this.sampRateFreqIndex?null:f.sampling_rate_freq_index[this.version][this.sampRateFreqIndex]}}f.SyncByte1=255,f.SyncByte2=224,f.VersionID=[2.5,null,2,1],f.LayerDescription=[null,3,2,1],f.ChannelMode=["stereo","joint_stereo","dual_channel","mono"],f.bitrate_index={1:{11:32,12:32,13:32,21:32,22:8,23:8},2:{11:64,12:48,13:40,21:48,22:16,23:16},3:{11:96,12:56,13:48,21:56,22:24,23:24},4:{11:128,12:64,13:56,21:64,22:32,23:32},5:{11:160,12:80,13:64,21:80,22:40,23:40},6:{11:192,12:96,13:80,21:96,22:48,23:48},7:{11:224,12:112,13:96,21:112,22:56,23:56},8:{11:256,12:128,13:112,21:128,22:64,23:64},9:{11:288,12:160,13:128,21:144,22:80,23:80},10:{11:320,12:192,13:160,21:160,22:96,23:96},11:{11:352,12:224,13:192,21:176,22:112,23:112},12:{11:384,12:256,13:224,21:192,22:128,23:128},13:{11:416,12:320,13:256,21:224,22:144,23:144},14:{11:448,12:384,13:320,21:256,22:160,23:160}},f.sampling_rate_freq_index={1:{0:44100,1:48e3,2:32e3},2:{0:22050,1:24e3,2:16e3},2.5:{0:11025,1:12e3,2:8e3}},f.samplesInFrameTable=[[0,384,1152,1152],[0,384,1152,576]];class u{static getVbrCodecProfile(e){return"V"+(100-e)/10}}u.FrameHeader={len:4,get:(e,t)=>new f(e,t)};class c extends o.AbstractID3Parser{constructor(){super(...arguments),this.frameCount=0,this.syncFrameCount=0,this.countSkipFrameData=0,this.bitrates=[],this.calculateEofDuration=!1,this.buf_frame_header=e.alloc(4),this.syncPeek={buf:e.alloc(d),len:0}}_parse(){return t(this,void 0,void 0,function*(){this.metadata.setFormat("lossless",!1);try{let t=!1;for(;!t;)yield this.sync(),t=yield this.parseAudioFrameHeader()}catch(e){if(e.message!==a.endOfFile)throw e;if(this.calculateEofDuration){const e=this.frameCount*this.samplesPerFrame;this.metadata.setFormat("numberOfSamples",e);const t=e/this.metadata.format.sampleRate;h(`Calculate duration at EOF: ${t} sec.`,t),this.metadata.setFormat("duration",t)}}})}finalize(){const e=this.metadata.format,t=this.metadata.native.hasOwnProperty("ID3v1");if(e.duration&&this.tokenizer.fileSize){const i=this.tokenizer.fileSize-this.mpegOffset-(t?128:0);e.codecProfile&&"V"===e.codecProfile[0]&&this.metadata.setFormat("bitrate",8*i/e.duration)}else if(this.tokenizer.fileSize&&"CBR"===e.codecProfile){const i=this.tokenizer.fileSize-this.mpegOffset-(t?128:0),r=Math.round(i/this.frame_size)*this.samplesPerFrame;this.metadata.setFormat("numberOfSamples",r);const a=r/e.sampleRate;h("Calculate CBR duration based on file size: %s",a),this.metadata.setFormat("duration",a)}}sync(){return t(this,void 0,void 0,function*(){let e=!1;for(;;){let t=0;if(this.syncPeek.len=yield this.tokenizer.peekBuffer(this.syncPeek.buf,0,d,this.tokenizer.position,!0),this.syncPeek.len<=256)throw new Error(a.endOfFile);if(0===this.syncPeek.len)throw new Error(a.endOfFile);for(;;){if(e&&224==(224&this.syncPeek.buf[t]))return this.buf_frame_header[0]=f.SyncByte1,this.buf_frame_header[1]=this.syncPeek.buf[t],yield this.tokenizer.ignore(t),h(`Sync at offset=${this.tokenizer.position-1}`),this.syncFrameCount===this.frameCount&&(h("Reset MPEG stream, no valid frame in between syncs"),this.frameCount=0,this.frame_size=0),void(this.syncFrameCount=this.frameCount);if(e=!1,-1===(t=this.syncPeek.buf.indexOf(f.SyncByte1,t))){if(this.syncPeek.len<this.syncPeek.buf.length)throw new Error(a.endOfFile);yield this.tokenizer.ignore(this.syncPeek.len);break}++t,e=!0}}})}parseAudioFrameHeader(){return t(this,void 0,void 0,function*(){let e;0===this.frameCount&&(this.mpegOffset=this.tokenizer.position-1),yield this.tokenizer.peekBuffer(this.buf_frame_header,1,3);try{e=u.FrameHeader.get(this.buf_frame_header,0)}catch(a){return yield this.tokenizer.ignore(1),this.warnings.push("Parse error: "+a.message),!1}yield this.tokenizer.ignore(3);this.metadata.format;this.metadata.setFormat("dataformat","mp"+e.layer),this.metadata.setFormat("lossless",!1),this.metadata.setFormat("bitrate",e.bitrate),this.metadata.setFormat("sampleRate",e.samplingRate),this.metadata.setFormat("numberOfChannels","mono"===e.channelMode?1:2),this.frameCount<2e5&&h("offset=%s MP%s bitrate=%s sample-rate=%s",this.tokenizer.position-4,e.layer,e.bitrate,e.samplingRate);const t=e.calcSlotSize();if(null===t)throw new Error("invalid slot_size");const i=e.calcSamplesPerFrame();h(`samples_per_frame=${i}`);const r=i/8*e.bitrate/e.samplingRate+(e.padding?t:0);if(this.frame_size=Math.floor(r),this.audioFrameHeader=e,this.frameCount++,this.bitrates.push(e.bitrate),1===this.frameCount)return this.offset=u.FrameHeader.len,yield this.skipSideInformation(),!1;if(3===this.frameCount)if(this.areAllSame(this.bitrates)){if(this.samplesPerFrame=i,this.metadata.setFormat("codecProfile","CBR"),this.tokenizer.fileSize)return!0}else if(this.metadata.format.duration||!this.options.duration)return!0;return this.options.duration&&4===this.frameCount&&(this.samplesPerFrame=i,this.calculateEofDuration=!0),this.offset=4,e.isProtectedByCRC?(yield this.parseCrc(),!1):(yield this.skipSideInformation(),!1)})}parseCrc(){return t(this,void 0,void 0,function*(){return this.crc=yield this.tokenizer.readNumber(r.INT16_BE),this.offset+=2,this.skipSideInformation()})}skipSideInformation(){return t(this,void 0,void 0,function*(){const e=this.audioFrameHeader.calculateSideInfoLength();yield this.tokenizer.readToken(new r.BufferType(e)),this.offset+=e,yield this.readXtraInfoHeader()})}readXtraInfoHeader(){return t(this,void 0,void 0,function*(){const e=yield this.tokenizer.readToken(l.InfoTagHeaderTag);switch(this.offset+=l.InfoTagHeaderTag.len,e){case"Info":return this.metadata.setFormat("codecProfile","CBR"),this.readXingInfoHeader();case"Xing":const t=yield this.readXingInfoHeader(),i=u.getVbrCodecProfile(t.vbrScale);return this.metadata.setFormat("codecProfile",i),null;case"Xtra":break;case"LAME":const r=yield this.tokenizer.readToken(l.LameEncoderVersion);return this.offset+=l.LameEncoderVersion.len,this.metadata.setFormat("encoder","LAME "+r),yield this.skipFrameData(this.frame_size-this.offset),null}const t=this.frame_size-this.offset;return t<0?this.warnings.push("Frame "+this.frameCount+"corrupt: negative frameDataLeft"):yield this.skipFrameData(t),null})}readXingInfoHeader(){return t(this,void 0,void 0,function*(){const e=yield this.tokenizer.readToken(l.XingInfoTag);if(this.offset+=l.XingInfoTag.len,this.metadata.setFormat("encoder",n.default.stripNulls(e.encoder)),1==(1&e.headerFlags[3])){const t=this.audioFrameHeader.calcDuration(e.numFrames);return this.metadata.setFormat("duration",t),h("Get duration from Xing header: %s",this.metadata.format.duration),e}const t=this.frame_size-this.offset;return yield this.skipFrameData(t),e})}skipFrameData(e){return t(this,void 0,void 0,function*(){i.ok(e>=0,"frame-data-left cannot be negative"),yield this.tokenizer.readToken(new r.IgnoreType(e)),this.countSkipFrameData+=e})}areAllSame(e){const t=e[0];return e.every(e=>e===t)}}exports.MpegParser=c; 203 + },{"assert":"g2FE","token-types":"1rOY","strtok3/lib/type":"2Fe+","debug":"j+D9","../common/Util":"5e0M","../id3v2/AbstractID3Parser":"Tc8M","./XingTag":"jtQL","buffer":"aMB2"}],"Af2g":[function(require,module,exports) { 204 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./MpegParser");exports.default=e.MpegParser; 205 + },{"./MpegParser":"7/3S"}],"nYTK":[function(require,module,exports) { 206 + var Buffer = require("buffer").Buffer; 207 + var e=require("buffer").Buffer;Object.defineProperty(exports,"__esModule",{value:!0});const t=require("token-types"),a=require("debug"),s=require("./Vorbis"),r=a("music-metadata:parser:ogg:vorbis1");class i{constructor(e,t){this.metadata=e,this.options=t,this.codecName="Vorbis I",this.pageSegments=[]}parsePage(t,a){if(t.headerType.firstPage)this.parseFirstPage(t,a);else{if(t.headerType.continued){if(0===this.pageSegments.length)throw new Error("Cannot continue on previous page");this.pageSegments.push(a)}if(t.headerType.lastPage||!t.headerType.continued){if(this.pageSegments.length>0){const t=e.concat(this.pageSegments);this.parseFullPage(t)}this.pageSegments=t.headerType.lastPage?[]:[a]}}t.headerType.lastPage&&this.calculateDuration(t)}flush(){this.parseFullPage(e.concat(this.pageSegments))}parseFirstPage(e,t){r("Parse first page");const a=s.CommonHeader.get(t,0);if("vorbis"!==a.vorbis)throw new Error("Metadata does not look like Vorbis");if(1!==a.packetType)throw new Error("First Ogg page should be type 1: the identification header");{const e=s.IdentificationHeader.get(t,s.CommonHeader.len);this.metadata.setFormat("sampleRate",e.sampleRate),this.metadata.setFormat("bitrate",e.bitrateNominal),this.metadata.setFormat("numberOfChannels",e.channelMode),r("sample-rate=%s[hz], bitrate=%s[b/s], channel-mode=%s",e.sampleRate,e.bitrateNominal,e.channelMode)}}parseFullPage(e){const t=s.CommonHeader.get(e,0);switch(r("Parse full page: type=%s, byteLength=%s",t.packetType,e.byteLength),t.packetType){case 3:return this.parseUserCommentList(e,s.CommonHeader.len)}}calculateDuration(e){this.metadata.format.sampleRate&&e.absoluteGranulePosition>=0&&(this.metadata.setFormat("numberOfSamples",e.absoluteGranulePosition),this.metadata.setFormat("duration",this.metadata.format.numberOfSamples/this.metadata.format.sampleRate))}parseUserCommentList(e,a){const s=t.UINT32_LE.get(e,a);a+=4;new t.StringType(s,"utf-8").get(e,a);a+=s;let r=t.UINT32_LE.get(e,a);for(a+=4;r-- >0;)a+=this.parseUserComment(e,a)}parseUserComment(e,a){const i=t.UINT32_LE.get(e,a),o=new t.StringType(i,"utf-8").get(e,a+4),n=o.indexOf("="),m=o.slice(0,n).toUpperCase();let l=o.slice(n+1);return"METADATA_BLOCK_PICTURE"===m&&(l=this.options.skipCovers?null:s.VorbisPictureToken.fromBase64(l)),null!==l&&(r("Push tag: id=%s, value=%s",m,l),this.metadata.addTag("vorbis",m,l)),t.UINT32_LE.len+i}}exports.VorbisParser=i; 208 + },{"token-types":"1rOY","debug":"j+D9","./Vorbis":"IGPB","buffer":"aMB2"}],"rwC0":[function(require,module,exports) { 209 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("token-types");class t{constructor(e){if(this.len=e,e<19)throw new Error("ID-header-page 0 should be at least 19 bytes long")}get(t,r){return{magicSignature:new e.StringType(8,"ascii").get(t,r+0),version:t.readUInt8(r+8),channelCount:t.readUInt8(r+9),preSkip:t.readInt16LE(r+10),inputSampleRate:t.readInt32LE(r+12),outputGain:t.readInt16LE(r+16),channelMapping:t.readUInt8(r+18)}}}exports.IdHeader=t; 210 + },{"token-types":"1rOY"}],"Ja40":[function(require,module,exports) { 211 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const t=require("token-types"),e=require("./Opus"),a=require("../vorbis/VorbisParser");class s extends a.VorbisParser{constructor(t,e,a){super(t,e),this.tokenizer=a,this.codecName="Opus",this.lastPos=-1}parseFirstPage(t,a){if(this.idHeader=new e.IdHeader(a.length).get(a,0),"OpusHead"!==this.idHeader.magicSignature)throw new Error("Illegal ogg/Opus magic-signature");this.metadata.setFormat("sampleRate",this.idHeader.inputSampleRate),this.metadata.setFormat("numberOfChannels",this.idHeader.channelCount)}parseFullPage(e){switch(new t.StringType(8,"ascii").get(e,0)){case"OpusTags":this.parseUserCommentList(e,8),this.lastPos=this.tokenizer.position}}calculateDuration(t){if(this.metadata.format.sampleRate&&t.absoluteGranulePosition>=0&&(this.metadata.setFormat("numberOfSamples",t.absoluteGranulePosition-this.idHeader.preSkip),this.metadata.setFormat("duration",this.metadata.format.numberOfSamples/this.idHeader.inputSampleRate),-1!==this.lastPos&&this.tokenizer.fileSize&&this.metadata.format.duration)){const t=this.tokenizer.fileSize-this.lastPos;this.metadata.setFormat("bitrate",8*t/this.metadata.format.duration)}}}exports.OpusParser=s; 212 + },{"token-types":"1rOY","./Opus":"rwC0","../vorbis/VorbisParser":"nYTK"}],"PMZJ":[function(require,module,exports) { 213 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("token-types"),r=require("../../common/Util");exports.Header={len:80,get:(t,a)=>({speex:new e.StringType(8,"ascii").get(t,a+0),version:r.default.trimRightNull(new e.StringType(20,"ascii").get(t,a+8)),version_id:t.readInt32LE(a+28),header_size:t.readInt32LE(a+32),rate:t.readInt32LE(a+36),mode:t.readInt32LE(a+40),mode_bitstream_version:t.readInt32LE(a+44),nb_channels:t.readInt32LE(a+48),bitrate:t.readInt32LE(a+52),frame_size:t.readInt32LE(a+56),vbr:t.readInt32LE(a+60),frames_per_packet:t.readInt32LE(a+64),extra_headers:t.readInt32LE(a+68),reserved1:t.readInt32LE(a+72),reserved2:t.readInt32LE(a+76)})}; 214 + },{"token-types":"1rOY","../../common/Util":"5e0M"}],"D7fj":[function(require,module,exports) { 215 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("debug"),t=require("./Speex"),r=require("../vorbis/VorbisParser"),s=e("music-metadata:parser:ogg:speex");class a extends r.VorbisParser{constructor(e,t,r){super(e,t),this.tokenizer=r,this.codecName="Speex",this.lastPos=-1}parseFirstPage(e,r){s("First Ogg/Speex page");let a=t.Header.get(r,0);a=a,this.metadata.setFormat("numberOfChannels",a.nb_channels),this.metadata.setFormat("sampleRate",a.rate),this.metadata.setFormat("encoder",a.version),-1!==a.bitrate&&this.metadata.setFormat("bitrate",a.bitrate)}}exports.SpeexParser=a; 216 + },{"debug":"j+D9","./Speex":"PMZJ","../vorbis/VorbisParser":"nYTK"}],"fxkA":[function(require,module,exports) { 217 + "use strict";var e=this&&this.__awaiter||function(e,t,r,a){return new(r||(r=Promise))(function(s,i){function o(e){try{g(a.next(e))}catch(t){i(t)}}function n(e){try{g(a.throw(e))}catch(t){i(t)}}function g(e){e.done?s(e.value):new r(function(t){t(e.value)}).then(o,n)}g((a=a.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const t=require("token-types"),r=require("debug"),a=require("../common/Util"),s=require("../common/FourCC"),i=require("./vorbis/VorbisParser"),o=require("./opus/OpusParser"),n=require("./speex/SpeexParser"),g=require("../common/BasicParser"),u=r("music-metadata:parser:ogg");class p{static sum(e,t,r){let a=0;for(let s=t;s<t+r;++s)a+=e[s];return a}constructor(e){this.len=e.page_segments}get(e,t){return{totalPageSize:p.sum(e,t,this.len)}}}exports.SegmentTable=p;class c extends g.BasicParser{static getInstance(){return new c}parse(){return e(this,void 0,void 0,function*(){u("pos=%s, parsePage()",this.tokenizer.position);try{let r;do{if("OggS"!==(r=yield this.tokenizer.readToken(c.Header)).capturePattern)throw new Error("expected ogg header but was not found");this.header=r,this.pageNumber=r.pageSequenceNo,u("page#=%s, Ogg.id=%s",r.pageSequenceNo,r.capturePattern);const e=yield this.tokenizer.readToken(new p(r));u("totalPageSize=%s",e.totalPageSize);const a=yield this.tokenizer.readToken(new t.BufferType(e.totalPageSize));if(u("firstPage=%s, lastPage=%s, continued=%s",r.headerType.firstPage,r.headerType.lastPage,r.headerType.continued),r.headerType.firstPage){const e=new t.StringType(7,"ascii").get(a,0);switch(e){case"vorbis":u("Set page consumer to Ogg/Vorbis "),this.pageConsumer=new i.VorbisParser(this.metadata,this.options);break;case"OpusHea":u("Set page consumer to Ogg/Opus"),this.pageConsumer=new o.OpusParser(this.metadata,this.options,this.tokenizer);break;case"Speex ":u("Set page consumer to Ogg/Speex"),this.pageConsumer=new n.SpeexParser(this.metadata,this.options,this.tokenizer);break;default:throw new Error("gg audio-codec not recognized (id="+e+")")}}this.metadata.setFormat("dataformat","Ogg/"+this.pageConsumer.codecName),this.pageConsumer.parsePage(r,a)}while(!r.headerType.lastPage)}catch(e){if("End-Of-File"===e.message)return;if(e.message.startsWith("FourCC")&&this.pageNumber>0)return this.warnings.push("Invalid FourCC ID, maybe last OGG-page is not marked with last-page flag"),this.pageConsumer.flush();throw e}})}}c.Header={len:27,get:(e,r)=>({capturePattern:s.FourCcToken.get(e,r),version:e.readUInt8(r+4),headerType:{continued:a.default.strtokBITSET.get(e,r+5,0),firstPage:a.default.strtokBITSET.get(e,r+5,1),lastPage:a.default.strtokBITSET.get(e,r+5,2)},absoluteGranulePosition:e.readIntLE(r+6,6),streamSerialNumber:t.UINT32_LE.get(e,r+14),pageSequenceNo:t.UINT32_LE.get(e,r+18),pageChecksum:t.UINT32_LE.get(e,r+22),page_segments:e.readUInt8(r+26)})},exports.OggParser=c; 218 + },{"token-types":"1rOY","debug":"j+D9","../common/Util":"5e0M","../common/FourCC":"P2sd","./vorbis/VorbisParser":"nYTK","./opus/OpusParser":"Ja40","./speex/SpeexParser":"D7fj","../common/BasicParser":"O0hF"}],"bic0":[function(require,module,exports) { 219 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./OggParser");exports.default=e.OggParser; 220 + },{"./OggParser":"fxkA"}],"xQQP":[function(require,module,exports) { 221 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("token-types"),t=require("../common/FourCC");var r;function a(e){return{containsHeader:s(e,31),containsFooter:s(e,30),isHeader:s(e,31),readOnly:s(e,0),dataType:(6&e)>>1}}function s(e,t){return 0!=(e&1<<t)}!function(e){e[e.text_utf8=0]="text_utf8",e[e.binary=1]="binary",e[e.external_info=2]="external_info",e[e.reserved=3]="reserved"}(r=exports.DataType||(exports.DataType={})),exports.DescriptorParser={len:52,get:(r,a)=>({ID:t.FourCcToken.get(r,a),version:e.UINT32_LE.get(r,a+4)/1e3,descriptorBytes:e.UINT32_LE.get(r,a+8),headerBytes:e.UINT32_LE.get(r,a+12),seekTableBytes:e.UINT32_LE.get(r,a+16),headerDataBytes:e.UINT32_LE.get(r,a+20),apeFrameDataBytes:e.UINT32_LE.get(r,a+24),apeFrameDataBytesHigh:e.UINT32_LE.get(r,a+28),terminatingDataBytes:e.UINT32_LE.get(r,a+32),fileMD5:new e.BufferType(16).get(r,a+36)})},exports.Header={len:24,get:(t,r)=>({compressionLevel:e.UINT16_LE.get(t,r),formatFlags:e.UINT16_LE.get(t,r+2),blocksPerFrame:e.UINT32_LE.get(t,r+4),finalFrameBlocks:e.UINT32_LE.get(t,r+8),totalFrames:e.UINT32_LE.get(t,r+12),bitsPerSample:e.UINT16_LE.get(t,r+16),channel:e.UINT16_LE.get(t,r+18),sampleRate:e.UINT32_LE.get(t,r+20)})},exports.TagFooter={len:32,get:(t,r)=>({ID:new e.StringType(8,"ascii").get(t,r),version:e.UINT32_LE.get(t,r+8),size:e.UINT32_LE.get(t,r+12),fields:e.UINT32_LE.get(t,r+16),flags:a(e.UINT32_LE.get(t,r+20))})},exports.TagItemHeader={len:8,get:(t,r)=>({size:e.UINT32_LE.get(t,r),flags:a(e.UINT32_LE.get(t,r+4))})},exports.TagField=(t=>new e.BufferType(t.size-exports.TagFooter.len)),exports.parseTagFlags=a,exports.isBitSet=s; 222 + },{"token-types":"1rOY","../common/FourCC":"P2sd"}],"IhDz":[function(require,module,exports) { 223 + var Buffer = require("buffer").Buffer; 224 + var e=require("buffer").Buffer,r=this&&this.__awaiter||function(e,r,s,t){return new(s||(s=Promise))(function(n,a){function i(e){try{l(t.next(e))}catch(r){a(r)}}function o(e){try{l(t.throw(e))}catch(r){a(r)}}function l(e){e.done?n(e.value):new s(function(r){r(e.value)}).then(i,o)}l((t=t.apply(e,r||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const s=require("debug"),t=require("file-type"),n=require("token-types"),a=require("assert"),i=require("../common/Util"),o=require("../common/BasicParser"),l=require("./APEv2Token"),c=s("music-metadata:parser:APEv2"),d="APEv2",h="APETAGEX";class u extends o.BasicParser{constructor(){super(...arguments),this.ape={}}static calculateDuration(e){let r=e.totalFrames>1?e.blocksPerFrame*(e.totalFrames-1):0;return(r+=e.finalFrameBlocks)/e.sampleRate}static parseTagHeader(s,t,n){return r(this,void 0,void 0,function*(){const r=yield t.peekToken(l.TagFooter);if(r.ID===h){yield t.ignore(l.TagFooter.len);const e=yield t.readToken(l.TagField(r));u.parseTags(s,r,e,0,!n.skipCovers)}else if(c(`APEv2 header not found at offset=${t.position}`),t.fileSize){const r=t.fileSize-t.position,a=e.alloc(r);return yield t.readBuffer(a),u.parseTagFooter(s,a,!n.skipCovers)}})}static parseTagFooter(e,r,s){const t=l.TagFooter.get(r,r.length-l.TagFooter.len);a.equal(t.ID,h,"APEv2 Footer preamble"),this.parseTags(e,t,r,r.length-t.size,s)}static parseTags(r,s,n,a,o){for(let h=0;h<s.fields;h++){const s=l.TagItemHeader.get(n,a);a+=l.TagItemHeader.len;let h=i.default.findZero(n,a,n.length);const u=n.toString("ascii",a,h);switch(a=h+1,s.flags.dataType){case l.DataType.text_utf8:{const e=n.toString("utf8",a,a+=s.size).split(/\x00/g);for(const s of e)r.addTag(d,u,s);break}case l.DataType.binary:if(o){const o=n.slice(a,a+s.size);let l=0;h=i.default.findZero(o,l,o.length);const p=o.toString("utf8",l,h);l=h+1;const f=e.from(o.slice(l)),m=t(f);if(m)if(0===m.mime.indexOf("image/")){const e={description:p,data:f,format:m.mime};a+=s.size,r.addTag(d,u,e)}else c(`Unexpected binary tag of type': ${m.mime}`);else c(`Failed to determine file type for binary tag: ${u}`)}break;case l.DataType.external_info:c(`Ignore external info ${u}`);break;default:throw new Error(`Unexpected data-type: ${s.flags.dataType}`)}}}parse(){return r(this,void 0,void 0,function*(){const e=yield this.tokenizer.readToken(l.DescriptorParser);a.equal(e.ID,"MAC ","descriptor.ID"),this.ape.descriptor=e;const r=e.descriptorBytes-l.DescriptorParser.len,s=yield r>0?this.parseDescriptorExpansion(r):this.parseHeader();return yield this.tokenizer.readToken(new n.IgnoreType(s.forwardBytes)),u.parseTagHeader(this.metadata,this.tokenizer,this.options)})}parseDescriptorExpansion(e){return r(this,void 0,void 0,function*(){return yield this.tokenizer.readToken(new n.IgnoreType(e)),this.parseHeader()})}parseHeader(){return r(this,void 0,void 0,function*(){const e=yield this.tokenizer.readToken(l.Header);return this.metadata.setFormat("lossless",!0),this.metadata.setFormat("dataformat","Monkey's Audio"),this.metadata.setFormat("bitsPerSample",e.bitsPerSample),this.metadata.setFormat("sampleRate",e.sampleRate),this.metadata.setFormat("numberOfChannels",e.channel),this.metadata.setFormat("duration",u.calculateDuration(e)),{forwardBytes:this.ape.descriptor.seekTableBytes+this.ape.descriptor.headerDataBytes+this.ape.descriptor.apeFrameDataBytes+this.ape.descriptor.terminatingDataBytes}})}}exports.APEv2Parser=u; 225 + },{"debug":"j+D9","file-type":"gPQA","token-types":"1rOY","assert":"g2FE","../common/Util":"5e0M","../common/BasicParser":"O0hF","./APEv2Token":"xQQP","buffer":"aMB2"}],"0DiC":[function(require,module,exports) { 226 + var Buffer = require("buffer").Buffer; 227 + var e=require("buffer").Buffer,t=this&&this.__awaiter||function(e,t,a,i){return new(a||(a=Promise))(function(r,o){function s(e){try{l(i.next(e))}catch(t){o(t)}}function n(e){try{l(i.throw(e))}catch(t){o(t)}}function l(e){e.done?r(e.value):new a(function(t){t(e.value)}).then(s,n)}l((i=i.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0});const a=require("token-types"),i=require("../apev2/APEv2Parser"),r=require("../common/FourCC"),o=require("../common/BasicParser"),s=[6e3,8e3,9600,11025,12e3,16e3,22050,24e3,32e3,44100,48e3,64e3,88200,96e3,192e3,-1];class n{static isBitSet(e,t){return 1===n.getBitAllignedNumber(e,t,1)}static getBitAllignedNumber(e,t,a){return e>>>t&4294967295>>>32-a}}n.BlockHeaderToken={len:32,get:(e,t)=>{const i=a.UINT32_LE.get(e,t+24);return{BlockID:r.FourCcToken.get(e,t),blockSize:a.UINT32_LE.get(e,t+4),version:a.UINT16_LE.get(e,t+8),totalSamples:(a.UINT8.get(e,t+11)<<32)+a.UINT32_LE.get(e,t+12),blockIndex:(a.UINT8.get(e,t+10)<<32)+a.UINT32_LE.get(e,t+16),blockSamples:a.UINT32_LE.get(e,t+20),flags:{bitsPerSample:8*(1+n.getBitAllignedNumber(i,0,2)),isMono:n.isBitSet(i,2),isHybrid:n.isBitSet(i,3),isJointStereo:n.isBitSet(i,4),crossChannel:n.isBitSet(i,5),hybridNoiseShaping:n.isBitSet(i,6),floatingPoint:n.isBitSet(i,7),samplingRate:s[n.getBitAllignedNumber(i,23,4)],isDSD:n.isBitSet(i,31)},crc:new a.BufferType(4).get(e,t+28)}}},n.MetadataIdToken={len:1,get:(e,t)=>({functionId:n.getBitAllignedNumber(e[t],0,6),isOptional:n.isBitSet(e[t],5),actualDataByteLength:n.isBitSet(e[t],6),largeBlock:n.isBitSet(e[t],7)})};class l extends o.BasicParser{parse(){return t(this,void 0,void 0,function*(){return yield this.parseWavPackBlocks(),i.APEv2Parser.parseTagHeader(this.metadata,this.tokenizer,this.options)})}parseWavPackBlocks(){return t(this,void 0,void 0,function*(){for(;;){if("wvpk"!==(yield this.tokenizer.peekToken(r.FourCcToken)))break;const e=yield this.tokenizer.readToken(n.BlockHeaderToken);if("wvpk"!==e.BlockID)throw new Error("Expected wvpk on beginning of file");0!==e.blockIndex||this.metadata.format.dataformat||(this.metadata.setFormat("dataformat","WavPack"),this.metadata.setFormat("lossless",!e.flags.isHybrid),this.metadata.setFormat("bitsPerSample",e.flags.bitsPerSample),this.metadata.setFormat("sampleRate",e.flags.samplingRate),this.metadata.setFormat("numberOfChannels",e.flags.isMono?1:2),this.metadata.setFormat("duration",e.totalSamples/e.flags.samplingRate));const t=e.blockSize-(n.BlockHeaderToken.len-8);0===e.blockIndex&&0===e.blockSamples?yield this.parseMetadataSubBlock(t):yield this.tokenizer.ignore(t)}})}parseMetadataSubBlock(i){return t(this,void 0,void 0,function*(){do{const t=yield this.tokenizer.readToken(n.MetadataIdToken),r=yield this.tokenizer.readNumber(t.largeBlock?a.UINT24_LE:a.UINT8),o=1+2*r+(t.largeBlock?a.UINT24_LE.len:a.UINT8.len);if(o>i)throw new Error("Metadata exceeding block size");const s=e.alloc(2*r);switch(yield this.tokenizer.readBuffer(s,0,s.length),t.functionId){case 0:break;case 38:this.metadata.setFormat("audioMD5",s)}i-=o}while(i>1)})}}exports.WavPackParser=l; 228 + },{"token-types":"1rOY","../apev2/APEv2Parser":"IhDz","../common/FourCC":"P2sd","../common/BasicParser":"O0hF","buffer":"aMB2"}],"SIzp":[function(require,module,exports) { 229 + "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("./WavPackParser");exports.default=e.WavPackParser; 230 + },{"./WavPackParser":"0DiC"}],"Focm":[function(require,module,exports) { 231 + "use strict";var e=d(require("music-metadata-browser")),t=require("streaming-http-token-reader"),a=c(require("music-metadata/lib/asf")),r=c(require("music-metadata/lib/flac")),i=c(require("music-metadata/lib/mp4")),u=c(require("music-metadata/lib/mpeg")),s=c(require("music-metadata/lib/ogg")),l=c(require("music-metadata/lib/wavpack"));function c(e){return e&&e.__esModule?e:{default:e}}function d(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,a):{};r.get||r.set?Object.defineProperty(t,a,r):t[a]=e[a]}return t.default=e,t}function f(e){return Promise.resolve(new self.musicMetadata.parsers[e])}self.musicMetadata=e,self.musicMetadata.parsers={asf:a.default,flac:r.default,mp4:i.default,mpeg:u.default,ogg:s.default,wavpack:l.default},self.musicMetadata.parsingOptions={loadParser:f},self.StreamingHttpTokenReader=t.StreamingHttpTokenReader; 232 + },{"music-metadata-browser":"yy1F","streaming-http-token-reader":"L2sF","music-metadata/lib/asf":"tqmk","music-metadata/lib/flac":"00rn","music-metadata/lib/mp4":"wNE+","music-metadata/lib/mpeg":"Af2g","music-metadata/lib/ogg":"bic0","music-metadata/lib/wavpack":"SIzp"}]},{},["Focm"], null)