{"ast":null,"code":"'use strict';\n\nconst utils = require('./utils');\nconst {\n  CHAR_ASTERISK,\n  /* * */\n  CHAR_AT,\n  /* @ */\n  CHAR_BACKWARD_SLASH,\n  /* \\ */\n  CHAR_COMMA,\n  /* , */\n  CHAR_DOT,\n  /* . */\n  CHAR_EXCLAMATION_MARK,\n  /* ! */\n  CHAR_FORWARD_SLASH,\n  /* / */\n  CHAR_LEFT_CURLY_BRACE,\n  /* { */\n  CHAR_LEFT_PARENTHESES,\n  /* ( */\n  CHAR_LEFT_SQUARE_BRACKET,\n  /* [ */\n  CHAR_PLUS,\n  /* + */\n  CHAR_QUESTION_MARK,\n  /* ? */\n  CHAR_RIGHT_CURLY_BRACE,\n  /* } */\n  CHAR_RIGHT_PARENTHESES,\n  /* ) */\n  CHAR_RIGHT_SQUARE_BRACKET /* ] */\n} = require('./constants');\nconst isPathSeparator = code => {\n  return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;\n};\nconst depth = token => {\n  if (token.isPrefix !== true) {\n    token.depth = token.isGlobstar ? Infinity : 1;\n  }\n};\n\n/**\n * Quickly scans a glob pattern and returns an object with a handful of\n * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists),\n * `glob` (the actual pattern), `negated` (true if the path starts with `!` but not\n * with `!(`) and `negatedExtglob` (true if the path starts with `!(`).\n *\n * ```js\n * const pm = require('picomatch');\n * console.log(pm.scan('foo/bar/*.js'));\n * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' }\n * ```\n * @param {String} `str`\n * @param {Object} `options`\n * @return {Object} Returns an object with tokens and regex source string.\n * @api public\n */\n\nconst scan = (input, options) => {\n  const opts = options || {};\n  const length = input.length - 1;\n  const scanToEnd = opts.parts === true || opts.scanToEnd === true;\n  const slashes = [];\n  const tokens = [];\n  const parts = [];\n  let str = input;\n  let index = -1;\n  let start = 0;\n  let lastIndex = 0;\n  let isBrace = false;\n  let isBracket = false;\n  let isGlob = false;\n  let isExtglob = false;\n  let isGlobstar = false;\n  let braceEscaped = false;\n  let backslashes = false;\n  let negated = false;\n  let negatedExtglob = false;\n  let finished = false;\n  let braces = 0;\n  let prev;\n  let code;\n  let token = {\n    value: '',\n    depth: 0,\n    isGlob: false\n  };\n  const eos = () => index >= length;\n  const peek = () => str.charCodeAt(index + 1);\n  const advance = () => {\n    prev = code;\n    return str.charCodeAt(++index);\n  };\n  while (index < length) {\n    code = advance();\n    let next;\n    if (code === CHAR_BACKWARD_SLASH) {\n      backslashes = token.backslashes = true;\n      code = advance();\n      if (code === CHAR_LEFT_CURLY_BRACE) {\n        braceEscaped = true;\n      }\n      continue;\n    }\n    if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {\n      braces++;\n      while (eos() !== true && (code = advance())) {\n        if (code === CHAR_BACKWARD_SLASH) {\n          backslashes = token.backslashes = true;\n          advance();\n          continue;\n        }\n        if (code === CHAR_LEFT_CURLY_BRACE) {\n          braces++;\n          continue;\n        }\n        if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {\n          isBrace = token.isBrace = true;\n          isGlob = token.isGlob = true;\n          finished = true;\n          if (scanToEnd === true) {\n            continue;\n          }\n          break;\n        }\n        if (braceEscaped !== true && code === CHAR_COMMA) {\n          isBrace = token.isBrace = true;\n          isGlob = token.isGlob = true;\n          finished = true;\n          if (scanToEnd === true) {\n            continue;\n          }\n          break;\n        }\n        if (code === CHAR_RIGHT_CURLY_BRACE) {\n          braces--;\n          if (braces === 0) {\n            braceEscaped = false;\n            isBrace = token.isBrace = true;\n            finished = true;\n            break;\n          }\n        }\n      }\n      if (scanToEnd === true) {\n        continue;\n      }\n      break;\n    }\n    if (code === CHAR_FORWARD_SLASH) {\n      slashes.push(index);\n      tokens.push(token);\n      token = {\n        value: '',\n        depth: 0,\n        isGlob: false\n      };\n      if (finished === true) continue;\n      if (prev === CHAR_DOT && index === start + 1) {\n        start += 2;\n        continue;\n      }\n      lastIndex = index + 1;\n      continue;\n    }\n    if (opts.noext !== true) {\n      const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;\n      if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {\n        isGlob = token.isGlob = true;\n        isExtglob = token.isExtglob = true;\n        finished = true;\n        if (code === CHAR_EXCLAMATION_MARK && index === start) {\n          negatedExtglob = true;\n        }\n        if (scanToEnd === true) {\n          while (eos() !== true && (code = advance())) {\n            if (code === CHAR_BACKWARD_SLASH) {\n              backslashes = token.backslashes = true;\n              code = advance();\n              continue;\n            }\n            if (code === CHAR_RIGHT_PARENTHESES) {\n              isGlob = token.isGlob = true;\n              finished = true;\n              break;\n            }\n          }\n          continue;\n        }\n        break;\n      }\n    }\n    if (code === CHAR_ASTERISK) {\n      if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;\n      isGlob = token.isGlob = true;\n      finished = true;\n      if (scanToEnd === true) {\n        continue;\n      }\n      break;\n    }\n    if (code === CHAR_QUESTION_MARK) {\n      isGlob = token.isGlob = true;\n      finished = true;\n      if (scanToEnd === true) {\n        continue;\n      }\n      break;\n    }\n    if (code === CHAR_LEFT_SQUARE_BRACKET) {\n      while (eos() !== true && (next = advance())) {\n        if (next === CHAR_BACKWARD_SLASH) {\n          backslashes = token.backslashes = true;\n          advance();\n          continue;\n        }\n        if (next === CHAR_RIGHT_SQUARE_BRACKET) {\n          isBracket = token.isBracket = true;\n          isGlob = token.isGlob = true;\n          finished = true;\n          break;\n        }\n      }\n      if (scanToEnd === true) {\n        continue;\n      }\n      break;\n    }\n    if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {\n      negated = token.negated = true;\n      start++;\n      continue;\n    }\n    if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {\n      isGlob = token.isGlob = true;\n      if (scanToEnd === true) {\n        while (eos() !== true && (code = advance())) {\n          if (code === CHAR_LEFT_PARENTHESES) {\n            backslashes = token.backslashes = true;\n            code = advance();\n            continue;\n          }\n          if (code === CHAR_RIGHT_PARENTHESES) {\n            finished = true;\n            break;\n          }\n        }\n        continue;\n      }\n      break;\n    }\n    if (isGlob === true) {\n      finished = true;\n      if (scanToEnd === true) {\n        continue;\n      }\n      break;\n    }\n  }\n  if (opts.noext === true) {\n    isExtglob = false;\n    isGlob = false;\n  }\n  let base = str;\n  let prefix = '';\n  let glob = '';\n  if (start > 0) {\n    prefix = str.slice(0, start);\n    str = str.slice(start);\n    lastIndex -= start;\n  }\n  if (base && isGlob === true && lastIndex > 0) {\n    base = str.slice(0, lastIndex);\n    glob = str.slice(lastIndex);\n  } else if (isGlob === true) {\n    base = '';\n    glob = str;\n  } else {\n    base = str;\n  }\n  if (base && base !== '' && base !== '/' && base !== str) {\n    if (isPathSeparator(base.charCodeAt(base.length - 1))) {\n      base = base.slice(0, -1);\n    }\n  }\n  if (opts.unescape === true) {\n    if (glob) glob = utils.removeBackslashes(glob);\n    if (base && backslashes === true) {\n      base = utils.removeBackslashes(base);\n    }\n  }\n  const state = {\n    prefix,\n    input,\n    start,\n    base,\n    glob,\n    isBrace,\n    isBracket,\n    isGlob,\n    isExtglob,\n    isGlobstar,\n    negated,\n    negatedExtglob\n  };\n  if (opts.tokens === true) {\n    state.maxDepth = 0;\n    if (!isPathSeparator(code)) {\n      tokens.push(token);\n    }\n    state.tokens = tokens;\n  }\n  if (opts.parts === true || opts.tokens === true) {\n    let prevIndex;\n    for (let idx = 0; idx < slashes.length; idx++) {\n      const n = prevIndex ? prevIndex + 1 : start;\n      const i = slashes[idx];\n      const value = input.slice(n, i);\n      if (opts.tokens) {\n        if (idx === 0 && start !== 0) {\n          tokens[idx].isPrefix = true;\n          tokens[idx].value = prefix;\n        } else {\n          tokens[idx].value = value;\n        }\n        depth(tokens[idx]);\n        state.maxDepth += tokens[idx].depth;\n      }\n      if (idx !== 0 || value !== '') {\n        parts.push(value);\n      }\n      prevIndex = i;\n    }\n    if (prevIndex && prevIndex + 1 < input.length) {\n      const value = input.slice(prevIndex + 1);\n      parts.push(value);\n      if (opts.tokens) {\n        tokens[tokens.length - 1].value = value;\n        depth(tokens[tokens.length - 1]);\n        state.maxDepth += tokens[tokens.length - 1].depth;\n      }\n    }\n    state.slashes = slashes;\n    state.parts = parts;\n  }\n  return state;\n};\nmodule.exports = scan;","map":{"version":3,"names":["utils","require","CHAR_ASTERISK","CHAR_AT","CHAR_BACKWARD_SLASH","CHAR_COMMA","CHAR_DOT","CHAR_EXCLAMATION_MARK","CHAR_FORWARD_SLASH","CHAR_LEFT_CURLY_BRACE","CHAR_LEFT_PARENTHESES","CHAR_LEFT_SQUARE_BRACKET","CHAR_PLUS","CHAR_QUESTION_MARK","CHAR_RIGHT_CURLY_BRACE","CHAR_RIGHT_PARENTHESES","CHAR_RIGHT_SQUARE_BRACKET","isPathSeparator","code","depth","token","isPrefix","isGlobstar","Infinity","scan","input","options","opts","length","scanToEnd","parts","slashes","tokens","str","index","start","lastIndex","isBrace","isBracket","isGlob","isExtglob","braceEscaped","backslashes","negated","negatedExtglob","finished","braces","prev","value","eos","peek","charCodeAt","advance","next","push","noext","isExtglobChar","nonegate","noparen","base","prefix","glob","slice","unescape","removeBackslashes","state","maxDepth","prevIndex","idx","n","i","module","exports"],"sources":["C:/Users/user/Desktop/000newport/node_modules/picomatch/lib/scan.js"],"sourcesContent":["'use strict';\n\nconst utils = require('./utils');\nconst {\n  CHAR_ASTERISK,             /* * */\n  CHAR_AT,                   /* @ */\n  CHAR_BACKWARD_SLASH,       /* \\ */\n  CHAR_COMMA,                /* , */\n  CHAR_DOT,                  /* . */\n  CHAR_EXCLAMATION_MARK,     /* ! */\n  CHAR_FORWARD_SLASH,        /* / */\n  CHAR_LEFT_CURLY_BRACE,     /* { */\n  CHAR_LEFT_PARENTHESES,     /* ( */\n  CHAR_LEFT_SQUARE_BRACKET,  /* [ */\n  CHAR_PLUS,                 /* + */\n  CHAR_QUESTION_MARK,        /* ? */\n  CHAR_RIGHT_CURLY_BRACE,    /* } */\n  CHAR_RIGHT_PARENTHESES,    /* ) */\n  CHAR_RIGHT_SQUARE_BRACKET  /* ] */\n} = require('./constants');\n\nconst isPathSeparator = code => {\n  return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;\n};\n\nconst depth = token => {\n  if (token.isPrefix !== true) {\n    token.depth = token.isGlobstar ? Infinity : 1;\n  }\n};\n\n/**\n * Quickly scans a glob pattern and returns an object with a handful of\n * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists),\n * `glob` (the actual pattern), `negated` (true if the path starts with `!` but not\n * with `!(`) and `negatedExtglob` (true if the path starts with `!(`).\n *\n * ```js\n * const pm = require('picomatch');\n * console.log(pm.scan('foo/bar/*.js'));\n * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' }\n * ```\n * @param {String} `str`\n * @param {Object} `options`\n * @return {Object} Returns an object with tokens and regex source string.\n * @api public\n */\n\nconst scan = (input, options) => {\n  const opts = options || {};\n\n  const length = input.length - 1;\n  const scanToEnd = opts.parts === true || opts.scanToEnd === true;\n  const slashes = [];\n  const tokens = [];\n  const parts = [];\n\n  let str = input;\n  let index = -1;\n  let start = 0;\n  let lastIndex = 0;\n  let isBrace = false;\n  let isBracket = false;\n  let isGlob = false;\n  let isExtglob = false;\n  let isGlobstar = false;\n  let braceEscaped = false;\n  let backslashes = false;\n  let negated = false;\n  let negatedExtglob = false;\n  let finished = false;\n  let braces = 0;\n  let prev;\n  let code;\n  let token = { value: '', depth: 0, isGlob: false };\n\n  const eos = () => index >= length;\n  const peek = () => str.charCodeAt(index + 1);\n  const advance = () => {\n    prev = code;\n    return str.charCodeAt(++index);\n  };\n\n  while (index < length) {\n    code = advance();\n    let next;\n\n    if (code === CHAR_BACKWARD_SLASH) {\n      backslashes = token.backslashes = true;\n      code = advance();\n\n      if (code === CHAR_LEFT_CURLY_BRACE) {\n        braceEscaped = true;\n      }\n      continue;\n    }\n\n    if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {\n      braces++;\n\n      while (eos() !== true && (code = advance())) {\n        if (code === CHAR_BACKWARD_SLASH) {\n          backslashes = token.backslashes = true;\n          advance();\n          continue;\n        }\n\n        if (code === CHAR_LEFT_CURLY_BRACE) {\n          braces++;\n          continue;\n        }\n\n        if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {\n          isBrace = token.isBrace = true;\n          isGlob = token.isGlob = true;\n          finished = true;\n\n          if (scanToEnd === true) {\n            continue;\n          }\n\n          break;\n        }\n\n        if (braceEscaped !== true && code === CHAR_COMMA) {\n          isBrace = token.isBrace = true;\n          isGlob = token.isGlob = true;\n          finished = true;\n\n          if (scanToEnd === true) {\n            continue;\n          }\n\n          break;\n        }\n\n        if (code === CHAR_RIGHT_CURLY_BRACE) {\n          braces--;\n\n          if (braces === 0) {\n            braceEscaped = false;\n            isBrace = token.isBrace = true;\n            finished = true;\n            break;\n          }\n        }\n      }\n\n      if (scanToEnd === true) {\n        continue;\n      }\n\n      break;\n    }\n\n    if (code === CHAR_FORWARD_SLASH) {\n      slashes.push(index);\n      tokens.push(token);\n      token = { value: '', depth: 0, isGlob: false };\n\n      if (finished === true) continue;\n      if (prev === CHAR_DOT && index === (start + 1)) {\n        start += 2;\n        continue;\n      }\n\n      lastIndex = index + 1;\n      continue;\n    }\n\n    if (opts.noext !== true) {\n      const isExtglobChar = code === CHAR_PLUS\n        || code === CHAR_AT\n        || code === CHAR_ASTERISK\n        || code === CHAR_QUESTION_MARK\n        || code === CHAR_EXCLAMATION_MARK;\n\n      if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {\n        isGlob = token.isGlob = true;\n        isExtglob = token.isExtglob = true;\n        finished = true;\n        if (code === CHAR_EXCLAMATION_MARK && index === start) {\n          negatedExtglob = true;\n        }\n\n        if (scanToEnd === true) {\n          while (eos() !== true && (code = advance())) {\n            if (code === CHAR_BACKWARD_SLASH) {\n              backslashes = token.backslashes = true;\n              code = advance();\n              continue;\n            }\n\n            if (code === CHAR_RIGHT_PARENTHESES) {\n              isGlob = token.isGlob = true;\n              finished = true;\n              break;\n            }\n          }\n          continue;\n        }\n        break;\n      }\n    }\n\n    if (code === CHAR_ASTERISK) {\n      if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;\n      isGlob = token.isGlob = true;\n      finished = true;\n\n      if (scanToEnd === true) {\n        continue;\n      }\n      break;\n    }\n\n    if (code === CHAR_QUESTION_MARK) {\n      isGlob = token.isGlob = true;\n      finished = true;\n\n      if (scanToEnd === true) {\n        continue;\n      }\n      break;\n    }\n\n    if (code === CHAR_LEFT_SQUARE_BRACKET) {\n      while (eos() !== true && (next = advance())) {\n        if (next === CHAR_BACKWARD_SLASH) {\n          backslashes = token.backslashes = true;\n          advance();\n          continue;\n        }\n\n        if (next === CHAR_RIGHT_SQUARE_BRACKET) {\n          isBracket = token.isBracket = true;\n          isGlob = token.isGlob = true;\n          finished = true;\n          break;\n        }\n      }\n\n      if (scanToEnd === true) {\n        continue;\n      }\n\n      break;\n    }\n\n    if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {\n      negated = token.negated = true;\n      start++;\n      continue;\n    }\n\n    if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {\n      isGlob = token.isGlob = true;\n\n      if (scanToEnd === true) {\n        while (eos() !== true && (code = advance())) {\n          if (code === CHAR_LEFT_PARENTHESES) {\n            backslashes = token.backslashes = true;\n            code = advance();\n            continue;\n          }\n\n          if (code === CHAR_RIGHT_PARENTHESES) {\n            finished = true;\n            break;\n          }\n        }\n        continue;\n      }\n      break;\n    }\n\n    if (isGlob === true) {\n      finished = true;\n\n      if (scanToEnd === true) {\n        continue;\n      }\n\n      break;\n    }\n  }\n\n  if (opts.noext === true) {\n    isExtglob = false;\n    isGlob = false;\n  }\n\n  let base = str;\n  let prefix = '';\n  let glob = '';\n\n  if (start > 0) {\n    prefix = str.slice(0, start);\n    str = str.slice(start);\n    lastIndex -= start;\n  }\n\n  if (base && isGlob === true && lastIndex > 0) {\n    base = str.slice(0, lastIndex);\n    glob = str.slice(lastIndex);\n  } else if (isGlob === true) {\n    base = '';\n    glob = str;\n  } else {\n    base = str;\n  }\n\n  if (base && base !== '' && base !== '/' && base !== str) {\n    if (isPathSeparator(base.charCodeAt(base.length - 1))) {\n      base = base.slice(0, -1);\n    }\n  }\n\n  if (opts.unescape === true) {\n    if (glob) glob = utils.removeBackslashes(glob);\n\n    if (base && backslashes === true) {\n      base = utils.removeBackslashes(base);\n    }\n  }\n\n  const state = {\n    prefix,\n    input,\n    start,\n    base,\n    glob,\n    isBrace,\n    isBracket,\n    isGlob,\n    isExtglob,\n    isGlobstar,\n    negated,\n    negatedExtglob\n  };\n\n  if (opts.tokens === true) {\n    state.maxDepth = 0;\n    if (!isPathSeparator(code)) {\n      tokens.push(token);\n    }\n    state.tokens = tokens;\n  }\n\n  if (opts.parts === true || opts.tokens === true) {\n    let prevIndex;\n\n    for (let idx = 0; idx < slashes.length; idx++) {\n      const n = prevIndex ? prevIndex + 1 : start;\n      const i = slashes[idx];\n      const value = input.slice(n, i);\n      if (opts.tokens) {\n        if (idx === 0 && start !== 0) {\n          tokens[idx].isPrefix = true;\n          tokens[idx].value = prefix;\n        } else {\n          tokens[idx].value = value;\n        }\n        depth(tokens[idx]);\n        state.maxDepth += tokens[idx].depth;\n      }\n      if (idx !== 0 || value !== '') {\n        parts.push(value);\n      }\n      prevIndex = i;\n    }\n\n    if (prevIndex && prevIndex + 1 < input.length) {\n      const value = input.slice(prevIndex + 1);\n      parts.push(value);\n\n      if (opts.tokens) {\n        tokens[tokens.length - 1].value = value;\n        depth(tokens[tokens.length - 1]);\n        state.maxDepth += tokens[tokens.length - 1].depth;\n      }\n    }\n\n    state.slashes = slashes;\n    state.parts = parts;\n  }\n\n  return state;\n};\n\nmodule.exports = scan;\n"],"mappings":"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"},"metadata":{},"sourceType":"script","externalDependencies":[]}