diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000000..002b4aa0d5 --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["env"] +} diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..875c15324f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,18 @@ +language: node_js + +node_js: + - 6 + - 8 + +cache: + directories: + - node_modules + +script: + - node ./bin/cake build:except-parser + - node ./bin/cake build:parser + - node ./bin/cake build:full + - node ./bin/cake build:browser + - node ./bin/cake test + - node ./bin/cake test:browser + - node ./bin/cake test:integrations diff --git a/Cakefile b/Cakefile index a43239a5f7..025815c64c 100644 --- a/Cakefile +++ b/Cakefile @@ -66,6 +66,20 @@ build = (callback) -> buildParser() buildExceptParser callback +transpile = (code) -> + babel = require 'babel-core' + presets = [] + # Exclude the `modules` plugin in order to not break the `}(this));` + # at the end of the `build:browser` code block. + presets.push ['env', {modules: no}] unless process.env.TRANSFORM is 'false' + presets.push 'minify' unless process.env.MINIFY is 'false' + babelOptions = + compact: process.env.MINIFY isnt 'false' + presets: presets + sourceType: 'script' + { code } = babel.transform code, babelOptions unless presets.length is 0 + code + testBuiltCode = (watch = no) -> csPath = './lib/coffeescript' csDir = path.dirname require.resolve csPath @@ -79,7 +93,7 @@ testBuiltCode = (watch = no) -> buildAndTest = (includingParser = yes, harmony = no) -> process.stdout.write '\x1Bc' # Clear terminal screen. - execSync 'git checkout lib/*', stdio: [0,1,2] # Reset the generated compiler. + execSync 'git checkout lib/*', stdio: 'inherit' # Reset the generated compiler. buildArgs = ['bin/cake'] buildArgs.push if includingParser then 'build' else 'build:except-parser' @@ -141,24 +155,7 @@ task 'build:browser', 'merge the built scripts into a single file for use in a b } }(this)); """ - babel = require 'babel-core' - presets = [] - # Exclude the `modules` plugin in order to not break the `}(this));` - # at the end of the above code block. - presets.push ['env', {modules: no}] unless process.env.TRANSFORM is 'false' - babelOptions = - presets: presets - sourceType: 'script' - { code } = babel.transform code, babelOptions unless presets.length is 0 - # Running Babel twice due to https://github.com/babel/babili/issues/614. - # Once that issue is fixed, move the `babili` preset back up into the - # `presets` array and run Babel once with both presets together. - presets = if process.env.MINIFY is 'false' then [] else ['babili'] - babelOptions = - compact: process.env.MINIFY isnt 'false' - presets: presets - sourceType: 'script' - { code } = babel.transform code, babelOptions unless presets.length is 0 + code = transpile code outputFolder = "docs/v#{majorVersion}/browser-compiler" fs.mkdirSync outputFolder unless fs.existsSync outputFolder fs.writeFileSync "#{outputFolder}/coffeescript.js", header + '\n' + code @@ -177,11 +174,11 @@ task 'build:watch:harmony', 'watch and continually rebuild the CoffeeScript comp buildDocs = (watch = no) -> # Constants - indexFile = 'documentation/index.html' - versionedSourceFolder = "documentation/v#{majorVersion}" + indexFile = 'documentation/site/index.html' + siteSourceFolder = "documentation/site" sectionsSourceFolder = 'documentation/sections' examplesSourceFolder = 'documentation/examples' - outputFolder = "docs/v#{majorVersion}" + outputFolder = "docs/v#{majorVersion}" # Helpers releaseHeader = (date, version, prevVersion) -> @@ -199,7 +196,7 @@ buildDocs = (watch = no) -> """ - codeFor = require "./documentation/v#{majorVersion}/code.coffee" + codeFor = require "./documentation/site/code.coffee" htmlFor = -> hljs = require 'highlight.js' @@ -236,9 +233,17 @@ buildDocs = (watch = no) -> codeFor: codeFor() releaseHeader: releaseHeader + includeScript = -> + (file) -> + file = "#{siteSourceFolder}/#{file}" unless '/' in file + code = fs.readFileSync file, 'utf-8' + code = CoffeeScript.compile code + code = transpile code + code + include = -> (file) -> - file = "#{versionedSourceFolder}/#{file}" if file.indexOf('/') is -1 + file = "#{siteSourceFolder}/#{file}" unless '/' in file output = fs.readFileSync file, 'utf-8' if /\.html$/.test(file) render = _.template output @@ -249,6 +254,7 @@ buildDocs = (watch = no) -> htmlFor: htmlFor() codeFor: codeFor() include: include() + includeScript: includeScript() output # Task @@ -263,7 +269,7 @@ buildDocs = (watch = no) -> catch exception if watch - for target in [indexFile, versionedSourceFolder, examplesSourceFolder, sectionsSourceFolder] + for target in [indexFile, siteSourceFolder, examplesSourceFolder, sectionsSourceFolder] fs.watch target, interval: 200, renderIndex log 'watching...', green @@ -276,9 +282,9 @@ task 'doc:site:watch', 'watch and continually rebuild the documentation for the buildDocTests = (watch = no) -> # Constants - testFile = 'documentation/test.html' + testFile = 'documentation/site/test.html' testsSourceFolder = 'test' - outputFolder = "docs/v#{majorVersion}" + outputFolder = "docs/v#{majorVersion}" # Included in test.html testHelpers = fs.readFileSync('test/support/helpers.coffee', 'utf-8').replace /exports\./g, '@' @@ -481,20 +487,28 @@ task 'test:integrations', 'test the module integrated with other libraries and e # Node modules are required as part of the compiler (as opposed to the tests) # and that therefore the compiler will run in a browser environment. tmpdir = os.tmpdir() - try - buildLog = execSync "./node_modules/webpack/bin/webpack.js - --entry=./ - --output-library=CoffeeScript - --output-library-target=commonjs2 - --output-path=#{tmpdir} - --output-filename=coffeescript.js" - catch exception - console.error buildLog.toString() - throw exception - - builtCompiler = path.join tmpdir, 'coffeescript.js' - CoffeeScript = require builtCompiler - global.testingBrowser = yes - testResults = runTests CoffeeScript - fs.unlinkSync builtCompiler - process.exit 1 unless testResults + webpack = require 'webpack' + webpack { + entry: './' + output: + path: tmpdir + filename: 'coffeescript.js' + library: 'CoffeeScript' + libraryTarget: 'commonjs2' + }, (err, stats) -> + if err or stats.hasErrors() + if err + console.error err.stack or err + console.error err.details if err.details + if stats.hasErrors() + console.error error for error in stats.compilation.errors + if stats.hasWarnings() + console.warn warning for warning in stats.compilation.warnings + process.exit 1 + + builtCompiler = path.join tmpdir, 'coffeescript.js' + CoffeeScript = require builtCompiler + global.testingBrowser = yes + testResults = runTests CoffeeScript + fs.unlinkSync builtCompiler + process.exit 1 unless testResults diff --git a/docs/annotated-source b/docs/annotated-source new file mode 120000 index 0000000000..4b204a0203 --- /dev/null +++ b/docs/annotated-source @@ -0,0 +1 @@ +v2/annotated-source \ No newline at end of file diff --git a/docs/announcing-coffeescript-2 b/docs/announcing-coffeescript-2 new file mode 120000 index 0000000000..231601c4fc --- /dev/null +++ b/docs/announcing-coffeescript-2 @@ -0,0 +1 @@ +v2/announcing-coffeescript-2 \ No newline at end of file diff --git a/docs/browser-compiler b/docs/browser-compiler new file mode 120000 index 0000000000..02cc348fa8 --- /dev/null +++ b/docs/browser-compiler @@ -0,0 +1 @@ +v2/browser-compiler \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 23a0e59b46..9ef703f05f 120000 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -v1/index.html \ No newline at end of file +v2/index.html \ No newline at end of file diff --git a/docs/manifest.json b/docs/manifest.json index 80c5526659..82b7fc4a7d 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1,5 +1,6 @@ { - "name": "", + "name": "CoffeeScript", + "description": "Unfancy JavaScript", "icons": [ { "src": "\/android-chrome-192x192.png", diff --git a/docs/test.html b/docs/test.html new file mode 120000 index 0000000000..010a9134d7 --- /dev/null +++ b/docs/test.html @@ -0,0 +1 @@ +v2/test.html \ No newline at end of file diff --git a/docs/v1/index.html b/docs/v1/index.html index 440014b230..b682451556 100644 --- a/docs/v1/index.html +++ b/docs/v1/index.html @@ -594,18 +594,18 @@ Annotated Source @@ -615,10 +615,10 @@

CoffeeScript is a little language that compiles into JavaScript. Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.

The golden rule of CoffeeScript is: “It’s just JavaScript”. The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime. You can use any existing JavaScript library seamlessly from CoffeeScript (and vice-versa). The compiled output is readable, pretty-printed, and tends to run as fast or faster than the equivalent handwritten JavaScript.

The CoffeeScript compiler goes to great lengths to generate output JavaScript that runs in every JavaScript runtime, but there are exceptions. Use generator functions, for…from, or tagged template literals only if you know that your target runtimes can support them. If you use modules, you will need to use an additional tool to resolve them.

-

Latest Version: 1.12.7

+

Latest 1.x Version: 1.12.7

npm install -g coffeescript
 
-

CoffeeScript 2 is coming! It adds support for ES2015 classes, async/await, JSX, object rest/spread syntax, and JavaScript generated using ES2015+ syntax. Learn more.

+

Upgrade to CoffeeScript 2! It adds support for ES2015 classes, async/await, JSX, object rest/spread syntax, and JavaScript generated using modern syntax. Learn more.

Overview

CoffeeScript on the left, compiled JavaScript output on the right.

@@ -741,7 +741,7 @@

Overview

;alert(cubes);">run: cubes

Installation

-

The command-line version of coffee is available as a Node.js utility. The core compiler however, does not depend on Node, and can be run in any JavaScript environment, or in the browser (see Try CoffeeScript).

+

The command-line version of coffee is available as a Node.js utility. The core compiler however, does not depend on Node, and can be run in any JavaScript environment, or in the browser (see Try CoffeeScript).

To install, first make sure you have a working copy of the latest stable version of Node.js. You can then install CoffeeScript globally with npm:

npm install --global coffeescript
 
@@ -2441,7 +2441,7 @@

Cake, and Cakefiles

dir = options.output || 'lib'; return fs.writeFile(dir + "/parser.js", code); }); -
load

If you need to invoke one task before another — for example, running build before test, you can use the invoke function: invoke 'build'. Cake tasks are a minimal way to expose your CoffeeScript functions to the command line, so don’t expect any fanciness built-in. If you need dependencies, or async callbacks, it’s best to put them in your code itself — not the cake task.

+
load

If you need to invoke one task before another — for example, running build before test, you can use the invoke function: invoke 'build'. Cake tasks are a minimal way to expose your CoffeeScript functions to the command line, so don’t expect any fanciness built-in. If you need dependencies, or async callbacks, it’s best to put them in your code itself — not the cake task.

Source Maps

@@ -2450,7 +2450,7 @@

Source Maps

“text/coffeescript” Script Tags

-

While it’s not recommended for serious use, CoffeeScripts may be included directly within the browser using <script type="text/coffeescript"> tags. The source includes a compressed and minified version of the compiler (Download current version here, 51k when gzipped) as v1/browser-compiler/coffee-script.js. Include this file on a page with inline CoffeeScript tags, and it will compile and evaluate them in order.

+

While it’s not recommended for serious use, CoffeeScripts may be included directly within the browser using <script type="text/coffeescript"> tags. The source includes a compressed and minified version of the compiler (Download current version here, 51k when gzipped) as docs/v1/browser-compiler/coffee-script.js. Include this file on a page with inline CoffeeScript tags, and it will compile and evaluate them in order.

In fact, the little bit of glue script that runs “Try CoffeeScript” above, as well as the jQuery for the menu, is implemented in just this way. View source and look at the bottom of the page to see the example. Including the script also gives you access to CoffeeScript.compile() so you can pop open Firebug and try compiling some strings.

The usual caveats about CoffeeScript apply — your inline scripts will run within a closure wrapper, so if you want to expose global variables or functions, attach them to the window object.

@@ -2501,7 +2501,7 @@

Resources

git checkout lib && bin/cake build:full is a good command to run when you’re working on the core language. It’ll refresh the lib folder (in case you broke something), build your altered compiler, use that to rebuild itself (a good sanity test) and then run all of the tests. If they pass, there’s a good chance you’ve made a successful change.

  • -

    Browser Tests
    +

    Browser Tests
    Run CoffeeScript’s test suite in your current browser.

  • @@ -2592,7 +2592,7 @@

  • The browser compiler can once again be built unminified via MINIFY=false cake build:browser.
  • The error-prone patched version of Error.prepareStackTrace has been removed.
  • Command completion in the REPL (pressing tab to get suggestions) has been fixed for Node 6.9.1+.
  • -
  • The browser-based tests now include all the tests as the Node-based version.
  • +
  • The browser-based tests now include all the tests as the Node-based version.
  • @@ -2611,7 +2611,7 @@

  • CoffeeScript now provides a for…from syntax for outputting ES2015 for…of. (Sorry they couldn’t match, but we came up with for…of first for something else.) This allows iterating over generators or any other iterable object. Note that using for…from in your code makes you responsible for ensuring that either your runtime supports for…of or that you transpile the output JavaScript further to a version your target runtime(s) support.
  • Triple backticks (```​) allow the creation of embedded JavaScript blocks where escaping single backticks is not required, which should improve interoperability with ES2015 template literals and with Markdown.
  • Within single-backtick embedded JavaScript, backticks can now be escaped via \`​.
  • -
  • The browser tests now run in the browser again, and are accessible here if you would like to test your browser.
  • +
  • The browser tests now run in the browser again, and are accessible here if you would like to test your browser.
  • CoffeeScript-only keywords in ES2015 imports and exports are now ignored.
  • The compiler now throws an error on trying to export an anonymous class.
  • Bugfixes related to tokens and location data, for better source maps and improved compatibility with downstream tools.
  • @@ -3016,7 +3016,7 @@

    0.5.2

    Added a compressed version of the compiler for inclusion in web pages as -/v1/browser-compiler/coffee-script.js. It’ll automatically run any script tags with type text/coffeescript for you. Added a --stdio option to the coffee command, for piped-in compiles.

    +browser-compiler/coffee-script.js. It’ll automatically run any script tags with type text/coffeescript for you. Added a --stdio option to the coffee command, for piped-in compiles.

    0.5.1 @@ -3222,7 +3222,7 @@

    - + diff --git a/docs/v2/annotated-source/coffeescript.html b/docs/v2/annotated-source/coffeescript.html index 1df618c364..dadf743702 100644 --- a/docs/v2/annotated-source/coffeescript.html +++ b/docs/v2/annotated-source/coffeescript.html @@ -293,9 +293,7 @@

    coffeescript.coffee

    -
    exports.compile = compile = withPrettyErrors (code, options) ->
    -  {merge, extend} = helpers
    -  options = extend {}, options
    +
    exports.compile = compile = withPrettyErrors (code, options = {}) ->
  • @@ -306,6 +304,21 @@

    coffeescript.coffee

    +

    Clone options, to avoid mutating the options object passed in.

    + + + +
      options = Object.assign {}, options
    + + + + +
  • +
    + +
    + +

    Always generate a source map if no filename is passed in, since without a a filename we have no way to retrieve this source later in the event that we need to recompile it to get a source map for prepareStackTrace.

    @@ -326,11 +339,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Pass a list of referenced variables, so that generated variables won’t get the same name.

    @@ -344,11 +357,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Check for import or export; if found, force bare mode.

    @@ -372,11 +385,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Update the sourcemap with data from each fragment.

    @@ -387,11 +400,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Do not include empty, whitespace, or semicolon-only fragments.

    @@ -412,11 +425,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Copy the code from each fragment into the final JavaScript.

    @@ -433,6 +446,64 @@

    coffeescript.coffee

    sourceMaps[filename] ?= [] sourceMaps[filename].push map + if options.transpile + if typeof options.transpile isnt 'object'
    + +
  • + + +
  • +
    + +
    + +
    +

    This only happens if run via the Node API and transpile is set to +something other than an object.

    + +
    + +
          throw new Error 'The transpile option must be given an object with options to pass to Babel'
    + +
  • + + +
  • +
    + +
    + +
    +

    Get the reference to Babel that we have been passed if this compiler +is run via the CLI or Node API.

    + +
    + +
        transpiler = options.transpile.transpile
    +    delete options.transpile.transpile
    + +
  • + + +
  • +
    + +
    + +
    +

    See https://github.com/babel/babel/issues/827#issuecomment-77573107: +Babel can take a v3 source map object as input in inputSourceMap +and it will return an updated v3 source map object in its output.

    + +
    + +
        if v3SourceMap and not options.transpile.inputSourceMap?
    +      options.transpile.inputSourceMap = v3SourceMap
    +    transpilerOutput = transpiler js, options.transpile
    +    js = transpilerOutput.code
    +    if v3SourceMap and transpilerOutput.map
    +      v3SourceMap = transpilerOutput.map
    +
       if options.inlineMap
         encoded = base64encode JSON.stringify v3SourceMap
         sourceMapDataURI = "//# sourceMappingURL=data:application/json;base64,#{encoded}"
    @@ -451,11 +522,11 @@ 

    coffeescript.coffee

  • -
  • +
  • - +

    Tokenize a string of CoffeeScript code, and return the array of tokens.

    @@ -467,11 +538,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Parse a string of CoffeeScript code or an array of lexed tokens, and return the AST. You can then compile it by calling .compile() on the root, @@ -488,11 +559,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    This file used to export these methods; leave stubs that throw warnings instead. These methods have been moved into index.coffee to provide @@ -508,11 +579,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Instantiate a Lexer for our use here.

    @@ -523,11 +594,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    The real Lexer produces a generic stream of tokens. This object provides a thin wrapper around it, compatible with the Jison API. We can then pass it @@ -553,11 +624,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Make all the AST nodes visible to the parser.

    @@ -568,11 +639,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Override Jison’s default error handling function.

    @@ -583,11 +654,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Disregard Jison’s message, it contains redundant line number information. Disregard the token, we take its value directly from the lexer in case @@ -611,11 +682,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    The second argument has a loc property, which should have the location data for this token. Unfortunately, Jison seems to send an outdated loc @@ -629,11 +700,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Based on http://v8.googlecode.com/svn/branches/bleeding_edge/src/messages.js Modified to handle sourceMap

    @@ -661,11 +732,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Check for a sourceMap position

    @@ -708,11 +779,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Skip files that we didn’t compile, like Node system files that appear in the stack trace, as they never have source maps.

    @@ -727,11 +798,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    CoffeeScript compiled in a browser or via CoffeeScript.compile or .run may get compiled with options.filename that’s missing, which becomes @@ -746,11 +817,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Work backwards from the most recent anonymous source maps, until we find one that works. This isn’t foolproof; there is a chance that multiple @@ -767,11 +838,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    If all else fails, recompile this source to get a source map. We need the previous section (for <anonymous>) despite this option, because after it @@ -794,11 +865,11 @@

    coffeescript.coffee

  • -
  • +
  • - +

    Based on michaelficarra/CoffeeScriptRedux NodeJS / V8 have no support for transforming positions in stack traces using diff --git a/docs/v2/annotated-source/command.html b/docs/v2/annotated-source/command.html index 6e0c69be05..d674eacdf5 100644 --- a/docs/v2/annotated-source/command.html +++ b/docs/v2/annotated-source/command.html @@ -215,7 +215,8 @@

    command.coffee

    ['-r', '--require [MODULE*]', 'require the given module before eval or REPL'] ['-s', '--stdio', 'listen for and compile scripts over stdio'] ['-l', '--literate', 'treat stdio as literate style coffeescript'] - ['-t', '--tokens', 'print out the tokens that the lexer/rewriter produce'] + ['-t', '--transpile', 'pipe generated JavaScript through Babel'] + [ '--tokens', 'print out the tokens that the lexer/rewriter produce'] ['-v', '--version', 'display the version number'] ['-w', '--watch', 'watch scripts for changes and rerun commands'] ]
    @@ -849,14 +850,129 @@

    command.coffee

    compileOptions = (filename, base) ->
    -  answer = {
    -    filename
    +  if opts.transpile
    + +
  • + + +
  • +
    + +
    + +
    +

    The user has requested that the CoffeeScript compiler also transpile +via Babel. We use Babel as an optionalDependency; see +https://docs.npmjs.com/files/package.json#optionaldependencies.

    + +
    + +
        try
    +      require 'babel-core'
    +    catch
    +      console.error '''
    +        To use --transpile, you must have Babel installed and configured.
    +        See http://coffeescript.org/#transpilation
    +      '''
    +      process.exit 1
    + +
  • + + +
  • +
    + +
    + +
    +

    We’re giving Babel only a string, not a filename or path to a file, so +it doesn’t know where to search to find a .babelrc file or a babel +key in a package.json. So if opts.transpile is an object, use that +as Babel’s options; otherwise figure out what the options should be.

    + +
    + +
        unless typeof opts.transpile is 'object'
    + +
  • + + +
  • +
    + +
    + +
    +

    Find the options based on the path to the file being compiled.

    + +
    + +
          cantFindOptions = ->
    +        console.error '''
    +          To use the transpile option, there must be a .babelrc file
    +          (or a package.json file with a "babel" key) in the path of the file
    +          to be compiled, or in the path of the current working directory.
    +          If you are compiling a string via the Node API, the transpile option
    +          must be an object with the options to pass to Babel.
    +          See http://coffeescript.org/#transpilation
    +        '''
    +        process.exit 1
    +
    +      checkPath = if filename
    +        path.dirname filename
    +      else if base
    +        base
    +      else if process?
    +        process.cwd()
    +      else
    +        cantFindOptions()
    +
    +      loop
    +        try
    +          opts.transpile = JSON.parse fs.readFileSync path.join(checkPath, '.babelrc'), 'utf-8'
    +          break
    +        catch
    +          try
    +            packageJson = JSON.parse fs.readFileSync(path.join(checkPath, 'package.json'), 'utf-8')
    +            if packageJson.babel?
    +              opts.transpile = packageJson.babel
    +              break
    +
    +        if checkPath is path.dirname checkPath # We’ve reached the root.
    +          cantFindOptions()
    +          break
    +        else
    +          checkPath = path.dirname checkPath
    + +
  • + + +
  • +
    + +
    + +
    +

    Pass a reference to Babel into the compiler, so that the transpile option +is available for the CLI. We need to do this so that tools like Webpack +can require('coffeescript') and build correctly, without trying to +require Babel.

    + +
    + +
        opts.transpile.transpile = CoffeeScript.transpile
    +  else
    +    opts.transpile = no
    +
    +  answer =
    +    filename: filename
         literate: opts.literate or helpers.isLiterate(filename)
         bare: opts.bare
         header: opts.compile and not opts['no-header']
    +    transpile: opts.transpile
         sourceMap: opts.map
         inlineMap: opts['inline-map']
    -  }
    +
       if filename
         if base
           cwd = process.cwd()
    @@ -878,11 +994,11 @@ 

    command.coffee

  • -
  • +
  • - +

    Start up a new Node.js instance with the arguments in --nodejs passed to the node binary, preserving the other options.

    @@ -905,11 +1021,11 @@

    command.coffee

  • -
  • +
  • - +

    Print the --help usage message and exit. Deprecated switches are not shown.

    @@ -922,11 +1038,11 @@

    command.coffee

  • -
  • +
  • - +

    Print the --version message and exit.

    diff --git a/docs/v2/annotated-source/index.html b/docs/v2/annotated-source/index.html index 9543d882ae..4386e0c251 100644 --- a/docs/v2/annotated-source/index.html +++ b/docs/v2/annotated-source/index.html @@ -125,7 +125,11 @@

    index.coffee

    path = require 'path' helpers = CoffeeScript.helpers -compile = CoffeeScript.compile
    + +CoffeeScript.transpile = (js, options) -> + try + babel = require 'babel-core' + catch
  • @@ -136,6 +140,73 @@

    index.coffee

    +

    This error is only for Node, as CLI users will see a different error +earlier if they don’t have Babel installed.

    + + + +
        throw new Error 'To use the transpile option, you must have the \'babel-core\' module installed'
    +  babel.transform js, options
    + + + + +
  • +
    + +
    + +
    +

    The compile method shared by the CLI, Node and browser APIs.

    + +
    + +
    universalCompile = CoffeeScript.compile
    + +
  • + + +
  • +
    + +
    + +
    +

    The compile method particular to the Node API.

    + +
    + +
    CoffeeScript.compile = (code, options) ->
    + +
  • + + +
  • +
    + +
    + +
    +

    Pass a reference to Babel into the compiler, so that the transpile option +is available in the Node API. We need to do this so that tools like Webpack +can require('coffeescript') and build correctly, without trying to +require Babel.

    + +
    + +
      if options?.transpile
    +    options.transpile.transpile = CoffeeScript.transpile
    +  universalCompile.call CoffeeScript, code, options
    + +
  • + + +
  • +
    + +
    + +

    Compile and execute a string of CoffeeScript (on the server), correctly setting __filename, __dirname, and relative require().

    @@ -147,11 +218,11 @@

    index.coffee

  • -
  • +
  • - +

    Set the filename.

    @@ -163,11 +234,11 @@

    index.coffee

  • -
  • +
  • - +

    Clear the module cache.

    @@ -178,11 +249,11 @@

    index.coffee

  • -
  • +
  • - +

    Assign paths for node_modules loading

    @@ -197,18 +268,18 @@

    index.coffee

  • -
  • +
  • - +

    Compile.

      if not helpers.isCoffee(mainModule.filename) or require.extensions
    -    answer = compile code, options
    +    answer = CoffeeScript.compile code, options
         code = answer.js ? answer
     
       mainModule._compile code, mainModule.filename
    @@ -216,11 +287,11 @@

    index.coffee

  • -
  • +
  • - +

    Compile and evaluate a string of CoffeeScript (in a Node.js-like environment). The CoffeeScript REPL uses this to run the input.

    @@ -250,11 +321,11 @@

    index.coffee

  • -
  • +
  • - +

    define module/require only if they chose not to specify their own

    @@ -271,11 +342,11 @@

    index.coffee

  • -
  • +
  • - +

    use the same hack node currently uses for their own REPL

    @@ -286,7 +357,7 @@

    index.coffee

    o = {} o[k] = v for own k, v of options o.bare = on # ensure return value - js = compile code, o + js = CoffeeScript.compile code, o if sandbox is global vm.runInThisContext js else @@ -297,11 +368,11 @@

    index.coffee

  • -
  • +
  • - +

    Throw error with deprecation warning when depending upon implicit require.extensions registration

    @@ -320,11 +391,11 @@

    index.coffee

  • -
  • +
  • - +

    Strip the Unicode byte order mark, if this file begins with one.

    @@ -333,7 +404,7 @@

    index.coffee

      stripped = if raw.charCodeAt(0) is 0xFEFF then raw.substring 1 else raw
     
       try
    -    answer = compile stripped, {
    +    answer = CoffeeScript.compile stripped, {
           filename, sourceMap, inlineMap
           sourceFiles: [filename]
           literate: helpers.isLiterate filename
    @@ -343,11 +414,11 @@ 

    index.coffee

  • -
  • +
  • - +

    As the filename and code of a dynamically loaded file will be different from the original file compiled with CoffeeScript.run, add that diff --git a/docs/v2/annotated-source/nodes.html b/docs/v2/annotated-source/nodes.html index a05718769f..119abccf63 100644 --- a/docs/v2/annotated-source/nodes.html +++ b/docs/v2/annotated-source/nodes.html @@ -3125,8 +3125,8 @@

    Obj

      hasSplat: ->
    -    splat = yes for prop in @properties when prop instanceof Splat
    -    splat ? no
    +    return yes for prop in @properties when prop instanceof Splat
    +    no
     
       compileNode: (o) ->
         props = @properties
    @@ -3253,7 +3253,7 @@ 

    Obj

    Object spread properties. https://github.com/tc39/proposal-object-rest-spread/blob/master/Spread.md -obj2 = {a: 1, obj..., c: 3, d: 4}obj2 = Object.assign({}, {a: 1}, obj, {c: 3, d: 4})

    +obj2 = {a: 1, obj..., c: 3, d: 4}obj2 = _extends({}, {a: 1}, obj, {c: 3, d: 4})

    @@ -4246,6 +4246,12 @@

    Assign

            @checkAssignability o, name
             if @moduleDeclaration
               o.scope.add name.value, @moduleDeclaration
    +        else if @param
    +          o.scope.add name.value,
    +            if @param is 'alwaysDeclare'
    +              'var'
    +            else
    +              'param'
             else
               o.scope.find name.value
     
    @@ -4282,7 +4288,7 @@ 

    Assign

    -
        if o.level > LEVEL_LIST or (o.level is LEVEL_TOP and isValue and @variable.base instanceof Obj and not @nestedLhs and not @param)
    +            
        if o.level > LEVEL_LIST or o.level is LEVEL_TOP and isValue and @variable.base instanceof Obj and not @nestedLhs and not (@param is yes)
           @wrapInParentheses answer
         else
           answer
    @@ -4312,35 +4318,6 @@

    Assign

    -

    Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Assignment_without_declaration, -if we’re destructuring without declaring, the destructuring assignment -must be wrapped in parentheses: ({a, b} = obj). Helper function -setScopeVar() declares variables a and b at the top of the -current scope.

    - -
    - -
        setScopeVar = (prop) ->
    -      newVar = false
    -      return if prop instanceof Assign and prop.value.base instanceof Obj
    -      if prop instanceof Assign
    -        if prop.value.base instanceof IdentifierLiteral
    -          newVar = prop.value.base.compileWithoutComments o
    -        else
    -          newVar = prop.variable.base.compileWithoutComments o
    -      else
    -        newVar = prop.compileWithoutComments o
    -      o.scope.add(newVar, 'var', true) if newVar
    - -
  • - - -
  • -
    - -
    - -

    Returns a safe (cached) reference to the key for a given property

    @@ -4355,11 +4332,11 @@

    Assign

  • -
  • +
  • - +

    Returns the name of a given property for use with excludeProps Property names are quoted (e.g. a: b -> ‘a’), and everything else uses the key reference @@ -4378,11 +4355,11 @@

    Assign

  • -
  • +
  • - +

    Recursive function for searching and storing rest elements in objects. e.g. {[properties...]} = source.

    @@ -4396,17 +4373,16 @@

    Assign

    for prop, index in properties nestedSourceDefault = nestedSource = nestedProperties = null - setScopeVar prop.unwrap() if prop instanceof Assign
  • -
  • +
  • - +

    prop is k: expr, we need to check expr for nested splats

    @@ -4417,11 +4393,11 @@

    Assign

  • -
  • +
  • - +

    prop is k = {...}

    @@ -4432,11 +4408,11 @@

    Assign

  • -
  • +
  • - +

    prop is k: {...}

    @@ -4448,11 +4424,11 @@

    Assign

  • -
  • +
  • - +

    prop is k: {...} = default

    @@ -4478,11 +4454,11 @@

    Assign

  • -
  • +
  • - +

    Remove rest element from the properties after iteration

    @@ -4495,29 +4471,30 @@

    Assign

  • -
  • +
  • - +

    Cache the value for reuse with rest elements.

    -
        if @value.shouldCache()
    -      valueRefTemp = new IdentifierLiteral o.scope.freeVariable 'ref', reserve: false
    -    else
    -      valueRefTemp = @value.base
    +
        valueRefTemp =
    +      if @value.shouldCache()
    +        new IdentifierLiteral o.scope.freeVariable 'ref', reserve: false
    +      else
    +        @value.base
  • -
  • +
  • - +

    Find all rest elements.

    @@ -4531,7 +4508,7 @@

    Assign

    for restElement in restElements value = new Call new Value(new Literal utility 'objectWithoutKeys', o), [restElement.source, restElement.excludeProps] - result.push new Assign restElement.name, value + result.push new Assign new Value(restElement.name), value, null, param: if @param then 'alwaysDeclare' else null fragments = result.compileToFragments o if o.level is LEVEL_TOP
    @@ -4539,11 +4516,11 @@

    Assign

  • -
  • +
  • - +

    Remove leading tab and trailing semicolon

    @@ -4557,11 +4534,11 @@

    Assign

  • -
  • +
  • - +

    Brief implementation of recursive pattern matching, when assigning array or object literals to a value. Peeks at their properties to assign inner names.

    @@ -4577,11 +4554,11 @@

    Assign

  • -
  • +
  • - +

    Special-case for {} = a and [] = a (empty patterns). Compile to simply a.

    @@ -4596,11 +4573,11 @@

    Assign

  • -
  • +
  • - +

    Disallow [...] = a for some reason. (Could be equivalent to [] = a?)

    @@ -4614,11 +4591,11 @@

    Assign

  • -
  • +
  • - +

    Special case for when there’s only one thing destructured off of something. {a} = b, [a] = b, {a: b} = c

    @@ -4630,11 +4607,11 @@

    Assign

  • -
  • +
  • - +

    Pick the property straight off the value when there’s just one to pick (no need to cache the value into a variable).

    @@ -4647,11 +4624,11 @@

    Assign

  • -
  • +
  • - +

    A regular object pattern-match.

    @@ -4670,11 +4647,11 @@

    Assign

  • -
  • +
  • - +

    A shorthand {a, b, @c} = val pattern-match.

    @@ -4689,11 +4666,11 @@

    Assign

  • -
  • +
  • - +

    A regular array pattern-match.

    @@ -4718,11 +4695,11 @@

    Assign

  • -
  • +
  • - +

    At this point, there are several things to destructure. So the fn() in {a, b} = fn() must be cached, for example. Make vvar into a simple @@ -4739,11 +4716,11 @@

    Assign

  • -
  • +
  • - +

    And here comes the big loop that handles all of these cases: [a, b] = c @@ -4792,11 +4769,11 @@

    Assign

  • -
  • +
  • - +

    A regular object pattern-match.

    @@ -4815,11 +4792,11 @@

    Assign

  • -
  • +
  • - +

    A shorthand {a, b, @c} = val pattern-match.

    @@ -4834,11 +4811,11 @@

    Assign

  • -
  • +
  • - +

    A regular array pattern-match.

    @@ -4863,11 +4840,11 @@

    Assign

  • -
  • +
  • - +

    When compiling a conditional assignment, take care to ensure that the operands are only evaluated once, even though we have to reference them @@ -4881,11 +4858,11 @@

    Assign

  • -
  • +
  • - +

    Disallow conditional assignment of undefined variables.

    @@ -4904,11 +4881,11 @@

    Assign

  • -
  • +
  • - +

    Convert special math assignment operators like a **= b to the equivalent extended form a = a ** b and then compiles that.

    @@ -4922,11 +4899,11 @@

    Assign

  • -
  • +
  • - +

    Compile the assignment from an array splice literal, using JavaScript’s Array#splice method.

    @@ -4963,11 +4940,11 @@

    Assign

  • -
  • +
  • - +

    FuncGlyph

    @@ -4981,11 +4958,11 @@

    FuncGlyph

  • -
  • +
  • - +

    Code

    @@ -4994,11 +4971,11 @@

    Code

  • -
  • +
  • - +

    A function definition. This is the only node that creates a new Scope. When for the purposes of walking the contents of a function body, the Code @@ -5036,11 +5013,11 @@

    Code

  • -
  • +
  • - +

    Compilation creates a new scope unless explicitly asked to share with the outer scope. Handles splat parameters in the parameter list by setting @@ -5075,11 +5052,11 @@

    Code

  • -
  • +
  • - +

    Check for duplicate parameters and separate this assignments.

    @@ -5099,11 +5076,11 @@

    Code

  • -
  • +
  • - +

    Parse the parameters, adding them to the list of parameters to put in the function definition; and dealing with splats or expansions, including @@ -5121,11 +5098,11 @@

    Code

  • -
  • +
  • - +

    Was ... used with this parameter? (Only one such parameter is allowed per function.) Splat/expansion parameters cannot have default values, @@ -5145,11 +5122,11 @@

    Code

  • -
  • +
  • - +

    Splat arrays are treated oddly by ES; deal with them the legacy way in the function body. TODO: Should this be handled in the @@ -5174,11 +5151,11 @@

    Code

  • -
  • +
  • - +

    Parse all other parameters; if a splat paramater has not yet been encountered, add these other parameters to the list to be output in @@ -5194,11 +5171,11 @@

    Code

  • -
  • +
  • - +

    This parameter cannot be declared or assigned in the parameter list. So put a reference in the parameter list and add a statement @@ -5212,16 +5189,16 @@

    Code

    ifTrue = new Assign new Value(param.name), param.value exprs.push new If condition, ifTrue else - exprs.push new Assign new Value(param.name), param.asReference(o)
    + exprs.push new Assign new Value(param.name), param.asReference(o), null, param: 'alwaysDeclare'
  • -
  • +
  • - +

    If this parameter comes before the splat or expansion, it will go in the function definition parameter list.

    @@ -5233,11 +5210,11 @@

    Code

  • -
  • +
  • - +

    If this parameter has a default value, and it hasn’t already been set by the shouldCache() block above, define it as a statement in @@ -5257,11 +5234,11 @@

    Code

  • -
  • +
  • - +

    Add this parameter’s reference(s) to the function scope.

    @@ -5272,28 +5249,26 @@

    Code

  • -
  • +
  • - +

    This parameter is destructured.

    -
                param.name.lhs = yes
    -            param.name.eachName (prop) ->
    -              o.scope.parameter prop.value
    +
                param.name.lhs = yes
  • -
  • +
  • - +

    Compile foo({a, b...}) -> to foo(arg) -> {a, b...} = arg. Can be removed once ES proposal hits Stage 4.

    @@ -5304,33 +5279,36 @@

    Code

    splatParamName = o.scope.freeVariable 'arg' o.scope.parameter splatParamName ref = new Value new IdentifierLiteral splatParamName - exprs.push new Assign new Value(param.name), ref
    + exprs.push new Assign new Value(param.name), ref, null, param: 'alwaysDeclare'
  • -
  • +
  • - +

    Compile foo({a, b...} = {}) -> to foo(arg = {}) -> {a, b...} = arg.

    -
                  if param.value?  and not param.assignedInBody
    +            
                  if param.value? and not param.assignedInBody
                     ref = new Assign ref, param.value, null, param: yes
    +            else unless param.shouldCache()
    +              param.name.eachName (prop) ->
    +                o.scope.parameter prop.value
               else
  • -
  • +
  • - +

    This compilation of the parameter is only to get its name to add to the scope name tracking; since the compilation output here @@ -5349,11 +5327,11 @@

    Code

  • -
  • +
  • - +

    If this parameter had a default value, since it’s no longer in the function parameter list we need to assign its default value @@ -5369,11 +5347,11 @@

    Code

  • -
  • +
  • - +

    Add this parameter to the scope, since it wouldn’t have been added yet since it was skipped earlier.

    @@ -5385,11 +5363,11 @@

    Code

  • -
  • +
  • - +

    If there were parameters after the splat or expansion parameter, those parameters need to be assigned in the body of the function.

    @@ -5401,11 +5379,11 @@

    Code

  • -
  • +
  • - +

    Create a destructured assignment, e.g. [a, b, c] = [args..., b, c]

    @@ -5418,11 +5396,11 @@

    Code

  • -
  • +
  • - +

    Add new expressions to the function body

    @@ -5439,11 +5417,11 @@

    Code

  • -
  • +
  • - +

    Assemble the output

    @@ -5465,11 +5443,11 @@

    Code

  • -
  • +
  • - +

    Compile this parameter, but if any generated variables get created (e.g. ref), shift those into the parent scope since we can’t put a @@ -5487,11 +5465,11 @@

    Code

  • -
  • +
  • - +

    Block comments between ) and ->/=> get output between ) and {.

    @@ -5506,11 +5484,11 @@

    Code

  • -
  • +
  • - +

    We need to compile the body before method names to ensure super references are handled.

    @@ -5541,11 +5519,11 @@

    Code

  • -
  • +
  • - +

    Short-circuit traverseChildren method to prevent it from crossing scope boundaries unless crossScope is true.

    @@ -5558,11 +5536,11 @@

    Code

  • -
  • +
  • - +

    Short-circuit replaceInContext method to prevent it from crossing context boundaries. Bound functions have the same context.

    @@ -5595,11 +5573,11 @@

    Code

  • -
  • +
  • - +

    Find all super calls in the given context node Returns true if iterator is called

    @@ -5619,11 +5597,11 @@

    Code

  • -
  • +
  • - +

    super has the same target in bound (arrow) functions, so check them too

    @@ -5636,11 +5614,11 @@

    Code

  • -
  • +
  • - +

    Param

    @@ -5649,11 +5627,11 @@

    Param

  • -
  • +
  • - +

    A parameter in a function definition. Beyond a typical JavaScript parameter, these parameters can also attach themselves to the context of the function, @@ -5698,11 +5676,11 @@

    Param

  • -
  • +
  • - +

    Iterates the name or names of a Param. In a sense, a destructured parameter represents multiple JS parameters. This @@ -5719,11 +5697,11 @@

    Param

  • -
  • +
  • - +
    • simple literals foo
    • @@ -5736,11 +5714,11 @@

      Param

      -
    • +
    • - +
      • at-params @foo
      • @@ -5754,11 +5732,11 @@

        Param

        -
      • +
      • - +
        • destructured parameter with default value
        • @@ -5772,11 +5750,11 @@

          Param

          -
        • +
        • - +
          • assignments within destructured parameters {foo:bar}
          • @@ -5789,11 +5767,11 @@

            Param

            -
          • +
          • - +

            … possibly with a default value

            @@ -5808,11 +5786,11 @@

            Param

          • -
          • +
          • - +
            • splats within destructured parameters [xs...]
            • @@ -5828,11 +5806,11 @@

              Param

              -
            • +
            • - +
              • destructured parameters within destructured parameters [{a}]
              • @@ -5846,11 +5824,11 @@

                Param

                -
              • +
              • - +
                • at-params within destructured parameters {@foo}
                • @@ -5864,11 +5842,11 @@

                  Param

                  -
                • +
                • - +
                  • simple destructured parameters {foo}
                  • @@ -5884,11 +5862,11 @@

                    Param

                    -
                  • +
                  • - +

                    Rename a param by replacing the given AST node for a name with a new node. This needs to ensure that the the source for object destructuring does not change.

                    @@ -5910,11 +5888,11 @@

                    Param

                  • -
                  • +
                  • - +

                    Splat

                    @@ -5923,11 +5901,11 @@

                    Splat

                  • -
                  • +
                  • - +

                    A splat, either as a parameter to a function, an argument to a call, or as part of a destructuring assignment.

                    @@ -5955,11 +5933,11 @@

                    Splat

                  • -
                  • +
                  • - +

                    Expansion

                    @@ -5968,11 +5946,11 @@

                    Expansion

                  • -
                  • +
                  • - +

                    Used to skip values inside an array destructuring (pattern matching) or parameter list.

                    @@ -5994,11 +5972,11 @@

                    Expansion

                  • -
                  • +
                  • - +

                    While

                    @@ -6007,11 +5985,11 @@

                    While

                  • -
                  • +
                  • - +

                    A while loop, the only sort of low-level loop exposed by CoffeeScript. From it, all other loops can be manufactured. Useful in cases where you need more @@ -6050,11 +6028,11 @@

                    While

                  • -
                  • +
                  • - +

                    The main difference from a JavaScript while is that the CoffeeScript while can be used as a part of a larger expression – while loops may @@ -6087,11 +6065,11 @@

                    While

                  • -
                  • +
                  • - +

                    Op

                    @@ -6100,11 +6078,11 @@

                    Op

                  • -
                  • +
                  • - +

                    Simple Arithmetic and logical operations. Performs some conversion from CoffeeScript operations into their JavaScript equivalents.

                    @@ -6132,11 +6110,11 @@

                    Op

                  • -
                  • +
                  • - +

                    The map of conversions from CoffeeScript to JavaScript symbols.

                    @@ -6151,11 +6129,11 @@

                    Op

                  • -
                  • +
                  • - +

                    The map of invertible operators.

                    @@ -6186,11 +6164,11 @@

                    Op

                  • -
                  • +
                  • - +

                    Am I capable of Python-style comparison chaining?

                    @@ -6252,11 +6230,11 @@

                    Op

                  • -
                  • +
                  • - +

                    In chains, there’s no need to wrap bare obj literals in parens, as the chained expression is wrapped.

                    @@ -6286,11 +6264,11 @@

                    Op

                  • -
                  • +
                  • - +

                    Mimic Python’s chained comparisons when multiple comparison operators are used sequentially. For example:

                    @@ -6309,11 +6287,11 @@

                    Op

                  • -
                  • +
                  • - +

                    Keep reference to the left expression, unless this an existential assignment

                    @@ -6331,11 +6309,11 @@

                    Op

                  • -
                  • +
                  • - +

                    Compile a unary Op.

                    @@ -6381,11 +6359,11 @@

                    Op

                  • -
                  • +
                  • - +

                    Make a Math.pow call

                    @@ -6410,11 +6388,11 @@

                    Op

                  • -
                  • +
                  • - +

                    In

                    @@ -6437,11 +6415,11 @@

                    In

                  • -
                  • +
                  • - +

                    compileOrTest only if we have an array literal with no splats

                    @@ -6473,11 +6451,11 @@

                    In

                  • -
                  • +
                  • - +

                    Try

                    @@ -6486,11 +6464,11 @@

                    Try

                  • -
                  • +
                  • - +

                    A classic try/catch/finally block.

                    @@ -6514,11 +6492,11 @@

                    Try

                  • -
                  • +
                  • - +

                    Compilation is more or less as you would expect – the finally clause is optional, the catch is not.

                    @@ -6554,11 +6532,11 @@

                    Try

                  • -
                  • +
                  • - +

                    Throw

                    @@ -6567,11 +6545,11 @@

                    Throw

                  • -
                  • +
                  • - +

                    Simple node to throw an exception.

                    @@ -6589,11 +6567,11 @@

                    Throw

                  • -
                  • +
                  • - +

                    A Throw is already a return, of sorts…

                    @@ -6611,11 +6589,11 @@

                    Throw

                  • -
                  • +
                  • - +

                    Existence

                    @@ -6624,11 +6602,11 @@

                    Existence

                  • -
                  • +
                  • - +

                    Checks a variable for existence – not null and not undefined. This is similar to .nil? in Ruby, and avoids having to consult a JavaScript truth @@ -6668,11 +6646,11 @@

                    Existence

                  • -
                  • +
                  • - +

                    We explicity want to use loose equality (==) when comparing against null, so that an existence check roughly corresponds to a check for truthiness. @@ -6693,11 +6671,11 @@

                    Existence

                  • -
                  • +
                  • - +

                    Parens

                    @@ -6706,11 +6684,11 @@

                    Parens

                  • -
                  • +
                  • - +

                    An extra set of parentheses, specified explicitly in the source. At one time we tried to clean up the results by detecting and removing redundant @@ -6744,11 +6722,11 @@

                    Parens

                  • -
                  • +
                  • - +

                    StringWithInterpolations

                    @@ -6764,11 +6742,11 @@

                    StringWithInterpolations

                  • -
                  • +
                  • - +

                    unwrap returns this to stop ancestor nodes reaching in to grab @body, and using @body.compileNode. StringWithInterpolations.compileNode is @@ -6789,11 +6767,11 @@

                    StringWithInterpolations

                  • -
                  • +
                  • - +

                    Assumes that expr is Value » StringLiteral or Op

                    @@ -6823,11 +6801,11 @@

                    StringWithInterpolations

                  • -
                  • +
                  • - +

                    This node is getting discarded, but salvage its comments.

                    @@ -6853,11 +6831,11 @@

                    StringWithInterpolations

                  • -
                  • +
                  • - +

                    Backticks and ${ inside template literals must be escaped.

                    @@ -6872,17 +6850,17 @@

                    StringWithInterpolations

                    else fragments.push @makeCode '$' unless @csx code = element.compileToFragments(o, LEVEL_PAREN) - unless @isNestedTag element + if not @isNestedTag(element) or code.some((fragment) -> fragment.comments?) code = @wrapInBraces code
                • -
                • +
                • - +

                  Flag the { and } fragments as having been generated by this StringWithInterpolations node, so that compileComments knows @@ -6905,11 +6883,11 @@

                  StringWithInterpolations

                • -
                • +
                • - +

                  For

                  @@ -6918,11 +6896,11 @@

                  For

                • -
                • +
                • - +

                  CoffeeScript’s replacement for the for loop is our array and object comprehensions, that compile into for loops here. They also act as an @@ -6954,11 +6932,11 @@

                  For

                • -
                • +
                • - +

                  Move up any comments in the “for line”, i.e. the line of code with for, from any child nodes of that line up to the for node itself so that these @@ -6973,11 +6951,11 @@

                  For

                • -
                • +
                • - +

                  These comments are buried pretty deeply, so if they happen to be trailing comments the line they trail will be unrecognizable when @@ -6995,11 +6973,11 @@

                  For

                • -
                • +
                • - +

                  Welcome to the hairiest method in all of CoffeeScript. Handles the inner loop, filtering, stepping, and result saving for array, object, and range @@ -7118,11 +7096,11 @@

                  For

                • -
                • +
                • - +

                  Switch

                  @@ -7131,11 +7109,11 @@

                  Switch

                • -
                • +
                • - +

                  A JavaScript switch statement. Converts into a returnable expression on-demand.

                  @@ -7183,11 +7161,11 @@

                  Switch

                • -
                • +
                • - +

                  If

                  @@ -7196,11 +7174,11 @@

                  If

                • -
                • +
                • - +

                  If/else statements. Acts as an expression by pushing down requested returns to the last line of each clause.

                  @@ -7226,11 +7204,11 @@

                  If

                • -
                • +
                • - +

                  Rewrite a chain of Ifs to add a default case as the final else.

                  @@ -7248,11 +7226,11 @@

                  If

                • -
                • +
                • - +

                  The If only compiles into a statement if either of its bodies needs to be a statement. Otherwise a conditional operator is safe.

                  @@ -7280,11 +7258,11 @@

                  If

                • -
                • +
                • - +

                  Compile the If as a regular if-else statement. Flattened chains force inner else bodies into statement form.

                  @@ -7315,11 +7293,11 @@

                  If

                • -
                • +
                • - +

                  Compile the If as a conditional operator.

                  @@ -7338,11 +7316,11 @@

                  If

                • -
                • +
                • - +

                  Constants

                  @@ -7351,11 +7329,11 @@

                  Constants

                • -
                • +
                • - +
                  @@ -7394,11 +7372,11 @@

                  Constants

                • -
                • +
                • - +

                  Shortcuts to speed up the lookup time for native functions.

                  @@ -7412,11 +7390,11 @@

                  Constants

                • -
                • +
                • - +

                  Levels indicate a node’s position in the AST. Useful for knowing if parens are necessary or superfluous.

                  @@ -7433,11 +7411,11 @@

                  Constants

                • -
                • +
                • - +

                  Tabs are two spaces for pretty printing.

                  @@ -7450,11 +7428,11 @@

                  Constants

                • -
                • +
                • - +

                  Helper Functions

                  @@ -7463,11 +7441,11 @@

                  Helper Functions

                • -
                • +
                • - +
                  @@ -7475,11 +7453,11 @@

                  Helper Functions

                • -
                • +
                • - +

                  Helper for ensuring that utility functions are assigned at the top level.

                  @@ -7504,11 +7482,11 @@

                  Helper Functions

                • -
                • +
                • - +

                  Wherever in CoffeeScript 1 we might’ve inserted a makeCode "#{@tab}" to indent a line of code, now we must account for the possibility of comments @@ -7535,11 +7513,11 @@

                  Helper Functions

                • -
                • +
                • - +

                  Move the comments property from one object to another, deleting it from the first object.

                  @@ -7554,11 +7532,11 @@

                  Helper Functions

                • -
                • +
                • - +

                  Sometimes when compiling a node, we want to insert a fragment at the start of an array of fragments; but if the start has one or more comment fragments, @@ -7586,11 +7564,11 @@

                  Helper Functions

                • -
                • +
                • - +

                  Unfold a node’s child if soak, then tuck the node under created If

                  diff --git a/docs/v2/annotated-source/public/fonts/roboto-black.eot b/docs/v2/annotated-source/public/fonts/roboto-black.eot old mode 100644 new mode 100755 diff --git a/docs/v2/annotated-source/public/fonts/roboto-black.ttf b/docs/v2/annotated-source/public/fonts/roboto-black.ttf old mode 100644 new mode 100755 diff --git a/docs/v2/annotated-source/public/fonts/roboto-black.woff b/docs/v2/annotated-source/public/fonts/roboto-black.woff old mode 100644 new mode 100755 diff --git a/docs/v2/annotated-source/sourcemap.html b/docs/v2/annotated-source/sourcemap.html index 1a561249c6..58a1458a61 100644 --- a/docs/v2/annotated-source/sourcemap.html +++ b/docs/v2/annotated-source/sourcemap.html @@ -385,7 +385,7 @@

                  V3 SourceMap Generation

                  names: [] mappings: buffer - v3.sourcesContent = [code] if options.inlineMap + v3.sourcesContent = [code] if options.sourceMap or options.inlineMap v3
                diff --git a/docs/v2/announcing-coffeescript-2/index.html b/docs/v2/announcing-coffeescript-2/index.html new file mode 100644 index 0000000000..6ed6037989 --- /dev/null +++ b/docs/v2/announcing-coffeescript-2/index.html @@ -0,0 +1,351 @@ + + + + +Announcing CoffeeScript 2 + + + + + + + + + + + + + + + + + + + + +
                +
                +
                +
                +

                Announcing CoffeeScript 2

                +
                +
                +

                We are pleased to announce CoffeeScript 2! This new release of the CoffeeScript language and compiler aims to bring CoffeeScript into the modern JavaScript era, closing gaps in compatibility with JavaScript while preserving the clean syntax that is CoffeeScript’s hallmark. In a nutshell:

                + +

                CoffeeScript 2 was developed with two primary goals: remove any incompatibilities with modern JavaScript that might prevent CoffeeScript from being used on a project; and preserve as much backward compatibility as possible. Install now: npm install -g coffeescript@2

                +

                Modern JavaScript Output

                +

                From the beginning, CoffeeScript has been described as being “just JavaScript.” And today, JavaScript is ES2015 (well, ES2017; also commonly known as ES6). CoffeeScript welcomes the changes in the JavaScript world and we’re happy to stop outputting circa-1999 syntax for modern features.

                +

                Many new JavaScript features, such as =>, were informed by CoffeeScript and are one-to-one compatible, or very nearly so. This has made outputting many of CoffeeScript’s innovations into new JS syntax straightforward: not only does => become =>, but { a } = obj becomes { a } = obj, "a#{b}c" becomes `a${b}c` and so on.

                +

                The following CoffeeScript features were updated in 2.0 to output using modern JavaScript syntax (or added in CoffeeScript 1.11 through 2.0, output using modern syntax):

                +
                  +
                • Modules: import/export
                • +
                • Classes: class Animal
                • +
                • Async functions: await someFunction()
                • +
                • Bound/arrow functions: =>
                • +
                • Function default parameters: (options = {}) ->
                • +
                • Function splat/rest parameters: (items...) ->
                • +
                • Destructuring, for both arrays and objects: [first, second] = items, {length} = items
                • +
                • Object rest/spread properties: {options..., force: yes}, {force, otherOptions...} = options
                • +
                • Interpolated strings/template literals (JS backticked strings): "Hello, #{user}!"
                • +
                • Tagged template literals: html"<strong>coffee</strong>"
                • +
                • JavaScript’s for…of is now available as CoffeeScript’s for…from (we already had a for…of): for n from generatorFunction()
                • +
                +

                Not all CoffeeScript features were adopted into JavaScript in 100% the same way; most notably, default values in JavaScript (and also in CoffeeScript 2) are only applied when a variable is undefined, not undefined or null as in CoffeeScript 1; and classes have their own differences. See the breaking changes for the fine details.

                +

                In our experience, most breaking changes are edge cases that should affect very few people, like JavaScript’s lack of an arguments object inside arrow functions. There seem to be two breaking changes that affect a significant number of projects:

                +
                  +
                • In CoffeeScript 2, “bare” super (calling super without arguments) is now no longer allowed, and one must use super() or super arguments... instead.
                • +
                • References to this/@ cannot occur before a call to super, per the JS spec.
                • +
                +

                See the full details. Either the CoffeeScript compiler or your transpiler will throw errors for either of these cases, so updating your code is a matter of fixing each occurrence as the compiler errors on it, until your code compiles successfully.

                +

                Other Features

                +

                Besides supporting new JavaScript features and outputting older CoffeeScript features in modern JS syntax, CoffeeScript 2 has added support for the following:

                + +

                There are many smaller improvements as well, such as to the coffee command-line tool. You can read all the details in the changelog for the 2.0.0 betas.

                +

                “What About …?”

                +

                A few JavaScript features have been intentionally omitted from CoffeeScript. These include let and const (and var), named functions and the get and set keywords. These get asked about so often that we added a section to the docs called Unsupported ECMAScript Features. CoffeeScript’s lack of equivalents for these features does not affect compatibility or interoperability with JavaScript modules or libraries.

                +

                Future Compatibility

                +

                Back when CoffeeScript 1 was created, ES2015 JavaScript and transpilers like Babel, Bublé or Traceur Compiler were several years away. The CoffeeScript compiler itself had to do what today’s transpilers do, converting modern features like destructuring and arrow functions into equivalent lowest-common-denominator JavaScript.

                +

                But transpilers exist now, and they do their job well. With them around, there’s no need for the CoffeeScript compiler to duplicate this functionality. All the CoffeeScript compiler needs to worry about now is converting the CoffeeScript version of new syntax into the JS version of that syntax, e.g. "Hello, #{name}!" into `Hello, ${name}!`. This makes adding support for new JavaScript features much easier than before.

                +

                Most features added by ECMA in recent years haven’t required any updates at all in CoffeeScript. New global objects, or new methods on global objects, don’t require any updates on CoffeeScript’s part to work. Some proposed future JS features do involve new syntax, like class fields. We have adopted a policy of supporting new syntax only when it reaches Stage 4 in ECMA’s process, which means that the syntax is final and will be in the next ES release. On occasion we might support a feature before it has reached Stage 4, but output it using equivalent non-experimental syntax instead of the newly-proposed syntax; that’s what’s happening in 2.0.0 for object destructuring, where our output uses the same polyfill that Babel uses. When the new syntax is finalized, we will update our output to use the final syntax.

                +

                Credits

                +

                The major features of 2.0.0 would not have been possible without the following people:

                +
                  +
                • @GeoffreyBooth: Organizer of the CoffeeScript 2 effort, developer for modules; arrow functions, function default parameters and function rest parameters output using ES2015 syntax; line comments output and block comments output anywhere; block embedded JavaScript via triple backticks; improved parsing of Literate CoffeeScript; and the new docs website.
                • +
                • @connec: Classes; destructuring; splats/rest syntax in arrays and function calls; and computed properties all output using ES2015 syntax.
                • +
                • @GabrielRatener: Async functions.
                • +
                • @xixixao: JSX.
                • +
                • @zdenko: Object rest/spread properties (object destructuring).
                • +
                • @greghuc: Tagged template literals, interpolated strings output in ES2015 syntax.
                • +
                • @atg: ES2015 for…of, supported as CoffeeScript’s for…from.
                • +
                • @lydell and @jashkenas: Guidance, code reviews and feedback.
                • +
                +

                See the full honor roll.

                +

                Thanks and we hope you enjoy CoffeeScript 2!

                + +
                +
                +
                +
                + + + + + diff --git a/docs/v2/browser-compiler/coffeescript.js b/docs/v2/browser-compiler/coffeescript.js index 00fee27a7b..72c6f1db09 100644 --- a/docs/v2/browser-compiler/coffeescript.js +++ b/docs/v2/browser-compiler/coffeescript.js @@ -1,8 +1,8 @@ /** - * CoffeeScript Compiler v2.0.0-beta5 + * CoffeeScript Compiler v2.0.0 * http://coffeescript.org * * Copyright 2011, Jeremy Ashkenas * Released under the MIT License */ -var _get=function e(a,t,o){null===a&&(a=Function.prototype);var n=Object.getOwnPropertyDescriptor(a,t);if(n===void 0){var r=Object.getPrototypeOf(a);return null===r?void 0:e(r,t,o)}if("value"in n)return n.value;var i=n.get;return void 0===i?void 0:i.call(o)},_slicedToArray=function(){function e(e,a){var t=[],o=!0,n=!1,r;try{for(var i=e[Symbol.iterator](),s;!(o=(s=i.next()).done)&&(t.push(s.value),!(a&&t.length===a));o=!0);}catch(e){n=!0,r=e}finally{try{!o&&i["return"]&&i["return"]()}finally{if(n)throw r}}return t}return function(a,t){if(Array.isArray(a))return a;if(Symbol.iterator in Object(a))return e(a,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_createClass=function(){function e(e,a){for(var t=0,o;t=6"},directories:{lib:"./lib/coffeescript"},main:"./lib/coffeescript/index",browser:"./lib/coffeescript/browser",bin:{coffee:"./bin/coffee",cake:"./bin/cake"},files:["bin","lib","register.js","repl.js"],scripts:{test:"node ./bin/cake test","test-harmony":"node --harmony ./bin/cake test"},homepage:"http://coffeescript.org",bugs:"https://github.com/jashkenas/coffeescript/issues",repository:{type:"git",url:"git://github.com/jashkenas/coffeescript.git"},devDependencies:{"babel-core":"~6.26.0","babel-preset-babili":"~0.1.4","babel-preset-env":"~1.6.0",babili:"^0.1.4",docco:"~0.7.0","highlight.js":"~9.12.0",jison:">=0.4.17","markdown-it":"~8.4.0",underscore:"~1.8.3",webpack:"~3.5.5"},dependencies:{}}}(),e["./helpers"]=function(){var e={};return function(){var a,t,o,n,r,i,s,l;e.starts=function(e,a,t){return a===e.substr(t,a.length)},e.ends=function(e,a,t){var o;return o=a.length,a===e.substr(e.length-o-(t||0),o)},e.repeat=s=function(e,a){var t;for(t="";0>>=1,e+=e;return t},e.compact=function(e){var a,t,o,n;for(n=[],a=0,o=e.length;ar)return n.returnOnNegativeLevel?void 0:o.call(this,l,e);e+=1}return e-1}},{key:"removeLeadingNewlines",value:function(){var e,a,t,o,n,r,i,s,l;for(i=this.tokens,e=a=0,n=i.length;ar;o=0<=r?++n:--n)if(null!=l[o]&&("string"==typeof l[o]&&(l[o]=[l[o]]),i=this.tag(e+o+a),0>t.call(l[o],i)))return-1;return e+o+a-1}},{key:"looksObjectish",value:function(e){var a,o;return-1!==this.indexOfTag(e,"@",null,":")||-1!==this.indexOfTag(e,null,":")||(o=this.indexOfTag(e,p),-1!==o&&(a=null,this.detectEnd(o+1,function(e){var a;return a=e[0],0<=t.call(c,a)},function(e,t){return a=t}),":"===this.tag(a+1)))}},{key:"findTagsBackwards",value:function(e,a){var o,n,r,i,s,l,d;for(o=[];0<=e&&(o.length||(i=this.tag(e),0>t.call(a,i))&&((s=this.tag(e),0>t.call(p,s))||this.tokens[e].generated)&&(l=this.tag(e),0>t.call(f,l)));)(n=this.tag(e),0<=t.call(c,n))&&o.push(this.tag(e)),(r=this.tag(e),0<=t.call(p,r))&&o.length&&o.pop(),e-=1;return d=this.tag(e),0<=t.call(a,d)}},{key:"addImplicitBracesAndParens",value:function(){var e,a;return e=[],a=null,this.scanTokens(function(o,d,n){var i=this,y=_slicedToArray(o,1),T,v,b,_,$,C,D,E,x,I,S,A,k,R,O,L,w,F,P,j,M,s,U,V,B,G,X,W,H,Y,q;q=y[0];var z=F=0"!==w&&"->"!==w&&"["!==w&&"("!==w&&","!==w&&"{"!==w&&"ELSE"!==w&&"="!==w)for(;C()||E()&&":"!==w;)C()?T():v();return D()&&e.pop(),e.push([q,d]),b(1)}if(0<=t.call(p,q))return e.push([q,d]),b(1);if(0<=t.call(c,q)){for(;$();)C()?T():E()?v():e.pop();a=e.pop()}if((0<=t.call(h,q)&&o.spaced||"?"===q&&0t.call(c,e)):return a[1];case"@"!==this.tag(d-2):return d-2;default:return d-1;}}.call(this),Y=0>=M||(j=this.tag(M-1),0<=t.call(f,j))||n[M-1].newLine,G()){var Q=G(),ee=_slicedToArray(Q,2);if(B=ee[0],U=ee[1],("{"===B||"INDENT"===B&&"{"===this.tag(U-1))&&(Y||","===this.tag(M-1)||"{"===this.tag(M-1)))return b(1)}return H(M,!!Y),b(2)}if(0<=t.call(f,q))for(A=e.length-1;0<=A&&(V=e[A],!!x(V));A+=-1)S(V)&&(V[2].sameLine=!1);if(k="OUTDENT"===w||F.newLine,0<=t.call(m,q)||0<=t.call(r,q)&&k)for(;$();){var ae=G(),te=_slicedToArray(ae,3);B=te[0],U=te[1];var oe=te[2];if(s=oe.sameLine,Y=oe.startsLine,C()&&","!==w)T();else if(E()&&s&&"TERMINATOR"!==q&&":"!==w&&!(("POST_IF"===q||"FOR"===q||"WHILE"===q||"UNTIL"===q)&&Y&&_(d+1)))v();else if(E()&&"TERMINATOR"===q&&","!==w&&!(Y&&this.looksObjectish(d+1)))v();else break}if(","===q&&!this.looksObjectish(d+1)&&E()&&("TERMINATOR"!==R||!this.looksObjectish(d+2)))for(L="OUTDENT"===R?1:0;E();)v(d+L);return b(1)})}},{key:"enforceValidCSXAttributes",value:function(){return this.scanTokens(function(e,a,t){var o,n;return e.csxColon&&(o=t[a+1],"STRING_START"!==(n=o[0])&&"STRING"!==n&&"("!==n&&D("expected wrapped or quoted JSX attribute",o[2])),1})}},{key:"rescueStowawayComments",value:function(){var e,a,o;return e=function(e,a,t,o){return"TERMINATOR"!==t[a][0]&&t[o](N("TERMINATOR","\n",t[a])),t[o](N("JS","",t[a],e))},o=function(a,o,n){var r,i,l,d,c,p,u;for(i=o;i!==n.length&&(c=n[i][0],0<=t.call(s,c));)i++;if(!(i===n.length||(p=n[i][0],0<=t.call(s,p)))){for(u=a.comments,l=0,d=u.length;lt.call(r,n)))return this.tokens.splice(o,0,N("(","(",this.tokens[o])),this.tokens.splice(a+1,0,N(")",")",this.tokens[a]))},o=null,this.scanTokens(function(t,n){var r,i;return"do"===t[1]?(o=n,r=n+1,"PARAM_START"===this.tag(n+1)&&(r=null,this.detectEnd(n+1,function(e,a){return"PARAM_END"===this.tag(a-1)},function(e,a){return r=a})),null==r||"->"!==(i=this.tag(r))&&"=>"!==i||"INDENT"!==this.tag(r+1))?1:(this.detectEnd(r+1,a,e),2):1})}},{key:"normalizeLines",value:function(){var e,a,o,n,s;return s=o=n=null,a=function(e,a){var o,n,i,l;return";"!==e[1]&&(o=e[0],0<=t.call(T,o))&&!("TERMINATOR"===e[0]&&(n=this.tag(a+1),0<=t.call(d,n)))&&("ELSE"!==e[0]||"THEN"===s)&&("CATCH"!==(i=e[0])&&"FINALLY"!==i||"->"!==s&&"=>"!==s)||(l=e[0],0<=t.call(r,l))&&(this.tokens[a-1].newLine||"OUTDENT"===this.tokens[a-1][0])},e=function(e,a){return this.tokens.splice(","===this.tag(a-1)?a-1:a,0,n)},this.scanTokens(function(r,l,i){var c=_slicedToArray(r,1),p,u,m,h,g;if(g=c[0],"TERMINATOR"===g){if("ELSE"===this.tag(l+1)&&"OUTDENT"!==this.tag(l-1))return i.splice.apply(i,[l,1].concat(_toConsumableArray(this.indentation()))),1;if(m=this.tag(l+1),0<=t.call(d,m))return i.splice(l,1),0}if("CATCH"===g)for(p=u=1;2>=u;p=++u)if("OUTDENT"===(h=this.tag(l+p))||"TERMINATOR"===h||"FINALLY"===h)return i.splice.apply(i,[l+p,0].concat(_toConsumableArray(this.indentation()))),2+p;if(("->"===g||"=>"===g)&&(","===this.tag(l+1)||"."===this.tag(l+1)&&r.newLine)){var f=this.indentation(i[l]),y=_slicedToArray(f,2);return o=y[0],n=y[1],i.splice(l+1,0,o,n),1}if(0<=t.call(v,g)&&"INDENT"!==this.tag(l+1)&&("ELSE"!==g||"IF"!==this.tag(l+1))){s=g;var k=this.indentation(i[l]),T=_slicedToArray(k,2);return o=T[0],n=T[1],"THEN"===s&&(o.fromThen=!0),i.splice(l+1,0,o),this.detectEnd(l+2,a,e),"THEN"===g&&i.splice(l,1),1}return 1})}},{key:"tagPostfixConditionals",value:function(){var e,a,o;return o=null,a=function(e,a){var o=_slicedToArray(e,1),n,r;r=o[0];var i=_slicedToArray(this.tokens[a-1],1);return n=i[0],"TERMINATOR"===r||"INDENT"===r&&0>t.call(v,n)},e=function(e){if("INDENT"!==e[0]||e.generated&&!e.fromThen)return o[0]="POST_"+o[0]},this.scanTokens(function(t,n){return"IF"===t[0]?(o=t,this.detectEnd(n+1,a,e),1):1})}},{key:"indentation",value:function(e){var a,t;return a=["INDENT",2],t=["OUTDENT",2],e?(a.generated=t.generated=!0,a.origin=t.origin=e):a.explicit=t.explicit=!0,[a,t]}},{key:"tag",value:function(e){var a;return null==(a=this.tokens[e])?void 0:a[0]}}]),e}();return e.prototype.generate=N,e}(),n=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["STRING_START","STRING_END"],["REGEX_START","REGEX_END"]],a.INVERSES=i={},p=[],c=[],(b=0,_=n.length);b<_;b++){var E=_slicedToArray(n[b],2);k=E[0],C=E[1],p.push(i[C]=k),c.push(i[k]=C)}d=["CATCH","THEN","ELSE","FINALLY"].concat(c),h=["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"],u=["IDENTIFIER","CSX_TAG","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","UNDEFINED","NULL","BOOL","UNARY","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","--","++"],g=["+","-"],m=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],v=["ELSE","->","=>","TRY","FINALLY","THEN"],T=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],f=["TERMINATOR","INDENT","OUTDENT"],r=[".","?.","::","?::"],l=["IF","TRY","FINALLY","CATCH","CLASS","SWITCH"],s=["(",")","[","]","{","}",".","..","...",",","=","++","--","?","AS","AWAIT","CALL_START","CALL_END","DEFAULT","ELSE","EXTENDS","EXPORT","FORIN","FOROF","FORFROM","IMPORT","INDENT","INDEX_SOAK","LEADING_WHEN","OUTDENT","PARAM_START","PARAM_END","REGEX_START","REGEX_END","RETURN","STRING_END","THROW","UNARY","YIELD"].concat(g.concat(m.concat(r.concat(l))))}.call(this),{exports:a}.exports}(),e["./lexer"]=function(){var a={};return function(){var t=[].indexOf,n=e("./rewriter"),r,i,s,l,d,c,p,u,m,h,g,f,y,k,T,v,N,b,_,$,C,D,E,x,I,S,A,R,O,L,w,F,P,j,M,U,V,B,G,X,W,H,Y,q,z,J,K,Z,Q,ee,ae,te,oe,ne,re,ie,se,le,de,ce,pe,ue,me,he,ge,fe,ye,ke,Te,ve,Ne,be,_e;z=n.Rewriter,S=n.INVERSES;var $e=e("./helpers");he=$e.count,be=$e.starts,me=$e.compact,Ne=$e.repeat,ge=$e.invertLiterate,ve=$e.merge,ue=$e.attachCommentsToNode,Te=$e.locationDataToString,_e=$e.throwSyntaxError,a.Lexer=F=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"tokenize",value:function(e){var a=1this.indent){if(i)return this.indebt=s-this.indent,this.suppressNewlines(),t.length;if(!this.tokens.length)return this.baseIndent=this.indent=s,this.indentLiteral=r,t.length;a=s-this.indent+this.outdebt,this.token("INDENT",a,t.length-s,s),this.indents.push(a),this.ends.push({tag:"OUTDENT"}),this.outdebt=this.indebt=0,this.indent=s,this.indentLiteral=r}else st.call(m,h)))))return 0;var T=d,v=_slicedToArray(T,3);return l=v[0],s=v[1],o=v[2],c=this.token("CSX_TAG",s,1,s.length),this.token("CALL_START","("),this.token("[","["),this.ends.push({tag:"/>",origin:c,name:s}),this.csxDepth++,s.length+1}if(n=this.atCSXTag()){if("/>"===this.chunk.slice(0,2))return this.pair("/>"),this.token("]","]",0,2),this.token("CALL_END",")",0,2),this.csxDepth--,2;if("{"===i)return":"===u?(g=this.token("(","("),this.csxObjAttribute[this.csxDepth]=!1):(g=this.token("{","{"),this.csxObjAttribute[this.csxDepth]=!0),this.ends.push({tag:"}",origin:g}),1;if(">"===i){this.pair("/>"),c=this.token("]","]"),this.token(",",",");var N=this.matchWithInterpolations(I,">",""})}),d=y.exec(this.chunk.slice(r)),d&&d[0]===n.name||this.error("expected corresponding CSX closing tag for "+n.name,n.origin[2]),a=r+n.name.length,">"!==this.chunk[a]&&this.error("missing closing > after tag name",{offset:a,length:1}),this.token("CALL_END",")",r,n.name.length+1),this.csxDepth--,a+1}return 0}return this.atCSXTag(1)?"}"===i?(this.pair(i),this.csxObjAttribute[this.csxDepth]?(this.token("}","}"),this.csxObjAttribute[this.csxDepth]=!1):this.token(")",")"),this.token(",",","),1):0:0}},{key:"atCSXTag",value:function(){var e=0"===(null==t?void 0:t.tag)&&t}},{key:"literalToken",value:function(){var e,a,o,n,r,i,d,c,p,u,m,f,y;if(e=V.exec(this.chunk)){var k=e,T=_slicedToArray(k,1);y=T[0],l.test(y)&&this.tagParameters()}else y=this.chunk.charAt(0);if(m=y,n=this.prev(),n&&0<=t.call(["="].concat(_toConsumableArray(g)),y)&&(u=!1,"="!==y||"||"!==(r=n[1])&&"&&"!==r||n.spaced||(n[0]="COMPOUND_ASSIGN",n[1]+="=",n=this.tokens[this.tokens.length-2],u=!0),n&&"PROPERTY"!==n[0]&&(o=null==(i=n.origin)?n:i,a=ye(n[1],o[1]),a&&this.error(a,o[2])),u))return y.length;if("{"===y&&this.seenImport?this.importSpecifierList=!0:this.importSpecifierList&&"}"===y?this.importSpecifierList=!1:"{"===y&&"EXPORT"===(null==n?void 0:n[0])?this.exportSpecifierList=!0:this.exportSpecifierList&&"}"===y&&(this.exportSpecifierList=!1),";"===y)(d=null==n?void 0:n[0],0<=t.call(["="].concat(_toConsumableArray(le)),d))&&this.error("unexpected ;"),this.seenFor=this.seenImport=this.seenExport=!1,m="TERMINATOR";else if("*"===y&&"EXPORT"===(null==n?void 0:n[0]))m="EXPORT_ALL";else if(0<=t.call(P,y))m="MATH";else if(0<=t.call(h,y))m="COMPARE";else if(0<=t.call(g,y))m="COMPOUND_ASSIGN";else if(0<=t.call(ie,y))m="UNARY";else if(0<=t.call(se,y))m="UNARY_MATH";else if(0<=t.call(J,y))m="SHIFT";else if("?"===y&&(null==n?void 0:n.spaced))m="BIN?";else if(n)if("("===y&&!n.spaced&&(c=n[0],0<=t.call(s,c)))"?"===n[0]&&(n[0]="FUNC_EXIST"),m="CALL_START";else if("["===y&&((p=n[0],0<=t.call(x,p))&&!n.spaced||"::"===n[0]))switch(m="INDEX_START",n[0]){case"?":n[0]="INDEX_SOAK";}return f=this.makeToken(m,y),"("===y||"{"===y||"["===y?this.ends.push({tag:S[y],origin:f}):")"===y||"}"===y||"]"===y?this.pair(y):void 0,(this.tokens.push(this.makeToken(m,y)),y.length)}},{key:"tagParameters",value:function(){var e,a,t,o,n;if(")"!==this.tag())return this;for(t=[],n=this.tokens,e=n.length,a=n[--e],a[0]="PARAM_END";o=n[--e];)switch(o[0]){case")":t.push(o);break;case"(":case"CALL_START":if(t.length)t.pop();else return"("===o[0]?(o[0]="PARAM_START",this):(a[0]="CALL_END",this);}return this}},{key:"closeIndentation",value:function(){return this.outdentToken(this.indent)}},{key:"matchWithInterpolations",value:function(a,t,o,n){var r,i,s,l,d,c,p,u,m,h,g,f,y,k,T,v,N,b;if(null==o&&(o=t),null==n&&(n=/^#\{/),b=[],f=t.length,this.chunk.slice(0,f)!==t)return null;for(v=this.chunk.slice(f);;){var _=a.exec(v),$=_slicedToArray(_,1);if(N=$[0],this.validateEscapes(N,{isRegex:"/"===t.charAt(0),offsetInChunk:f}),b.push(this.makeToken("NEOSTRING",N,f)),v=v.slice(N.length),f+=N.length,!(h=n.exec(v)))break;var C=h,D=_slicedToArray(C,1);p=D[0],c=p.length-1;var E=this.getLineAndColumnFromChunk(f+c),x=_slicedToArray(E,2);m=x[0],s=x[1],T=v.slice(c);var I=new e().tokenize(T,{line:m,column:s,untilBalanced:!0});g=I.tokens,d=I.index,d+=c,r="}"===v[d-1],r&&(y=g[0],i=g[g.length-1],y[0]=y[1]="(",i[0]=i[1]=")",i.origin=["","end of interpolation",i[2]]),"TERMINATOR"===(null==(k=g[1])?void 0:k[0])&&g.splice(1,1),r||(y=this.makeToken("(","(",f,0),i=this.makeToken(")",")",f+d,0),g=[y].concat(_toConsumableArray(g),[i])),b.push(["TOKENS",g]),v=v.slice(d),f+=d}return v.slice(0,o.length)!==o&&this.error("missing "+o,{length:t.length}),l=b[0],u=b[b.length-1],l[2].first_column-=t.length,"\n"===u[1].substr(-1)?(u[2].last_line+=1,u[2].last_column=o.length-1):u[2].last_column+=o.length,0===u[1].length&&(u[2].last_column-=1),{tokens:b,index:f+o.length}}},{key:"mergeInterpolationTokens",value:function(e,a,t){var o,n,r,s,i,l,d,c,p,u,m,h,g,f,y,k,T,v,N;for(1r&&(g=this.token("+","+"),g[2]={first_line:u[2].first_line,first_column:u[2].first_column,last_line:u[2].first_line,last_column:u[2].first_column}),(b=this.tokens).push.apply(b,_toConsumableArray(T))}if(m)return d=e[e.length-1],m.origin=["STRING",null,{first_line:m[2].first_line,first_column:m[2].first_column,last_line:d[2].last_line,last_column:d[2].last_column}],m[2]=m.origin[2],f=this.token("STRING_END",")"),f[2]={first_line:d[2].last_line,first_column:d[2].last_column,last_line:d[2].last_line,last_column:d[2].last_column}}},{key:"pair",value:function(e){var a,t,o,n,r;return o=this.ends,t=o[o.length-1],e===(r=null==t?void 0:t.tag)?this.ends.pop():("OUTDENT"!==r&&this.error("unmatched "+e),n=this.indents,a=n[n.length-1],this.outdentToken(a,!0),this.pair(e))}},{key:"getLineAndColumnFromChunk",value:function(e){var a,t,o,n,r;return 0===e?[this.chunkLine,this.chunkColumn]:(r=e>=this.chunk.length?this.chunk:this.chunk.slice(0,+(e-1)+1||9e9),o=he(r,"\n"),a=this.chunkColumn,0e)?n(e):(a=o((e-65536)/1024)+55296,t=(e-65536)%1024+56320,""+n(a)+n(t))}},{key:"replaceUnicodeCodePointEscapes",value:function(e,a){var o=this,n;return n=null!=a.flags&&0>t.call(a.flags,"u"),e.replace(de,function(e,t,r,i){var s;return t?t:(s=parseInt(r,16),1114111t.call([].concat(_toConsumableArray(R),_toConsumableArray(p)),e):return"keyword '"+a+"' can't be assigned";case 0>t.call(Z,e):return"'"+a+"' can't be assigned";case 0>t.call(q,e):return"reserved word '"+a+"' can't be assigned";default:return!1;}},a.isUnassignable=ye,fe=function(e){var a;return"IDENTIFIER"===e[0]?("from"===e[1]&&(e[1][0]="IDENTIFIER",!0),!0):"FOR"!==e[0]&&("{"===(a=e[1])||"["===a||","===a||":"===a?!1:!0)},R=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"],p=["undefined","Infinity","NaN","then","unless","until","loop","of","by","when"],c={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},d=function(){var e;for(ke in e=[],c)e.push(ke);return e}(),p=p.concat(d),q=["case","function","var","void","with","const","let","enum","native","implements","interface","package","private","protected","public","static"],Z=["arguments","eval"],a.JS_FORBIDDEN=R.concat(q).concat(Z),r=65279,D=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+)([^\n\S]*:(?!:))?/,y=/^(?![\d<])((?:(?!\s)[\.\-$\w\x7f-\uffff])+)/,f=/^(?!\d)((?:(?!\s)[\-$\w\x7f-\uffff])+)([^\S]*=(?!=))?/,U=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,V=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/,pe=/^[^\n\S]+/,u=/^\s*###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/,l=/^[-=]>/,j=/^(?:\n[^\n\S]*)+/,A=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,C=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,oe=/^(?:'''|"""|'|")/,te=/^(?:[^\\']|\\[\s\S])*/,Q=/^(?:[^\\"#]|\\[\s\S]|\#(?!\{))*/,b=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,v=/^(?:[^\\"#]|\\[\s\S]|"(?!"")|\#(?!\{))*/,I=/^(?:[^\{<])*/,k=/^(?:\{|<(?!\/))/,ae=/((?:\\\\)+)|\\[^\S\n]*\n\s*/g,K=/\s*\n\s*/g,N=/\n+([^\n\S]*)(?=\S)/g,G=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,X=/^\w*/,ce=/^(?!.*(.).*\1)[imguy]*$/,_=/^(?:[^\\\/#]|\\[\s\S]|\/(?!\/\/)|\#(?!\{))*/,$=/((?:\\\\)+)|\\(\s)|\s+(?:#.*)?/g,W=/^(\/|\/{3}\s*)(\*)/,B=/^\/=?\s/,T=/\*\//,w=/^\s*(?:,|\??\.(?![.\d])|::)/,ee=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7]|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/,H=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7])|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/,de=/(\\\\)|\\u\{([\da-fA-F]+)\}/g,O=/^[^\n\S]*\n/,ne=/\n[^\n\S]*$/,re=/\s+$/,g=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="],ie=["NEW","TYPEOF","DELETE","DO"],se=["!","~"],J=["<<",">>",">>>"],h=["==","!=","<",">","<=",">="],P=["*","/","%","//","%%"],Y=["IN","OF","INSTANCEOF"],i=["TRUE","FALSE"],s=["IDENTIFIER","PROPERTY",")","]","?","@","THIS","SUPER"],x=s.concat(["NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","::"]),m=["IDENTIFIER",")","]","NUMBER"],M=x.concat(["++","--"]),L=["INDENT","OUTDENT","TERMINATOR"],E=[")","}","]"],le=["\\",".","?.","?::","UNARY","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","BIN?","EXTENDS","DEFAULT"]}.call(this),{exports:a}.exports}(),e["./parser"]=function(){var a={},t={exports:a},o=function(){function e(){this.yy={}}var a=function(e,a,t,o){for(t=t||{},o=e.length;o--;t[e[o]]=a);return t},t=[1,20],o=[1,50],n=[1,84],r=[1,85],i=[1,80],s=[1,86],l=[1,87],d=[1,82],c=[1,83],p=[1,57],u=[1,59],m=[1,60],h=[1,61],g=[1,62],f=[1,63],y=[1,66],k=[1,51],T=[1,38],v=[1,32],N=[1,69],b=[1,70],_=[1,79],$=[1,48],C=[1,52],D=[1,53],E=[1,67],x=[1,68],I=[1,65],S=[1,43],A=[1,49],R=[1,64],O=[1,74],L=[1,75],w=[1,76],F=[1,77],P=[1,47],j=[1,73],M=[1,34],U=[1,35],V=[1,36],B=[1,37],G=[1,39],X=[1,40],W=[1,88],H=[1,6,32,43,137],Y=[1,103],q=[1,91],z=[1,90],J=[1,89],K=[1,92],Z=[1,93],Q=[1,94],ee=[1,95],ae=[1,96],te=[1,97],oe=[1,98],ne=[1,99],re=[1,100],ie=[1,101],se=[1,102],le=[1,106],de=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],ce=[2,188],pe=[1,112],ue=[1,117],me=[1,113],he=[1,114],ge=[1,115],fe=[1,118],ye=[1,111],ke=[1,6,32,43,137,139,141,145,162],Te=[1,6,31,32,41,42,43,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],ve=[2,115],Ne=[2,119],be=[2,92],_e=[1,124],$e=[1,129],Ce=[1,130],De=[1,132],Ee=[1,136],xe=[1,134],Ie=[1,6,31,32,41,42,43,57,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],Se=[2,112],Ae=[1,6,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],Re=[2,27],Oe=[1,162],Le=[2,81],we=[1,165],Fe=[1,171],Pe=[1,183],je=[1,185],Me=[1,180],Ue=[1,187],Ve=[1,188],Be=[1,190],Ge=[1,6,31,32,41,42,43,57,64,74,75,77,82,87,95,96,97,99,103,105,119,120,121,126,128,137,139,140,141,145,146,162,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],Xe=[2,135],We=[1,214],He=[1,224],Ye=[1,6,31,32,41,42,43,61,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],qe=[1,6,29,31,32,41,42,43,57,61,64,74,75,77,82,87,95,96,97,99,103,105,111,119,120,121,126,128,137,139,140,141,145,146,152,153,154,162,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],ze=[1,6,31,32,41,42,43,48,61,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],Je=[1,246],Ke=[41,42,120],Ze=[1,256],Qe=[1,255],ea=[2,90],aa=[1,262],ta=[6,31,32,82,87],oa=[6,31,32,57,64,82,87],na=[1,6,31,32,43,64,74,75,77,82,87,95,96,97,99,103,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],ra=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,165,166,170,171,172,173,174,175,176,177,178,179,180],ia=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,165,166,170,172,173,174,175,176,177,178,179,180],sa=[41,42,74,75,95,96,97,99,119,120],la=[1,282],da=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162],ca=[2,79],pa=[1,296],ua=[1,298],ma=[1,303],ha=[1,305],ga=[2,209],fa=[1,6,31,32,41,42,43,57,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,152,153,154,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],ya=[1,314],ka=[6,31,32,87,121,126],Ta=[1,6,31,32,41,42,43,57,61,64,74,75,77,82,87,95,96,97,99,103,105,119,120,121,126,128,137,139,140,141,145,146,152,153,154,162,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],va=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,146,162],Na=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,140,146,162],ba=[152,153,154],_a=[87,152,153,154],$a=[6,31,103],Ca=[1,330],Da=[6,31,32,87,103],Ea=[6,31,32,61,87,103],xa=[1,336],Ia=[1,337],Sa=[6,31,32,57,61,64,74,75,87,103,120],Aa=[6,31,32,64,74,75,87,103,120],Ra=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,165,166,172,173,174,175,176,177,178,179,180],Oa=[1,6,31,32,41,42,43,48,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],La=[13,28,34,35,39,41,42,45,46,50,51,52,53,54,55,71,77,78,79,80,84,85,101,104,106,114,123,124,125,131,135,136,139,141,143,145,155,161,163,164,165,166,167,168],wa=[2,198],Fa=[6,31,32],Pa=[2,91],ja=[1,355],Ma=[1,356],Ua=[1,6,31,32,43,64,74,75,77,82,87,95,96,97,99,103,121,126,128,133,134,137,139,140,141,145,146,157,159,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],Va=[32,157,159],Ba=[1,6,32,43,64,77,82,87,103,121,126,128,137,140,146,162],Ga=[1,384],Xa=[1,390],Wa=[1,6,32,43,137,162],Ha=[2,106],Ya=[1,401],qa=[1,402],za=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,157,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],Ja=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,141,145,146,162],Ka=[1,415],Za=[1,416],Qa=[6,31,32,103],et=[6,31,32,87],at=[1,6,31,32,43,64,77,82,87,103,121,126,128,133,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],tt=[31,87],ot=[1,445],nt=[1,446],rt=[1,452],it=[1,453],st={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,FuncDirective:9,YieldReturn:10,AwaitReturn:11,Return:12,STATEMENT:13,Import:14,Export:15,Value:16,Code:17,Operation:18,Assign:19,If:20,Try:21,While:22,For:23,Switch:24,Class:25,Throw:26,Yield:27,YIELD:28,FROM:29,Block:30,INDENT:31,OUTDENT:32,Identifier:33,IDENTIFIER:34,CSX_TAG:35,Property:36,PROPERTY:37,AlphaNumeric:38,NUMBER:39,String:40,STRING:41,STRING_START:42,STRING_END:43,Regex:44,REGEX:45,REGEX_START:46,Invocation:47,REGEX_END:48,Literal:49,JS:50,UNDEFINED:51,NULL:52,BOOL:53,INFINITY:54,NAN:55,Assignable:56,"=":57,AssignObj:58,ObjAssignable:59,ObjRestValue:60,":":61,SimpleObjAssignable:62,ThisProperty:63,"...":64,ObjSpreadExpr:65,ObjSpreadIdentifier:66,Object:67,Parenthetical:68,Super:69,This:70,SUPER:71,Arguments:72,ObjSpreadAccessor:73,".":74,INDEX_START:75,IndexValue:76,INDEX_END:77,RETURN:78,AWAIT:79,PARAM_START:80,ParamList:81,PARAM_END:82,FuncGlyph:83,"->":84,"=>":85,OptComma:86,",":87,Param:88,ParamVar:89,Array:90,Splat:91,SimpleAssignable:92,Accessor:93,Range:94,"?.":95,"::":96,"?::":97,Index:98,INDEX_SOAK:99,Slice:100,"{":101,AssignList:102,"}":103,CLASS:104,EXTENDS:105,IMPORT:106,ImportDefaultSpecifier:107,ImportNamespaceSpecifier:108,ImportSpecifierList:109,ImportSpecifier:110,AS:111,DEFAULT:112,IMPORT_ALL:113,EXPORT:114,ExportSpecifierList:115,EXPORT_ALL:116,ExportSpecifier:117,OptFuncExist:118,FUNC_EXIST:119,CALL_START:120,CALL_END:121,ArgList:122,THIS:123,"@":124,"[":125,"]":126,RangeDots:127,"..":128,Arg:129,SimpleArgs:130,TRY:131,Catch:132,FINALLY:133,CATCH:134,THROW:135,"(":136,")":137,WhileSource:138,WHILE:139,WHEN:140,UNTIL:141,Loop:142,LOOP:143,ForBody:144,FOR:145,BY:146,ForStart:147,ForSource:148,ForVariables:149,OWN:150,ForValue:151,FORIN:152,FOROF:153,FORFROM:154,SWITCH:155,Whens:156,ELSE:157,When:158,LEADING_WHEN:159,IfBlock:160,IF:161,POST_IF:162,UNARY:163,UNARY_MATH:164,"-":165,"+":166,"--":167,"++":168,"?":169,MATH:170,"**":171,SHIFT:172,COMPARE:173,"&":174,"^":175,"|":176,"&&":177,"||":178,"BIN?":179,RELATION:180,COMPOUND_ASSIGN:181,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",13:"STATEMENT",28:"YIELD",29:"FROM",31:"INDENT",32:"OUTDENT",34:"IDENTIFIER",35:"CSX_TAG",37:"PROPERTY",39:"NUMBER",41:"STRING",42:"STRING_START",43:"STRING_END",45:"REGEX",46:"REGEX_START",48:"REGEX_END",50:"JS",51:"UNDEFINED",52:"NULL",53:"BOOL",54:"INFINITY",55:"NAN",57:"=",61:":",64:"...",71:"SUPER",74:".",75:"INDEX_START",77:"INDEX_END",78:"RETURN",79:"AWAIT",80:"PARAM_START",82:"PARAM_END",84:"->",85:"=>",87:",",95:"?.",96:"::",97:"?::",99:"INDEX_SOAK",101:"{",103:"}",104:"CLASS",105:"EXTENDS",106:"IMPORT",111:"AS",112:"DEFAULT",113:"IMPORT_ALL",114:"EXPORT",116:"EXPORT_ALL",119:"FUNC_EXIST",120:"CALL_START",121:"CALL_END",123:"THIS",124:"@",125:"[",126:"]",128:"..",131:"TRY",133:"FINALLY",134:"CATCH",135:"THROW",136:"(",137:")",139:"WHILE",140:"WHEN",141:"UNTIL",143:"LOOP",145:"FOR",146:"BY",150:"OWN",152:"FORIN",153:"FOROF",154:"FORFROM",155:"SWITCH",157:"ELSE",159:"LEADING_WHEN",161:"IF",162:"POST_IF",163:"UNARY",164:"UNARY_MATH",165:"-",166:"+",167:"--",168:"++",169:"?",170:"MATH",171:"**",172:"SHIFT",173:"COMPARE",174:"&",175:"^",176:"|",177:"&&",178:"||",179:"BIN?",180:"RELATION",181:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[5,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[27,1],[27,2],[27,3],[30,2],[30,3],[33,1],[33,1],[36,1],[38,1],[38,1],[40,1],[40,3],[44,1],[44,3],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[19,3],[19,4],[19,5],[58,1],[58,1],[58,3],[58,5],[58,3],[58,5],[62,1],[62,1],[62,1],[59,1],[59,1],[60,2],[60,2],[60,2],[60,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,2],[65,2],[65,2],[66,2],[66,2],[73,2],[73,3],[12,2],[12,4],[12,1],[10,3],[10,2],[11,3],[11,2],[17,5],[17,2],[83,1],[83,1],[86,0],[86,1],[81,0],[81,1],[81,3],[81,4],[81,6],[88,1],[88,2],[88,2],[88,3],[88,1],[89,1],[89,1],[89,1],[89,1],[91,2],[91,2],[92,1],[92,2],[92,2],[92,1],[56,1],[56,1],[56,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[69,3],[69,4],[93,2],[93,2],[93,2],[93,2],[93,1],[93,1],[98,3],[98,2],[76,1],[76,1],[67,4],[102,0],[102,1],[102,3],[102,4],[102,6],[25,1],[25,2],[25,3],[25,4],[25,2],[25,3],[25,4],[25,5],[14,2],[14,4],[14,4],[14,5],[14,7],[14,6],[14,9],[109,1],[109,3],[109,4],[109,4],[109,6],[110,1],[110,3],[110,1],[110,3],[107,1],[108,3],[15,3],[15,5],[15,2],[15,4],[15,5],[15,6],[15,3],[15,4],[15,7],[115,1],[115,3],[115,4],[115,4],[115,6],[117,1],[117,3],[117,3],[117,1],[117,3],[47,3],[47,3],[47,3],[118,0],[118,1],[72,2],[72,4],[70,1],[70,1],[63,2],[90,2],[90,4],[127,1],[127,1],[94,5],[100,3],[100,2],[100,2],[100,1],[122,1],[122,3],[122,4],[122,4],[122,6],[129,1],[129,1],[129,1],[130,1],[130,3],[21,2],[21,3],[21,4],[21,5],[132,3],[132,3],[132,2],[26,2],[26,4],[68,3],[68,5],[138,2],[138,4],[138,2],[138,4],[22,2],[22,2],[22,2],[22,1],[142,2],[142,2],[23,2],[23,2],[23,2],[144,2],[144,4],[144,2],[147,2],[147,3],[151,1],[151,1],[151,1],[151,1],[149,1],[149,3],[148,2],[148,2],[148,4],[148,4],[148,4],[148,6],[148,6],[148,2],[148,4],[24,5],[24,7],[24,4],[24,6],[156,1],[156,2],[158,3],[158,4],[160,3],[160,5],[20,1],[20,3],[20,3],[20,3],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,5],[18,4]],performAction:function(e,a,t,o,n,r,i){var s=r.length-1;switch(n){case 1:return this.$=o.addDataToNode(o,i[s],i[s])(new o.Block);break;case 2:return this.$=r[s];break;case 3:this.$=o.addDataToNode(o,i[s],i[s])(o.Block.wrap([r[s]]));break;case 4:this.$=o.addDataToNode(o,i[s-2],i[s])(r[s-2].push(r[s]));break;case 5:this.$=r[s-1];break;case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 36:case 41:case 43:case 53:case 58:case 59:case 60:case 61:case 62:case 67:case 68:case 69:case 70:case 71:case 90:case 91:case 102:case 103:case 104:case 105:case 111:case 112:case 115:case 120:case 129:case 209:case 210:case 212:case 243:case 244:case 262:case 268:this.$=r[s];break;case 12:this.$=o.addDataToNode(o,i[s],i[s])(new o.StatementLiteral(r[s]));break;case 27:this.$=o.addDataToNode(o,i[s],i[s])(new o.Op(r[s],new o.Value(new o.Literal(""))));break;case 28:case 272:case 273:case 276:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op(r[s-1],r[s]));break;case 29:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Op(r[s-2].concat(r[s-1]),r[s]));break;case 30:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Block);break;case 31:case 78:case 130:this.$=o.addDataToNode(o,i[s-2],i[s])(r[s-1]);break;case 32:this.$=o.addDataToNode(o,i[s],i[s])(new o.IdentifierLiteral(r[s]));break;case 33:this.$=o.addDataToNode(o,i[s],i[s])(new o.CSXTag(r[s]));break;case 34:this.$=o.addDataToNode(o,i[s],i[s])(new o.PropertyName(r[s]));break;case 35:this.$=o.addDataToNode(o,i[s],i[s])(new o.NumberLiteral(r[s]));break;case 37:this.$=o.addDataToNode(o,i[s],i[s])(new o.StringLiteral(r[s]));break;case 38:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.StringWithInterpolations(r[s-1]));break;case 39:this.$=o.addDataToNode(o,i[s],i[s])(new o.RegexLiteral(r[s]));break;case 40:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.RegexWithInterpolations(r[s-1].args));break;case 42:this.$=o.addDataToNode(o,i[s],i[s])(new o.PassthroughLiteral(r[s]));break;case 44:this.$=o.addDataToNode(o,i[s],i[s])(new o.UndefinedLiteral(r[s]));break;case 45:this.$=o.addDataToNode(o,i[s],i[s])(new o.NullLiteral(r[s]));break;case 46:this.$=o.addDataToNode(o,i[s],i[s])(new o.BooleanLiteral(r[s]));break;case 47:this.$=o.addDataToNode(o,i[s],i[s])(new o.InfinityLiteral(r[s]));break;case 48:this.$=o.addDataToNode(o,i[s],i[s])(new o.NaNLiteral(r[s]));break;case 49:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Assign(r[s-2],r[s]));break;case 50:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Assign(r[s-3],r[s]));break;case 51:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Assign(r[s-4],r[s-1]));break;case 52:case 108:case 113:case 114:case 116:case 117:case 118:case 119:case 121:case 245:case 246:this.$=o.addDataToNode(o,i[s],i[s])(new o.Value(r[s]));break;case 54:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Assign(o.addDataToNode(o,i[s-2])(new o.Value(r[s-2])),r[s],"object",{operatorToken:o.addDataToNode(o,i[s-1])(new o.Literal(r[s-1]))}));break;case 55:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Assign(o.addDataToNode(o,i[s-4])(new o.Value(r[s-4])),r[s-1],"object",{operatorToken:o.addDataToNode(o,i[s-3])(new o.Literal(r[s-3]))}));break;case 56:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Assign(o.addDataToNode(o,i[s-2])(new o.Value(r[s-2])),r[s],null,{operatorToken:o.addDataToNode(o,i[s-1])(new o.Literal(r[s-1]))}));break;case 57:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Assign(o.addDataToNode(o,i[s-4])(new o.Value(r[s-4])),r[s-1],null,{operatorToken:o.addDataToNode(o,i[s-3])(new o.Literal(r[s-3]))}));break;case 63:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Splat(new o.Value(r[s-1])));break;case 64:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Splat(new o.Value(r[s])));break;case 65:case 106:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Splat(r[s-1]));break;case 66:case 107:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Splat(r[s]));break;case 72:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.SuperCall(o.addDataToNode(o,i[s-1])(new o.Super),r[s],!1,r[s-1]));break;case 73:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Call(new o.Value(r[s-1]),r[s]));break;case 74:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Call(r[s-1],r[s]));break;case 75:case 76:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Value(r[s-1]).add(r[s]));break;case 77:case 124:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Access(r[s]));break;case 79:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Return(r[s]));break;case 80:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Return(new o.Value(r[s-1])));break;case 81:this.$=o.addDataToNode(o,i[s],i[s])(new o.Return);break;case 82:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.YieldReturn(r[s]));break;case 83:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.YieldReturn);break;case 84:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.AwaitReturn(r[s]));break;case 85:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.AwaitReturn);break;case 86:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Code(r[s-3],r[s],r[s-1]));break;case 87:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Code([],r[s],r[s-1]));break;case 88:case 89:this.$=o.addDataToNode(o,i[s],i[s])(new o.FuncGlyph(r[s]));break;case 92:case 135:this.$=o.addDataToNode(o,i[s],i[s])([]);break;case 93:case 136:case 155:case 175:case 204:case 247:this.$=o.addDataToNode(o,i[s],i[s])([r[s]]);break;case 94:case 137:case 156:case 176:case 205:this.$=o.addDataToNode(o,i[s-2],i[s])(r[s-2].concat(r[s]));break;case 95:case 138:case 157:case 177:case 206:this.$=o.addDataToNode(o,i[s-3],i[s])(r[s-3].concat(r[s]));break;case 96:case 139:case 159:case 179:case 208:this.$=o.addDataToNode(o,i[s-5],i[s])(r[s-5].concat(r[s-2]));break;case 97:this.$=o.addDataToNode(o,i[s],i[s])(new o.Param(r[s]));break;case 98:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Param(r[s-1],null,!0));break;case 99:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Param(r[s],null,!0));break;case 100:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Param(r[s-2],r[s]));break;case 101:case 211:this.$=o.addDataToNode(o,i[s],i[s])(new o.Expansion);break;case 109:this.$=o.addDataToNode(o,i[s-1],i[s])(r[s-1].add(r[s]));break;case 110:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Value(r[s-1]).add(r[s]));break;case 122:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Super(o.addDataToNode(o,i[s])(new o.Access(r[s])),[],!1,r[s-2]));break;case 123:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Super(o.addDataToNode(o,i[s-1])(new o.Index(r[s-1])),[],!1,r[s-3]));break;case 125:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Access(r[s],"soak"));break;case 126:this.$=o.addDataToNode(o,i[s-1],i[s])([o.addDataToNode(o,i[s-1])(new o.Access(new o.PropertyName("prototype"))),o.addDataToNode(o,i[s])(new o.Access(r[s]))]);break;case 127:this.$=o.addDataToNode(o,i[s-1],i[s])([o.addDataToNode(o,i[s-1])(new o.Access(new o.PropertyName("prototype"),"soak")),o.addDataToNode(o,i[s])(new o.Access(r[s]))]);break;case 128:this.$=o.addDataToNode(o,i[s],i[s])(new o.Access(new o.PropertyName("prototype")));break;case 131:this.$=o.addDataToNode(o,i[s-1],i[s])(o.extend(r[s],{soak:!0}));break;case 132:this.$=o.addDataToNode(o,i[s],i[s])(new o.Index(r[s]));break;case 133:this.$=o.addDataToNode(o,i[s],i[s])(new o.Slice(r[s]));break;case 134:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Obj(r[s-2],r[s-3].generated));break;case 140:this.$=o.addDataToNode(o,i[s],i[s])(new o.Class);break;case 141:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Class(null,null,r[s]));break;case 142:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Class(null,r[s]));break;case 143:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Class(null,r[s-1],r[s]));break;case 144:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Class(r[s]));break;case 145:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Class(r[s-1],null,r[s]));break;case 146:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Class(r[s-2],r[s]));break;case 147:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Class(r[s-3],r[s-1],r[s]));break;case 148:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.ImportDeclaration(null,r[s]));break;case 149:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.ImportDeclaration(new o.ImportClause(r[s-2],null),r[s]));break;case 150:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.ImportDeclaration(new o.ImportClause(null,r[s-2]),r[s]));break;case 151:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.ImportDeclaration(new o.ImportClause(null,new o.ImportSpecifierList([])),r[s]));break;case 152:this.$=o.addDataToNode(o,i[s-6],i[s])(new o.ImportDeclaration(new o.ImportClause(null,new o.ImportSpecifierList(r[s-4])),r[s]));break;case 153:this.$=o.addDataToNode(o,i[s-5],i[s])(new o.ImportDeclaration(new o.ImportClause(r[s-4],r[s-2]),r[s]));break;case 154:this.$=o.addDataToNode(o,i[s-8],i[s])(new o.ImportDeclaration(new o.ImportClause(r[s-7],new o.ImportSpecifierList(r[s-4])),r[s]));break;case 158:case 178:case 191:case 207:this.$=o.addDataToNode(o,i[s-3],i[s])(r[s-2]);break;case 160:this.$=o.addDataToNode(o,i[s],i[s])(new o.ImportSpecifier(r[s]));break;case 161:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ImportSpecifier(r[s-2],r[s]));break;case 162:this.$=o.addDataToNode(o,i[s],i[s])(new o.ImportSpecifier(new o.Literal(r[s])));break;case 163:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ImportSpecifier(new o.Literal(r[s-2]),r[s]));break;case 164:this.$=o.addDataToNode(o,i[s],i[s])(new o.ImportDefaultSpecifier(r[s]));break;case 165:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ImportNamespaceSpecifier(new o.Literal(r[s-2]),r[s]));break;case 166:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ExportNamedDeclaration(new o.ExportSpecifierList([])));break;case 167:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.ExportNamedDeclaration(new o.ExportSpecifierList(r[s-2])));break;case 168:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.ExportNamedDeclaration(r[s]));break;case 169:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.ExportNamedDeclaration(new o.Assign(r[s-2],r[s],null,{moduleDeclaration:"export"})));break;case 170:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.ExportNamedDeclaration(new o.Assign(r[s-3],r[s],null,{moduleDeclaration:"export"})));break;case 171:this.$=o.addDataToNode(o,i[s-5],i[s])(new o.ExportNamedDeclaration(new o.Assign(r[s-4],r[s-1],null,{moduleDeclaration:"export"})));break;case 172:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ExportDefaultDeclaration(r[s]));break;case 173:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.ExportAllDeclaration(new o.Literal(r[s-2]),r[s]));break;case 174:this.$=o.addDataToNode(o,i[s-6],i[s])(new o.ExportNamedDeclaration(new o.ExportSpecifierList(r[s-4]),r[s]));break;case 180:this.$=o.addDataToNode(o,i[s],i[s])(new o.ExportSpecifier(r[s]));break;case 181:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ExportSpecifier(r[s-2],r[s]));break;case 182:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ExportSpecifier(r[s-2],new o.Literal(r[s])));break;case 183:this.$=o.addDataToNode(o,i[s],i[s])(new o.ExportSpecifier(new o.Literal(r[s])));break;case 184:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ExportSpecifier(new o.Literal(r[s-2]),r[s]));break;case 185:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.TaggedTemplateCall(r[s-2],r[s],r[s-1]));break;case 186:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Call(r[s-2],r[s],r[s-1]));break;case 187:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.SuperCall(o.addDataToNode(o,i[s-2])(new o.Super),r[s],r[s-1],r[s-2]));break;case 188:this.$=o.addDataToNode(o,i[s],i[s])(!1);break;case 189:this.$=o.addDataToNode(o,i[s],i[s])(!0);break;case 190:this.$=o.addDataToNode(o,i[s-1],i[s])([]);break;case 192:case 193:this.$=o.addDataToNode(o,i[s],i[s])(new o.Value(new o.ThisLiteral(r[s])));break;case 194:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Value(o.addDataToNode(o,i[s-1])(new o.ThisLiteral(r[s-1])),[o.addDataToNode(o,i[s])(new o.Access(r[s]))],"this"));break;case 195:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Arr([]));break;case 196:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Arr(r[s-2]));break;case 197:this.$=o.addDataToNode(o,i[s],i[s])("inclusive");break;case 198:this.$=o.addDataToNode(o,i[s],i[s])("exclusive");break;case 199:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Range(r[s-3],r[s-1],r[s-2]));break;case 200:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Range(r[s-2],r[s],r[s-1]));break;case 201:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Range(r[s-1],null,r[s]));break;case 202:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Range(null,r[s],r[s-1]));break;case 203:this.$=o.addDataToNode(o,i[s],i[s])(new o.Range(null,null,r[s]));break;case 213:this.$=o.addDataToNode(o,i[s-2],i[s])([].concat(r[s-2],r[s]));break;case 214:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Try(r[s]));break;case 215:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Try(r[s-1],r[s][0],r[s][1]));break;case 216:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Try(r[s-2],null,null,r[s]));break;case 217:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Try(r[s-3],r[s-2][0],r[s-2][1],r[s]));break;case 218:this.$=o.addDataToNode(o,i[s-2],i[s])([r[s-1],r[s]]);break;case 219:this.$=o.addDataToNode(o,i[s-2],i[s])([o.addDataToNode(o,i[s-1])(new o.Value(r[s-1])),r[s]]);break;case 220:this.$=o.addDataToNode(o,i[s-1],i[s])([null,r[s]]);break;case 221:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Throw(r[s]));break;case 222:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Throw(new o.Value(r[s-1])));break;case 223:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Parens(r[s-1]));break;case 224:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Parens(r[s-2]));break;case 225:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.While(r[s]));break;case 226:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.While(r[s-2],{guard:r[s]}));break;case 227:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.While(r[s],{invert:!0}));break;case 228:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.While(r[s-2],{invert:!0,guard:r[s]}));break;case 229:this.$=o.addDataToNode(o,i[s-1],i[s])(r[s-1].addBody(r[s]));break;case 230:case 231:this.$=o.addDataToNode(o,i[s-1],i[s])(r[s].addBody(o.addDataToNode(o,i[s-1])(o.Block.wrap([r[s-1]]))));break;case 232:this.$=o.addDataToNode(o,i[s],i[s])(r[s]);break;case 233:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.While(o.addDataToNode(o,i[s-1])(new o.BooleanLiteral("true"))).addBody(r[s]));break;case 234:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.While(o.addDataToNode(o,i[s-1])(new o.BooleanLiteral("true"))).addBody(o.addDataToNode(o,i[s])(o.Block.wrap([r[s]]))));break;case 235:case 236:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.For(r[s-1],r[s]));break;case 237:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.For(r[s],r[s-1]));break;case 238:this.$=o.addDataToNode(o,i[s-1],i[s])({source:o.addDataToNode(o,i[s])(new o.Value(r[s]))});break;case 239:this.$=o.addDataToNode(o,i[s-3],i[s])({source:o.addDataToNode(o,i[s-2])(new o.Value(r[s-2])),step:r[s]});break;case 240:this.$=o.addDataToNode(o,i[s-1],i[s])(function(){return r[s].own=r[s-1].own,r[s].ownTag=r[s-1].ownTag,r[s].name=r[s-1][0],r[s].index=r[s-1][1],r[s]}());break;case 241:this.$=o.addDataToNode(o,i[s-1],i[s])(r[s]);break;case 242:this.$=o.addDataToNode(o,i[s-2],i[s])(function(){return r[s].own=!0,r[s].ownTag=o.addDataToNode(o,i[s-1])(new o.Literal(r[s-1])),r[s]}());break;case 248:this.$=o.addDataToNode(o,i[s-2],i[s])([r[s-2],r[s]]);break;case 249:this.$=o.addDataToNode(o,i[s-1],i[s])({source:r[s]});break;case 250:this.$=o.addDataToNode(o,i[s-1],i[s])({source:r[s],object:!0});break;case 251:this.$=o.addDataToNode(o,i[s-3],i[s])({source:r[s-2],guard:r[s]});break;case 252:this.$=o.addDataToNode(o,i[s-3],i[s])({source:r[s-2],guard:r[s],object:!0});break;case 253:this.$=o.addDataToNode(o,i[s-3],i[s])({source:r[s-2],step:r[s]});break;case 254:this.$=o.addDataToNode(o,i[s-5],i[s])({source:r[s-4],guard:r[s-2],step:r[s]});break;case 255:this.$=o.addDataToNode(o,i[s-5],i[s])({source:r[s-4],step:r[s-2],guard:r[s]});break;case 256:this.$=o.addDataToNode(o,i[s-1],i[s])({source:r[s],from:!0});break;case 257:this.$=o.addDataToNode(o,i[s-3],i[s])({source:r[s-2],guard:r[s],from:!0});break;case 258:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Switch(r[s-3],r[s-1]));break;case 259:this.$=o.addDataToNode(o,i[s-6],i[s])(new o.Switch(r[s-5],r[s-3],r[s-1]));break;case 260:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Switch(null,r[s-1]));break;case 261:this.$=o.addDataToNode(o,i[s-5],i[s])(new o.Switch(null,r[s-3],r[s-1]));break;case 263:this.$=o.addDataToNode(o,i[s-1],i[s])(r[s-1].concat(r[s]));break;case 264:this.$=o.addDataToNode(o,i[s-2],i[s])([[r[s-1],r[s]]]);break;case 265:this.$=o.addDataToNode(o,i[s-3],i[s])([[r[s-2],r[s-1]]]);break;case 266:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.If(r[s-1],r[s],{type:r[s-2]}));break;case 267:this.$=o.addDataToNode(o,i[s-4],i[s])(r[s-4].addElse(o.addDataToNode(o,i[s-2],i[s])(new o.If(r[s-1],r[s],{type:r[s-2]}))));break;case 269:this.$=o.addDataToNode(o,i[s-2],i[s])(r[s-2].addElse(r[s]));break;case 270:case 271:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.If(r[s],o.addDataToNode(o,i[s-2])(o.Block.wrap([r[s-2]])),{type:r[s-1],statement:!0}));break;case 274:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("-",r[s]));break;case 275:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("+",r[s]));break;case 277:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("--",r[s]));break;case 278:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("++",r[s]));break;case 279:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("--",r[s-1],null,!0));break;case 280:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("++",r[s-1],null,!0));break;case 281:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Existence(r[s-1]));break;case 282:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Op("+",r[s-2],r[s]));break;case 283:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Op("-",r[s-2],r[s]));break;case 284:case 285:case 286:case 287:case 288:case 289:case 290:case 291:case 292:case 293:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Op(r[s-1],r[s-2],r[s]));break;case 294:this.$=o.addDataToNode(o,i[s-2],i[s])(function(){return"!"===r[s-1].charAt(0)?new o.Op(r[s-1].slice(1),r[s-2],r[s]).invert():new o.Op(r[s-1],r[s-2],r[s])}());break;case 295:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Assign(r[s-2],r[s],r[s-1]));break;case 296:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Assign(r[s-4],r[s-1],r[s-3]));break;case 297:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Assign(r[s-3],r[s],r[s-2]));}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:6,10:23,11:24,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:o,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:T,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{1:[3]},{1:[2,2],6:W},a(H,[2,3]),a(H,[2,6],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(H,[2,7],{147:78,138:107,144:108,139:O,141:L,145:F,162:le}),a(H,[2,8]),a(de,[2,15],{118:109,93:110,98:116,41:ce,42:ce,120:ce,74:pe,75:ue,95:me,96:he,97:ge,99:fe,119:ye}),a(de,[2,16],{98:116,93:119,74:pe,75:ue,95:me,96:he,97:ge,99:fe}),a(de,[2,17]),a(de,[2,18]),a(de,[2,19]),a(de,[2,20]),a(de,[2,21]),a(de,[2,22]),a(de,[2,23]),a(de,[2,24]),a(de,[2,25]),a(de,[2,26]),a(ke,[2,11]),a(ke,[2,12]),a(ke,[2,13]),a(ke,[2,14]),a(H,[2,9]),a(H,[2,10]),a(Te,ve,{57:[1,120]}),a(Te,[2,116]),a(Te,[2,117]),a(Te,[2,118]),a(Te,Ne),a(Te,[2,120]),a(Te,[2,121]),a([6,31,82,87],be,{81:121,88:122,89:123,33:125,63:126,90:127,67:128,34:n,35:r,64:_e,101:_,124:$e,125:Ce}),{30:131,31:De},{7:133,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:137,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:138,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:139,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:140,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:[1,141],79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{16:143,17:144,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:145,63:72,67:55,68:27,69:31,70:30,71:y,80:v,83:33,84:N,85:b,90:54,92:142,94:28,101:_,123:E,124:x,125:I,136:R},{16:143,17:144,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:145,63:72,67:55,68:27,69:31,70:30,71:y,80:v,83:33,84:N,85:b,90:54,92:146,94:28,101:_,123:E,124:x,125:I,136:R},a(Ie,Se,{167:[1,147],168:[1,148],181:[1,149]}),a(de,[2,268],{157:[1,150]}),{30:151,31:De},{30:152,31:De},a(de,[2,232]),{30:153,31:De},{7:154,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,155],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Ae,[2,140],{49:26,68:27,94:28,47:29,70:30,69:31,83:33,90:54,67:55,38:56,44:58,33:71,63:72,40:81,16:143,17:144,56:145,30:156,92:158,31:De,34:n,35:r,39:i,41:s,42:l,45:d,46:c,50:p,51:u,52:m,53:h,54:g,55:f,71:y,80:v,84:N,85:b,101:_,105:[1,157],123:E,124:x,125:I,136:R}),{7:159,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,160],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a([1,6,32,43,137,139,141,145,162,169,170,171,172,173,174,175,176,177,178,179,180],Re,{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:161,13:t,28:Ee,29:Oe,34:n,35:r,39:i,41:s,42:l,45:d,46:c,50:p,51:u,52:m,53:h,54:g,55:f,71:y,78:[1,163],79:xe,80:v,84:N,85:b,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,143:w,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(ke,Le,{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:164,13:t,28:Ee,31:we,34:n,35:r,39:i,41:s,42:l,45:d,46:c,50:p,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:xe,80:v,84:N,85:b,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,143:w,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),{33:170,34:n,35:r,40:166,41:s,42:l,101:[1,169],107:167,108:168,113:Fe},{25:173,33:174,34:n,35:r,101:[1,172],104:$,112:[1,175],116:[1,176]},a(Ie,[2,113]),a(Ie,[2,114]),a(Te,[2,41]),a(Te,[2,42]),a(Te,[2,43]),a(Te,[2,44]),a(Te,[2,45]),a(Te,[2,46]),a(Te,[2,47]),a(Te,[2,48]),{4:177,5:3,7:4,8:5,9:6,10:23,11:24,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:o,31:[1,178],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:T,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:179,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:Pe,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,122:181,123:E,124:x,125:I,126:Me,129:182,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{74:Ue,75:Ve,118:186,119:ye,120:ce},a(Te,[2,192]),a(Te,[2,193],{36:189,37:Be}),{31:[2,88]},{31:[2,89]},a(Ge,[2,108]),a(Ge,[2,111]),{7:191,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:192,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:193,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:195,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,30:194,31:De,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{33:200,34:n,35:r,63:201,67:203,90:202,94:196,101:_,124:$e,125:I,149:197,150:[1,198],151:199},{148:204,152:[1,205],153:[1,206],154:[1,207]},a([6,31,87,103],Xe,{40:81,102:208,58:209,59:210,60:211,62:212,38:213,65:215,33:216,36:217,63:218,66:219,67:220,68:221,69:222,70:223,34:n,35:r,37:Be,39:i,41:s,42:l,64:We,71:He,101:_,123:E,124:x,136:R}),a(Ye,[2,35]),a(Ye,[2,36]),a(Te,[2,39]),{16:143,17:144,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:225,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:145,63:72,67:55,68:27,69:31,70:30,71:y,80:v,83:33,84:N,85:b,90:54,92:226,94:28,101:_,123:E,124:x,125:I,136:R},a(qe,[2,32]),a(qe,[2,33]),a(ze,[2,37]),{4:227,5:3,7:4,8:5,9:6,10:23,11:24,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:o,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:T,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(H,[2,5],{7:4,8:5,9:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,10:23,11:24,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,5:228,13:t,28:o,34:n,35:r,39:i,41:s,42:l,45:d,46:c,50:p,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:T,80:v,84:N,85:b,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,139:O,141:L,143:w,145:F,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(de,[2,281]),{7:229,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:230,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:231,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:232,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:233,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:234,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:235,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:236,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:237,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:238,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:239,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:240,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:241,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:242,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(de,[2,231]),a(de,[2,236]),{7:243,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(de,[2,230]),a(de,[2,235]),{40:244,41:s,42:l,72:245,120:Je},a(Ge,[2,109]),a(Ke,[2,189]),{36:247,37:Be},{36:248,37:Be},a(Ge,[2,128],{36:249,37:Be}),{36:250,37:Be},a(Ge,[2,129]),{7:252,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:Ze,67:55,68:27,69:31,70:30,71:y,76:251,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,100:253,101:_,104:$,106:C,114:D,123:E,124:x,125:I,127:254,128:Qe,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{75:ue,98:257,99:fe},a(Ge,[2,110]),{6:[1,259],7:258,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,260],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a([6,31],ea,{86:263,82:[1,261],87:aa}),a(ta,[2,93]),a(ta,[2,97],{57:[1,265],64:[1,264]}),a(ta,[2,101],{33:125,63:126,90:127,67:128,89:266,34:n,35:r,101:_,124:$e,125:Ce}),a(oa,[2,102]),a(oa,[2,103]),a(oa,[2,104]),a(oa,[2,105]),{36:189,37:Be},{7:267,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:Pe,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,122:181,123:E,124:x,125:I,126:Me,129:182,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(na,[2,87]),{4:269,5:3,7:4,8:5,9:6,10:23,11:24,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:o,32:[1,268],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:T,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(ra,[2,272],{147:78,138:104,144:105,169:J}),{7:140,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{138:107,139:O,141:L,144:108,145:F,147:78,162:le},a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,169,170,171,172,173,174,175,176,177,178,179,180],Re,{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:161,13:t,28:Ee,29:Oe,34:n,35:r,39:i,41:s,42:l,45:d,46:c,50:p,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:xe,80:v,84:N,85:b,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,143:w,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(ia,[2,273],{147:78,138:104,144:105,169:J,171:Z}),a(ia,[2,274],{147:78,138:104,144:105,169:J,171:Z}),a(ia,[2,275],{147:78,138:104,144:105,169:J,171:Z}),a(ra,[2,276],{147:78,138:104,144:105,169:J}),a(H,[2,85],{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:270,13:t,28:Ee,31:we,34:n,35:r,39:i,41:s,42:l,45:d,46:c,50:p,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:xe,80:v,84:N,85:b,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,139:Le,141:Le,145:Le,162:Le,143:w,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(de,[2,277],{41:Se,42:Se,74:Se,75:Se,95:Se,96:Se,97:Se,99:Se,119:Se,120:Se}),a(Ke,ce,{118:109,93:110,98:116,74:pe,75:ue,95:me,96:he,97:ge,99:fe,119:ye}),{74:pe,75:ue,93:119,95:me,96:he,97:ge,98:116,99:fe},a(sa,ve),a(de,[2,278],{41:Se,42:Se,74:Se,75:Se,95:Se,96:Se,97:Se,99:Se,119:Se,120:Se}),a(de,[2,279]),a(de,[2,280]),{6:[1,273],7:271,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,272],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{30:274,31:De,161:[1,275]},a(de,[2,214],{132:276,133:[1,277],134:[1,278]}),a(de,[2,229]),a(de,[2,237]),{31:[1,279],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},{156:280,158:281,159:la},a(de,[2,141]),{7:283,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Ae,[2,144],{30:284,31:De,41:Se,42:Se,74:Se,75:Se,95:Se,96:Se,97:Se,99:Se,119:Se,120:Se,105:[1,285]}),a(da,[2,221],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{67:286,101:_},a(da,[2,28],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:287,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(H,[2,83],{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:288,13:t,28:Ee,31:we,34:n,35:r,39:i,41:s,42:l,45:d,46:c,50:p,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:xe,80:v,84:N,85:b,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,139:Le,141:Le,145:Le,162:Le,143:w,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(ke,ca,{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{67:289,101:_},a(ke,[2,148]),{29:[1,290],87:[1,291]},{29:[1,292]},{31:pa,33:297,34:n,35:r,103:[1,293],109:294,110:295,112:ua},a([29,87],[2,164]),{111:[1,299]},{31:ma,33:304,34:n,35:r,103:[1,300],112:ha,115:301,117:302},a(ke,[2,168]),{57:[1,306]},{7:307,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{29:[1,308]},{6:W,137:[1,309]},{4:310,5:3,7:4,8:5,9:6,10:23,11:24,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:o,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:T,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a([6,31,87,126],ga,{147:78,138:104,144:105,127:311,64:[1,312],128:Qe,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(fa,[2,195]),a([6,31,126],ea,{86:313,87:ya}),a(ka,[2,204]),{7:267,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:Pe,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,122:315,123:E,124:x,125:I,129:182,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(ka,[2,210]),a(ka,[2,211],{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:316,13:t,28:Ee,34:n,35:r,39:i,41:s,42:l,45:d,46:c,50:p,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:xe,80:v,84:N,85:b,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,139:O,141:L,143:w,145:F,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),{72:317,120:Je},{36:318,37:Be},{7:319,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Ta,[2,194]),a(Ta,[2,34]),{30:320,31:De,138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(va,[2,225],{147:78,138:104,144:105,139:O,140:[1,321],141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(va,[2,227],{147:78,138:104,144:105,139:O,140:[1,322],141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(de,[2,233]),a(Na,[2,234],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],[2,238],{146:[1,323]}),a(ba,[2,241]),{33:200,34:n,35:r,63:201,67:203,90:202,101:_,124:$e,125:Ce,149:324,151:199},a(ba,[2,247],{87:[1,325]}),a(_a,[2,243]),a(_a,[2,244]),a(_a,[2,245]),a(_a,[2,246]),a(de,[2,240]),{7:326,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:327,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:328,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a($a,ea,{86:329,87:Ca}),a(Da,[2,136]),a(Da,[2,52],{61:[1,331]}),a(Da,[2,53]),a(Ea,[2,61],{72:334,73:335,57:[1,332],64:[1,333],74:xa,75:Ia,120:Je}),a(Ea,[2,62]),{33:216,34:n,35:r,36:217,37:Be,62:338,63:218,65:339,66:219,67:220,68:221,69:222,70:223,71:He,101:_,123:E,124:x,136:R},{64:[1,340],72:341,73:342,74:xa,75:Ia,120:Je},a(Sa,[2,58]),a(Sa,[2,59]),a(Sa,[2,60]),a(Aa,[2,67]),a(Aa,[2,68]),a(Aa,[2,69]),a(Aa,[2,70]),a(Aa,[2,71]),{72:343,74:Ue,75:Ve,120:Je},a(sa,Ne,{48:[1,344]}),a(sa,Se),{6:W,43:[1,345]},a(H,[2,4]),a(Ra,[2,282],{147:78,138:104,144:105,169:J,170:K,171:Z}),a(Ra,[2,283],{147:78,138:104,144:105,169:J,170:K,171:Z}),a(ia,[2,284],{147:78,138:104,144:105,169:J,171:Z}),a(ia,[2,285],{147:78,138:104,144:105,169:J,171:Z}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,172,173,174,175,176,177,178,179,180],[2,286],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,173,174,175,176,177,178,179],[2,287],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,174,175,176,177,178,179],[2,288],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,175,176,177,178,179],[2,289],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,176,177,178,179],[2,290],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,177,178,179],[2,291],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,178,179],[2,292],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,179],[2,293],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,173,174,175,176,177,178,179,180],[2,294],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q}),a(Na,[2,271],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Na,[2,270],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Oa,[2,185]),a(Oa,[2,186]),{7:267,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:Pe,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,121:[1,346],122:347,123:E,124:x,125:I,129:182,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Ge,[2,124]),a(Ge,[2,125]),a(Ge,[2,126]),a(Ge,[2,127]),{77:[1,348]},{64:Ze,77:[2,132],127:349,128:Qe,138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},{77:[2,133]},{7:350,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,77:[2,203],78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(La,[2,197]),a(La,wa),a(Ge,[2,131]),a(da,[2,49],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:351,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:352,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{83:353,84:N,85:b},a(Fa,Pa,{89:123,33:125,63:126,90:127,67:128,88:354,34:n,35:r,64:_e,101:_,124:$e,125:Ce}),{6:ja,31:Ma},a(ta,[2,98]),{7:357,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(ta,[2,99]),a(ka,ga,{147:78,138:104,144:105,64:[1,358],139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Ua,[2,30]),{6:W,32:[1,359]},a(H,[2,84],{147:78,138:104,144:105,139:ca,141:ca,145:ca,162:ca,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(da,[2,295],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:360,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:361,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(de,[2,269]),{7:362,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(de,[2,215],{133:[1,363]}),{30:364,31:De},{30:367,31:De,33:365,34:n,35:r,67:366,101:_},{156:368,158:281,159:la},{32:[1,369],157:[1,370],158:371,159:la},a(Va,[2,262]),{7:373,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,130:372,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Ba,[2,142],{147:78,138:104,144:105,30:374,31:De,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(de,[2,145]),{7:375,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{32:[1,376]},a(da,[2,29],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(H,[2,82],{147:78,138:104,144:105,139:ca,141:ca,145:ca,162:ca,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{32:[1,377]},{40:378,41:s,42:l},{101:[1,380],108:379,113:Fe},{40:381,41:s,42:l},{29:[1,382]},a($a,ea,{86:383,87:Ga}),a(Da,[2,155]),{31:pa,33:297,34:n,35:r,109:385,110:295,112:ua},a(Da,[2,160],{111:[1,386]}),a(Da,[2,162],{111:[1,387]}),{33:388,34:n,35:r},a(ke,[2,166]),a($a,ea,{86:389,87:Xa}),a(Da,[2,175]),{31:ma,33:304,34:n,35:r,112:ha,115:391,117:302},a(Da,[2,180],{111:[1,392]}),a(Da,[2,183],{111:[1,393]}),{6:[1,395],7:394,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,396],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Wa,[2,172],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{40:397,41:s,42:l},a(Te,[2,223]),{6:W,32:[1,398]},{7:399,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a([13,28,34,35,39,41,42,45,46,50,51,52,53,54,55,71,78,79,80,84,85,101,104,106,114,123,124,125,131,135,136,139,141,143,145,155,161,163,164,165,166,167,168],wa,{6:Ha,31:Ha,87:Ha,126:Ha}),{6:Ya,31:qa,126:[1,400]},a([6,31,32,121,126],Pa,{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,91:184,7:267,129:403,13:t,28:Ee,34:n,35:r,39:i,41:s,42:l,45:d,46:c,50:p,51:u,52:m,53:h,54:g,55:f,64:je,71:y,78:k,79:xe,80:v,84:N,85:b,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,139:O,141:L,143:w,145:F,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(Fa,ea,{86:404,87:ya}),a(ka,[2,107],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Oa,[2,187]),a(Te,[2,122]),{77:[1,405],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(za,[2,266]),{7:406,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:407,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:408,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(ba,[2,242]),{33:200,34:n,35:r,63:201,67:203,90:202,101:_,124:$e,125:Ce,151:409},a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,141,145,162],[2,249],{147:78,138:104,144:105,140:[1,410],146:[1,411],165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Ja,[2,250],{147:78,138:104,144:105,140:[1,412],165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Ja,[2,256],{147:78,138:104,144:105,140:[1,413],165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{6:Ka,31:Za,103:[1,414]},a(Qa,Pa,{40:81,59:210,60:211,62:212,38:213,65:215,33:216,36:217,63:218,66:219,67:220,68:221,69:222,70:223,58:417,34:n,35:r,37:Be,39:i,41:s,42:l,64:We,71:He,101:_,123:E,124:x,136:R}),{7:418,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,419],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:420,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,421],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Da,[2,63]),a(Aa,[2,73]),a(Aa,[2,75]),{36:422,37:Be},{7:252,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:Ze,67:55,68:27,69:31,70:30,71:y,76:423,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,100:253,101:_,104:$,106:C,114:D,123:E,124:x,125:I,127:254,128:Qe,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Da,[2,64],{72:334,73:335,74:xa,75:Ia,120:Je}),a(Da,[2,66],{72:341,73:342,74:xa,75:Ia,120:Je}),a(Da,[2,65]),a(Aa,[2,74]),a(Aa,[2,76]),a(Aa,[2,72]),a(Te,[2,40]),a(ze,[2,38]),a(Oa,[2,190]),a([6,31,121],ea,{86:424,87:ya}),a(Ge,[2,130]),{7:425,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,77:[2,201],78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{77:[2,202],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(da,[2,50],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{32:[1,426],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},{30:427,31:De},a(ta,[2,94]),{33:125,34:n,35:r,63:126,64:_e,67:128,88:428,89:123,90:127,101:_,124:$e,125:Ce},a(et,be,{88:122,89:123,33:125,63:126,90:127,67:128,81:429,34:n,35:r,64:_e,101:_,124:$e,125:Ce}),a(ta,[2,100],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(ka,Ha),a(Ua,[2,31]),{32:[1,430],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(da,[2,297],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{30:431,31:De,138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},{30:432,31:De},a(de,[2,216]),{30:433,31:De},{30:434,31:De},a(at,[2,220]),{32:[1,435],157:[1,436],158:371,159:la},a(de,[2,260]),{30:437,31:De},a(Va,[2,263]),{30:438,31:De,87:[1,439]},a(tt,[2,212],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(de,[2,143]),a(Ba,[2,146],{147:78,138:104,144:105,30:440,31:De,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(de,[2,222]),a(ke,[2,80]),a(ke,[2,149]),{29:[1,441]},{31:pa,33:297,34:n,35:r,109:442,110:295,112:ua},a(ke,[2,150]),{40:443,41:s,42:l},{6:ot,31:nt,103:[1,444]},a(Qa,Pa,{33:297,110:447,34:n,35:r,112:ua}),a(Fa,ea,{86:448,87:Ga}),{33:449,34:n,35:r},{33:450,34:n,35:r},{29:[2,165]},{6:rt,31:it,103:[1,451]},a(Qa,Pa,{33:304,117:454,34:n,35:r,112:ha}),a(Fa,ea,{86:455,87:Xa}),{33:456,34:n,35:r,112:[1,457]},{33:458,34:n,35:r},a(Wa,[2,169],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:459,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:460,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(ke,[2,173]),{137:[1,461]},{126:[1,462],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(fa,[2,196]),{7:267,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,129:463,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:267,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:Pe,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,122:464,123:E,124:x,125:I,129:182,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(ka,[2,205]),{6:Ya,31:qa,32:[1,465]},a(Te,[2,123]),a(Na,[2,226],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Na,[2,228],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Na,[2,239],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(ba,[2,248]),{7:466,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:467,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:468,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:469,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(fa,[2,134]),{33:216,34:n,35:r,36:217,37:Be,38:213,39:i,40:81,41:s,42:l,58:470,59:210,60:211,62:212,63:218,64:We,65:215,66:219,67:220,68:221,69:222,70:223,71:He,101:_,123:E,124:x,136:R},a(et,Xe,{40:81,58:209,59:210,60:211,62:212,38:213,65:215,33:216,36:217,63:218,66:219,67:220,68:221,69:222,70:223,102:471,34:n,35:r,37:Be,39:i,41:s,42:l,64:We,71:He,101:_,123:E,124:x,136:R}),a(Da,[2,137]),a(Da,[2,54],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:472,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Da,[2,56],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:473,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Aa,[2,77]),{77:[1,474]},{6:Ya,31:qa,121:[1,475]},{77:[2,200],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(de,[2,51]),a(na,[2,86]),a(ta,[2,95]),a(Fa,ea,{86:476,87:aa}),a(de,[2,296]),a(za,[2,267]),a(de,[2,217]),a(at,[2,218]),a(at,[2,219]),a(de,[2,258]),{30:477,31:De},{32:[1,478]},a(Va,[2,264],{6:[1,479]}),{7:480,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(de,[2,147]),{40:481,41:s,42:l},a($a,ea,{86:482,87:Ga}),a(ke,[2,151]),{29:[1,483]},{33:297,34:n,35:r,110:484,112:ua},{31:pa,33:297,34:n,35:r,109:485,110:295,112:ua},a(Da,[2,156]),{6:ot,31:nt,32:[1,486]},a(Da,[2,161]),a(Da,[2,163]),a(ke,[2,167],{29:[1,487]}),{33:304,34:n,35:r,112:ha,117:488},{31:ma,33:304,34:n,35:r,112:ha,115:489,117:302},a(Da,[2,176]),{6:rt,31:it,32:[1,490]},a(Da,[2,181]),a(Da,[2,182]),a(Da,[2,184]),a(Wa,[2,170],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{32:[1,491],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(Te,[2,224]),a(Te,[2,199]),a(ka,[2,206]),a(Fa,ea,{86:492,87:ya}),a(ka,[2,207]),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,162],[2,251],{147:78,138:104,144:105,146:[1,493],165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Ja,[2,253],{147:78,138:104,144:105,140:[1,494],165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(da,[2,252],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(da,[2,257],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Da,[2,138]),a(Fa,ea,{86:495,87:Ca}),{32:[1,496],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},{32:[1,497],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(Aa,[2,78]),a(Oa,[2,191]),{6:ja,31:Ma,32:[1,498]},{32:[1,499]},a(de,[2,261]),a(Va,[2,265]),a(tt,[2,213],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(ke,[2,153]),{6:ot,31:nt,103:[1,500]},{40:501,41:s,42:l},a(Da,[2,157]),a(Fa,ea,{86:502,87:Ga}),a(Da,[2,158]),{40:503,41:s,42:l},a(Da,[2,177]),a(Fa,ea,{86:504,87:Xa}),a(Da,[2,178]),a(ke,[2,171]),{6:Ya,31:qa,32:[1,505]},{7:506,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:507,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:c,47:29,49:26,50:p,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:N,85:b,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{6:Ka,31:Za,32:[1,508]},a(Da,[2,55]),a(Da,[2,57]),a(ta,[2,96]),a(de,[2,259]),{29:[1,509]},a(ke,[2,152]),{6:ot,31:nt,32:[1,510]},a(ke,[2,174]),{6:rt,31:it,32:[1,511]},a(ka,[2,208]),a(da,[2,254],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(da,[2,255],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Da,[2,139]),{40:512,41:s,42:l},a(Da,[2,159]),a(Da,[2,179]),a(ke,[2,154])],defaultActions:{69:[2,88],70:[2,89],253:[2,133],388:[2,165]},parseError:function(e,a){if(a.recoverable)this.trace(e);else{var t=function(e,a){this.message=e,this.hash=a};throw t.prototype=Error,new t(e,a)}},parse:function(e){var a=this,t=[0],o=[null],n=[],i=this.table,s="",l=0,d=0,c=0,u=1,m=n.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,"undefined"==typeof h.yylloc&&(h.yylloc={});var y=h.yylloc;n.push(y);var k=h.options&&h.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;_token_stack:var T=function(){var e;return e=h.lex()||u,"number"!=typeof e&&(e=a.symbols_[e]||e),e};for(var v={},N,b,_,$,C,D,p,E,x;;){if(_=t[t.length-1],this.defaultActions[_]?$=this.defaultActions[_]:((null===N||"undefined"==typeof N)&&(N=T()),$=i[_]&&i[_][N]),"undefined"==typeof $||!$.length||!$[0]){var I="";for(D in x=[],i[_])this.terminals_[D]&&D>2&&x.push("'"+this.terminals_[D]+"'");I=h.showPosition?"Parse error on line "+(l+1)+":\n"+h.showPosition()+"\nExpecting "+x.join(", ")+", got '"+(this.terminals_[N]||N)+"'":"Parse error on line "+(l+1)+": Unexpected "+(N==u?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(I,{text:h.match,token:this.terminals_[N]||N,line:h.yylineno,loc:y,expected:x})}if($[0]instanceof Array&&1<$.length)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+N);switch($[0]){case 1:t.push(N),o.push(h.yytext),n.push(h.yylloc),t.push($[1]),N=null,b?(N=b,b=null):(d=h.yyleng,s=h.yytext,l=h.yylineno,y=h.yylloc,0n.call(this.compiledComments,i)))&&(this.compiledComments.push(i),s=i.here?new S(i).compileNode(e):new J(i).compileNode(e),s.isHereComment&&!s.newLine||a.includeCommentFragments()?p(s):s.unshift?(null==(o=t[0]).precedingComments&&(o.precedingComments=[]),t[0].precedingComments.push(s)):(null==(r=t[t.length-1]).followingComments&&(r.followingComments=[]),t[t.length-1].followingComments.push(s)));return t}},{key:"cache",value:function(e,a,t){var o,n,r;return o=null==t?this.shouldCache():t(this),o?(n=new R(e.scope.freeVariable("ref")),r=new d(n,this),a?[r.compileToFragments(e,a),[this.makeCode(n.value)]]:[r,n]):(n=a?this.compileToFragments(e,a):this,[n,n])}},{key:"hoist",value:function(){var e,a,t;return this.hoisted=!0,t=new A(this),e=this.compileNode,a=this.compileToFragments,this.compileNode=function(a){return t.update(e,a)},this.compileToFragments=function(e){return t.update(a,e)},t}},{key:"cacheToCodeFragments",value:function(e){return[We(e[0]),We(e[1])]}},{key:"makeReturn",value:function(e){var a;return a=this.unwrapAll(),e?new h(new K(e+".push"),[a]):new ge(a)}},{key:"contains",value:function(e){var a;return a=void 0,this.traverseChildren(!1,function(t){if(e(t))return a=t,!1}),a}},{key:"lastNode",value:function(e){return 0===e.length?null:e[e.length-1]}},{key:"toString",value:function(){var e=0=H?this.wrapInParentheses(t):t)}},{key:"compileRoot",value:function(e){var a,t,o,n,r,i;for(e.indent=e.bare?"":De,e.level=z,this.spaced=!0,e.scope=new ye(null,this,null,null==(r=e.referencedVars)?[]:r),i=e.locals||[],(t=0,o=i.length);t=Y?this.wrapInParentheses(a):a}}]),a}(re),t.StringLiteral=Ne=function(e){function a(){return _classCallCheck(this,a),_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).apply(this,arguments))}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function(){var e;return e=this.csx?[this.makeCode(this.unquote(!0,!0))]:_get(a.prototype.__proto__||Object.getPrototypeOf(a.prototype),"compileNode",this).call(this)}},{key:"unquote",value:function(){var e=0=X?"(void 0)":"void 0")]}}]),a}(K),t.NullLiteral=ne=function(e){function a(){return _classCallCheck(this,a),_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this,"null"))}return _inherits(a,e),a}(K),t.BooleanLiteral=u=function(e){function a(){return _classCallCheck(this,a),_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).apply(this,arguments))}return _inherits(a,e),a}(K),t.Return=ge=function(){var e=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.expression=e,t}return _inherits(a,e),_createClass(a,[{key:"compileToFragments",value:function(e,t){var o,n;return o=null==(n=this.expression)?void 0:n.makeReturn(),o&&!(o instanceof a)?o.compileToFragments(e,t):_get(a.prototype.__proto__||Object.getPrototypeOf(a.prototype),"compileToFragments",this).call(this,e,t)}},{key:"compileNode",value:function(e){var a,t,o,r;if(a=[],this.expression){for(a=this.expression.compileToFragments(e,q),ia(a,this.makeCode(this.tab+"return ")),(o=0,r=a.length);othis.properties.length&&!this.base.shouldCache()&&(null==n||!n.shouldCache()))?[this,this]:(t=new a(this.base,this.properties.slice(0,-1)),t.shouldCache()&&(o=new R(e.scope.freeVariable("base")),t=new a(new de(new d(o,t)))),!n)?[t,o]:(n.shouldCache()&&(r=new R(e.scope.freeVariable("name")),n=new V(new d(r,n.index)),r=new V(r)),[t.add(n),new a(o||t.base,[r||n])])}},{key:"compileNode",value:function(e){var a,t,o,n,r;for(this.base.front=this.front,r=this.properties,a=this.base.compileToFragments(e,r.length?X:null),r.length&&fe.test(We(a))&&a.push(this.makeCode(".")),(t=0,o=r.length);to.length&&(o=r);this.content=this.content.replace(RegExp("^("+r+")","gm"),"")}return this.content="/*"+this.content+(a?" ":"")+"*/",e=this.makeCode(this.content),e.newLine=this.newLine,e.unshift=this.unshift,e.multiline=l,e.isComment=e.isHereComment=!0,e}}]),a}(c),t.LineComment=J=function(e){function a(e){var t=e.content,o=e.newLine,n=e.unshift;_classCallCheck(this,a);var r=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return r.content=t,r.newLine=o,r.unshift=n,r}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function(){var e;return e=this.makeCode(/^\s*$/.test(this.content)?"":"//"+this.content),e.newLine=this.newLine,e.unshift=this.unshift,e.trail=!this.newLine&&!this.unshift,e.isComment=e.isLineComment=!0,e}}]),a}(c),t.Call=h=function(){var e=function(e){function a(e){var t=1")),(g=l).push.apply(g,_toConsumableArray(i.compileNode(e,H))),(f=l).push.apply(f,[this.makeCode("")]))}else l.push(this.makeCode(" />"));return l}}]),a}(c);return e.prototype.children=["variable","args"],e}(),t.SuperCall=$e=function(){var e=function(e){function a(){return _classCallCheck(this,a),_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).apply(this,arguments))}return _inherits(a,e),_createClass(a,[{key:"isStatement",value:function(e){var a;return(null==(a=this.expressions)?void 0:a.length)&&e.level===z}},{key:"compileNode",value:function(e){var t,o,n,r;if(null==(o=this.expressions)||!o.length)return _get(a.prototype.__proto__||Object.getPrototypeOf(a.prototype),"compileNode",this).call(this,e);if(r=new K(We(_get(a.prototype.__proto__||Object.getPrototypeOf(a.prototype),"compileNode",this).call(this,e))),n=new p(this.expressions.slice()),e.level>z){var i=r.cache(e,null,Fe),s=_slicedToArray(i,2);r=s[0],t=s[1],n.push(t)}return n.unshift(r),n.compileToFragments(e,e.level===z?e.level:H)}}]),a}(h);return e.prototype.children=h.prototype.children.concat(["expressions"]),e}(),t.Super=_e=function(){var e=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.accessor=e,t}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function(e){var a,t,o,n,r,i,s,l;if(t=e.scope.namedMethod(),(null==t?void 0:t.isMethod)||this.error("cannot use super outside of an instance method"),null==t.ctor&&null==this.accessor){var c=t;o=c.name,l=c.variable,(o.shouldCache()||o instanceof V&&o.index.isAssignable())&&(n=new R(e.scope.parent.freeVariable("name")),o.index=new d(n,o.index)),this.accessor=null==n?o:new V(n)}return(null==(r=this.accessor)||null==(i=r.name)?void 0:i.comments)&&(s=this.accessor.name.comments,delete this.accessor.name.comments),a=new Le(new K("super"),this.accessor?[this.accessor]:[]).compileToFragments(e),s&&Me(s,this.accessor.name),a}}]),a}(c);return e.prototype.children=["accessor"],e}(),t.RegexWithInterpolations=he=function(e){function a(){var e=0"+this.equals,o=null==this.stepNum?l?(a=[this.fromNum,this.toNum],n=a[0],u=a[1],a,n<=u?d+" "+u:r+" "+u):(t=this.stepVar?this.stepVar+" > 0":this.fromVar+" <= "+this.toVar,t+" ? "+d+" "+this.toVar+" : "+r+" "+this.toVar):0=a(this.fromNum-this.toNum))?(p=function(){h=[];for(var e=u=this.fromNum,a=this.toNum;u<=a?e<=a:e>=a;u<=a?e++:e--)h.push(e);return h}.apply(this),this.exclusive&&p.pop(),[this.makeCode("["+p.join(", ")+"]")]):(i=this.tab+De,s=e.scope.freeVariable("i",{single:!0}),m=e.scope.freeVariable("results"),c="\n"+i+m+" = [];",l?(e.index=s,o=We(this.compileNode(e))):(g=s+" = "+this.fromC+(this.toC===this.toVar?"":", "+this.toC),n=this.fromVar+" <= "+this.toVar,o="var "+g+"; "+n+" ? "+s+" <"+this.equals+" "+this.toVar+" : "+s+" >"+this.equals+" "+this.toVar+"; "+n+" ? "+s+"++ : "+s+"--"),d="{ "+m+".push("+s+"); }\n"+i+"return "+m+";\n"+e.indent,r=function(e){return null==e?void 0:e.contains(qe)},(r(this.from)||r(this.to))&&(t=", arguments"),[this.makeCode("(function() {"+c+"\n"+i+"for ("+o+")"+d+"}).apply(this"+(null==t?"":t)+")")])}}]),t}(c);return e.prototype.children=["from","to"],e}(),t.Slice=ke=function(){var e=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.range=e,t}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function(e){var a=this.range,t,o,n,r,i,s;return i=a.to,n=a.from,r=n&&n.compileToFragments(e,q)||[this.makeCode("0")],i&&(t=i.compileToFragments(e,q),o=We(t),(this.range.exclusive||-1!=+o)&&(s=", "+(this.range.exclusive?o:i.isNumber()?""+(+o+1):(t=i.compileToFragments(e,X),"+"+We(t)+" + 1 || 9e9")))),[this.makeCode(".slice("+We(r)+(s||"")+")")]}}]),a}(c);return e.prototype.children=["range"],e}(),t.Obj=ie=function(){var e=function(e){function a(e){var t=1v)return s.push(new Le(new ie(y.slice(v,a),!0)))};e=y[a];)(d=this.addInitializerExpression(e))&&(k(),s.push(d),i.push(d),v=a+1),a++;k(),o.apply(r,[l,l-l+1].concat(s)),s,l+=s.length}else(d=this.addInitializerExpression(n))&&(i.push(d),r[l]=d),l+=1;for(u=0,h=i.length;uH||e.level===z&&n&&this.variable.base instanceof ie&&!this.nestedLhs&&!this.param?this.wrapInParentheses(t):t)}},{key:"compileObjectDestruct",value:function(e){var t,o,n,r,l,d,c,u,m,g,f,y,k;if(m=function(t){var o;if((o=!1,!(t instanceof a&&t.value.base instanceof ie))&&(o=t instanceof a?t.value.base instanceof R?t.value.base.compileWithoutComments(e):t.variable.base.compileWithoutComments(e):t.compileWithoutComments(e),o))return e.scope.add(o,"var",!0)},o=function(t){var o;if(t instanceof a){var n=t.variable.cache(e),r=_slicedToArray(n,2);return t.variable=r[0],o=r[1],o}return t},n=function(t){var n,r;return r=o(t),n=t instanceof a&&t.variable!==r,n||!r.isAssignable()?r:new K("'"+r.compileWithoutComments(e)+"'")},g=function(t,r){var l,d,c,u,h,f,y,T,p,k,v;for(k=[],v=void 0,null==r.properties&&(r=new Le(r)),(d=c=0,u=t.length);c=Y?this.wrapInParentheses(n):n;var x=k,I=_slicedToArray(x,1);if(y=I[0],1===T&&y instanceof v&&y.error("Destructuring assignment has no target"),p=this.variable.isObject(),_&&1===T&&!(y instanceof Te)){if(r=void 0,y instanceof a&&"object"===y.context){var S=y;c=S.variable.base,y=S.value,y instanceof a&&(r=y.value,y=y.variable)}else y instanceof a&&(r=y.value,y=y.variable),c=p?y.this?y.properties[0].name:new pe(y.unwrap().value):new re(0);return t=c.unwrap()instanceof pe,C=new Le(C),C.properties.push(new(t?i:V)(c)),g=Je(y.unwrap().value),g&&y.error(g),r&&(r.isDefaultValue=!0,C=new se("?",C,r)),new a(y,C,null,{param:this.param}).compileToFragments(e,z)}for(D=C.compileToFragments(e,H),E=We(D),o=[],s=!1,(!(C.unwrap()instanceof R)||this.variable.assigns(E))&&(N=e.scope.freeVariable("ref"),o.push([this.makeCode(N+" = ")].concat(_toConsumableArray(D))),D=[this.makeCode(N)],E=N),(d=m=0,h=k.length);mz?this.wrapInParentheses(o):o}},{key:"eachName",value:function(e){return this.variable.unwrapAll().eachName(e)}}]),a}(c);return e.prototype.children=["variable","value"],e.prototype.isAssignable=Fe,e}(),t.FuncGlyph=I=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.glyph=e,t}return _inherits(a,e),a}(c),t.Code=f=function(){var e=function(e){function a(e,t,o){_classCallCheck(this,a);var n=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this)),r;return n.funcGlyph=o,n.params=e||[],n.body=t||new p,n.bound="=>"===(null==(r=n.funcGlyph)?void 0:r.glyph),n.isGenerator=!1,n.isAsync=!1,n.isMethod=!1,n.body.traverseChildren(!1,function(e){if((e instanceof se&&e.isYield()||e instanceof Pe)&&(n.isGenerator=!0),(e instanceof se&&e.isAwait()||e instanceof l)&&(n.isAsync=!0),n.isGenerator&&n.isAsync)return e.error("function can't contain both yield and await")}),n}return _inherits(a,e),_createClass(a,[{key:"isStatement",value:function(){return this.isMethod}},{key:"makeScope",value:function(e){return new ye(e,this.body,this)}},{key:"compileNode",value:function(e){var a,t,o,r,c,p,u,g,f,y,T,N,i,b,_,k,l,$,C,D,m,E,x,I,S,A,L,w,F,P,j,M,U,V,B,W,H,Y,q,z,J;for(this.ctor&&(this.isAsync&&this.name.error("Class constructor may not be async"),this.isGenerator&&this.name.error("Class constructor may not be a generator")),this.bound&&((null==(P=e.scope.method)?void 0:P.bound)&&(this.context=e.scope.method.context),!this.context&&(this.context="this")),e.scope=Ve(e,"classScope")||this.makeScope(e.scope),e.scope.shared=Ve(e,"sharedScope"),e.indent+=De,delete e.bare,delete e.isExistentialEquals,L=[],g=[],z=null==(j=null==(M=this.thisAssignments)?void 0:M.slice())?[]:j,w=[],T=!1,y=!1,S=[],this.eachParamName(function(a,t,o){var r;if(0<=n.call(S,a)&&t.error("multiple parameters named '"+a+"'"),S.push(a),t.this)return a=t.properties[0].name.value,0<=n.call(G,a)&&(a="_"+a),r=new R(e.scope.freeVariable(a)),o.renameParam(t,r),z.push(new d(t,r))}),U=this.params,(N=b=0,l=U.length);b")),o.push(this.makeCode(" {")),null==r?void 0:r.length){var oe;(oe=o).push.apply(oe,[this.makeCode("\n")].concat(_toConsumableArray(r),[this.makeCode("\n"+this.tab)]))}return o.push(this.makeCode("}")),this.isMethod?Ye(o,this):this.front||e.level>=X?this.wrapInParentheses(o):o}},{key:"eachParamName",value:function(e){var a,t,o,n,r;for(n=this.params,r=[],(a=0,t=n.length);a"===e||">="===e||"<="===e||"==="===e||"!=="===e}},{key:"invert",value:function(){var e,a,o,n,i;if(this.isChainable()&&this.first.isChainable()){for(e=!0,a=this;a&&a.operator;)e&&(e=a.operator in t),a=a.first;if(!e)return new de(this).invert();for(a=this;a&&a.operator;)a.invert=!a.invert,a.operator=t[a.operator],a=a.first;return this}return(n=t[this.operator])?(this.operator=n,this.first.unwrap()instanceof r&&this.first.invert(),this):this.second?new de(this).invert():"!"===this.operator&&(o=this.first.unwrap())instanceof r&&("!"===(i=o.operator)||"in"===i||"instanceof"===i)?o:new r("!",this)}},{key:"unfoldSoak",value:function(e){var a;return("++"===(a=this.operator)||"--"===a||"delete"===a)&&ra(e,this,"first")}},{key:"generateDo",value:function(e){var a,t,o,n,r,i,s,l;for(i=[],t=e instanceof d&&(s=e.value.unwrap())instanceof f?s:e,l=t.params||[],(o=0,n=l.length);o=X?new de(this).compileToFragments(e):(o="+"===a||"-"===a,("new"===a||"typeof"===a||"delete"===a||o&&this.first instanceof r&&this.first.operator===a)&&t.push([this.makeCode(" ")]),(o&&this.first instanceof r||"new"===a&&this.first.isStatement(e))&&(this.first=new de(this.first)),t.push(this.first.compileToFragments(e,Y)),this.flip&&t.reverse(),this.joinFragmentArrays(t,""))}},{key:"compileContinuation",value:function(e){var a,t,o,r;return t=[],a=this.operator,null==e.scope.parent&&this.error(this.operator+" can only occur inside functions"),(null==(o=e.scope.method)?void 0:o.bound)&&e.scope.method.isGenerator&&this.error("yield cannot occur inside bound (fat arrow) functions"),0<=n.call(Object.keys(this.first),"expression")&&!(this.first instanceof Se)?null!=this.first.expression&&t.push(this.first.expression.compileToFragments(e,Y)):(e.level>=q&&t.push([this.makeCode("(")]),t.push([this.makeCode(a)]),""!==(null==(r=this.first.base)?void 0:r.value)&&t.push([this.makeCode(" ")]),t.push(this.first.compileToFragments(e,Y)),e.level>=q&&t.push([this.makeCode(")")])),this.joinFragmentArrays(t,"")}},{key:"compilePower",value:function(e){var a;return a=new Le(new R("Math"),[new i(new pe("pow"))]),new h(a,[this.first,this.second]).compileToFragments(e)}},{key:"compileFloorDivision",value:function(e){var a,t,o;return t=new Le(new R("Math"),[new i(new pe("floor"))]),o=this.second.shouldCache()?new de(this.second):this.second,a=new r("/",this.first,o),new h(t,[a]).compileToFragments(e)}},{key:"compileModulo",value:function(e){var a;return a=new Le(new K(sa("modulo",e))),new h(a,[this.first,this.second]).compileToFragments(e)}},{key:"toString",value:function(e){return _get(r.prototype.__proto__||Object.getPrototypeOf(r.prototype),"toString",this).call(this,e,this.constructor.name+" "+this.operator)}}]),r}(c),a,t;return a={"==":"===","!=":"!==",of:"in",yieldfrom:"yield*"},t={"!==":"===","===":"!=="},e.prototype.children=["first","second"],e}(),t.In=U=function(){var e=function(e){function a(e,t){_classCallCheck(this,a);var o=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return o.object=e,o.array=t,o}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function(e){var a,t,o,n,r;if(this.array instanceof Le&&this.array.isArray()&&this.array.base.objects.length){for(r=this.array.base.objects,t=0,o=r.length;t= 0"))),We(r)===We(n))?o:(o=r.concat(this.makeCode(", "),o),e.leveln.call(r,a)&&r.push(a);delete e.comments}if(null==(d=e.name)?void 0:d.comments){for(c=e.name.comments,o=0,s=c.length;on.call(r,a)&&r.push(a);return delete e.name.comments}}),Me(r,o),Qe(o.expression,o),o}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function(e){var a,t,o;if(this.expression.front=this.front,o=this.expression.compile(e,Y),this.expression.unwrap()instanceof R&&!e.scope.check(o)){var n=this.negated?["===","||"]:["!==","&&"],r=_slicedToArray(n,2);a=r[0],t=r[1],o="typeof "+o+" "+a+" \"undefined\""+("undefined"===this.comparisonTarget?"":" "+t+" "+o+" "+a+" "+this.comparisonTarget)}else a="null"===this.comparisonTarget?this.negated?"==":"!=":this.negated?"===":"!==",o=o+" "+a+" "+this.comparisonTarget;return[this.makeCode(e.level<=W?o:"("+o+")")]}}]),a}(c);return e.prototype.children=["expression"],e.prototype.invert=ae,e}(),t.Parens=de=function(){var e=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.body=e,t}return _inherits(a,e),_createClass(a,[{key:"unwrap",value:function(){return this.body}},{key:"shouldCache",value:function(){return this.body.shouldCache()}},{key:"compileNode",value:function(e){var a,t,o;return(t=this.body.unwrap(),t instanceof Le&&t.isAtomic()&&!this.csxAttribute)?(t.front=this.front,t.compileToFragments(e)):(o=t.compileToFragments(e,q),a=e.level=o.length),this.csxAttribute?this.wrapInBraces(o):a?o:this.wrapInParentheses(o))}}]),a}(c);return e.prototype.children=["body"],e}(),t.StringWithInterpolations=be=function(){var e=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.body=e,t}return _inherits(a,e),_createClass(a,[{key:"unwrap",value:function(){return this}},{key:"shouldCache",value:function(){return this.body.shouldCache()}},{key:"compileNode",value:function(e){var t,o,n,r,i,s,l,d,c;if(this.csxAttribute)return c=new de(new a(this.body)),c.csxAttribute=!0,c.compileNode(e);for(r=this.body.unwrap(),n=[],d=[],r.traverseChildren(!1,function(e){var a,t,o,r,i,s;if(e instanceof Ne){if(e.comments){var l;(l=d).push.apply(l,_toConsumableArray(e.comments)),delete e.comments}return n.push(e),!0}if(e instanceof de){if(0!==d.length){for(t=0,r=d.length;tw,!(this.step&&null!=w&&c)&&(b=S.freeVariable("len")),r=""+v+k+" = 0, "+b+" = "+P+".length",i=""+v+k+" = "+P+".length - 1",o=k+" < "+b,n=k+" >= 0",this.step?(null==w?(o=F+" > 0 ? "+o+" : "+n,r="("+F+" > 0 ? ("+r+") : "+i+")"):c&&(o=n,r=i),f=k+" += "+F):f=""+(T===k?k+"++":"++"+k),u=[this.makeCode(r+"; "+o+"; "+v+f)])),this.returns&&(E=""+this.tab+I+" = [];\n",x="\n"+this.tab+"return "+I+";",a.makeReturn(I)),this.guard&&(1=W?this.wrapInParentheses(n):n}},{key:"unfoldSoak",value:function(){return this.soak&&this}}]),a}(c);return e.prototype.children=["condition","body","elseBody"],e}(),Re={modulo:function(){return"function(a, b) { return (+a % (b = +b) + b) % b; }"},objectWithoutKeys:function(){return"function(o, ks) { var res = {}; for (var k in o) ([].indexOf.call(ks, k) < 0 && {}.hasOwnProperty.call(o, k)) && (res[k] = o[k]); return res; }"},boundMethodCheck:function(){return"function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } }"},_extends:function(){return"Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }"},hasProp:function(){return"{}.hasOwnProperty"},indexOf:function(){return"[].indexOf"},slice:function(){return"[].slice"},splice:function(){return"[].splice"}},z=1,q=2,H=3,W=4,Y=5,X=6,De=" ",fe=/^[+-]?\d+$/,sa=function(e,a){var t,o;return o=a.scope.root,e in o.utilities?o.utilities[e]:(t=o.freeVariable(e),o.assign(t,Re[e](a)),o.utilities[e]=t)},ea=function(e,a){var t=2=e);)e--;return a&&[a.sourceLine,a.sourceColumn]}}]),e}(),o=function(){var e=function(){function e(){_classCallCheck(this,e),this.lines=[]}return _createClass(e,[{key:"add",value:function(e,a){var o=2=t);)t--;return n&&n.sourceLocation(o)}},{key:"generate",value:function(){var e=0"],y={version:3,file:e.generatedFile||"",sourceRoot:e.sourceRoot||"",sources:f,names:[],mappings:t},e.inlineMap&&(y.sourcesContent=[a]),y}},{key:"encodeVlq",value:function(e){var t,o,s,l;for(t="",s=0>e?1:0,l=(a(e)<<1)+s;l||!t;)o=l&i,l>>=r,l&&(o|=n),t+=this.encodeBase64(o);return t}},{key:"encodeBase64",value:function(e){return o[e]||function(){throw new Error("Cannot Base64 encode value: "+e)}()}}]),e}(),o,n,r,i;return r=5,n=1<",d(p,e),null==k[p]&&(k[p]=[]),k[p].push(e),T&&(C=new s),O=h.tokenize(e,a),a.referencedVars=function(){var e,a,t;for(t=[],e=0,a=O.length;e"),d=e.getLineNumber(),o=e.getColumnNumber(),p=a(r,d,o),n=p?r+":"+p[0]+":"+p[1]:r+":"+d+":"+o),i=e.getFunctionName(),s=e.isConstructor(),l=!(e.isToplevel()||s),l?(c=e.getMethodName(),m=e.getTypeName(),i?(u=t="",m&&i.indexOf(m)&&(u=m+"."),c&&i.indexOf("."+c)!==i.length-c.length-1&&(t=" [as "+c+"]"),""+u+i+t+" ("+n+")"):m+"."+(c||"")+" ("+n+")"):s?"new "+(i||"")+" ("+n+")":i?i+" ("+n+")":n},u=function(e,a,t){var n,s,i,l,d,p;if(!(""===e||(l=e.slice(e.lastIndexOf(".")),0<=o.call(r,l))))return null;if(""!==e&&null!=y[e])return y[e][y[e].length-1];if(null!=y[""])for(d=y[""],s=d.length-1;0<=s;s+=-1)if(i=d[s],p=i.sourceLocation([a-1,t-1]),null!=(null==p?void 0:p[0])&&null!=p[1])return i;return null==k[e]?null:(n=c(k[e][k[e].length-1],{filename:e,sourceMap:!0,literate:m.isLiterate(e)}),n.sourceMap)},Error.prepareStackTrace=function(e,t){var o,n,r;return r=function(e,a,t){var o,n;return n=u(e,a,t),null!=n&&(o=n.sourceLocation([a-1,t-1])),null==o?null:[o[0]+1,o[1]+1]},n=function(){var e,n,i;for(i=[],e=0,n=t.length;e=6"},directories:{lib:"./lib/coffeescript"},main:"./lib/coffeescript/index",browser:"./lib/coffeescript/browser",bin:{coffee:"./bin/coffee",cake:"./bin/cake"},files:["bin","lib","register.js","repl.js"],scripts:{test:"node ./bin/cake test","test-harmony":"node --harmony ./bin/cake test"},homepage:"http://coffeescript.org",bugs:"https://github.com/jashkenas/coffeescript/issues",repository:{type:"git",url:"git://github.com/jashkenas/coffeescript.git"},devDependencies:{"babel-core":"~6.26.0","babel-preset-babili":"~0.1.4","babel-preset-env":"~1.6.0","babel-preset-minify":"^0.2.0",codemirror:"^5.29.0",docco:"~0.7.0","highlight.js":"~9.12.0",jison:">=0.4.18","markdown-it":"~8.4.0",underscore:"~1.8.3",webpack:"~3.6.0"},optionalDependencies:{"babel-core":"^6"},dependencies:{}}}(),e["./helpers"]=function(){var e={};return function(){var a,t,o,n,r,i,s,l;e.starts=function(e,a,t){return a===e.substr(t,a.length)},e.ends=function(e,a,t){var o;return o=a.length,a===e.substr(e.length-o-(t||0),o)},e.repeat=s=function(e,a){var t;for(t="";0>>=1,e+=e;return t},e.compact=function(e){var a,t,o,n;for(n=[],a=0,o=e.length;ar)return n.returnOnNegativeLevel?void 0:o.call(this,l,e);e+=1}return e-1}},{key:"removeLeadingNewlines",value:function removeLeadingNewlines(){var e,a,t,o,n,r,i,s,l;for(i=this.tokens,e=a=0,n=i.length;ar;o=0<=r?++n:--n)if(null!=l[o]&&("string"==typeof l[o]&&(l[o]=[l[o]]),i=this.tag(e+o+a),0>t.call(l[o],i)))return-1;return e+o+a-1}},{key:"looksObjectish",value:function looksObjectish(e){var a,o;return-1!==this.indexOfTag(e,"@",null,":")||-1!==this.indexOfTag(e,null,":")||(o=this.indexOfTag(e,c),-1!==o&&(a=null,this.detectEnd(o+1,function(e){var a;return a=e[0],0<=t.call(p,a)},function(e,t){return a=t}),":"===this.tag(a+1)))}},{key:"findTagsBackwards",value:function findTagsBackwards(e,a){var o,n,r,i,s,l,d;for(o=[];0<=e&&(o.length||(i=this.tag(e),0>t.call(a,i))&&((s=this.tag(e),0>t.call(c,s))||this.tokens[e].generated)&&(l=this.tag(e),0>t.call(f,l)));)(n=this.tag(e),0<=t.call(p,n))&&o.push(this.tag(e)),(r=this.tag(e),0<=t.call(c,r))&&o.length&&o.pop(),e-=1;return d=this.tag(e),0<=t.call(a,d)}},{key:"addImplicitBracesAndParens",value:function addImplicitBracesAndParens(){var e,a;return e=[],a=null,this.scanTokens(function(o,d,n){var i=this,y=_slicedToArray(o,1),T,v,N,_,$,C,D,E,x,I,S,A,k,R,O,L,w,F,P,j,M,s,U,V,B,G,X,H,W,Y,q;q=y[0];var z=F=0"!==w&&"->"!==w&&"["!==w&&"("!==w&&","!==w&&"{"!==w&&"ELSE"!==w&&"="!==w)for(;C()||E()&&":"!==w;)C()?T():v();return D()&&e.pop(),e.push([q,d]),N(1)}if(0<=t.call(c,q))return e.push([q,d]),N(1);if(0<=t.call(p,q)){for(;$();)C()?T():E()?v():e.pop();a=e.pop()}if((0<=t.call(h,q)&&o.spaced||"?"===q&&0t.call(p,e)):return a[1];case"@"!==this.tag(d-2):return d-2;default:return d-1;}}.call(this),Y=0>=M||(j=this.tag(M-1),0<=t.call(f,j))||n[M-1].newLine,G()){var Q=G(),ee=_slicedToArray(Q,2);if(B=ee[0],U=ee[1],("{"===B||"INDENT"===B&&"{"===this.tag(U-1))&&(Y||","===this.tag(M-1)||"{"===this.tag(M-1)))return N(1)}return W(M,!!Y),N(2)}if(0<=t.call(f,q))for(A=e.length-1;0<=A&&(V=e[A],!!x(V));A+=-1)S(V)&&(V[2].sameLine=!1);if(k="OUTDENT"===w||F.newLine,0<=t.call(m,q)||0<=t.call(r,q)&&k)for(;$();){var ae=G(),te=_slicedToArray(ae,3);B=te[0],U=te[1];var oe=te[2];if(s=oe.sameLine,Y=oe.startsLine,C()&&","!==w)T();else if(E()&&s&&"TERMINATOR"!==q&&":"!==w&&!(("POST_IF"===q||"FOR"===q||"WHILE"===q||"UNTIL"===q)&&Y&&_(d+1)))v();else if(E()&&"TERMINATOR"===q&&","!==w&&!(Y&&this.looksObjectish(d+1)))v();else break}if(","===q&&!this.looksObjectish(d+1)&&E()&&("TERMINATOR"!==R||!this.looksObjectish(d+2)))for(L="OUTDENT"===R?1:0;E();)v(d+L);return N(1)})}},{key:"enforceValidCSXAttributes",value:function enforceValidCSXAttributes(){return this.scanTokens(function(e,a,t){var o,n;return e.csxColon&&(o=t[a+1],"STRING_START"!==(n=o[0])&&"STRING"!==n&&"("!==n&&D("expected wrapped or quoted JSX attribute",o[2])),1})}},{key:"rescueStowawayComments",value:function rescueStowawayComments(){var e,a,o;return e=function(e,a,t,o){return"TERMINATOR"!==t[a][0]&&t[o](b("TERMINATOR","\n",t[a])),t[o](b("JS","",t[a],e))},o=function(a,o,n){var r,i,l,d,p,c,u;for(i=o;i!==n.length&&(p=n[i][0],0<=t.call(s,p));)i++;if(!(i===n.length||(c=n[i][0],0<=t.call(s,c)))){for(u=a.comments,l=0,d=u.length;lt.call(r,n)))return this.tokens.splice(o,0,b("(","(",this.tokens[o])),this.tokens.splice(a+1,0,b(")",")",this.tokens[a]))},o=null,this.scanTokens(function(t,n){var r,i;return"do"===t[1]?(o=n,r=n+1,"PARAM_START"===this.tag(n+1)&&(r=null,this.detectEnd(n+1,function(e,a){return"PARAM_END"===this.tag(a-1)},function(e,a){return r=a})),null==r||"->"!==(i=this.tag(r))&&"=>"!==i||"INDENT"!==this.tag(r+1))?1:(this.detectEnd(r+1,a,e),2):1})}},{key:"normalizeLines",value:function normalizeLines(){var e,a,o,n,s;return s=o=n=null,a=function(e,a){var o,n,i,l;return";"!==e[1]&&(o=e[0],0<=t.call(T,o))&&!("TERMINATOR"===e[0]&&(n=this.tag(a+1),0<=t.call(d,n)))&&("ELSE"!==e[0]||"THEN"===s)&&("CATCH"!==(i=e[0])&&"FINALLY"!==i||"->"!==s&&"=>"!==s)||(l=e[0],0<=t.call(r,l))&&(this.tokens[a-1].newLine||"OUTDENT"===this.tokens[a-1][0])},e=function(e,a){return this.tokens.splice(","===this.tag(a-1)?a-1:a,0,n)},this.scanTokens(function(r,l,i){var p=_slicedToArray(r,1),c,u,m,h,g;if(g=p[0],"TERMINATOR"===g){if("ELSE"===this.tag(l+1)&&"OUTDENT"!==this.tag(l-1))return i.splice.apply(i,[l,1].concat(_toConsumableArray(this.indentation()))),1;if(m=this.tag(l+1),0<=t.call(d,m))return i.splice(l,1),0}if("CATCH"===g)for(c=u=1;2>=u;c=++u)if("OUTDENT"===(h=this.tag(l+c))||"TERMINATOR"===h||"FINALLY"===h)return i.splice.apply(i,[l+c,0].concat(_toConsumableArray(this.indentation()))),2+c;if(("->"===g||"=>"===g)&&(","===this.tag(l+1)||"."===this.tag(l+1)&&r.newLine)){var f=this.indentation(i[l]),y=_slicedToArray(f,2);return o=y[0],n=y[1],i.splice(l+1,0,o,n),1}if(0<=t.call(v,g)&&"INDENT"!==this.tag(l+1)&&("ELSE"!==g||"IF"!==this.tag(l+1))){s=g;var k=this.indentation(i[l]),T=_slicedToArray(k,2);return o=T[0],n=T[1],"THEN"===s&&(o.fromThen=!0),i.splice(l+1,0,o),this.detectEnd(l+2,a,e),"THEN"===g&&i.splice(l,1),1}return 1})}},{key:"tagPostfixConditionals",value:function tagPostfixConditionals(){var e,a,o;return o=null,a=function(e,a){var o=_slicedToArray(e,1),n,r;r=o[0];var i=_slicedToArray(this.tokens[a-1],1);return n=i[0],"TERMINATOR"===r||"INDENT"===r&&0>t.call(v,n)},e=function(e){if("INDENT"!==e[0]||e.generated&&!e.fromThen)return o[0]="POST_"+o[0]},this.scanTokens(function(t,n){return"IF"===t[0]?(o=t,this.detectEnd(n+1,a,e),1):1})}},{key:"indentation",value:function indentation(e){var a,t;return a=["INDENT",2],t=["OUTDENT",2],e?(a.generated=t.generated=!0,a.origin=t.origin=e):a.explicit=t.explicit=!0,[a,t]}},{key:"tag",value:function tag(e){var a;return null==(a=this.tokens[e])?void 0:a[0]}}]),e}();return e.prototype.generate=b,e}(),n=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["STRING_START","STRING_END"],["REGEX_START","REGEX_END"]],a.INVERSES=i={},c=[],p=[],(N=0,_=n.length);N<_;N++){var E=_slicedToArray(n[N],2);k=E[0],C=E[1],c.push(i[C]=k),p.push(i[k]=C)}d=["CATCH","THEN","ELSE","FINALLY"].concat(p),h=["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"],u=["IDENTIFIER","CSX_TAG","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","UNDEFINED","NULL","BOOL","UNARY","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","--","++"],g=["+","-"],m=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],v=["ELSE","->","=>","TRY","FINALLY","THEN"],T=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],f=["TERMINATOR","INDENT","OUTDENT"],r=[".","?.","::","?::"],l=["IF","TRY","FINALLY","CATCH","CLASS","SWITCH"],s=["(",")","[","]","{","}",".","..","...",",","=","++","--","?","AS","AWAIT","CALL_START","CALL_END","DEFAULT","ELSE","EXTENDS","EXPORT","FORIN","FOROF","FORFROM","IMPORT","INDENT","INDEX_SOAK","LEADING_WHEN","OUTDENT","PARAM_START","PARAM_END","REGEX_START","REGEX_END","RETURN","STRING_END","THROW","UNARY","YIELD"].concat(g.concat(m.concat(r.concat(l))))}.call(this),{exports:a}.exports}(),e["./lexer"]=function(){var a={};return function(){var t=[].indexOf,n=e("./rewriter"),r,i,s,l,d,p,c,u,m,h,g,f,y,k,T,v,b,N,_,$,C,D,E,x,I,S,A,R,O,L,w,F,P,j,M,U,V,B,G,X,H,W,Y,q,z,J,K,Z,Q,ee,ae,te,oe,ne,re,ie,se,le,de,pe,ce,ue,me,he,ge,fe,ye,ke,Te,ve,be,Ne,_e;z=n.Rewriter,S=n.INVERSES;var $e=e("./helpers");he=$e.count,Ne=$e.starts,me=$e.compact,be=$e.repeat,ge=$e.invertLiterate,ve=$e.merge,ue=$e.attachCommentsToNode,Te=$e.locationDataToString,_e=$e.throwSyntaxError,a.Lexer=F=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"tokenize",value:function tokenize(e){var a=1this.indent){if(i)return this.indebt=s-this.indent,this.suppressNewlines(),t.length;if(!this.tokens.length)return this.baseIndent=this.indent=s,this.indentLiteral=r,t.length;a=s-this.indent+this.outdebt,this.token("INDENT",a,t.length-s,s),this.indents.push(a),this.ends.push({tag:"OUTDENT"}),this.outdebt=this.indebt=0,this.indent=s,this.indentLiteral=r}else st.call(m,h)))))return 0;var T=d,v=_slicedToArray(T,3);return l=v[0],s=v[1],o=v[2],p=this.token("CSX_TAG",s,1,s.length),this.token("CALL_START","("),this.token("[","["),this.ends.push({tag:"/>",origin:p,name:s}),this.csxDepth++,s.length+1}if(n=this.atCSXTag()){if("/>"===this.chunk.slice(0,2))return this.pair("/>"),this.token("]","]",0,2),this.token("CALL_END",")",0,2),this.csxDepth--,2;if("{"===i)return":"===u?(g=this.token("(","("),this.csxObjAttribute[this.csxDepth]=!1):(g=this.token("{","{"),this.csxObjAttribute[this.csxDepth]=!0),this.ends.push({tag:"}",origin:g}),1;if(">"===i){this.pair("/>"),p=this.token("]","]"),this.token(",",",");var b=this.matchWithInterpolations(I,">",""})}),d=y.exec(this.chunk.slice(r)),d&&d[0]===n.name||this.error("expected corresponding CSX closing tag for "+n.name,n.origin[2]),a=r+n.name.length,">"!==this.chunk[a]&&this.error("missing closing > after tag name",{offset:a,length:1}),this.token("CALL_END",")",r,n.name.length+1),this.csxDepth--,a+1}return 0}return this.atCSXTag(1)?"}"===i?(this.pair(i),this.csxObjAttribute[this.csxDepth]?(this.token("}","}"),this.csxObjAttribute[this.csxDepth]=!1):this.token(")",")"),this.token(",",","),1):0:0}},{key:"atCSXTag",value:function atCSXTag(){var e=0"===(null==t?void 0:t.tag)&&t}},{key:"literalToken",value:function literalToken(){var e,a,o,n,r,i,d,p,c,u,m,f,y;if(e=V.exec(this.chunk)){var k=e,T=_slicedToArray(k,1);y=T[0],l.test(y)&&this.tagParameters()}else y=this.chunk.charAt(0);if(m=y,n=this.prev(),n&&0<=t.call(["="].concat(_toConsumableArray(g)),y)&&(u=!1,"="!==y||"||"!==(r=n[1])&&"&&"!==r||n.spaced||(n[0]="COMPOUND_ASSIGN",n[1]+="=",n=this.tokens[this.tokens.length-2],u=!0),n&&"PROPERTY"!==n[0]&&(o=null==(i=n.origin)?n:i,a=ye(n[1],o[1]),a&&this.error(a,o[2])),u))return y.length;if("{"===y&&this.seenImport?this.importSpecifierList=!0:this.importSpecifierList&&"}"===y?this.importSpecifierList=!1:"{"===y&&"EXPORT"===(null==n?void 0:n[0])?this.exportSpecifierList=!0:this.exportSpecifierList&&"}"===y&&(this.exportSpecifierList=!1),";"===y)(d=null==n?void 0:n[0],0<=t.call(["="].concat(_toConsumableArray(le)),d))&&this.error("unexpected ;"),this.seenFor=this.seenImport=this.seenExport=!1,m="TERMINATOR";else if("*"===y&&"EXPORT"===(null==n?void 0:n[0]))m="EXPORT_ALL";else if(0<=t.call(P,y))m="MATH";else if(0<=t.call(h,y))m="COMPARE";else if(0<=t.call(g,y))m="COMPOUND_ASSIGN";else if(0<=t.call(ie,y))m="UNARY";else if(0<=t.call(se,y))m="UNARY_MATH";else if(0<=t.call(J,y))m="SHIFT";else if("?"===y&&(null==n?void 0:n.spaced))m="BIN?";else if(n)if("("===y&&!n.spaced&&(p=n[0],0<=t.call(s,p)))"?"===n[0]&&(n[0]="FUNC_EXIST"),m="CALL_START";else if("["===y&&((c=n[0],0<=t.call(x,c))&&!n.spaced||"::"===n[0]))switch(m="INDEX_START",n[0]){case"?":n[0]="INDEX_SOAK";}return f=this.makeToken(m,y),"("===y||"{"===y||"["===y?this.ends.push({tag:S[y],origin:f}):")"===y||"}"===y||"]"===y?this.pair(y):void 0,(this.tokens.push(this.makeToken(m,y)),y.length)}},{key:"tagParameters",value:function tagParameters(){var e,a,t,o,n;if(")"!==this.tag())return this;for(t=[],n=this.tokens,e=n.length,a=n[--e],a[0]="PARAM_END";o=n[--e];)switch(o[0]){case")":t.push(o);break;case"(":case"CALL_START":if(t.length)t.pop();else return"("===o[0]?(o[0]="PARAM_START",this):(a[0]="CALL_END",this);}return this}},{key:"closeIndentation",value:function closeIndentation(){return this.outdentToken(this.indent)}},{key:"matchWithInterpolations",value:function matchWithInterpolations(a,t,o,n){var r,i,s,l,d,p,c,u,m,h,g,f,y,k,T,v,b,N;if(null==o&&(o=t),null==n&&(n=/^#\{/),N=[],f=t.length,this.chunk.slice(0,f)!==t)return null;for(v=this.chunk.slice(f);;){var _=a.exec(v),$=_slicedToArray(_,1);if(b=$[0],this.validateEscapes(b,{isRegex:"/"===t.charAt(0),offsetInChunk:f}),N.push(this.makeToken("NEOSTRING",b,f)),v=v.slice(b.length),f+=b.length,!(h=n.exec(v)))break;var C=h,D=_slicedToArray(C,1);c=D[0],p=c.length-1;var E=this.getLineAndColumnFromChunk(f+p),x=_slicedToArray(E,2);m=x[0],s=x[1],T=v.slice(p);var I=new e().tokenize(T,{line:m,column:s,untilBalanced:!0});g=I.tokens,d=I.index,d+=p,r="}"===v[d-1],r&&(y=g[0],i=g[g.length-1],y[0]=y[1]="(",i[0]=i[1]=")",i.origin=["","end of interpolation",i[2]]),"TERMINATOR"===(null==(k=g[1])?void 0:k[0])&&g.splice(1,1),r||(y=this.makeToken("(","(",f,0),i=this.makeToken(")",")",f+d,0),g=[y].concat(_toConsumableArray(g),[i])),N.push(["TOKENS",g]),v=v.slice(d),f+=d}return v.slice(0,o.length)!==o&&this.error("missing "+o,{length:t.length}),l=N[0],u=N[N.length-1],l[2].first_column-=t.length,"\n"===u[1].substr(-1)?(u[2].last_line+=1,u[2].last_column=o.length-1):u[2].last_column+=o.length,0===u[1].length&&(u[2].last_column-=1),{tokens:N,index:f+o.length}}},{key:"mergeInterpolationTokens",value:function mergeInterpolationTokens(e,a,t){var o,n,r,s,i,l,d,p,c,u,m,h,g,f,y,k,T,v,b;for(1r&&(g=this.token("+","+"),g[2]={first_line:u[2].first_line,first_column:u[2].first_column,last_line:u[2].first_line,last_column:u[2].first_column}),(N=this.tokens).push.apply(N,_toConsumableArray(T))}if(m)return d=e[e.length-1],m.origin=["STRING",null,{first_line:m[2].first_line,first_column:m[2].first_column,last_line:d[2].last_line,last_column:d[2].last_column}],m[2]=m.origin[2],f=this.token("STRING_END",")"),f[2]={first_line:d[2].last_line,first_column:d[2].last_column,last_line:d[2].last_line,last_column:d[2].last_column}}},{key:"pair",value:function pair(e){var a,t,o,n,r;return o=this.ends,t=o[o.length-1],e===(r=null==t?void 0:t.tag)?this.ends.pop():("OUTDENT"!==r&&this.error("unmatched "+e),n=this.indents,a=n[n.length-1],this.outdentToken(a,!0),this.pair(e))}},{key:"getLineAndColumnFromChunk",value:function getLineAndColumnFromChunk(e){var a,t,o,n,r;return 0===e?[this.chunkLine,this.chunkColumn]:(r=e>=this.chunk.length?this.chunk:this.chunk.slice(0,+(e-1)+1||9e9),o=he(r,"\n"),a=this.chunkColumn,0e)?n(e):(a=o((e-65536)/1024)+55296,t=(e-65536)%1024+56320,""+n(a)+n(t))}},{key:"replaceUnicodeCodePointEscapes",value:function replaceUnicodeCodePointEscapes(e,a){var o=this,n;return n=null!=a.flags&&0>t.call(a.flags,"u"),e.replace(de,function(e,t,r,i){var s;return t?t:(s=parseInt(r,16),1114111t.call([].concat(_toConsumableArray(R),_toConsumableArray(c)),e):return"keyword '"+a+"' can't be assigned";case 0>t.call(Z,e):return"'"+a+"' can't be assigned";case 0>t.call(q,e):return"reserved word '"+a+"' can't be assigned";default:return!1;}},a.isUnassignable=ye,fe=function(e){var a;return"IDENTIFIER"===e[0]?("from"===e[1]&&(e[1][0]="IDENTIFIER",!0),!0):"FOR"!==e[0]&&("{"===(a=e[1])||"["===a||","===a||":"===a?!1:!0)},R=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"],c=["undefined","Infinity","NaN","then","unless","until","loop","of","by","when"],p={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},d=function(){var e;for(ke in e=[],p)e.push(ke);return e}(),c=c.concat(d),q=["case","function","var","void","with","const","let","enum","native","implements","interface","package","private","protected","public","static"],Z=["arguments","eval"],a.JS_FORBIDDEN=R.concat(q).concat(Z),r=65279,D=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+)([^\n\S]*:(?!:))?/,y=/^(?![\d<])((?:(?!\s)[\.\-$\w\x7f-\uffff])+)/,f=/^(?!\d)((?:(?!\s)[\-$\w\x7f-\uffff])+)([^\S]*=(?!=))?/,U=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,V=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/,ce=/^[^\n\S]+/,u=/^\s*###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/,l=/^[-=]>/,j=/^(?:\n[^\n\S]*)+/,A=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,C=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,oe=/^(?:'''|"""|'|")/,te=/^(?:[^\\']|\\[\s\S])*/,Q=/^(?:[^\\"#]|\\[\s\S]|\#(?!\{))*/,N=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,v=/^(?:[^\\"#]|\\[\s\S]|"(?!"")|\#(?!\{))*/,I=/^(?:[^\{<])*/,k=/^(?:\{|<(?!\/))/,ae=/((?:\\\\)+)|\\[^\S\n]*\n\s*/g,K=/\s*\n\s*/g,b=/\n+([^\n\S]*)(?=\S)/g,G=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,X=/^\w*/,pe=/^(?!.*(.).*\1)[imguy]*$/,_=/^(?:[^\\\/#]|\\[\s\S]|\/(?!\/\/)|\#(?!\{))*/,$=/((?:\\\\)+)|\\(\s)|\s+(?:#.*)?/g,H=/^(\/|\/{3}\s*)(\*)/,B=/^\/=?\s/,T=/\*\//,w=/^\s*(?:,|\??\.(?![.\d])|::)/,ee=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7]|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/,W=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7])|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/,de=/(\\\\)|\\u\{([\da-fA-F]+)\}/g,O=/^[^\n\S]*\n/,ne=/\n[^\n\S]*$/,re=/\s+$/,g=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="],ie=["NEW","TYPEOF","DELETE","DO"],se=["!","~"],J=["<<",">>",">>>"],h=["==","!=","<",">","<=",">="],P=["*","/","%","//","%%"],Y=["IN","OF","INSTANCEOF"],i=["TRUE","FALSE"],s=["IDENTIFIER","PROPERTY",")","]","?","@","THIS","SUPER"],x=s.concat(["NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","::"]),m=["IDENTIFIER",")","]","NUMBER"],M=x.concat(["++","--"]),L=["INDENT","OUTDENT","TERMINATOR"],E=[")","}","]"],le=["\\",".","?.","?::","UNARY","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","BIN?","EXTENDS","DEFAULT"]}.call(this),{exports:a}.exports}(),e["./parser"]=function(){var a={},t={exports:a},o=function(){function e(){this.yy={}}var a=function(e,a,t,o){for(t=t||{},o=e.length;o--;t[e[o]]=a);return t},t=[1,20],o=[1,50],n=[1,84],r=[1,85],i=[1,80],s=[1,86],l=[1,87],d=[1,82],p=[1,83],c=[1,57],u=[1,59],m=[1,60],h=[1,61],g=[1,62],f=[1,63],y=[1,66],k=[1,51],T=[1,38],v=[1,32],b=[1,69],N=[1,70],_=[1,79],$=[1,48],C=[1,52],D=[1,53],E=[1,67],x=[1,68],I=[1,65],S=[1,43],A=[1,49],R=[1,64],O=[1,74],L=[1,75],w=[1,76],F=[1,77],P=[1,47],j=[1,73],M=[1,34],U=[1,35],V=[1,36],B=[1,37],G=[1,39],X=[1,40],H=[1,88],W=[1,6,32,43,137],Y=[1,103],q=[1,91],z=[1,90],J=[1,89],K=[1,92],Z=[1,93],Q=[1,94],ee=[1,95],ae=[1,96],te=[1,97],oe=[1,98],ne=[1,99],re=[1,100],ie=[1,101],se=[1,102],le=[1,106],de=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],pe=[2,188],ce=[1,112],ue=[1,117],me=[1,113],he=[1,114],ge=[1,115],fe=[1,118],ye=[1,111],ke=[1,6,32,43,137,139,141,145,162],Te=[1,6,31,32,41,42,43,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],ve=[2,115],be=[2,119],Ne=[2,92],_e=[1,124],$e=[1,129],Ce=[1,130],De=[1,132],Ee=[1,136],xe=[1,134],Ie=[1,6,31,32,41,42,43,57,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],Se=[2,112],Ae=[1,6,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],Re=[2,27],Oe=[1,162],Le=[2,81],we=[1,165],Fe=[1,171],Pe=[1,183],je=[1,185],Me=[1,180],Ue=[1,187],Ve=[1,188],Be=[1,190],Ge=[1,6,31,32,41,42,43,57,64,74,75,77,82,87,95,96,97,99,103,105,119,120,121,126,128,137,139,140,141,145,146,162,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],Xe=[2,135],He=[1,214],We=[1,224],Ye=[1,6,31,32,41,42,43,61,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],qe=[1,6,29,31,32,41,42,43,57,61,64,74,75,77,82,87,95,96,97,99,103,105,111,119,120,121,126,128,137,139,140,141,145,146,152,153,154,162,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],ze=[1,6,31,32,41,42,43,48,61,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],Je=[1,246],Ke=[41,42,120],Ze=[1,256],Qe=[1,255],ea=[2,90],aa=[1,262],ta=[6,31,32,82,87],oa=[6,31,32,57,64,82,87],na=[1,6,31,32,43,64,74,75,77,82,87,95,96,97,99,103,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],ra=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,165,166,170,171,172,173,174,175,176,177,178,179,180],ia=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,165,166,170,172,173,174,175,176,177,178,179,180],sa=[41,42,74,75,95,96,97,99,119,120],la=[1,282],da=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162],pa=[2,79],ca=[1,296],ua=[1,298],ma=[1,303],ha=[1,305],ga=[2,209],fa=[1,6,31,32,41,42,43,57,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,152,153,154,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],ya=[1,314],ka=[6,31,32,87,121,126],Ta=[1,6,31,32,41,42,43,57,61,64,74,75,77,82,87,95,96,97,99,103,105,119,120,121,126,128,137,139,140,141,145,146,152,153,154,162,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],va=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,146,162],ba=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,140,146,162],Na=[152,153,154],_a=[87,152,153,154],$a=[6,31,103],Ca=[1,330],Da=[6,31,32,87,103],Ea=[6,31,32,61,87,103],xa=[1,336],Ia=[1,337],Sa=[6,31,32,57,61,64,74,75,87,103,120],Aa=[6,31,32,64,74,75,87,103,120],Ra=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,165,166,172,173,174,175,176,177,178,179,180],Oa=[1,6,31,32,41,42,43,48,64,74,75,77,82,87,95,96,97,99,103,119,120,121,126,128,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],La=[13,28,34,35,39,41,42,45,46,50,51,52,53,54,55,71,77,78,79,80,84,85,101,104,106,114,123,124,125,131,135,136,139,141,143,145,155,161,163,164,165,166,167,168],wa=[2,198],Fa=[6,31,32],Pa=[2,91],ja=[1,355],Ma=[1,356],Ua=[1,6,31,32,43,64,74,75,77,82,87,95,96,97,99,103,121,126,128,133,134,137,139,140,141,145,146,157,159,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],Va=[32,157,159],Ba=[1,6,32,43,64,77,82,87,103,121,126,128,137,140,146,162],Ga=[1,384],Xa=[1,390],Ha=[1,6,32,43,137,162],Wa=[2,106],Ya=[1,401],qa=[1,402],za=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,157,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],Ja=[1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,141,145,146,162],Ka=[1,415],Za=[1,416],Qa=[6,31,32,103],et=[6,31,32,87],at=[1,6,31,32,43,64,77,82,87,103,121,126,128,133,137,139,140,141,145,146,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],tt=[31,87],ot=[1,445],nt=[1,446],rt=[1,452],it=[1,453],st={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,FuncDirective:9,YieldReturn:10,AwaitReturn:11,Return:12,STATEMENT:13,Import:14,Export:15,Value:16,Code:17,Operation:18,Assign:19,If:20,Try:21,While:22,For:23,Switch:24,Class:25,Throw:26,Yield:27,YIELD:28,FROM:29,Block:30,INDENT:31,OUTDENT:32,Identifier:33,IDENTIFIER:34,CSX_TAG:35,Property:36,PROPERTY:37,AlphaNumeric:38,NUMBER:39,String:40,STRING:41,STRING_START:42,STRING_END:43,Regex:44,REGEX:45,REGEX_START:46,Invocation:47,REGEX_END:48,Literal:49,JS:50,UNDEFINED:51,NULL:52,BOOL:53,INFINITY:54,NAN:55,Assignable:56,"=":57,AssignObj:58,ObjAssignable:59,ObjRestValue:60,":":61,SimpleObjAssignable:62,ThisProperty:63,"...":64,ObjSpreadExpr:65,ObjSpreadIdentifier:66,Object:67,Parenthetical:68,Super:69,This:70,SUPER:71,Arguments:72,ObjSpreadAccessor:73,".":74,INDEX_START:75,IndexValue:76,INDEX_END:77,RETURN:78,AWAIT:79,PARAM_START:80,ParamList:81,PARAM_END:82,FuncGlyph:83,"->":84,"=>":85,OptComma:86,",":87,Param:88,ParamVar:89,Array:90,Splat:91,SimpleAssignable:92,Accessor:93,Range:94,"?.":95,"::":96,"?::":97,Index:98,INDEX_SOAK:99,Slice:100,"{":101,AssignList:102,"}":103,CLASS:104,EXTENDS:105,IMPORT:106,ImportDefaultSpecifier:107,ImportNamespaceSpecifier:108,ImportSpecifierList:109,ImportSpecifier:110,AS:111,DEFAULT:112,IMPORT_ALL:113,EXPORT:114,ExportSpecifierList:115,EXPORT_ALL:116,ExportSpecifier:117,OptFuncExist:118,FUNC_EXIST:119,CALL_START:120,CALL_END:121,ArgList:122,THIS:123,"@":124,"[":125,"]":126,RangeDots:127,"..":128,Arg:129,SimpleArgs:130,TRY:131,Catch:132,FINALLY:133,CATCH:134,THROW:135,"(":136,")":137,WhileSource:138,WHILE:139,WHEN:140,UNTIL:141,Loop:142,LOOP:143,ForBody:144,FOR:145,BY:146,ForStart:147,ForSource:148,ForVariables:149,OWN:150,ForValue:151,FORIN:152,FOROF:153,FORFROM:154,SWITCH:155,Whens:156,ELSE:157,When:158,LEADING_WHEN:159,IfBlock:160,IF:161,POST_IF:162,UNARY:163,UNARY_MATH:164,"-":165,"+":166,"--":167,"++":168,"?":169,MATH:170,"**":171,SHIFT:172,COMPARE:173,"&":174,"^":175,"|":176,"&&":177,"||":178,"BIN?":179,RELATION:180,COMPOUND_ASSIGN:181,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",13:"STATEMENT",28:"YIELD",29:"FROM",31:"INDENT",32:"OUTDENT",34:"IDENTIFIER",35:"CSX_TAG",37:"PROPERTY",39:"NUMBER",41:"STRING",42:"STRING_START",43:"STRING_END",45:"REGEX",46:"REGEX_START",48:"REGEX_END",50:"JS",51:"UNDEFINED",52:"NULL",53:"BOOL",54:"INFINITY",55:"NAN",57:"=",61:":",64:"...",71:"SUPER",74:".",75:"INDEX_START",77:"INDEX_END",78:"RETURN",79:"AWAIT",80:"PARAM_START",82:"PARAM_END",84:"->",85:"=>",87:",",95:"?.",96:"::",97:"?::",99:"INDEX_SOAK",101:"{",103:"}",104:"CLASS",105:"EXTENDS",106:"IMPORT",111:"AS",112:"DEFAULT",113:"IMPORT_ALL",114:"EXPORT",116:"EXPORT_ALL",119:"FUNC_EXIST",120:"CALL_START",121:"CALL_END",123:"THIS",124:"@",125:"[",126:"]",128:"..",131:"TRY",133:"FINALLY",134:"CATCH",135:"THROW",136:"(",137:")",139:"WHILE",140:"WHEN",141:"UNTIL",143:"LOOP",145:"FOR",146:"BY",150:"OWN",152:"FORIN",153:"FOROF",154:"FORFROM",155:"SWITCH",157:"ELSE",159:"LEADING_WHEN",161:"IF",162:"POST_IF",163:"UNARY",164:"UNARY_MATH",165:"-",166:"+",167:"--",168:"++",169:"?",170:"MATH",171:"**",172:"SHIFT",173:"COMPARE",174:"&",175:"^",176:"|",177:"&&",178:"||",179:"BIN?",180:"RELATION",181:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[5,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[27,1],[27,2],[27,3],[30,2],[30,3],[33,1],[33,1],[36,1],[38,1],[38,1],[40,1],[40,3],[44,1],[44,3],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[19,3],[19,4],[19,5],[58,1],[58,1],[58,3],[58,5],[58,3],[58,5],[62,1],[62,1],[62,1],[59,1],[59,1],[60,2],[60,2],[60,2],[60,2],[65,1],[65,1],[65,1],[65,1],[65,1],[65,2],[65,2],[65,2],[66,2],[66,2],[73,2],[73,3],[12,2],[12,4],[12,1],[10,3],[10,2],[11,3],[11,2],[17,5],[17,2],[83,1],[83,1],[86,0],[86,1],[81,0],[81,1],[81,3],[81,4],[81,6],[88,1],[88,2],[88,2],[88,3],[88,1],[89,1],[89,1],[89,1],[89,1],[91,2],[91,2],[92,1],[92,2],[92,2],[92,1],[56,1],[56,1],[56,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[69,3],[69,4],[93,2],[93,2],[93,2],[93,2],[93,1],[93,1],[98,3],[98,2],[76,1],[76,1],[67,4],[102,0],[102,1],[102,3],[102,4],[102,6],[25,1],[25,2],[25,3],[25,4],[25,2],[25,3],[25,4],[25,5],[14,2],[14,4],[14,4],[14,5],[14,7],[14,6],[14,9],[109,1],[109,3],[109,4],[109,4],[109,6],[110,1],[110,3],[110,1],[110,3],[107,1],[108,3],[15,3],[15,5],[15,2],[15,4],[15,5],[15,6],[15,3],[15,4],[15,7],[115,1],[115,3],[115,4],[115,4],[115,6],[117,1],[117,3],[117,3],[117,1],[117,3],[47,3],[47,3],[47,3],[118,0],[118,1],[72,2],[72,4],[70,1],[70,1],[63,2],[90,2],[90,4],[127,1],[127,1],[94,5],[100,3],[100,2],[100,2],[100,1],[122,1],[122,3],[122,4],[122,4],[122,6],[129,1],[129,1],[129,1],[130,1],[130,3],[21,2],[21,3],[21,4],[21,5],[132,3],[132,3],[132,2],[26,2],[26,4],[68,3],[68,5],[138,2],[138,4],[138,2],[138,4],[22,2],[22,2],[22,2],[22,1],[142,2],[142,2],[23,2],[23,2],[23,2],[144,2],[144,4],[144,2],[147,2],[147,3],[151,1],[151,1],[151,1],[151,1],[149,1],[149,3],[148,2],[148,2],[148,4],[148,4],[148,4],[148,6],[148,6],[148,2],[148,4],[24,5],[24,7],[24,4],[24,6],[156,1],[156,2],[158,3],[158,4],[160,3],[160,5],[20,1],[20,3],[20,3],[20,3],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,5],[18,4]],performAction:function(e,a,t,o,n,r,i){var s=r.length-1;switch(n){case 1:return this.$=o.addDataToNode(o,i[s],i[s])(new o.Block);break;case 2:return this.$=r[s];break;case 3:this.$=o.addDataToNode(o,i[s],i[s])(o.Block.wrap([r[s]]));break;case 4:this.$=o.addDataToNode(o,i[s-2],i[s])(r[s-2].push(r[s]));break;case 5:this.$=r[s-1];break;case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 36:case 41:case 43:case 53:case 58:case 59:case 60:case 61:case 62:case 67:case 68:case 69:case 70:case 71:case 90:case 91:case 102:case 103:case 104:case 105:case 111:case 112:case 115:case 120:case 129:case 209:case 210:case 212:case 243:case 244:case 262:case 268:this.$=r[s];break;case 12:this.$=o.addDataToNode(o,i[s],i[s])(new o.StatementLiteral(r[s]));break;case 27:this.$=o.addDataToNode(o,i[s],i[s])(new o.Op(r[s],new o.Value(new o.Literal(""))));break;case 28:case 272:case 273:case 276:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op(r[s-1],r[s]));break;case 29:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Op(r[s-2].concat(r[s-1]),r[s]));break;case 30:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Block);break;case 31:case 78:case 130:this.$=o.addDataToNode(o,i[s-2],i[s])(r[s-1]);break;case 32:this.$=o.addDataToNode(o,i[s],i[s])(new o.IdentifierLiteral(r[s]));break;case 33:this.$=o.addDataToNode(o,i[s],i[s])(new o.CSXTag(r[s]));break;case 34:this.$=o.addDataToNode(o,i[s],i[s])(new o.PropertyName(r[s]));break;case 35:this.$=o.addDataToNode(o,i[s],i[s])(new o.NumberLiteral(r[s]));break;case 37:this.$=o.addDataToNode(o,i[s],i[s])(new o.StringLiteral(r[s]));break;case 38:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.StringWithInterpolations(r[s-1]));break;case 39:this.$=o.addDataToNode(o,i[s],i[s])(new o.RegexLiteral(r[s]));break;case 40:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.RegexWithInterpolations(r[s-1].args));break;case 42:this.$=o.addDataToNode(o,i[s],i[s])(new o.PassthroughLiteral(r[s]));break;case 44:this.$=o.addDataToNode(o,i[s],i[s])(new o.UndefinedLiteral(r[s]));break;case 45:this.$=o.addDataToNode(o,i[s],i[s])(new o.NullLiteral(r[s]));break;case 46:this.$=o.addDataToNode(o,i[s],i[s])(new o.BooleanLiteral(r[s]));break;case 47:this.$=o.addDataToNode(o,i[s],i[s])(new o.InfinityLiteral(r[s]));break;case 48:this.$=o.addDataToNode(o,i[s],i[s])(new o.NaNLiteral(r[s]));break;case 49:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Assign(r[s-2],r[s]));break;case 50:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Assign(r[s-3],r[s]));break;case 51:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Assign(r[s-4],r[s-1]));break;case 52:case 108:case 113:case 114:case 116:case 117:case 118:case 119:case 121:case 245:case 246:this.$=o.addDataToNode(o,i[s],i[s])(new o.Value(r[s]));break;case 54:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Assign(o.addDataToNode(o,i[s-2])(new o.Value(r[s-2])),r[s],"object",{operatorToken:o.addDataToNode(o,i[s-1])(new o.Literal(r[s-1]))}));break;case 55:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Assign(o.addDataToNode(o,i[s-4])(new o.Value(r[s-4])),r[s-1],"object",{operatorToken:o.addDataToNode(o,i[s-3])(new o.Literal(r[s-3]))}));break;case 56:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Assign(o.addDataToNode(o,i[s-2])(new o.Value(r[s-2])),r[s],null,{operatorToken:o.addDataToNode(o,i[s-1])(new o.Literal(r[s-1]))}));break;case 57:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Assign(o.addDataToNode(o,i[s-4])(new o.Value(r[s-4])),r[s-1],null,{operatorToken:o.addDataToNode(o,i[s-3])(new o.Literal(r[s-3]))}));break;case 63:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Splat(new o.Value(r[s-1])));break;case 64:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Splat(new o.Value(r[s])));break;case 65:case 106:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Splat(r[s-1]));break;case 66:case 107:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Splat(r[s]));break;case 72:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.SuperCall(o.addDataToNode(o,i[s-1])(new o.Super),r[s],!1,r[s-1]));break;case 73:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Call(new o.Value(r[s-1]),r[s]));break;case 74:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Call(r[s-1],r[s]));break;case 75:case 76:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Value(r[s-1]).add(r[s]));break;case 77:case 124:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Access(r[s]));break;case 79:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Return(r[s]));break;case 80:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Return(new o.Value(r[s-1])));break;case 81:this.$=o.addDataToNode(o,i[s],i[s])(new o.Return);break;case 82:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.YieldReturn(r[s]));break;case 83:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.YieldReturn);break;case 84:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.AwaitReturn(r[s]));break;case 85:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.AwaitReturn);break;case 86:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Code(r[s-3],r[s],r[s-1]));break;case 87:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Code([],r[s],r[s-1]));break;case 88:case 89:this.$=o.addDataToNode(o,i[s],i[s])(new o.FuncGlyph(r[s]));break;case 92:case 135:this.$=o.addDataToNode(o,i[s],i[s])([]);break;case 93:case 136:case 155:case 175:case 204:case 247:this.$=o.addDataToNode(o,i[s],i[s])([r[s]]);break;case 94:case 137:case 156:case 176:case 205:this.$=o.addDataToNode(o,i[s-2],i[s])(r[s-2].concat(r[s]));break;case 95:case 138:case 157:case 177:case 206:this.$=o.addDataToNode(o,i[s-3],i[s])(r[s-3].concat(r[s]));break;case 96:case 139:case 159:case 179:case 208:this.$=o.addDataToNode(o,i[s-5],i[s])(r[s-5].concat(r[s-2]));break;case 97:this.$=o.addDataToNode(o,i[s],i[s])(new o.Param(r[s]));break;case 98:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Param(r[s-1],null,!0));break;case 99:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Param(r[s],null,!0));break;case 100:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Param(r[s-2],r[s]));break;case 101:case 211:this.$=o.addDataToNode(o,i[s],i[s])(new o.Expansion);break;case 109:this.$=o.addDataToNode(o,i[s-1],i[s])(r[s-1].add(r[s]));break;case 110:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Value(r[s-1]).add(r[s]));break;case 122:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Super(o.addDataToNode(o,i[s])(new o.Access(r[s])),[],!1,r[s-2]));break;case 123:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Super(o.addDataToNode(o,i[s-1])(new o.Index(r[s-1])),[],!1,r[s-3]));break;case 125:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Access(r[s],"soak"));break;case 126:this.$=o.addDataToNode(o,i[s-1],i[s])([o.addDataToNode(o,i[s-1])(new o.Access(new o.PropertyName("prototype"))),o.addDataToNode(o,i[s])(new o.Access(r[s]))]);break;case 127:this.$=o.addDataToNode(o,i[s-1],i[s])([o.addDataToNode(o,i[s-1])(new o.Access(new o.PropertyName("prototype"),"soak")),o.addDataToNode(o,i[s])(new o.Access(r[s]))]);break;case 128:this.$=o.addDataToNode(o,i[s],i[s])(new o.Access(new o.PropertyName("prototype")));break;case 131:this.$=o.addDataToNode(o,i[s-1],i[s])(o.extend(r[s],{soak:!0}));break;case 132:this.$=o.addDataToNode(o,i[s],i[s])(new o.Index(r[s]));break;case 133:this.$=o.addDataToNode(o,i[s],i[s])(new o.Slice(r[s]));break;case 134:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Obj(r[s-2],r[s-3].generated));break;case 140:this.$=o.addDataToNode(o,i[s],i[s])(new o.Class);break;case 141:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Class(null,null,r[s]));break;case 142:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Class(null,r[s]));break;case 143:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Class(null,r[s-1],r[s]));break;case 144:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Class(r[s]));break;case 145:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Class(r[s-1],null,r[s]));break;case 146:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Class(r[s-2],r[s]));break;case 147:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Class(r[s-3],r[s-1],r[s]));break;case 148:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.ImportDeclaration(null,r[s]));break;case 149:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.ImportDeclaration(new o.ImportClause(r[s-2],null),r[s]));break;case 150:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.ImportDeclaration(new o.ImportClause(null,r[s-2]),r[s]));break;case 151:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.ImportDeclaration(new o.ImportClause(null,new o.ImportSpecifierList([])),r[s]));break;case 152:this.$=o.addDataToNode(o,i[s-6],i[s])(new o.ImportDeclaration(new o.ImportClause(null,new o.ImportSpecifierList(r[s-4])),r[s]));break;case 153:this.$=o.addDataToNode(o,i[s-5],i[s])(new o.ImportDeclaration(new o.ImportClause(r[s-4],r[s-2]),r[s]));break;case 154:this.$=o.addDataToNode(o,i[s-8],i[s])(new o.ImportDeclaration(new o.ImportClause(r[s-7],new o.ImportSpecifierList(r[s-4])),r[s]));break;case 158:case 178:case 191:case 207:this.$=o.addDataToNode(o,i[s-3],i[s])(r[s-2]);break;case 160:this.$=o.addDataToNode(o,i[s],i[s])(new o.ImportSpecifier(r[s]));break;case 161:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ImportSpecifier(r[s-2],r[s]));break;case 162:this.$=o.addDataToNode(o,i[s],i[s])(new o.ImportSpecifier(new o.Literal(r[s])));break;case 163:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ImportSpecifier(new o.Literal(r[s-2]),r[s]));break;case 164:this.$=o.addDataToNode(o,i[s],i[s])(new o.ImportDefaultSpecifier(r[s]));break;case 165:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ImportNamespaceSpecifier(new o.Literal(r[s-2]),r[s]));break;case 166:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ExportNamedDeclaration(new o.ExportSpecifierList([])));break;case 167:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.ExportNamedDeclaration(new o.ExportSpecifierList(r[s-2])));break;case 168:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.ExportNamedDeclaration(r[s]));break;case 169:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.ExportNamedDeclaration(new o.Assign(r[s-2],r[s],null,{moduleDeclaration:"export"})));break;case 170:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.ExportNamedDeclaration(new o.Assign(r[s-3],r[s],null,{moduleDeclaration:"export"})));break;case 171:this.$=o.addDataToNode(o,i[s-5],i[s])(new o.ExportNamedDeclaration(new o.Assign(r[s-4],r[s-1],null,{moduleDeclaration:"export"})));break;case 172:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ExportDefaultDeclaration(r[s]));break;case 173:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.ExportAllDeclaration(new o.Literal(r[s-2]),r[s]));break;case 174:this.$=o.addDataToNode(o,i[s-6],i[s])(new o.ExportNamedDeclaration(new o.ExportSpecifierList(r[s-4]),r[s]));break;case 180:this.$=o.addDataToNode(o,i[s],i[s])(new o.ExportSpecifier(r[s]));break;case 181:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ExportSpecifier(r[s-2],r[s]));break;case 182:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ExportSpecifier(r[s-2],new o.Literal(r[s])));break;case 183:this.$=o.addDataToNode(o,i[s],i[s])(new o.ExportSpecifier(new o.Literal(r[s])));break;case 184:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.ExportSpecifier(new o.Literal(r[s-2]),r[s]));break;case 185:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.TaggedTemplateCall(r[s-2],r[s],r[s-1]));break;case 186:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Call(r[s-2],r[s],r[s-1]));break;case 187:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.SuperCall(o.addDataToNode(o,i[s-2])(new o.Super),r[s],r[s-1],r[s-2]));break;case 188:this.$=o.addDataToNode(o,i[s],i[s])(!1);break;case 189:this.$=o.addDataToNode(o,i[s],i[s])(!0);break;case 190:this.$=o.addDataToNode(o,i[s-1],i[s])([]);break;case 192:case 193:this.$=o.addDataToNode(o,i[s],i[s])(new o.Value(new o.ThisLiteral(r[s])));break;case 194:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Value(o.addDataToNode(o,i[s-1])(new o.ThisLiteral(r[s-1])),[o.addDataToNode(o,i[s])(new o.Access(r[s]))],"this"));break;case 195:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Arr([]));break;case 196:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Arr(r[s-2]));break;case 197:this.$=o.addDataToNode(o,i[s],i[s])("inclusive");break;case 198:this.$=o.addDataToNode(o,i[s],i[s])("exclusive");break;case 199:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Range(r[s-3],r[s-1],r[s-2]));break;case 200:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Range(r[s-2],r[s],r[s-1]));break;case 201:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Range(r[s-1],null,r[s]));break;case 202:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Range(null,r[s],r[s-1]));break;case 203:this.$=o.addDataToNode(o,i[s],i[s])(new o.Range(null,null,r[s]));break;case 213:this.$=o.addDataToNode(o,i[s-2],i[s])([].concat(r[s-2],r[s]));break;case 214:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Try(r[s]));break;case 215:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Try(r[s-1],r[s][0],r[s][1]));break;case 216:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Try(r[s-2],null,null,r[s]));break;case 217:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Try(r[s-3],r[s-2][0],r[s-2][1],r[s]));break;case 218:this.$=o.addDataToNode(o,i[s-2],i[s])([r[s-1],r[s]]);break;case 219:this.$=o.addDataToNode(o,i[s-2],i[s])([o.addDataToNode(o,i[s-1])(new o.Value(r[s-1])),r[s]]);break;case 220:this.$=o.addDataToNode(o,i[s-1],i[s])([null,r[s]]);break;case 221:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Throw(r[s]));break;case 222:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Throw(new o.Value(r[s-1])));break;case 223:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Parens(r[s-1]));break;case 224:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Parens(r[s-2]));break;case 225:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.While(r[s]));break;case 226:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.While(r[s-2],{guard:r[s]}));break;case 227:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.While(r[s],{invert:!0}));break;case 228:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.While(r[s-2],{invert:!0,guard:r[s]}));break;case 229:this.$=o.addDataToNode(o,i[s-1],i[s])(r[s-1].addBody(r[s]));break;case 230:case 231:this.$=o.addDataToNode(o,i[s-1],i[s])(r[s].addBody(o.addDataToNode(o,i[s-1])(o.Block.wrap([r[s-1]]))));break;case 232:this.$=o.addDataToNode(o,i[s],i[s])(r[s]);break;case 233:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.While(o.addDataToNode(o,i[s-1])(new o.BooleanLiteral("true"))).addBody(r[s]));break;case 234:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.While(o.addDataToNode(o,i[s-1])(new o.BooleanLiteral("true"))).addBody(o.addDataToNode(o,i[s])(o.Block.wrap([r[s]]))));break;case 235:case 236:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.For(r[s-1],r[s]));break;case 237:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.For(r[s],r[s-1]));break;case 238:this.$=o.addDataToNode(o,i[s-1],i[s])({source:o.addDataToNode(o,i[s])(new o.Value(r[s]))});break;case 239:this.$=o.addDataToNode(o,i[s-3],i[s])({source:o.addDataToNode(o,i[s-2])(new o.Value(r[s-2])),step:r[s]});break;case 240:this.$=o.addDataToNode(o,i[s-1],i[s])(function(){return r[s].own=r[s-1].own,r[s].ownTag=r[s-1].ownTag,r[s].name=r[s-1][0],r[s].index=r[s-1][1],r[s]}());break;case 241:this.$=o.addDataToNode(o,i[s-1],i[s])(r[s]);break;case 242:this.$=o.addDataToNode(o,i[s-2],i[s])(function(){return r[s].own=!0,r[s].ownTag=o.addDataToNode(o,i[s-1])(new o.Literal(r[s-1])),r[s]}());break;case 248:this.$=o.addDataToNode(o,i[s-2],i[s])([r[s-2],r[s]]);break;case 249:this.$=o.addDataToNode(o,i[s-1],i[s])({source:r[s]});break;case 250:this.$=o.addDataToNode(o,i[s-1],i[s])({source:r[s],object:!0});break;case 251:this.$=o.addDataToNode(o,i[s-3],i[s])({source:r[s-2],guard:r[s]});break;case 252:this.$=o.addDataToNode(o,i[s-3],i[s])({source:r[s-2],guard:r[s],object:!0});break;case 253:this.$=o.addDataToNode(o,i[s-3],i[s])({source:r[s-2],step:r[s]});break;case 254:this.$=o.addDataToNode(o,i[s-5],i[s])({source:r[s-4],guard:r[s-2],step:r[s]});break;case 255:this.$=o.addDataToNode(o,i[s-5],i[s])({source:r[s-4],step:r[s-2],guard:r[s]});break;case 256:this.$=o.addDataToNode(o,i[s-1],i[s])({source:r[s],from:!0});break;case 257:this.$=o.addDataToNode(o,i[s-3],i[s])({source:r[s-2],guard:r[s],from:!0});break;case 258:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Switch(r[s-3],r[s-1]));break;case 259:this.$=o.addDataToNode(o,i[s-6],i[s])(new o.Switch(r[s-5],r[s-3],r[s-1]));break;case 260:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Switch(null,r[s-1]));break;case 261:this.$=o.addDataToNode(o,i[s-5],i[s])(new o.Switch(null,r[s-3],r[s-1]));break;case 263:this.$=o.addDataToNode(o,i[s-1],i[s])(r[s-1].concat(r[s]));break;case 264:this.$=o.addDataToNode(o,i[s-2],i[s])([[r[s-1],r[s]]]);break;case 265:this.$=o.addDataToNode(o,i[s-3],i[s])([[r[s-2],r[s-1]]]);break;case 266:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.If(r[s-1],r[s],{type:r[s-2]}));break;case 267:this.$=o.addDataToNode(o,i[s-4],i[s])(r[s-4].addElse(o.addDataToNode(o,i[s-2],i[s])(new o.If(r[s-1],r[s],{type:r[s-2]}))));break;case 269:this.$=o.addDataToNode(o,i[s-2],i[s])(r[s-2].addElse(r[s]));break;case 270:case 271:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.If(r[s],o.addDataToNode(o,i[s-2])(o.Block.wrap([r[s-2]])),{type:r[s-1],statement:!0}));break;case 274:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("-",r[s]));break;case 275:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("+",r[s]));break;case 277:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("--",r[s]));break;case 278:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("++",r[s]));break;case 279:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("--",r[s-1],null,!0));break;case 280:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Op("++",r[s-1],null,!0));break;case 281:this.$=o.addDataToNode(o,i[s-1],i[s])(new o.Existence(r[s-1]));break;case 282:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Op("+",r[s-2],r[s]));break;case 283:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Op("-",r[s-2],r[s]));break;case 284:case 285:case 286:case 287:case 288:case 289:case 290:case 291:case 292:case 293:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Op(r[s-1],r[s-2],r[s]));break;case 294:this.$=o.addDataToNode(o,i[s-2],i[s])(function(){return"!"===r[s-1].charAt(0)?new o.Op(r[s-1].slice(1),r[s-2],r[s]).invert():new o.Op(r[s-1],r[s-2],r[s])}());break;case 295:this.$=o.addDataToNode(o,i[s-2],i[s])(new o.Assign(r[s-2],r[s],r[s-1]));break;case 296:this.$=o.addDataToNode(o,i[s-4],i[s])(new o.Assign(r[s-4],r[s-1],r[s-3]));break;case 297:this.$=o.addDataToNode(o,i[s-3],i[s])(new o.Assign(r[s-3],r[s],r[s-2]));}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:6,10:23,11:24,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:o,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:T,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{1:[3]},{1:[2,2],6:H},a(W,[2,3]),a(W,[2,6],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(W,[2,7],{147:78,138:107,144:108,139:O,141:L,145:F,162:le}),a(W,[2,8]),a(de,[2,15],{118:109,93:110,98:116,41:pe,42:pe,120:pe,74:ce,75:ue,95:me,96:he,97:ge,99:fe,119:ye}),a(de,[2,16],{98:116,93:119,74:ce,75:ue,95:me,96:he,97:ge,99:fe}),a(de,[2,17]),a(de,[2,18]),a(de,[2,19]),a(de,[2,20]),a(de,[2,21]),a(de,[2,22]),a(de,[2,23]),a(de,[2,24]),a(de,[2,25]),a(de,[2,26]),a(ke,[2,11]),a(ke,[2,12]),a(ke,[2,13]),a(ke,[2,14]),a(W,[2,9]),a(W,[2,10]),a(Te,ve,{57:[1,120]}),a(Te,[2,116]),a(Te,[2,117]),a(Te,[2,118]),a(Te,be),a(Te,[2,120]),a(Te,[2,121]),a([6,31,82,87],Ne,{81:121,88:122,89:123,33:125,63:126,90:127,67:128,34:n,35:r,64:_e,101:_,124:$e,125:Ce}),{30:131,31:De},{7:133,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:137,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:138,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:139,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:140,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:[1,141],79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{16:143,17:144,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:145,63:72,67:55,68:27,69:31,70:30,71:y,80:v,83:33,84:b,85:N,90:54,92:142,94:28,101:_,123:E,124:x,125:I,136:R},{16:143,17:144,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:145,63:72,67:55,68:27,69:31,70:30,71:y,80:v,83:33,84:b,85:N,90:54,92:146,94:28,101:_,123:E,124:x,125:I,136:R},a(Ie,Se,{167:[1,147],168:[1,148],181:[1,149]}),a(de,[2,268],{157:[1,150]}),{30:151,31:De},{30:152,31:De},a(de,[2,232]),{30:153,31:De},{7:154,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,155],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Ae,[2,140],{49:26,68:27,94:28,47:29,70:30,69:31,83:33,90:54,67:55,38:56,44:58,33:71,63:72,40:81,16:143,17:144,56:145,30:156,92:158,31:De,34:n,35:r,39:i,41:s,42:l,45:d,46:p,50:c,51:u,52:m,53:h,54:g,55:f,71:y,80:v,84:b,85:N,101:_,105:[1,157],123:E,124:x,125:I,136:R}),{7:159,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,160],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a([1,6,32,43,137,139,141,145,162,169,170,171,172,173,174,175,176,177,178,179,180],Re,{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:161,13:t,28:Ee,29:Oe,34:n,35:r,39:i,41:s,42:l,45:d,46:p,50:c,51:u,52:m,53:h,54:g,55:f,71:y,78:[1,163],79:xe,80:v,84:b,85:N,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,143:w,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(ke,Le,{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:164,13:t,28:Ee,31:we,34:n,35:r,39:i,41:s,42:l,45:d,46:p,50:c,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:xe,80:v,84:b,85:N,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,143:w,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),{33:170,34:n,35:r,40:166,41:s,42:l,101:[1,169],107:167,108:168,113:Fe},{25:173,33:174,34:n,35:r,101:[1,172],104:$,112:[1,175],116:[1,176]},a(Ie,[2,113]),a(Ie,[2,114]),a(Te,[2,41]),a(Te,[2,42]),a(Te,[2,43]),a(Te,[2,44]),a(Te,[2,45]),a(Te,[2,46]),a(Te,[2,47]),a(Te,[2,48]),{4:177,5:3,7:4,8:5,9:6,10:23,11:24,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:o,31:[1,178],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:T,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:179,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:Pe,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,122:181,123:E,124:x,125:I,126:Me,129:182,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{74:Ue,75:Ve,118:186,119:ye,120:pe},a(Te,[2,192]),a(Te,[2,193],{36:189,37:Be}),{31:[2,88]},{31:[2,89]},a(Ge,[2,108]),a(Ge,[2,111]),{7:191,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:192,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:193,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:195,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,30:194,31:De,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{33:200,34:n,35:r,63:201,67:203,90:202,94:196,101:_,124:$e,125:I,149:197,150:[1,198],151:199},{148:204,152:[1,205],153:[1,206],154:[1,207]},a([6,31,87,103],Xe,{40:81,102:208,58:209,59:210,60:211,62:212,38:213,65:215,33:216,36:217,63:218,66:219,67:220,68:221,69:222,70:223,34:n,35:r,37:Be,39:i,41:s,42:l,64:He,71:We,101:_,123:E,124:x,136:R}),a(Ye,[2,35]),a(Ye,[2,36]),a(Te,[2,39]),{16:143,17:144,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:225,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:145,63:72,67:55,68:27,69:31,70:30,71:y,80:v,83:33,84:b,85:N,90:54,92:226,94:28,101:_,123:E,124:x,125:I,136:R},a(qe,[2,32]),a(qe,[2,33]),a(ze,[2,37]),{4:227,5:3,7:4,8:5,9:6,10:23,11:24,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:o,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:T,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(W,[2,5],{7:4,8:5,9:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,10:23,11:24,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,5:228,13:t,28:o,34:n,35:r,39:i,41:s,42:l,45:d,46:p,50:c,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:T,80:v,84:b,85:N,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,139:O,141:L,143:w,145:F,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(de,[2,281]),{7:229,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:230,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:231,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:232,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:233,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:234,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:235,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:236,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:237,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:238,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:239,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:240,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:241,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:242,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(de,[2,231]),a(de,[2,236]),{7:243,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(de,[2,230]),a(de,[2,235]),{40:244,41:s,42:l,72:245,120:Je},a(Ge,[2,109]),a(Ke,[2,189]),{36:247,37:Be},{36:248,37:Be},a(Ge,[2,128],{36:249,37:Be}),{36:250,37:Be},a(Ge,[2,129]),{7:252,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:Ze,67:55,68:27,69:31,70:30,71:y,76:251,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,100:253,101:_,104:$,106:C,114:D,123:E,124:x,125:I,127:254,128:Qe,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{75:ue,98:257,99:fe},a(Ge,[2,110]),{6:[1,259],7:258,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,260],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a([6,31],ea,{86:263,82:[1,261],87:aa}),a(ta,[2,93]),a(ta,[2,97],{57:[1,265],64:[1,264]}),a(ta,[2,101],{33:125,63:126,90:127,67:128,89:266,34:n,35:r,101:_,124:$e,125:Ce}),a(oa,[2,102]),a(oa,[2,103]),a(oa,[2,104]),a(oa,[2,105]),{36:189,37:Be},{7:267,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:Pe,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,122:181,123:E,124:x,125:I,126:Me,129:182,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(na,[2,87]),{4:269,5:3,7:4,8:5,9:6,10:23,11:24,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:o,32:[1,268],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:T,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(ra,[2,272],{147:78,138:104,144:105,169:J}),{7:140,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{138:107,139:O,141:L,144:108,145:F,147:78,162:le},a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,169,170,171,172,173,174,175,176,177,178,179,180],Re,{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:161,13:t,28:Ee,29:Oe,34:n,35:r,39:i,41:s,42:l,45:d,46:p,50:c,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:xe,80:v,84:b,85:N,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,143:w,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(ia,[2,273],{147:78,138:104,144:105,169:J,171:Z}),a(ia,[2,274],{147:78,138:104,144:105,169:J,171:Z}),a(ia,[2,275],{147:78,138:104,144:105,169:J,171:Z}),a(ra,[2,276],{147:78,138:104,144:105,169:J}),a(W,[2,85],{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:270,13:t,28:Ee,31:we,34:n,35:r,39:i,41:s,42:l,45:d,46:p,50:c,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:xe,80:v,84:b,85:N,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,139:Le,141:Le,145:Le,162:Le,143:w,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(de,[2,277],{41:Se,42:Se,74:Se,75:Se,95:Se,96:Se,97:Se,99:Se,119:Se,120:Se}),a(Ke,pe,{118:109,93:110,98:116,74:ce,75:ue,95:me,96:he,97:ge,99:fe,119:ye}),{74:ce,75:ue,93:119,95:me,96:he,97:ge,98:116,99:fe},a(sa,ve),a(de,[2,278],{41:Se,42:Se,74:Se,75:Se,95:Se,96:Se,97:Se,99:Se,119:Se,120:Se}),a(de,[2,279]),a(de,[2,280]),{6:[1,273],7:271,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,272],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{30:274,31:De,161:[1,275]},a(de,[2,214],{132:276,133:[1,277],134:[1,278]}),a(de,[2,229]),a(de,[2,237]),{31:[1,279],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},{156:280,158:281,159:la},a(de,[2,141]),{7:283,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Ae,[2,144],{30:284,31:De,41:Se,42:Se,74:Se,75:Se,95:Se,96:Se,97:Se,99:Se,119:Se,120:Se,105:[1,285]}),a(da,[2,221],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{67:286,101:_},a(da,[2,28],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:287,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(W,[2,83],{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:288,13:t,28:Ee,31:we,34:n,35:r,39:i,41:s,42:l,45:d,46:p,50:c,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:xe,80:v,84:b,85:N,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,139:Le,141:Le,145:Le,162:Le,143:w,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(ke,pa,{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{67:289,101:_},a(ke,[2,148]),{29:[1,290],87:[1,291]},{29:[1,292]},{31:ca,33:297,34:n,35:r,103:[1,293],109:294,110:295,112:ua},a([29,87],[2,164]),{111:[1,299]},{31:ma,33:304,34:n,35:r,103:[1,300],112:ha,115:301,117:302},a(ke,[2,168]),{57:[1,306]},{7:307,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{29:[1,308]},{6:H,137:[1,309]},{4:310,5:3,7:4,8:5,9:6,10:23,11:24,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:o,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:T,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a([6,31,87,126],ga,{147:78,138:104,144:105,127:311,64:[1,312],128:Qe,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(fa,[2,195]),a([6,31,126],ea,{86:313,87:ya}),a(ka,[2,204]),{7:267,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:Pe,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,122:315,123:E,124:x,125:I,129:182,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(ka,[2,210]),a(ka,[2,211],{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,7:316,13:t,28:Ee,34:n,35:r,39:i,41:s,42:l,45:d,46:p,50:c,51:u,52:m,53:h,54:g,55:f,71:y,78:k,79:xe,80:v,84:b,85:N,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,139:O,141:L,143:w,145:F,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),{72:317,120:Je},{36:318,37:Be},{7:319,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Ta,[2,194]),a(Ta,[2,34]),{30:320,31:De,138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(va,[2,225],{147:78,138:104,144:105,139:O,140:[1,321],141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(va,[2,227],{147:78,138:104,144:105,139:O,140:[1,322],141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(de,[2,233]),a(ba,[2,234],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,162,165,166,169,170,171,172,173,174,175,176,177,178,179,180],[2,238],{146:[1,323]}),a(Na,[2,241]),{33:200,34:n,35:r,63:201,67:203,90:202,101:_,124:$e,125:Ce,149:324,151:199},a(Na,[2,247],{87:[1,325]}),a(_a,[2,243]),a(_a,[2,244]),a(_a,[2,245]),a(_a,[2,246]),a(de,[2,240]),{7:326,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:327,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:328,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a($a,ea,{86:329,87:Ca}),a(Da,[2,136]),a(Da,[2,52],{61:[1,331]}),a(Da,[2,53]),a(Ea,[2,61],{72:334,73:335,57:[1,332],64:[1,333],74:xa,75:Ia,120:Je}),a(Ea,[2,62]),{33:216,34:n,35:r,36:217,37:Be,62:338,63:218,65:339,66:219,67:220,68:221,69:222,70:223,71:We,101:_,123:E,124:x,136:R},{64:[1,340],72:341,73:342,74:xa,75:Ia,120:Je},a(Sa,[2,58]),a(Sa,[2,59]),a(Sa,[2,60]),a(Aa,[2,67]),a(Aa,[2,68]),a(Aa,[2,69]),a(Aa,[2,70]),a(Aa,[2,71]),{72:343,74:Ue,75:Ve,120:Je},a(sa,be,{48:[1,344]}),a(sa,Se),{6:H,43:[1,345]},a(W,[2,4]),a(Ra,[2,282],{147:78,138:104,144:105,169:J,170:K,171:Z}),a(Ra,[2,283],{147:78,138:104,144:105,169:J,170:K,171:Z}),a(ia,[2,284],{147:78,138:104,144:105,169:J,171:Z}),a(ia,[2,285],{147:78,138:104,144:105,169:J,171:Z}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,172,173,174,175,176,177,178,179,180],[2,286],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,173,174,175,176,177,178,179],[2,287],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,174,175,176,177,178,179],[2,288],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,175,176,177,178,179],[2,289],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,176,177,178,179],[2,290],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,177,178,179],[2,291],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,178,179],[2,292],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,179],[2,293],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,180:se}),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,146,162,173,174,175,176,177,178,179,180],[2,294],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q}),a(ba,[2,271],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(ba,[2,270],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Oa,[2,185]),a(Oa,[2,186]),{7:267,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:Pe,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,121:[1,346],122:347,123:E,124:x,125:I,129:182,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Ge,[2,124]),a(Ge,[2,125]),a(Ge,[2,126]),a(Ge,[2,127]),{77:[1,348]},{64:Ze,77:[2,132],127:349,128:Qe,138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},{77:[2,133]},{7:350,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,77:[2,203],78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(La,[2,197]),a(La,wa),a(Ge,[2,131]),a(da,[2,49],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:351,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:352,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{83:353,84:b,85:N},a(Fa,Pa,{89:123,33:125,63:126,90:127,67:128,88:354,34:n,35:r,64:_e,101:_,124:$e,125:Ce}),{6:ja,31:Ma},a(ta,[2,98]),{7:357,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(ta,[2,99]),a(ka,ga,{147:78,138:104,144:105,64:[1,358],139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Ua,[2,30]),{6:H,32:[1,359]},a(W,[2,84],{147:78,138:104,144:105,139:pa,141:pa,145:pa,162:pa,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(da,[2,295],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:360,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:361,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(de,[2,269]),{7:362,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(de,[2,215],{133:[1,363]}),{30:364,31:De},{30:367,31:De,33:365,34:n,35:r,67:366,101:_},{156:368,158:281,159:la},{32:[1,369],157:[1,370],158:371,159:la},a(Va,[2,262]),{7:373,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,130:372,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Ba,[2,142],{147:78,138:104,144:105,30:374,31:De,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(de,[2,145]),{7:375,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{32:[1,376]},a(da,[2,29],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(W,[2,82],{147:78,138:104,144:105,139:pa,141:pa,145:pa,162:pa,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{32:[1,377]},{40:378,41:s,42:l},{101:[1,380],108:379,113:Fe},{40:381,41:s,42:l},{29:[1,382]},a($a,ea,{86:383,87:Ga}),a(Da,[2,155]),{31:ca,33:297,34:n,35:r,109:385,110:295,112:ua},a(Da,[2,160],{111:[1,386]}),a(Da,[2,162],{111:[1,387]}),{33:388,34:n,35:r},a(ke,[2,166]),a($a,ea,{86:389,87:Xa}),a(Da,[2,175]),{31:ma,33:304,34:n,35:r,112:ha,115:391,117:302},a(Da,[2,180],{111:[1,392]}),a(Da,[2,183],{111:[1,393]}),{6:[1,395],7:394,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,396],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Ha,[2,172],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{40:397,41:s,42:l},a(Te,[2,223]),{6:H,32:[1,398]},{7:399,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a([13,28,34,35,39,41,42,45,46,50,51,52,53,54,55,71,78,79,80,84,85,101,104,106,114,123,124,125,131,135,136,139,141,143,145,155,161,163,164,165,166,167,168],wa,{6:Wa,31:Wa,87:Wa,126:Wa}),{6:Ya,31:qa,126:[1,400]},a([6,31,32,121,126],Pa,{16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,12:19,14:21,15:22,56:25,49:26,68:27,94:28,47:29,70:30,69:31,83:33,92:41,160:42,138:44,142:45,144:46,90:54,67:55,38:56,44:58,33:71,63:72,147:78,40:81,8:135,91:184,7:267,129:403,13:t,28:Ee,34:n,35:r,39:i,41:s,42:l,45:d,46:p,50:c,51:u,52:m,53:h,54:g,55:f,64:je,71:y,78:k,79:xe,80:v,84:b,85:N,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,139:O,141:L,143:w,145:F,155:P,161:j,163:M,164:U,165:V,166:B,167:G,168:X}),a(Fa,ea,{86:404,87:ya}),a(ka,[2,107],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Oa,[2,187]),a(Te,[2,122]),{77:[1,405],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(za,[2,266]),{7:406,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:407,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:408,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Na,[2,242]),{33:200,34:n,35:r,63:201,67:203,90:202,101:_,124:$e,125:Ce,151:409},a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,141,145,162],[2,249],{147:78,138:104,144:105,140:[1,410],146:[1,411],165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Ja,[2,250],{147:78,138:104,144:105,140:[1,412],165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Ja,[2,256],{147:78,138:104,144:105,140:[1,413],165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{6:Ka,31:Za,103:[1,414]},a(Qa,Pa,{40:81,59:210,60:211,62:212,38:213,65:215,33:216,36:217,63:218,66:219,67:220,68:221,69:222,70:223,58:417,34:n,35:r,37:Be,39:i,41:s,42:l,64:He,71:We,101:_,123:E,124:x,136:R}),{7:418,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,419],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:420,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:[1,421],33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Da,[2,63]),a(Aa,[2,73]),a(Aa,[2,75]),{36:422,37:Be},{7:252,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:Ze,67:55,68:27,69:31,70:30,71:y,76:423,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,100:253,101:_,104:$,106:C,114:D,123:E,124:x,125:I,127:254,128:Qe,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Da,[2,64],{72:334,73:335,74:xa,75:Ia,120:Je}),a(Da,[2,66],{72:341,73:342,74:xa,75:Ia,120:Je}),a(Da,[2,65]),a(Aa,[2,74]),a(Aa,[2,76]),a(Aa,[2,72]),a(Te,[2,40]),a(ze,[2,38]),a(Oa,[2,190]),a([6,31,121],ea,{86:424,87:ya}),a(Ge,[2,130]),{7:425,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,77:[2,201],78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{77:[2,202],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(da,[2,50],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{32:[1,426],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},{30:427,31:De},a(ta,[2,94]),{33:125,34:n,35:r,63:126,64:_e,67:128,88:428,89:123,90:127,101:_,124:$e,125:Ce},a(et,Ne,{88:122,89:123,33:125,63:126,90:127,67:128,81:429,34:n,35:r,64:_e,101:_,124:$e,125:Ce}),a(ta,[2,100],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(ka,Wa),a(Ua,[2,31]),{32:[1,430],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(da,[2,297],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{30:431,31:De,138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},{30:432,31:De},a(de,[2,216]),{30:433,31:De},{30:434,31:De},a(at,[2,220]),{32:[1,435],157:[1,436],158:371,159:la},a(de,[2,260]),{30:437,31:De},a(Va,[2,263]),{30:438,31:De,87:[1,439]},a(tt,[2,212],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(de,[2,143]),a(Ba,[2,146],{147:78,138:104,144:105,30:440,31:De,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(de,[2,222]),a(ke,[2,80]),a(ke,[2,149]),{29:[1,441]},{31:ca,33:297,34:n,35:r,109:442,110:295,112:ua},a(ke,[2,150]),{40:443,41:s,42:l},{6:ot,31:nt,103:[1,444]},a(Qa,Pa,{33:297,110:447,34:n,35:r,112:ua}),a(Fa,ea,{86:448,87:Ga}),{33:449,34:n,35:r},{33:450,34:n,35:r},{29:[2,165]},{6:rt,31:it,103:[1,451]},a(Qa,Pa,{33:304,117:454,34:n,35:r,112:ha}),a(Fa,ea,{86:455,87:Xa}),{33:456,34:n,35:r,112:[1,457]},{33:458,34:n,35:r},a(Ha,[2,169],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:459,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:460,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(ke,[2,173]),{137:[1,461]},{126:[1,462],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(fa,[2,196]),{7:267,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,129:463,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:267,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,31:Pe,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,64:je,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,91:184,92:41,94:28,101:_,104:$,106:C,114:D,122:464,123:E,124:x,125:I,129:182,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(ka,[2,205]),{6:Ya,31:qa,32:[1,465]},a(Te,[2,123]),a(ba,[2,226],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(ba,[2,228],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(ba,[2,239],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Na,[2,248]),{7:466,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:467,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:468,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:469,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(fa,[2,134]),{33:216,34:n,35:r,36:217,37:Be,38:213,39:i,40:81,41:s,42:l,58:470,59:210,60:211,62:212,63:218,64:He,65:215,66:219,67:220,68:221,69:222,70:223,71:We,101:_,123:E,124:x,136:R},a(et,Xe,{40:81,58:209,59:210,60:211,62:212,38:213,65:215,33:216,36:217,63:218,66:219,67:220,68:221,69:222,70:223,102:471,34:n,35:r,37:Be,39:i,41:s,42:l,64:He,71:We,101:_,123:E,124:x,136:R}),a(Da,[2,137]),a(Da,[2,54],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:472,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Da,[2,56],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{7:473,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(Aa,[2,77]),{77:[1,474]},{6:Ya,31:qa,121:[1,475]},{77:[2,200],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(de,[2,51]),a(na,[2,86]),a(ta,[2,95]),a(Fa,ea,{86:476,87:aa}),a(de,[2,296]),a(za,[2,267]),a(de,[2,217]),a(at,[2,218]),a(at,[2,219]),a(de,[2,258]),{30:477,31:De},{32:[1,478]},a(Va,[2,264],{6:[1,479]}),{7:480,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},a(de,[2,147]),{40:481,41:s,42:l},a($a,ea,{86:482,87:Ga}),a(ke,[2,151]),{29:[1,483]},{33:297,34:n,35:r,110:484,112:ua},{31:ca,33:297,34:n,35:r,109:485,110:295,112:ua},a(Da,[2,156]),{6:ot,31:nt,32:[1,486]},a(Da,[2,161]),a(Da,[2,163]),a(ke,[2,167],{29:[1,487]}),{33:304,34:n,35:r,112:ha,117:488},{31:ma,33:304,34:n,35:r,112:ha,115:489,117:302},a(Da,[2,176]),{6:rt,31:it,32:[1,490]},a(Da,[2,181]),a(Da,[2,182]),a(Da,[2,184]),a(Ha,[2,170],{147:78,138:104,144:105,139:O,141:L,145:F,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),{32:[1,491],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(Te,[2,224]),a(Te,[2,199]),a(ka,[2,206]),a(Fa,ea,{86:492,87:ya}),a(ka,[2,207]),a([1,6,31,32,43,64,77,82,87,103,121,126,128,137,139,140,141,145,162],[2,251],{147:78,138:104,144:105,146:[1,493],165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Ja,[2,253],{147:78,138:104,144:105,140:[1,494],165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(da,[2,252],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(da,[2,257],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Da,[2,138]),a(Fa,ea,{86:495,87:Ca}),{32:[1,496],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},{32:[1,497],138:104,139:O,141:L,144:105,145:F,147:78,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se},a(Aa,[2,78]),a(Oa,[2,191]),{6:ja,31:Ma,32:[1,498]},{32:[1,499]},a(de,[2,261]),a(Va,[2,265]),a(tt,[2,213],{147:78,138:104,144:105,139:O,141:L,145:F,162:Y,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(ke,[2,153]),{6:ot,31:nt,103:[1,500]},{40:501,41:s,42:l},a(Da,[2,157]),a(Fa,ea,{86:502,87:Ga}),a(Da,[2,158]),{40:503,41:s,42:l},a(Da,[2,177]),a(Fa,ea,{86:504,87:Xa}),a(Da,[2,178]),a(ke,[2,171]),{6:Ya,31:qa,32:[1,505]},{7:506,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{7:507,8:135,12:19,13:t,14:21,15:22,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:Ee,33:71,34:n,35:r,38:56,39:i,40:81,41:s,42:l,44:58,45:d,46:p,47:29,49:26,50:c,51:u,52:m,53:h,54:g,55:f,56:25,63:72,67:55,68:27,69:31,70:30,71:y,78:k,79:xe,80:v,83:33,84:b,85:N,90:54,92:41,94:28,101:_,104:$,106:C,114:D,123:E,124:x,125:I,131:S,135:A,136:R,138:44,139:O,141:L,142:45,143:w,144:46,145:F,147:78,155:P,160:42,161:j,163:M,164:U,165:V,166:B,167:G,168:X},{6:Ka,31:Za,32:[1,508]},a(Da,[2,55]),a(Da,[2,57]),a(ta,[2,96]),a(de,[2,259]),{29:[1,509]},a(ke,[2,152]),{6:ot,31:nt,32:[1,510]},a(ke,[2,174]),{6:rt,31:it,32:[1,511]},a(ka,[2,208]),a(da,[2,254],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(da,[2,255],{147:78,138:104,144:105,165:q,166:z,169:J,170:K,171:Z,172:Q,173:ee,174:ae,175:te,176:oe,177:ne,178:re,179:ie,180:se}),a(Da,[2,139]),{40:512,41:s,42:l},a(Da,[2,159]),a(Da,[2,179]),a(ke,[2,154])],defaultActions:{69:[2,88],70:[2,89],253:[2,133],388:[2,165]},parseError:function(e,a){if(a.recoverable)this.trace(e);else{var t=new Error(e);throw t.hash=a,t}},parse:function(e){var a=this,t=[0],o=[null],n=[],i=this.table,s="",l=0,d=0,c=0,u=1,m=n.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,"undefined"==typeof h.yylloc&&(h.yylloc={});var y=h.yylloc;n.push(y);var k=h.options&&h.options.ranges;this.parseError="function"==typeof g.yy.parseError?g.yy.parseError:Object.getPrototypeOf(this).parseError;_token_stack:var T=function(){var e;return e=h.lex()||u,"number"!=typeof e&&(e=a.symbols_[e]||e),e};for(var v={},b,N,_,$,C,D,p,E,x;;){if(_=t[t.length-1],this.defaultActions[_]?$=this.defaultActions[_]:((null===b||"undefined"==typeof b)&&(b=T()),$=i[_]&&i[_][b]),"undefined"==typeof $||!$.length||!$[0]){var I="";for(D in x=[],i[_])this.terminals_[D]&&D>2&&x.push("'"+this.terminals_[D]+"'");I=h.showPosition?"Parse error on line "+(l+1)+":\n"+h.showPosition()+"\nExpecting "+x.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(l+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(I,{text:h.match,token:this.terminals_[b]||b,line:h.yylineno,loc:y,expected:x})}if($[0]instanceof Array&&1<$.length)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+b);switch($[0]){case 1:t.push(b),o.push(h.yytext),n.push(h.yylloc),t.push($[1]),b=null,N?(b=N,N=null):(d=h.yyleng,s=h.yytext,l=h.yylineno,y=h.yylloc,0n.call(this.compiledComments,i)))&&(this.compiledComments.push(i),s=i.here?new S(i).compileNode(e):new J(i).compileNode(e),s.isHereComment&&!s.newLine||a.includeCommentFragments()?c(s):s.unshift?(null==(o=t[0]).precedingComments&&(o.precedingComments=[]),t[0].precedingComments.push(s)):(null==(r=t[t.length-1]).followingComments&&(r.followingComments=[]),t[t.length-1].followingComments.push(s)));return t}},{key:"cache",value:function cache(e,a,t){var o,n,r;return o=null==t?this.shouldCache():t(this),o?(n=new R(e.scope.freeVariable("ref")),r=new d(n,this),a?[r.compileToFragments(e,a),[this.makeCode(n.value)]]:[r,n]):(n=a?this.compileToFragments(e,a):this,[n,n])}},{key:"hoist",value:function hoist(){var e,a,t;return this.hoisted=!0,t=new A(this),e=this.compileNode,a=this.compileToFragments,this.compileNode=function(a){return t.update(e,a)},this.compileToFragments=function(e){return t.update(a,e)},t}},{key:"cacheToCodeFragments",value:function cacheToCodeFragments(e){return[He(e[0]),He(e[1])]}},{key:"makeReturn",value:function makeReturn(e){var a;return a=this.unwrapAll(),e?new h(new K(e+".push"),[a]):new ge(a)}},{key:"contains",value:function contains(e){var a;return a=void 0,this.traverseChildren(!1,function(t){if(e(t))return a=t,!1}),a}},{key:"lastNode",value:function lastNode(e){return 0===e.length?null:e[e.length-1]}},{key:"toString",value:function toString(){var e=0=W?this.wrapInParentheses(t):t)}},{key:"compileRoot",value:function compileRoot(e){var a,t,o,n,r,i;for(e.indent=e.bare?"":De,e.level=z,this.spaced=!0,e.scope=new ye(null,this,null,null==(r=e.referencedVars)?[]:r),i=e.locals||[],(t=0,o=i.length);t=Y?this.wrapInParentheses(a):a}}]),a}(re),t.StringLiteral=be=function(e){function a(){return _classCallCheck(this,a),_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).apply(this,arguments))}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function compileNode(){var e;return e=this.csx?[this.makeCode(this.unquote(!0,!0))]:_get(a.prototype.__proto__||Object.getPrototypeOf(a.prototype),"compileNode",this).call(this)}},{key:"unquote",value:function unquote(){var e=0=X?"(void 0)":"void 0")]}}]),a}(K),t.NullLiteral=ne=function(e){function a(){return _classCallCheck(this,a),_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this,"null"))}return _inherits(a,e),a}(K),t.BooleanLiteral=u=function(e){function a(){return _classCallCheck(this,a),_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).apply(this,arguments))}return _inherits(a,e),a}(K),t.Return=ge=function(){var e=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.expression=e,t}return _inherits(a,e),_createClass(a,[{key:"compileToFragments",value:function compileToFragments(e,t){var o,n;return o=null==(n=this.expression)?void 0:n.makeReturn(),o&&!(o instanceof a)?o.compileToFragments(e,t):_get(a.prototype.__proto__||Object.getPrototypeOf(a.prototype),"compileToFragments",this).call(this,e,t)}},{key:"compileNode",value:function compileNode(e){var a,t,o,r;if(a=[],this.expression){for(a=this.expression.compileToFragments(e,q),ia(a,this.makeCode(this.tab+"return ")),(o=0,r=a.length);othis.properties.length&&!this.base.shouldCache()&&(null==n||!n.shouldCache()))?[this,this]:(t=new a(this.base,this.properties.slice(0,-1)),t.shouldCache()&&(o=new R(e.scope.freeVariable("base")),t=new a(new de(new d(o,t)))),!n)?[t,o]:(n.shouldCache()&&(r=new R(e.scope.freeVariable("name")),n=new V(new d(r,n.index)),r=new V(r)),[t.add(n),new a(o||t.base,[r||n])])}},{key:"compileNode",value:function compileNode(e){var a,t,o,n,r;for(this.base.front=this.front,r=this.properties,a=this.base.compileToFragments(e,r.length?X:null),r.length&&fe.test(He(a))&&a.push(this.makeCode(".")),(t=0,o=r.length);to.length&&(o=r);this.content=this.content.replace(RegExp("^("+r+")","gm"),"")}return this.content="/*"+this.content+(a?" ":"")+"*/",e=this.makeCode(this.content),e.newLine=this.newLine,e.unshift=this.unshift,e.multiline=l,e.isComment=e.isHereComment=!0,e}}]),a}(p),t.LineComment=J=function(e){function a(e){var t=e.content,o=e.newLine,n=e.unshift;_classCallCheck(this,a);var r=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return r.content=t,r.newLine=o,r.unshift=n,r}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function compileNode(){var e;return e=this.makeCode(/^\s*$/.test(this.content)?"":"//"+this.content),e.newLine=this.newLine,e.unshift=this.unshift,e.trail=!this.newLine&&!this.unshift,e.isComment=e.isLineComment=!0,e}}]),a}(p),t.Call=h=function(){var e=function(e){function a(e){var t=1")),(g=l).push.apply(g,_toConsumableArray(i.compileNode(e,W))),(f=l).push.apply(f,[this.makeCode("")]))}else l.push(this.makeCode(" />"));return l}}]),a}(p);return e.prototype.children=["variable","args"],e}(),t.SuperCall=$e=function(){var e=function(e){function a(){return _classCallCheck(this,a),_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).apply(this,arguments))}return _inherits(a,e),_createClass(a,[{key:"isStatement",value:function isStatement(e){var a;return(null==(a=this.expressions)?void 0:a.length)&&e.level===z}},{key:"compileNode",value:function compileNode(e){var t,o,n,r;if(null==(o=this.expressions)||!o.length)return _get(a.prototype.__proto__||Object.getPrototypeOf(a.prototype),"compileNode",this).call(this,e);if(r=new K(He(_get(a.prototype.__proto__||Object.getPrototypeOf(a.prototype),"compileNode",this).call(this,e))),n=new c(this.expressions.slice()),e.level>z){var i=r.cache(e,null,Fe),s=_slicedToArray(i,2);r=s[0],t=s[1],n.push(t)}return n.unshift(r),n.compileToFragments(e,e.level===z?e.level:W)}}]),a}(h);return e.prototype.children=h.prototype.children.concat(["expressions"]),e}(),t.Super=_e=function(){var e=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.accessor=e,t}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function compileNode(e){var a,t,o,n,r,i,s,l;if(t=e.scope.namedMethod(),(null==t?void 0:t.isMethod)||this.error("cannot use super outside of an instance method"),null==t.ctor&&null==this.accessor){var p=t;o=p.name,l=p.variable,(o.shouldCache()||o instanceof V&&o.index.isAssignable())&&(n=new R(e.scope.parent.freeVariable("name")),o.index=new d(n,o.index)),this.accessor=null==n?o:new V(n)}return(null==(r=this.accessor)||null==(i=r.name)?void 0:i.comments)&&(s=this.accessor.name.comments,delete this.accessor.name.comments),a=new Le(new K("super"),this.accessor?[this.accessor]:[]).compileToFragments(e),s&&Me(s,this.accessor.name),a}}]),a}(p);return e.prototype.children=["accessor"],e}(),t.RegexWithInterpolations=he=function(e){function a(){var e=0"+this.equals,o=null==this.stepNum?l?(a=[this.fromNum,this.toNum],n=a[0],u=a[1],a,n<=u?d+" "+u:r+" "+u):(t=this.stepVar?this.stepVar+" > 0":this.fromVar+" <= "+this.toVar,t+" ? "+d+" "+this.toVar+" : "+r+" "+this.toVar):0=a(this.fromNum-this.toNum))?(c=function(){h=[];for(var e=u=this.fromNum,a=this.toNum;u<=a?e<=a:e>=a;u<=a?e++:e--)h.push(e);return h}.apply(this),this.exclusive&&c.pop(),[this.makeCode("["+c.join(", ")+"]")]):(i=this.tab+De,s=e.scope.freeVariable("i",{single:!0}),m=e.scope.freeVariable("results"),p="\n"+i+m+" = [];",l?(e.index=s,o=He(this.compileNode(e))):(g=s+" = "+this.fromC+(this.toC===this.toVar?"":", "+this.toC),n=this.fromVar+" <= "+this.toVar,o="var "+g+"; "+n+" ? "+s+" <"+this.equals+" "+this.toVar+" : "+s+" >"+this.equals+" "+this.toVar+"; "+n+" ? "+s+"++ : "+s+"--"),d="{ "+m+".push("+s+"); }\n"+i+"return "+m+";\n"+e.indent,r=function(e){return null==e?void 0:e.contains(qe)},(r(this.from)||r(this.to))&&(t=", arguments"),[this.makeCode("(function() {"+p+"\n"+i+"for ("+o+")"+d+"}).apply(this"+(null==t?"":t)+")")])}}]),t}(p);return e.prototype.children=["from","to"],e}(),t.Slice=ke=function(){var e=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.range=e,t}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function compileNode(e){var a=this.range,t,o,n,r,i,s;return i=a.to,n=a.from,r=n&&n.compileToFragments(e,q)||[this.makeCode("0")],i&&(t=i.compileToFragments(e,q),o=He(t),(this.range.exclusive||-1!=+o)&&(s=", "+(this.range.exclusive?o:i.isNumber()?""+(+o+1):(t=i.compileToFragments(e,X),"+"+He(t)+" + 1 || 9e9")))),[this.makeCode(".slice("+He(r)+(s||"")+")")]}}]),a}(p);return e.prototype.children=["range"],e}(),t.Obj=ie=function(){var e=function(e){function a(e){var t=1v)return s.push(new Le(new ie(y.slice(v,a),!0)))};e=y[a];)(d=this.addInitializerExpression(e))&&(k(),s.push(d),i.push(d),v=a+1),a++;k(),o.apply(r,[l,l-l+1].concat(s)),s,l+=s.length}else(d=this.addInitializerExpression(n))&&(i.push(d),r[l]=d),l+=1;for(u=0,h=i.length;uW||e.level===z&&n&&this.variable.base instanceof ie&&!this.nestedLhs&&!0!==this.param?this.wrapInParentheses(t):t)}},{key:"compileObjectDestruct",value:function compileObjectDestruct(e){var t,o,n,r,l,d,p,u,m,g,f,y;if(o=function(t){var o;if(t instanceof a){var n=t.variable.cache(e),r=_slicedToArray(n,2);return t.variable=r[0],o=r[1],o}return t},n=function(t){var n,r;return r=o(t),n=t instanceof a&&t.variable!==r,n||!r.isAssignable()?r:new K("'"+r.compileWithoutComments(e)+"'")},m=function traverseRest(t,r){var l,d,c,u,h,g,f,y,p,k,T;for(k=[],T=void 0,null==r.properties&&(r=new Le(r)),(d=c=0,u=t.length);c=Y?this.wrapInParentheses(n):n;var x=k,I=_slicedToArray(x,1);if(y=I[0],1===T&&y instanceof v&&y.error("Destructuring assignment has no target"),c=this.variable.isObject(),_&&1===T&&!(y instanceof Te)){if(r=void 0,y instanceof a&&"object"===y.context){var S=y;p=S.variable.base,y=S.value,y instanceof a&&(r=y.value,y=y.variable)}else y instanceof a&&(r=y.value,y=y.variable),p=c?y.this?y.properties[0].name:new ce(y.unwrap().value):new re(0);return t=p.unwrap()instanceof ce,C=new Le(C),C.properties.push(new(t?i:V)(p)),g=Je(y.unwrap().value),g&&y.error(g),r&&(r.isDefaultValue=!0,C=new se("?",C,r)),new a(y,C,null,{param:this.param}).compileToFragments(e,z)}for(D=C.compileToFragments(e,W),E=He(D),o=[],s=!1,(!(C.unwrap()instanceof R)||this.variable.assigns(E))&&(b=e.scope.freeVariable("ref"),o.push([this.makeCode(b+" = ")].concat(_toConsumableArray(D))),D=[this.makeCode(b)],E=b),(d=m=0,h=k.length);mz?this.wrapInParentheses(o):o}},{key:"eachName",value:function eachName(e){return this.variable.unwrapAll().eachName(e)}}]),a}(p);return e.prototype.children=["variable","value"],e.prototype.isAssignable=Fe,e}(),t.FuncGlyph=I=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.glyph=e,t}return _inherits(a,e),a}(p),t.Code=f=function(){var e=function(e){function a(e,t,o){_classCallCheck(this,a);var n=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this)),r;return n.funcGlyph=o,n.params=e||[],n.body=t||new c,n.bound="=>"===(null==(r=n.funcGlyph)?void 0:r.glyph),n.isGenerator=!1,n.isAsync=!1,n.isMethod=!1,n.body.traverseChildren(!1,function(e){if((e instanceof se&&e.isYield()||e instanceof Pe)&&(n.isGenerator=!0),(e instanceof se&&e.isAwait()||e instanceof l)&&(n.isAsync=!0),n.isGenerator&&n.isAsync)return e.error("function can't contain both yield and await")}),n}return _inherits(a,e),_createClass(a,[{key:"isStatement",value:function isStatement(){return this.isMethod}},{key:"makeScope",value:function makeScope(e){return new ye(e,this.body,this)}},{key:"compileNode",value:function compileNode(e){var a,t,o,r,p,c,u,g,f,y,T,b,i,N,_,k,l,$,C,D,m,E,x,I,S,A,L,w,F,P,j,M,U,V,B,H,W,Y,q,z,J;for(this.ctor&&(this.isAsync&&this.name.error("Class constructor may not be async"),this.isGenerator&&this.name.error("Class constructor may not be a generator")),this.bound&&((null==(P=e.scope.method)?void 0:P.bound)&&(this.context=e.scope.method.context),!this.context&&(this.context="this")),e.scope=Ve(e,"classScope")||this.makeScope(e.scope),e.scope.shared=Ve(e,"sharedScope"),e.indent+=De,delete e.bare,delete e.isExistentialEquals,L=[],g=[],z=null==(j=null==(M=this.thisAssignments)?void 0:M.slice())?[]:j,w=[],T=!1,y=!1,S=[],this.eachParamName(function(a,t,o){var r;if(0<=n.call(S,a)&&t.error("multiple parameters named '"+a+"'"),S.push(a),t.this)return a=t.properties[0].name.value,0<=n.call(G,a)&&(a="_"+a),r=new R(e.scope.freeVariable(a)),o.renameParam(t,r),z.push(new d(t,r))}),U=this.params,(b=N=0,l=U.length);N")),o.push(this.makeCode(" {")),null==r?void 0:r.length){var oe;(oe=o).push.apply(oe,[this.makeCode("\n")].concat(_toConsumableArray(r),[this.makeCode("\n"+this.tab)]))}return o.push(this.makeCode("}")),this.isMethod?Ye(o,this):this.front||e.level>=X?this.wrapInParentheses(o):o}},{key:"eachParamName",value:function eachParamName(e){var a,t,o,n,r;for(n=this.params,r=[],(a=0,t=n.length);a"===e||">="===e||"<="===e||"==="===e||"!=="===e}},{key:"invert",value:function invert(){var e,a,o,n,i;if(this.isChainable()&&this.first.isChainable()){for(e=!0,a=this;a&&a.operator;)e&&(e=a.operator in t),a=a.first;if(!e)return new de(this).invert();for(a=this;a&&a.operator;)a.invert=!a.invert,a.operator=t[a.operator],a=a.first;return this}return(n=t[this.operator])?(this.operator=n,this.first.unwrap()instanceof r&&this.first.invert(),this):this.second?new de(this).invert():"!"===this.operator&&(o=this.first.unwrap())instanceof r&&("!"===(i=o.operator)||"in"===i||"instanceof"===i)?o:new r("!",this)}},{key:"unfoldSoak",value:function unfoldSoak(e){var a;return("++"===(a=this.operator)||"--"===a||"delete"===a)&&ra(e,this,"first")}},{key:"generateDo",value:function generateDo(e){var a,t,o,n,r,i,s,l;for(i=[],t=e instanceof d&&(s=e.value.unwrap())instanceof f?s:e,l=t.params||[],(o=0,n=l.length);o=X?new de(this).compileToFragments(e):(o="+"===a||"-"===a,("new"===a||"typeof"===a||"delete"===a||o&&this.first instanceof r&&this.first.operator===a)&&t.push([this.makeCode(" ")]),(o&&this.first instanceof r||"new"===a&&this.first.isStatement(e))&&(this.first=new de(this.first)),t.push(this.first.compileToFragments(e,Y)),this.flip&&t.reverse(),this.joinFragmentArrays(t,""))}},{key:"compileContinuation",value:function compileContinuation(e){var a,t,o,r;return t=[],a=this.operator,null==e.scope.parent&&this.error(this.operator+" can only occur inside functions"),(null==(o=e.scope.method)?void 0:o.bound)&&e.scope.method.isGenerator&&this.error("yield cannot occur inside bound (fat arrow) functions"),0<=n.call(Object.keys(this.first),"expression")&&!(this.first instanceof Se)?null!=this.first.expression&&t.push(this.first.expression.compileToFragments(e,Y)):(e.level>=q&&t.push([this.makeCode("(")]),t.push([this.makeCode(a)]),""!==(null==(r=this.first.base)?void 0:r.value)&&t.push([this.makeCode(" ")]),t.push(this.first.compileToFragments(e,Y)),e.level>=q&&t.push([this.makeCode(")")])),this.joinFragmentArrays(t,"")}},{key:"compilePower",value:function compilePower(e){var a;return a=new Le(new R("Math"),[new i(new ce("pow"))]),new h(a,[this.first,this.second]).compileToFragments(e)}},{key:"compileFloorDivision",value:function compileFloorDivision(e){var a,t,o;return t=new Le(new R("Math"),[new i(new ce("floor"))]),o=this.second.shouldCache()?new de(this.second):this.second,a=new r("/",this.first,o),new h(t,[a]).compileToFragments(e)}},{key:"compileModulo",value:function compileModulo(e){var a;return a=new Le(new K(sa("modulo",e))),new h(a,[this.first,this.second]).compileToFragments(e)}},{key:"toString",value:function toString(e){return _get(r.prototype.__proto__||Object.getPrototypeOf(r.prototype),"toString",this).call(this,e,this.constructor.name+" "+this.operator)}}]),r}(p),a,t;return a={"==":"===","!=":"!==",of:"in",yieldfrom:"yield*"},t={"!==":"===","===":"!=="},e.prototype.children=["first","second"],e}(),t.In=U=function(){var e=function(e){function a(e,t){_classCallCheck(this,a);var o=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return o.object=e,o.array=t,o}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function compileNode(e){var a,t,o,n,r;if(this.array instanceof Le&&this.array.isArray()&&this.array.base.objects.length){for(r=this.array.base.objects,t=0,o=r.length;t= 0"))),He(r)===He(n))?o:(o=r.concat(this.makeCode(", "),o),e.leveln.call(r,a)&&r.push(a);delete e.comments}if(null==(d=e.name)?void 0:d.comments){for(p=e.name.comments,o=0,s=p.length;on.call(r,a)&&r.push(a);return delete e.name.comments}}),Me(r,o),Qe(o.expression,o),o}return _inherits(a,e),_createClass(a,[{key:"compileNode",value:function compileNode(e){var a,t,o;if(this.expression.front=this.front,o=this.expression.compile(e,Y),this.expression.unwrap()instanceof R&&!e.scope.check(o)){var n=this.negated?["===","||"]:["!==","&&"],r=_slicedToArray(n,2);a=r[0],t=r[1],o="typeof "+o+" "+a+" \"undefined\""+("undefined"===this.comparisonTarget?"":" "+t+" "+o+" "+a+" "+this.comparisonTarget)}else a="null"===this.comparisonTarget?this.negated?"==":"!=":this.negated?"===":"!==",o=o+" "+a+" "+this.comparisonTarget;return[this.makeCode(e.level<=H?o:"("+o+")")]}}]),a}(p);return e.prototype.children=["expression"],e.prototype.invert=ae,e}(),t.Parens=de=function(){var e=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.body=e,t}return _inherits(a,e),_createClass(a,[{key:"unwrap",value:function unwrap(){return this.body}},{key:"shouldCache",value:function shouldCache(){return this.body.shouldCache()}},{key:"compileNode",value:function compileNode(e){var a,t,o;return(t=this.body.unwrap(),t instanceof Le&&t.isAtomic()&&!this.csxAttribute)?(t.front=this.front,t.compileToFragments(e)):(o=t.compileToFragments(e,q),a=e.level=o.length),this.csxAttribute?this.wrapInBraces(o):a?o:this.wrapInParentheses(o))}}]),a}(p);return e.prototype.children=["body"],e}(),t.StringWithInterpolations=Ne=function(){var e=function(e){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this));return t.body=e,t}return _inherits(a,e),_createClass(a,[{key:"unwrap",value:function unwrap(){return this}},{key:"shouldCache",value:function shouldCache(){return this.body.shouldCache()}},{key:"compileNode",value:function compileNode(e){var t,o,n,r,i,s,l,d,p;if(this.csxAttribute)return p=new de(new a(this.body)),p.csxAttribute=!0,p.compileNode(e);for(r=this.body.unwrap(),n=[],d=[],r.traverseChildren(!1,function(e){var a,t,o,r,i,s;if(e instanceof be){if(e.comments){var l;(l=d).push.apply(l,_toConsumableArray(e.comments)),delete e.comments}return n.push(e),!0}if(e instanceof de){if(0!==d.length){for(t=0,r=d.length;tw,!(this.step&&null!=w&&p)&&(N=S.freeVariable("len")),r=""+v+k+" = 0, "+N+" = "+P+".length",i=""+v+k+" = "+P+".length - 1",o=k+" < "+N,n=k+" >= 0",this.step?(null==w?(o=F+" > 0 ? "+o+" : "+n,r="("+F+" > 0 ? ("+r+") : "+i+")"):p&&(o=n,r=i),f=k+" += "+F):f=""+(T===k?k+"++":"++"+k),u=[this.makeCode(r+"; "+o+"; "+v+f)])),this.returns&&(E=""+this.tab+I+" = [];\n",x="\n"+this.tab+"return "+I+";",a.makeReturn(I)),this.guard&&(1=H?this.wrapInParentheses(n):n}},{key:"unfoldSoak",value:function unfoldSoak(){return this.soak&&this}}]),a}(p);return e.prototype.children=["condition","body","elseBody"],e}(),Re={modulo:function modulo(){return"function(a, b) { return (+a % (b = +b) + b) % b; }"},objectWithoutKeys:function objectWithoutKeys(){return"function(o, ks) { var res = {}; for (var k in o) ([].indexOf.call(ks, k) < 0 && {}.hasOwnProperty.call(o, k)) && (res[k] = o[k]); return res; }"},boundMethodCheck:function boundMethodCheck(){return"function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } }"},_extends:function _extends(){return"Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }"},hasProp:function hasProp(){return"{}.hasOwnProperty"},indexOf:function(){return"[].indexOf"},slice:function(){return"[].slice"},splice:function(){return"[].splice"}},z=1,q=2,W=3,H=4,Y=5,X=6,De=" ",fe=/^[+-]?\d+$/,sa=function(e,a){var t,o;return o=a.scope.root,e in o.utilities?o.utilities[e]:(t=o.freeVariable(e),o.assign(t,Re[e](a)),o.utilities[e]=t)},ea=function(e,a){var t=2=e);)e--;return a&&[a.sourceLine,a.sourceColumn]}}]),e}(),o=function(){var e=function(){function e(){_classCallCheck(this,e),this.lines=[]}return _createClass(e,[{key:"add",value:function add(e,a){var o=2=t);)t--;return n&&n.sourceLocation(o)}},{key:"generate",value:function generate(){var e=0"],y={version:3,file:e.generatedFile||"",sourceRoot:e.sourceRoot||"",sources:f,names:[],mappings:t},(e.sourceMap||e.inlineMap)&&(y.sourcesContent=[a]),y}},{key:"encodeVlq",value:function encodeVlq(e){var t,o,s,l;for(t="",s=0>e?1:0,l=(a(e)<<1)+s;l||!t;)o=l&i,l>>=r,l&&(o|=n),t+=this.encodeBase64(o);return t}},{key:"encodeBase64",value:function encodeBase64(e){return o[e]||function(){throw new Error("Cannot Base64 encode value: "+e)}()}}]),e}(),o,n,r,i;return r=5,n=1<",d(r,e),null==k[r]&&(k[r]=[]),k[r].push(e),u&&(_=new s),S=h.tokenize(e,a),a.referencedVars=function(){var e,a,t;for(t=[],e=0,a=S.length;e"),d=e.getLineNumber(),o=e.getColumnNumber(),c=a(r,d,o),n=c?r+":"+c[0]+":"+c[1]:r+":"+d+":"+o),i=e.getFunctionName(),s=e.isConstructor(),l=!(e.isToplevel()||s),l?(p=e.getMethodName(),m=e.getTypeName(),i?(u=t="",m&&i.indexOf(m)&&(u=m+"."),p&&i.indexOf("."+p)!==i.length-p.length-1&&(t=" [as "+p+"]"),""+u+i+t+" ("+n+")"):m+"."+(p||"")+" ("+n+")"):s?"new "+(i||"")+" ("+n+")":i?i+" ("+n+")":n},u=function(e,a,t){var n,s,i,l,d,c;if(!(""===e||(l=e.slice(e.lastIndexOf(".")),0<=o.call(r,l))))return null;if(""!==e&&null!=y[e])return y[e][y[e].length-1];if(null!=y[""])for(d=y[""],s=d.length-1;0<=s;s+=-1)if(i=d[s],c=i.sourceLocation([a-1,t-1]),null!=(null==c?void 0:c[0])&&null!=c[1])return i;return null==k[e]?null:(n=p(k[e][k[e].length-1],{filename:e,sourceMap:!0,literate:m.isLiterate(e)}),n.sourceMap)},Error.prepareStackTrace=function(e,t){var o,n,r;return r=function(e,a,t){var o,n;return n=u(e,a,t),null!=n&&(o=n.sourceLocation([a-1,t-1])),null==o?null:[o[0]+1,o[1]+1]},n=function(){var e,n,i;for(i=[],e=0,n=t.length;e diff --git a/documentation/test.html b/documentation/site/test.html similarity index 83% rename from documentation/test.html rename to documentation/site/test.html index dc2ad5abef..777c9b08ee 100644 --- a/documentation/test.html +++ b/documentation/site/test.html @@ -132,10 +132,29 @@

                CoffeeScript Test Suite

                msg = "failed #{total - passedTests} tests and #{msg}" unless yay say msg, (if yay then 'good' else 'bad') + gtag 'event', 'tests_complete', + event_category: 'tests' + event_label: if yay then 'passed' else 'failed' + value: if yay then passedTests else total - passedTests + gtag 'event', 'tests_report', + event_category: 'tests' + event_label: msg + gtag 'event', 'timing_complete', + name: 'tests_run' + value: sec * 1000 + Promise.all(asyncTests).then(done).catch(done) <%= tests %> + + diff --git a/documentation/v2/try.html b/documentation/site/try.html similarity index 94% rename from documentation/v2/try.html rename to documentation/site/try.html index aaa33d560b..25eef132c3 100644 --- a/documentation/v2/try.html +++ b/documentation/site/try.html @@ -9,7 +9,7 @@
              -   +
              diff --git a/documentation/v1/body.html b/documentation/v1/body.html deleted file mode 100644 index ca15c61c85..0000000000 --- a/documentation/v1/body.html +++ /dev/null @@ -1,155 +0,0 @@ -
              - - - -
              - - <%= htmlFor('introduction') %> - <%= htmlFor('overview') %> - - <%= htmlFor('installation') %> - - <%= htmlFor('usage') %> - - <%= htmlFor('literate') %> - - <%= htmlFor('language') %> - - <%= htmlFor('functions') %> - - <%= htmlFor('objects_and_arrays') %> - - <%= htmlFor('lexical_scope') %> - - <%= htmlFor('conditionals') %> - - <%= htmlFor('splats') %> - - <%= htmlFor('loops') %> - - <%= htmlFor('slices') %> - - <%= htmlFor('expressions') %> - - <%= htmlFor('operators') %> - - <%= htmlFor('existential_operator') %> - - <%= htmlFor('classes') %> - - <%= htmlFor('destructuring') %> - - <%= htmlFor('fat_arrow') %> - - <%= htmlFor('embedded') %> - - <%= htmlFor('switch') %> - - <%= htmlFor('try') %> - - <%= htmlFor('comparisons') %> - - <%= htmlFor('strings') %> - - <%= htmlFor('tagged_template_literals') %> - - <%= htmlFor('heregexes') %> - - <%= htmlFor('modules') %> - - <%= htmlFor('cake') %> - - <%= htmlFor('source_maps') %> - - <%= htmlFor('scripts') %> - - <%= htmlFor('books') %> - - <%= htmlFor('screencasts') %> - - <%= htmlFor('examples') %> - - <%= htmlFor('resources') %> - - <%= htmlFor('chat') %> - - <%= htmlFor('changelog') %> -
              diff --git a/documentation/v1/code.coffee b/documentation/v1/code.coffee deleted file mode 100644 index efdeeb5549..0000000000 --- a/documentation/v1/code.coffee +++ /dev/null @@ -1,25 +0,0 @@ -fs = require 'fs' -CoffeeScript = require '../../lib/coffeescript' - - -module.exports = -> - counter = 0 - hljs = require 'highlight.js' - hljs.configure classPrefix: '' - (file, executable = no, showLoad = yes) -> - counter++ - cs = fs.readFileSync "documentation/examples/#{file}.coffee", 'utf-8' - js = CoffeeScript.compile cs, bare: yes - js = js.replace /^\/\/ generated.*?\n/i, '' - - cshtml = "
              #{hljs.highlight('coffeescript', cs).value}
              " - jshtml = "
              #{hljs.highlight('javascript', js).value}
              " - append = if executable is yes then '' else "alert(#{executable});".replace /"/g, '"' - if executable and executable isnt yes - cs.replace /(\S)\s*\Z/m, "$1\n\nalert #{executable}" - run = if executable is yes then 'run' else "run: #{executable}" - name = "example#{counter}" - script = "" - load = if showLoad then "
              load
              " else '' - button = if executable then """
              #{run}
              """ else '' - "
              #{cshtml}#{jshtml}#{script}#{load}#{button}
              " diff --git a/documentation/v1/docs.coffee b/documentation/v1/docs.coffee deleted file mode 100644 index a54201f929..0000000000 --- a/documentation/v1/docs.coffee +++ /dev/null @@ -1,95 +0,0 @@ -sourceFragment = "try:" - -# Set up the compilation function, to run when you stop typing. -compileSource = -> - source = $('#repl_source').val() - results = $('#repl_results') - window.compiledJS = '' - try - window.compiledJS = CoffeeScript.compile source, bare: on - el = results[0] - if el.innerText - el.innerText = window.compiledJS - else - results.text(window.compiledJS) - results.removeClass 'error' - $('.minibutton.run').removeClass 'error' - catch {location, message} - if location? - message = "Error on line #{location.first_line + 1}: #{message}" - results.text(message).addClass 'error' - $('.minibutton.run').addClass 'error' - - # Update permalink - $('#repl_permalink').attr 'href', "##{sourceFragment}#{encodeURIComponent source}" - -# Listen for keypresses and recompile. -$('#repl_source').keyup -> compileSource() - -# Use tab key to insert tabs -$('#repl_source').keydown (e) -> - if e.keyCode is 9 - e.preventDefault() - textbox = e.target - # Insert tab character at caret or in selection - textbox.value = textbox.value[0...textbox.selectionStart] + "\t" + textbox.value[textbox.selectionEnd...] - # Put caret in correct position - textbox.selectionEnd = ++textbox.selectionStart - -# Eval the compiled js. -evalJS = -> - try - eval window.compiledJS - catch error then alert error - -# Load the console with a string of CoffeeScript. -window.loadConsole = (coffee) -> - $('#repl_source').val coffee - compileSource() - $('.navigation.try').addClass('active') - false - -# Helper to hide the menus. -closeMenus = -> - $('.navigation.active').removeClass 'active' - -$('.minibutton.run').click -> evalJS() - -# Bind navigation buttons to open the menus. -$('.navigation').click (e) -> - return if e.target.tagName.toLowerCase() is 'a' - return false if $(e.target).closest('.repl_wrapper').length - if $(this).hasClass('active') - closeMenus() - else - closeMenus() - $(this).addClass 'active' - false - -$(document).on 'click', '[href="#try"]', (e) -> - $('.navigation.try').addClass 'active' - -# Dismiss console if Escape pressed or click falls outside console -# Trigger Run button on Ctrl-Enter -$(document.body) - .keydown (e) -> - closeMenus() if e.which == 27 - evalJS() if e.which == 13 and (e.metaKey or e.ctrlKey) and $('.minibutton.run:visible').length - .click (e) -> - return false if $(e.target).hasClass('minibutton') - closeMenus() - -$('#open_webchat').click -> - $(this).replaceWith $('') - -$("#repl_permalink").click (e) -> - window.location = $(this).attr("href") - false - -# If source code is included in location.hash, display it. -hash = decodeURIComponent location.hash.replace(/^#/, '') -if hash.indexOf(sourceFragment) == 0 - src = hash.substr sourceFragment.length - loadConsole src - -compileSource() diff --git a/documentation/v1/docs.css b/documentation/v1/docs.css deleted file mode 100644 index 705617d827..0000000000 --- a/documentation/v1/docs.css +++ /dev/null @@ -1,441 +0,0 @@ -body { - font-size: 14px; - line-height: 21px; - color: #333; - background: #f6f6f6 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAADCAIAAABee8vuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAB1JREFUeNpi/P79O8PgAyzMzMyD0FlMDIMSAAQYAC22AvZUamhbAAAAAElFTkSuQmCC); - font-family: "Helvetica Neue", "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, sans-serif !important; -} -.container { - width: 950px; - margin: 0; - padding: 80px 0px 50px 50px; - clear: both; -} -p, li { - width: 625px; -} -a { - color: #191933; -} -h1, h2, h3, h4, h5, h6, b.header { - color: #000; - margin-top: 40px; - margin-bottom: 15px; - text-shadow: #fff 0 1px 1px; -} -h2 { - font-size: 18px; -} -h3 { - font-size: 14px; -} -br.clear { - height: 0; - clear: both; -} -ul { - padding-left: 20px; -} -b.header { - display: block; -} -li { - margin-bottom: 10px; -} -table { - margin: 16px 0 0 13px; padding: 0; -} - tr, td { - margin: 0; padding: 0; - } - td { - padding: 9px 15px 9px 0; - vertical-align: top; - } - th { - text-align: left; - } -table.definitions { - width: auto; - margin: 30px 0; - border-left: 5px solid rgba(0,0,0,0.2);; -} - table.definitions td { - text-align: center; - padding: 5px 20px; - } -blockquote { - margin-left: 0; - margin-right: 0; -} -code, pre, pre > code, textarea { - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; - line-height: 18px; - color: #155; - white-space: pre-wrap; - word-wrap: break-word; -} - p > code, li > code { - display: inline-block; - background: #fff; - border: 1px solid #dedede; - padding: 0px 0.2em; - } - blockquote > pre { - margin: 0; - border-left: 5px solid rgba(0,0,0,0.2); - padding: 3px 0 3px 12px; - font-size: 12px; - } - td code { - white-space: nowrap; - } -.timestamp { - font-size: 11px; - font-weight: normal; - text-transform: uppercase; -} -.nowrap { - white-space: nowrap; -} -div.anchor { - position: relative; - top: -90px; - margin: 0 0 -20px; -} -div.code { - position: relative; - background: #fff; - border: 1px solid #d8d8d8; - -webkit-box-shadow: 0px 0px 4px rgba(0,0,0,0.23); - -moz-box-shadow: 0px 0px 4px rgba(0,0,0,0.23); - box-shadow: 0px 0px 4px rgba(0,0,0,0.23); - zoom: 1; -} - div.code .minibutton { - text-transform: none; - position: absolute; - right: 8px; bottom: 8px; - } - div.code .load { - left: 8px; right: auto; - } - div.code pre, div.code textarea { - float: left; - width: 450px; - background: #fff; - border: 1px dotted #d0d0d0; - border-top-width: 0; - border-bottom-width: 0; - border-right-width: 0; - margin: 15px 3px; - padding: 0 0 26px 12px; - } - div.code pre:first-child { - border-left: 0; - } - -#fadeout { - z-index: 50; - position: fixed; - left: 0; top: 0; right: 0; - height: 100px; - background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 255)), to(rgba(255, 255, 255, 0))); - background: -moz-linear-gradient(top, rgba(255, 255, 255, 255), rgba(255, 255, 255, 0)); -} - -#flybar { - position: fixed; - z-index: 100; - height: 50px; - min-width: 490px; - left: 40px; right: 40px; top: 25px; - background: #eee; - background: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#dadada)); - background: -moz-linear-gradient(top, #f8f8f8, #dadada); - border: 1px solid #aaa; - border-top: 1px solid #bbb; - border-bottom: 1px solid #888; - -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; - -webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.1); - -moz-box-shadow: 0 3px 5px rgba(0,0,0,0.1); - box-shadow: 0 3px 5px rgba(0,0,0,0.1); -} - #logo { - display: block; - outline: none; - float: left; - width: 242px; - margin-left: 10px; - } - #logo svg { - width: 225px; - height: 40px; - margin: 5px 0 0 3px; - } - #logo path { - fill: #28334C; - } - .navigation { - height: 50px; - font-size: 11px; - line-height: 50px; - text-transform: uppercase; - position: relative; - float: left; - padding: 0 20px; - border: 1px solid #aaa; - border-top: 0; border-bottom: 0; border-left-width: 0; - cursor: pointer; - } - .navigation.toc { - border-left-width: 1px; - } - .navigation:hover, - .navigation.active { - background: #eee; - background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#f8f8f8)); - background: -moz-linear-gradient(top, #eee, #f8f8f8); - } - .navigation.active { - height: 51px; - color: #000; - background: -webkit-gradient(linear, left top, left bottom, from(#e5e5e5), to(#fff)); - background: -moz-linear-gradient(top, #e5e5e5, #fff); - } - .navigation .button { - font-weight: bold; - } - .navigation .button::selection { - background: transparent; - } - .navigation .contents { - display: none; - position: absolute; - background: #fff; - opacity: 0.97; - top: 51px; left: 0; - padding: 5px 0; - margin-left: -1px; - border: 1px solid #aaa; - -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; - -webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.2); - -moz-box-shadow: 0 3px 5px rgba(0,0,0,0.2); - box-shadow: 0 3px 5px rgba(0,0,0,0.2); - } - .navigation .contents a { - display: block; - width: 290px; - text-transform: none; - text-decoration: none; - height: 12px; - line-height: 12px; - padding: 4px 10px; - border: 1px solid transparent; - border-left: 0; border-right: 0; - } - .navigation .contents a:hover { - border-color: #ddd; - background: #eee; - } - .navigation.active .contents { - display: block; - } - .navigation .contents.menu { - z-index: 100; - border-top: 0; - -webkit-border-top-left-radius: 0; -moz-border-radius-topleft: 0; border-top-left-radius: 0; - -webkit-border-top-right-radius: 0; -moz-border-radius-topright: 0; border-top-right-radius: 0; - } - .navigation .contents.repl_wrapper { - padding: 0; - position: fixed; - width: auto; height: auto; - left: 40px; top: 90px; right: 40px; bottom: 30px; - background: -webkit-gradient(linear, left top, left bottom, from(#fafafa), to(#eaeaea)); - } - .navigation .repl_bridge { - position: absolute; - height: 12px; - left: -1px; right: -1px; - bottom: -14px; - border: 1px solid #aaa; - z-index: 5; - background: #fff; - display: none; - border-top-color: #fff; border-bottom-color: #fff; - } - .navigation.active .repl_bridge { - display: block; - } - .navigation .code .minibutton { - top: 10px; right: 10px; - width: 40px; - text-transform: none; - } - .navigation .code a.minibutton.permalink { - top: 38px; - display: block; - } - -.bookmark { - display: block; - width: 0; height: 0; - position: relative; - top: -90px; -} - -.navigation .contents.repl_wrapper .code { - cursor: text; - -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; - background: #181a3a url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAYAAAAmL5yKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACZJREFUeNpi/P//PyMDBYCJgULAAsQD64JRL1ApDP6PeoEyABBgAKOyBSJI2bJcAAAAAElFTkSuQmCC); - border: 2px solid #555; - padding: 0; - position: absolute; - top: 15px; left: 15px; right: 15px; bottom: 15px; -} - .repl_wrapper .screenshadow { - position: absolute; - width: 200px; height: 150px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAEsCAYAAADtt+XCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAEQZJREFUeNrs3Qly27i6gFGKouwF3DV09r+erOTFmp7oBtMIo5HiAIDnVKXct+t2LGvApx8k5c0///zzv4p3Hds/m83m++v5wl2Sv58/f361X3/8+PHh3sjf5fW5uXzZXl6e2/Zr+MMbGnfBeNHQjeyce19v/btDu/5061C8Jl35d6T6YP/7Am0fy4OYCMgSTiEaB9HIJgrPRuLR4373ze0TcRGb9GPShJDU7iEBGXNBOoYn2kE0kng8zlf++dr/XnKSuRebzY3/vRGY5WMSQtLFxOMhIIPE0TiFJ5p7ZblAvDo15PDzPTPNCMz8Mdm3fy6v/boXEwTk4VaFLaplI3F239wN5UZcZotJux58XdaDNii2uATkuWlDNEYPhUjMM8FcC4qwjDOVdFtcphIB+f1CPISzqBzbEIqS4yIs00wlTTiLq1nrfbnGgJyiaeMoGm/HQijyD4uoDJtKumMl22gqWdX21poCYptKLHgcFlF5PSbdNWH7tW1vrSEgwiEWiMocIem2tw5rCUnJATlUrt14tFCcosXi5C7hhajUUVxqQbkakngiKXKtLfGHEg7TBdM79aZ8U8rfIfk+TtKbSIpac0v6YY7Rg7X2cAgGS08pgnI7JLuqkK2tEgLSHePYrzwcJ8Ego6Cs7mK8Xkh2VQHHSHIOyCl6MNZ4cLx7gZ4Eg4yDUq9tOgkh+epNJFkGtcn0ibgPE8fawmHKoMQ3QKucTnpnbe1CSLIKaW4B6SaOw0rCYcrAdFL4dBJC8qv9VIxoIhGQER3DRwfsVxAO0UBQ/p5Oio9J+8Y4+iDXLA60px6QP45zFP6C6W9PAbe3uoq89iS8Qd73ppFkt/RSDkhb46+CP69KNGBYTKob00lJIemOj7Tr30eqa3WKN+qP03ILfjclGjBuTIrb5mrfQF/Wwv9L9bTf1ALSnV1V2tRxEg2Y5Y1ZPJUUcTZXdNrvMTpbS0B6U0cXj5Ke1KfoKzBvTOqqoC2uMI0cw6f/JnGQPYWAlDR12KKCtCb/qipoiys6yH5KYRppFn5w94Uc6zBtgKlk7mnkFA62L3am1lIB6Q6S535BoGMbkP9UkuWxkujYyCk6yF58QPbh9Nxc36nH72ZMG1DGVJLt9la4APEUgjLrltacATlF8cj1CWebCsqcSrLe3mrfkIfTfWfd0porIMcQjhy3rOJpwzYVlB2S6spUkktE2i/dllZ78eHkZ2nNEZDfV5QLB5DJa/+YcUjaNfc8xxXsUwfkK8TjnNmTRziAbEMSXcHeRuQjt4Cco3gIByAk80fkfFmDf4U38B9T3OYpAvL9IWBVPh+9LhxAkSHpjouE2/5RjXxwfewj9d8Hy9t4ZPKEOIUnxFE8gBdD0sUkB/uwNo96LHrMCeT3mVaZhMN1HMAY60hdZXBB4mVt3kcH10c5Q2usgBzDXlvqZ1rZrgKmCEl3YWLS21rRGVqfY0RkjGLmEg/bVcCUb06z2NYKZ2j9qkbYzno3IIcM4tE+sIfwx5YVMPUb1W69SfaNahSRtw45vBOQYwYXCJ6EA7D23IzIWwfWhwYk9W2rcw7vAoCiJb8OvbudNSQgqU8epg7AmjTDJPJqQE6Jn6pr6gBSn0ZSjMghROSlyNUv3gGpxuNs6gAymkaSe5Mb1vavV27bK9eBpHqFeXfanKkDyCUi3TUj28RuW7vGt9exfI45gXyF8SbFqcN1HUBuuutGkptGwlr/1Hr/TEAOCX6qrgPlQCnTSFJrWbvWh4g8PFzxKCDHxH6fR7LVBnhjXUtqNyV8FPzDM7PuBaT9C/YJna4bfxQJQGmS+iiUcHrv/l7U7h1EbyePfUJ3rAPlQOniD2Zc/AB7aMDNg+q3JpBDKI/RDmD+dS+ZrfrQgsOzATklctzjVOX1C1sAilsDo+Mhp2cCksJxj9x+2xfAlBFZdE0OTdg/CkgKW1eOdwBE63cUksVc28qKA7L01pXjHQC318dFj4tc28qKA7Lk1tW5smUF8MhpyTfZ/a2sLiDt+b5LfUiieABkEpHQimMckHb6OC14R4gHQAZrZ2jFvgvIYaHp4xT9ASCTNTQ049CEjys5r+UHBygsIp16rm8aDqjvmwV+QZR4AOQfkUOzwA8qHgAFRGTOgJzFA2DyiGzCn8nNVSqn6gLME5HZTvGdIyDiAVBgROYIiHgALBORrAMiHgCFRmTKgPj1swDLmnQdniogzrYCSGcSmWQ9niIg3em6PpIdYHmTrclTBMRxD4D0ppDRt7LGDoh4AKwkIvXIN048ANKOyGjr9FgBcdwDIH2jrtVjBcT0AbCyKaQe6ca43gMgH6Mcr343IGeTB0C2k8hbW1n1CDdAQADyDMhb63e95DcHIN+IDA2Is64A8vfWWj40IKYPgJVPIUMC4sA5QHkReXkKGRKQ2X5dIgCz6H5z7KQBcdwDoNyIvLS7JCAATB4QB84ByvbSOv9qQAAoPyKjBsT0AWAKGRwQAEwhLwXE9AFgChkcEABMIS8FxGm7AOv08LTe+om/QEAA1hmQ89CA+MwrgHW7uwtVD/0PAVjFFHIaOoEAICIvBcSpuwDc7UFt+gBgyBRS3/g/mj4AiKeQ87MBMYEAcLcL9Y3SAMDdNtSmDwCGTCECAsAoAbF9BcAtp0cTCADcmkKuBsRHlwDwKCCnawERDwCenkIEBIC3AuLsKwCeDchZQAAYJSAA8GxEBAQAAQFg5oA4/gHAqwE51+IBwJCICAgAAgLAvAEBgJeZQAAYNIFszmf9AGDYBAIAAgKAgAAgIAAICAAICAACAoCAACAgAAgIAAgIAAICgIAAICAACAgACAgAAgKAgAAgIAAICAAICAACAoCAACAgAAgIAAgIAAICgIAAICAACAgACAgAAgKAgAAgIAAICAAICAACAoCAACAgAAiIuwAAAQFAQAAQEAAEBAAEBAABAUBAABAQAAQEAAQEAAEBQEAAEBAABAQABAQAAQFAQAAQEAAEBAAEBAABASAJzY8fPzaXr2d3Bfzp58+f318vrxF3Bvxt004gG/cDAEMCAgAvM4EAMHgCERAABASAeQMiIgA8HY8qOoguIAC8EpBKQAAQEACWCYiIAPBMPAQEgPcDUgkIAE8GpBIQAEYJiIsKAXgUj/paQEwhADw1fVwLiE/nBeCW+l4wnI0FwK3pYyMgAIwekFv/DoB1q5+JhSkEgIdduBUQUwgAcSueCkhlAgHgURPqO7UxhQBwswf1q8UBwPTxKCA+2gRAPOohAXEwHWDd6qETSBcRUwjAOqePzaO6DK4PAEUHpH4nIM/+fwAoS/32/6FySi/AGuMxSkBMIQCmj7cCIiIApo9Bk4WAAJg+BgdERABMH4OmCqf1ApTp5YvHBQSAWQLS2ooIQHHx2L76H9UDv5FjIQDlGLS7VL/xzUQEoIx41EP/w6HjjuMhAHl7ay1/Z4owhQCsdPp4NyAiArDSeIwREAfUAfINyObdv2CMG7H1WABkYzvG+j/W9GArCyCfyaMe6y8ag7OyANI36lo95tRgCgFYyfQxdkBa20pEAFKNx3bsv3BsIgJQeDymCojjIQDpmGxNnmpScDwEIJ3po57qL57KtnJ9CMCSJl2H6xluvEkEYJnJYzv1N5ijgCICUFA85grIRkQAZo/HZo5vNAcRASgoHnMGpIuIs7MAplvPZ72EolngB+ycPN4Ao8Zj1jfo9WazadbwgwKIx3jadtTn83l3+YfNGn5gAPEYJR6bth3tN20u/9Cs5QcHEI/3hGY03Tdup5B6oTvA2VkAmaydoRW7Kvrm24WmkO/bIyIAL8djkQ+sDa3YVr1Fu51ClvrsKhEBSDweoRG7+Mb8/udLWT4WOKAeR6RZ8s4BSFT3JrtZMB7tgfOPuBv9d/ztAfXdwndUN4mICMB/F2Ev+unmoQ1NfxzqW3IrK46ILS1g7eoqgV+N0d+6uheQpbey+neciABrjseia+C1rat7AWmlsJXVjW6OiwBrsvjxjti1ratHAWm1U8gukTvUlhawpqkjid/mGhrwce/G3vxvw8ecbN2xAOt6o9yu/WH62AwJyPcPlMjxkCRHO4CR1rWktuqj4x7bR+/qH2lCRFIb85rKlhaQt+TWsnatD/Fonrnxz/gIf6FqA4yzfiW5mxLW+qfW+1c+/6r9C8+XP/vEHohuz/BY+SVVQB5TR6pvfHfPxuOVCaQr5scCv4DqlWnElhaQejySPIYb1vaPV27bqwtud5Fhk+iD01QOsAPpvslNcu1s1/RbFwuOGZBWd2ZWqqfTOsAOWJOej8f2mTOuxgpIF5HPhCOyMY0A1qGn4vFZDby+7p0ipj6JmEYAa88Ek0fn3f24dt+svebk1+XrMfF3AafoD8BU4Vjk95TPOXmMMYHEk8hn4pNI97N2HxVgWwsY+41qFp/ZN1Y8qhF/0C4ijQcZWOHUkcWb03C21SjxaI254P/+3KzL130GD3j7x7YW8O46ksWb0faTdcOHI462WzT2xNBGpCvwPpMnwCb8aSNy9poAHq3FUThy2Q7fDbnOY+6AdIvy57/B23xdbnQOT4ZtbyIREiD7cEQfjPgxxW1uJryjP8MZWm1Ezpk8OYQEKGHiiD+SfbIPwp36oHf7Kb51iMgxoyeLkABZhiPEY/vsR7KnHJDv7xFNIofMnjxCAsKR143/73OtJr+0Yq7TbrvzjutMjovcC8m5ctYWlKiO4pFjOL6Pd4QzrWY5M6yZ+cH5jLa0cluEu5Cce1MJkH844jMy8xuZNps6TB27Ob/vEhf+7cKW1j6zLa04JJvq760t21uQ5+s464uKw5bVbon1fKkrx9sf+PuBCyHJdfHtnnznyvYW5PKazXabqheO9iyr3ZxbVqkEpHsguy2tfUZnad16N9Pf3jKVQHrTRrbbVL14bEM4dkvejhQ+u2oXppF9CEkpT1RTCZg2xg5HFU0di3+AbSoffvj9QWSXO2VbwDTSn0qqyrESWOJNXFEfmJrK1JFiQPrTyCHzYyPX3gnVUUDEBKaJRhFbVL1wdMc6mhSmjpQD0p9GvgqZRq490fshERN4/bVU1BbVjalj8ivKSwrI79sWHRs5ZHjdyDMvgO7dhJiAaMThaK/raJY8wyr3gFTVf2dqNe2WVhuTcna17sbENhf8PbUXtz11JRztl2QOkucekM73llb7NUwjh5W8YMQE0VjJr6AOFwS2a/Iul9vcZHYfdweSulN+Tyt6IVXV39tcgkJJz/P+830dP/y/21Xd1JFVLJtMn2wfUUgOKwhJJ35hmU4wZeQfjuSPc5QWkHgx/QwhKe20X9MJpoxyw5HsablrCkinO+03nkjWuHhem04EhVSCscop40o4mlwOkK8lIP2QHMJEstaQVFderIKCYCwfjqawNbesHyb6mRohuRuULirxb1n0eV0MmXiLvyZDONYVkH5IjlFILJJ/RmVrSsF0MXo46igc25J/1mYFj2d8jERIXp9SREUsxEI4VhuQfkh2UUiOnvai4vEVizfDsY3Csaqzy5oVPt7tA/wRheR7i8txklGjUglLso+ZWIwTjfa+a6PR7W6s8r5sVv6i6q7+dJxk/KgIi1CUGI7VbVMJyGPx9taxDUn71VQyeVgqcRklEpVQTD5tdNtU22rFF0EKyH3fv/jJVLJYWB7FpVpBYDZXvoqEaUNAMp1KPnox8Q55ubg8mlhymGD6P59AJDZtdNdthGnD4yEgb7/guydUO4nY4ko/MNWDyWXsaaY/NdyaJCoLUprRqGxRCcgM+ltcx3AWl5ikFZhnF+pHcTlFj/szkSC/aPz+XUPuFQGZU7fFVYlJsbH58joRDW77fwEGANUZsxMt/7FyAAAAAElFTkSuQmCC); - } - .repl_wrapper .screenshadow.tl { - top: 0; left: 0; - background-position: 0 0; - } - .repl_wrapper .screenshadow.tr { - top: 0; right: 0; - background-position: -200px 0; - } - .repl_wrapper .screenshadow.bl { - bottom: 0; left: 0; - background-position: 0 -150px; - } - .repl_wrapper .screenshadow.br { - bottom: 0; right: 0; - background-position: -200px -150px; - } - -#repl_source, #repl_results { - background: transparent; - outline: none; - margin: 5px 0 20px; - color: #def; - -webkit-tab-size: 2; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} - #repl_results, #repl_source_wrap { - width: auto; height: auto; - position: absolute; - margin-bottom: 0; - top: 10px; left: 10px; right: 10px; bottom: 15px; - } - #repl_results.error { - color: red - } - #repl_source_wrap { - margin-left: 5px; - width: 47%; right: 50%; - float: left; - } - #repl_source { - padding-left: 5px; - width: 100%; - height: 100%; - border: 0; - overflow-y: auto; - resize: none; - } - #repl_results_wrap { - white-space: pre; - } - #repl_results { - text-transform: none; - overflow-y: auto; - left: 50%; - border-left-color: #555; - } - -/*----------------------------- Mini Buttons ---------------------------------*/ -.minibutton { - cursor: pointer; - color: #333; - text-shadow: #eee 0 1px 1px; - font-weight: bold; - font-size: 11px; - line-height: 11px; - padding: 5px 10px 6px; - height: 11px; - text-align: center; - -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; - box-shadow: 0 1px 2px rgba(0,0,0,0.2); -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.2); -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.2); - border: 1px solid #b2b2b2; border-top-color: #c9c9c9; border-bottom-color: #9a9a9a; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAWCAIAAACOpGH9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpifvr0KRMDAwPT////4RjE//fvHxiD+Mjsv3//4uSD2FD1AAEGAHv9O3d7p0bEAAAAAElFTkSuQmCC) repeat-x left top; -} - .minibutton:active { - border-color: #aaa; - box-shadow: 0 1px 2px #e4e4e4; -webkit-box-shadow: 0 1px 2px #e4e4e4; -moz-box-shadow: 0 1px 2px #e4e4e4; - } - .minibutton::selection { - background: transparent; - } - .minibutton ::-moz-selection { - background: transparent; - } - .minibutton.ok { - color: #fff; - background-image: url(data:image/gif;base64,R0lGODlhAQAYALMAADOtbj3BeyqVXDq6dTClZy2gYzKoazu+eDm1cyyaYDaycj7DfAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAABABgAAAQMcMlJZzgDKWBISUIEADs=); - border-color: #4ba47c; border-top-color: #53b388; border-bottom-color: #459671; - text-shadow: #aaa 0 -1px 0; - } - .minibutton.dark { - border: 0; - color: #fff; - box-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; - background-image: url(data:image/gif;base64,R0lGODlhAQAYAMQAAFZWVn19fW1tbXd3d3FxcWtra1tbW3V1dWVlZWJiYlJSUnx8fF9fX3l5eWlpaXNzc35+fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAABABgAAAURICSOYrA0w/EQQuEgCWMASggAOw==); - text-shadow: none; - } - .minibutton.error { - opacity: 0.5; - color: #600; - cursor: not-allowed; - } - -@media (max-width: 820px) { - .container { - width: auto; - padding: 1em; - } - p, li, table { - width: auto; - } - #fadeout { - display: none; - } - #flybar { - position: static; - height: auto; - min-width: 245px; - } - #logo { - float: none; - } - .navigation { - float: none; - border: none; - } - div.code pre, div.code textarea { - border-left: none; - border-top-width: 1px; - width: auto; - float: none; - margin: 5px; - padding: 10px 5px; - } - div.code pre:first-child { - border-top: none; - } -} diff --git a/documentation/v1/scripts.html b/documentation/v1/scripts.html deleted file mode 100644 index ed8d7c1f61..0000000000 --- a/documentation/v1/scripts.html +++ /dev/null @@ -1,6 +0,0 @@ - - - - diff --git a/documentation/v1/styles.html b/documentation/v1/styles.html deleted file mode 100644 index 1221b91bb1..0000000000 --- a/documentation/v1/styles.html +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/documentation/v1/tomorrow.css b/documentation/v1/tomorrow.css deleted file mode 100644 index e0048cd675..0000000000 --- a/documentation/v1/tomorrow.css +++ /dev/null @@ -1,60 +0,0 @@ -/* Highlight.js syntax highlighting */ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ -/* Forked from http://softwaremaniacs.org/media/soft/highlight/styles/tomorrow.css */ -.tomorrow-comment, pre .comment, pre .title { - color: #8e908c; -} - -.tomorrow-red, pre .variable, pre .tag, pre .regexp, pre .ruby .constant, pre .xml .tag .title, pre .xml .pi, pre .xml .doctype, pre .html .doctype, pre .css .id, pre .css .class, pre .css .pseudo { - color: #c82829; -} - -.tomorrow-orange, pre .number, pre .preprocessor, pre .built_in, pre .params, pre .constant { - color: #000000; -} - -.tomorrow-yellow, pre .class, pre .ruby .class .title, pre .css .rules .attribute { - color: #eab700; -} - -.tomorrow-green, pre .string, pre .value, pre .inheritance, pre .header, pre .ruby .symbol, pre .xml .cdata { - color: #718c00; -} - -.tomorrow-aqua, pre .css .hexcolor { - color: #3e999f; -} - -.tomorrow-blue, pre .function, pre .function .title, pre .python .decorator, pre .python .title, pre .ruby .function .title, pre .ruby .title .keyword, pre .perl .sub, pre .javascript .title, pre .coffeescript .title { - color: #21439C; -} - -.tomorrow-purple, pre .keyword, pre .reserved, pre .javascript .function { - color: #FF5600; -} - -pre .subst { - color: #A535AE; -} - -pre .literal { - color: #A535AE; -} - -pre .property { - color: #A535AE; -} - -pre .class .title { - color: #21439C; -} - -pre .coffeescript .javascript, -pre .javascript .xml, -pre .tex .formula, -pre .xml .javascript, -pre .xml .vbscript, -pre .xml .css, -pre .xml .cdata { - opacity: 0.5; -} diff --git a/documentation/v2/code.coffee b/documentation/v2/code.coffee deleted file mode 100644 index c15eaefd4b..0000000000 --- a/documentation/v2/code.coffee +++ /dev/null @@ -1,11 +0,0 @@ -fs = require 'fs' -_ = require 'underscore' -CoffeeScript = require '../../lib/coffeescript' - - -module.exports = -> - (file, run = no) -> - cs = fs.readFileSync "documentation/examples/#{file}.coffee", 'utf-8' - js = CoffeeScript.compile cs, bare: yes # This is just the initial JavaScript output; it is replaced by dynamic compilation on changes of the CoffeeScript pane - render = _.template fs.readFileSync('documentation/v2/code.html', 'utf-8') - output = render {file, cs, js, run} diff --git a/lib/coffeescript/browser.js b/lib/coffeescript/browser.js index c0c7501479..7e446b86ae 100644 --- a/lib/coffeescript/browser.js +++ b/lib/coffeescript/browser.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // This **Browser** compatibility layer extends core CoffeeScript functions // to make things work smoothly when compiling code directly in the browser. diff --git a/lib/coffeescript/cake.js b/lib/coffeescript/cake.js index f602aed8d2..88580075b4 100644 --- a/lib/coffeescript/cake.js +++ b/lib/coffeescript/cake.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // `cake` is a simplified version of [Make](http://www.gnu.org/software/make/) // ([Rake](http://rake.rubyforge.org/), [Jake](https://github.com/280north/jake)) diff --git a/lib/coffeescript/coffeescript.js b/lib/coffeescript/coffeescript.js index 491b16e7d4..a06f6b4fd6 100644 --- a/lib/coffeescript/coffeescript.js +++ b/lib/coffeescript/coffeescript.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // CoffeeScript can be used both on the server, as a command-line compiler based // on Node.js/V8, or to run CoffeeScript directly in the browser. This module @@ -84,10 +84,10 @@ // in which case this returns a `{js, v3SourceMap, sourceMap}` // object, where sourceMap is a sourcemap.coffee#SourceMap object, handy for // doing programmatic lookups. - exports.compile = compile = withPrettyErrors(function(code, options) { - var currentColumn, currentLine, encoded, extend, filename, fragment, fragments, generateSourceMap, header, i, j, js, len, len1, map, merge, newLines, ref, ref1, sourceMapDataURI, sourceURL, token, tokens, v3SourceMap; - ({merge, extend} = helpers); - options = extend({}, options); + exports.compile = compile = withPrettyErrors(function(code, options = {}) { + var currentColumn, currentLine, encoded, filename, fragment, fragments, generateSourceMap, header, i, j, js, len, len1, map, newLines, ref, ref1, sourceMapDataURI, sourceURL, token, tokens, transpiler, transpilerOutput, v3SourceMap; + // Clone `options`, to avoid mutating the `options` object passed in. + options = Object.assign({}, options); // Always generate a source map if no filename is passed in, since without a // a filename we have no way to retrieve this source later in the event that // we need to recompile it to get a source map for `prepareStackTrace`. @@ -167,6 +167,28 @@ } sourceMaps[filename].push(map); } + if (options.transpile) { + if (typeof options.transpile !== 'object') { + // This only happens if run via the Node API and `transpile` is set to + // something other than an object. + throw new Error('The transpile option must be given an object with options to pass to Babel'); + } + // Get the reference to Babel that we have been passed if this compiler + // is run via the CLI or Node API. + transpiler = options.transpile.transpile; + delete options.transpile.transpile; + // See https://github.com/babel/babel/issues/827#issuecomment-77573107: + // Babel can take a v3 source map object as input in `inputSourceMap` + // and it will return an *updated* v3 source map object in its output. + if (v3SourceMap && (options.transpile.inputSourceMap == null)) { + options.transpile.inputSourceMap = v3SourceMap; + } + transpilerOutput = transpiler(js, options.transpile); + js = transpilerOutput.code; + if (v3SourceMap && transpilerOutput.map) { + v3SourceMap = transpilerOutput.map; + } + } if (options.inlineMap) { encoded = base64encode(JSON.stringify(v3SourceMap)); sourceMapDataURI = `//# sourceMappingURL=data:application/json;base64,${encoded}`; diff --git a/lib/coffeescript/command.js b/lib/coffeescript/command.js index c72af0e476..85063c7ff4 100644 --- a/lib/coffeescript/command.js +++ b/lib/coffeescript/command.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // The `coffee` utility. Handles command-line compilation of CoffeeScript // into various forms: saved into `.js` files or printed to stdout @@ -45,7 +45,7 @@ BANNER = 'Usage: coffee [options] path/to/script.coffee [args]\n\nIf called without options, `coffee` will run your script.'; // The list of all the valid option flags that `coffee` knows how to handle. - SWITCHES = [['-b', '--bare', 'compile without a top-level function wrapper'], ['-c', '--compile', 'compile to JavaScript and save as .js files'], ['-e', '--eval', 'pass a string from the command line as input'], ['-h', '--help', 'display this help message'], ['-i', '--interactive', 'run an interactive CoffeeScript REPL'], ['-j', '--join [FILE]', 'concatenate the source CoffeeScript before compiling'], ['-m', '--map', 'generate source map and save as .js.map files'], ['-M', '--inline-map', 'generate source map and include it directly in output'], ['-n', '--nodes', 'print out the parse tree that the parser produces'], ['--nodejs [ARGS]', 'pass options directly to the "node" binary'], ['--no-header', 'suppress the "Generated by" header'], ['-o', '--output [PATH]', 'set the output path or path/filename for compiled JavaScript'], ['-p', '--print', 'print out the compiled JavaScript'], ['-r', '--require [MODULE*]', 'require the given module before eval or REPL'], ['-s', '--stdio', 'listen for and compile scripts over stdio'], ['-l', '--literate', 'treat stdio as literate style coffeescript'], ['-t', '--tokens', 'print out the tokens that the lexer/rewriter produce'], ['-v', '--version', 'display the version number'], ['-w', '--watch', 'watch scripts for changes and rerun commands']]; + SWITCHES = [['-b', '--bare', 'compile without a top-level function wrapper'], ['-c', '--compile', 'compile to JavaScript and save as .js files'], ['-e', '--eval', 'pass a string from the command line as input'], ['-h', '--help', 'display this help message'], ['-i', '--interactive', 'run an interactive CoffeeScript REPL'], ['-j', '--join [FILE]', 'concatenate the source CoffeeScript before compiling'], ['-m', '--map', 'generate source map and save as .js.map files'], ['-M', '--inline-map', 'generate source map and include it directly in output'], ['-n', '--nodes', 'print out the parse tree that the parser produces'], ['--nodejs [ARGS]', 'pass options directly to the "node" binary'], ['--no-header', 'suppress the "Generated by" header'], ['-o', '--output [PATH]', 'set the output path or path/filename for compiled JavaScript'], ['-p', '--print', 'print out the compiled JavaScript'], ['-r', '--require [MODULE*]', 'require the given module before eval or REPL'], ['-s', '--stdio', 'listen for and compile scripts over stdio'], ['-l', '--literate', 'treat stdio as literate style coffeescript'], ['-t', '--transpile', 'pipe generated JavaScript through Babel'], ['--tokens', 'print out the tokens that the lexer/rewriter produce'], ['-v', '--version', 'display the version number'], ['-w', '--watch', 'watch scripts for changes and rerun commands']]; // Top-level objects shared by all the functions. opts = {}; @@ -605,12 +605,63 @@ // The compile-time options to pass to the CoffeeScript compiler. compileOptions = function(filename, base) { - var answer, cwd, jsDir, jsPath; + var answer, cantFindOptions, checkPath, cwd, jsDir, jsPath, packageJson; + if (opts.transpile) { + try { + // The user has requested that the CoffeeScript compiler also transpile + // via Babel. We use Babel as an `optionalDependency`; see + // https://docs.npmjs.com/files/package.json#optionaldependencies. + require('babel-core'); + } catch (error) { + console.error('To use --transpile, you must have Babel installed and configured.\nSee http://coffeescript.org/#transpilation'); + process.exit(1); + } + // We’re giving Babel only a string, not a filename or path to a file, so + // it doesn’t know where to search to find a `.babelrc` file or a `babel` + // key in a `package.json`. So if `opts.transpile` is an object, use that + // as Babel’s options; otherwise figure out what the options should be. + if (typeof opts.transpile !== 'object') { + // Find the options based on the path to the file being compiled. + cantFindOptions = function() { + console.error('To use the transpile option, there must be a .babelrc file\n(or a package.json file with a "babel" key) in the path of the file\nto be compiled, or in the path of the current working directory.\nIf you are compiling a string via the Node API, the transpile option\nmust be an object with the options to pass to Babel.\nSee http://coffeescript.org/#transpilation'); + return process.exit(1); + }; + checkPath = filename ? path.dirname(filename) : base ? base : typeof process !== "undefined" && process !== null ? process.cwd() : cantFindOptions(); + while (true) { + try { + opts.transpile = JSON.parse(fs.readFileSync(path.join(checkPath, '.babelrc'), 'utf-8')); + break; + } catch (error) { + try { + packageJson = JSON.parse(fs.readFileSync(path.join(checkPath, 'package.json'), 'utf-8')); + if (packageJson.babel != null) { + opts.transpile = packageJson.babel; + break; + } + } catch (error) {} + } + if (checkPath === path.dirname(checkPath)) { // We’ve reached the root. + cantFindOptions(); + break; + } else { + checkPath = path.dirname(checkPath); + } + } + } + // Pass a reference to Babel into the compiler, so that the transpile option + // is available for the CLI. We need to do this so that tools like Webpack + // can `require('coffeescript')` and build correctly, without trying to + // require Babel. + opts.transpile.transpile = CoffeeScript.transpile; + } else { + opts.transpile = false; + } answer = { - filename, + filename: filename, literate: opts.literate || helpers.isLiterate(filename), bare: opts.bare, header: opts.compile && !opts['no-header'], + transpile: opts.transpile, sourceMap: opts.map, inlineMap: opts['inline-map'] }; diff --git a/lib/coffeescript/grammar.js b/lib/coffeescript/grammar.js index da5f71c11b..17733b1e10 100644 --- a/lib/coffeescript/grammar.js +++ b/lib/coffeescript/grammar.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // The CoffeeScript parser is generated by [Jison](https://github.com/zaach/jison) // from this grammar file. Jison is a bottom-up parser generator, similar in diff --git a/lib/coffeescript/helpers.js b/lib/coffeescript/helpers.js index 46673e4505..ab5ca95e8b 100644 --- a/lib/coffeescript/helpers.js +++ b/lib/coffeescript/helpers.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // This file contains the common helper functions that we'd like to share among // the **Lexer**, **Rewriter**, and the **Nodes**. Merge objects, flatten diff --git a/lib/coffeescript/index.js b/lib/coffeescript/index.js index c2b45ad2f7..2fa0a2b1de 100644 --- a/lib/coffeescript/index.js +++ b/lib/coffeescript/index.js @@ -1,7 +1,7 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // Node.js Implementation - var CoffeeScript, compile, ext, fn, fs, helpers, i, len, path, ref, vm, + var CoffeeScript, ext, fn, fs, helpers, i, len, path, ref, universalCompile, vm, hasProp = {}.hasOwnProperty; CoffeeScript = require('./coffeescript'); @@ -14,7 +14,32 @@ helpers = CoffeeScript.helpers; - compile = CoffeeScript.compile; + CoffeeScript.transpile = function(js, options) { + var babel; + try { + babel = require('babel-core'); + } catch (error) { + // This error is only for Node, as CLI users will see a different error + // earlier if they don’t have Babel installed. + throw new Error('To use the transpile option, you must have the \'babel-core\' module installed'); + } + return babel.transform(js, options); + }; + + // The `compile` method shared by the CLI, Node and browser APIs. + universalCompile = CoffeeScript.compile; + + // The `compile` method particular to the Node API. + CoffeeScript.compile = function(code, options) { + // Pass a reference to Babel into the compiler, so that the transpile option + // is available in the Node API. We need to do this so that tools like Webpack + // can `require('coffeescript')` and build correctly, without trying to + // require Babel. + if (options != null ? options.transpile : void 0) { + options.transpile.transpile = CoffeeScript.transpile; + } + return universalCompile.call(CoffeeScript, code, options); + }; // Compile and execute a string of CoffeeScript (on the server), correctly // setting `__filename`, `__dirname`, and relative `require()`. @@ -30,7 +55,7 @@ mainModule.paths = require('module')._nodeModulePaths(dir); // Compile. if (!helpers.isCoffee(mainModule.filename) || require.extensions) { - answer = compile(code, options); + answer = CoffeeScript.compile(code, options); code = (ref = answer.js) != null ? ref : answer; } return mainModule._compile(code, mainModule.filename); @@ -95,7 +120,7 @@ o[k] = v; } o.bare = true; // ensure return value - js = compile(code, o); + js = CoffeeScript.compile(code, o); if (sandbox === global) { return vm.runInThisContext(js); } else { @@ -128,7 +153,7 @@ // Strip the Unicode byte order mark, if this file begins with one. stripped = raw.charCodeAt(0) === 0xFEFF ? raw.substring(1) : raw; try { - answer = compile(stripped, { + answer = CoffeeScript.compile(stripped, { filename, sourceMap, inlineMap, diff --git a/lib/coffeescript/lexer.js b/lib/coffeescript/lexer.js index 886a3854d7..125a3f24b7 100644 --- a/lib/coffeescript/lexer.js +++ b/lib/coffeescript/lexer.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // The CoffeeScript Lexer. Uses a series of token-matching regexes to attempt // matches against the beginning of the source code. When a match is found, diff --git a/lib/coffeescript/nodes.js b/lib/coffeescript/nodes.js index 3a87f604f6..4a9e1f4a13 100644 --- a/lib/coffeescript/nodes.js +++ b/lib/coffeescript/nodes.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // `nodes.coffee` contains all of the node classes for the syntax tree. Most // nodes are created as the result of actions in the [grammar](grammar.html), @@ -2109,15 +2109,15 @@ // Check if object contains splat. hasSplat() { - var j, len1, prop, ref1, splat; + var j, len1, prop, ref1; ref1 = this.properties; for (j = 0, len1 = ref1.length; j < len1; j++) { prop = ref1[j]; if (prop instanceof Splat) { - splat = true; + return true; } } - return splat != null ? splat : false; + return false; } compileNode(o) { @@ -2240,7 +2240,7 @@ } // Object spread properties. https://github.com/tc39/proposal-object-rest-spread/blob/master/Spread.md - // `obj2 = {a: 1, obj..., c: 3, d: 4}` → `obj2 = Object.assign({}, {a: 1}, obj, {c: 3, d: 4})` + // `obj2 = {a: 1, obj..., c: 3, d: 4}` → `obj2 = _extends({}, {a: 1}, obj, {c: 3, d: 4})` compileSpread(o) { var _extends, addSlice, j, len1, prop, propSlices, props, slices, splatSlice; props = this.properties; @@ -3200,6 +3200,8 @@ this.checkAssignability(o, name); if (this.moduleDeclaration) { return o.scope.add(name.value, this.moduleDeclaration); + } else if (this.param) { + return o.scope.add(name.value, this.param === 'alwaysDeclare' ? 'var' : 'param'); } else { return o.scope.find(name.value); } @@ -3230,7 +3232,7 @@ answer = compiledName.concat(this.makeCode(` ${this.context || '='} `), val); // Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Assignment_without_declaration, // if we’re destructuring without declaring, the destructuring assignment must be wrapped in parentheses. - if (o.level > LEVEL_LIST || (o.level === LEVEL_TOP && isValue && this.variable.base instanceof Obj && !this.nestedLhs && !this.param)) { + if (o.level > LEVEL_LIST || o.level === LEVEL_TOP && isValue && this.variable.base instanceof Obj && !this.nestedLhs && !(this.param === true)) { return this.wrapInParentheses(answer); } else { return answer; @@ -3240,31 +3242,7 @@ // Check object destructuring variable for rest elements; // can be removed once ES proposal hits Stage 4. compileObjectDestruct(o) { - var fragments, getPropKey, getPropName, j, len1, restElement, restElements, result, setScopeVar, traverseRest, value, valueRef, valueRefTemp; - // Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Assignment_without_declaration, - // if we’re destructuring without declaring, the destructuring assignment - // must be wrapped in parentheses: `({a, b} = obj)`. Helper function - // `setScopeVar()` declares variables `a` and `b` at the top of the - // current scope. - setScopeVar = function(prop) { - var newVar; - newVar = false; - if (prop instanceof Assign && prop.value.base instanceof Obj) { - return; - } - if (prop instanceof Assign) { - if (prop.value.base instanceof IdentifierLiteral) { - newVar = prop.value.base.compileWithoutComments(o); - } else { - newVar = prop.variable.base.compileWithoutComments(o); - } - } else { - newVar = prop.compileWithoutComments(o); - } - if (newVar) { - return o.scope.add(newVar, 'var', true); - } - }; + var fragments, getPropKey, getPropName, j, len1, restElement, restElements, result, traverseRest, value, valueRef, valueRefTemp; // Returns a safe (cached) reference to the key for a given property getPropKey = function(prop) { var key; @@ -3300,7 +3278,6 @@ for (index = j = 0, len1 = properties.length; j < len1; index = ++j) { prop = properties[index]; nestedSourceDefault = nestedSource = nestedProperties = null; - setScopeVar(prop.unwrap()); if (prop instanceof Assign) { if (typeof (base1 = prop.value).isObject === "function" ? base1.isObject() : void 0) { if (prop.context !== 'object') { @@ -3350,13 +3327,9 @@ return restElements; }; // Cache the value for reuse with rest elements. - if (this.value.shouldCache()) { - valueRefTemp = new IdentifierLiteral(o.scope.freeVariable('ref', { - reserve: false - })); - } else { - valueRefTemp = this.value.base; - } + valueRefTemp = this.value.shouldCache() ? new IdentifierLiteral(o.scope.freeVariable('ref', { + reserve: false + })) : this.value.base; // Find all rest elements. restElements = traverseRest(this.variable.base.properties, valueRefTemp); if (!(restElements && restElements.length > 0)) { @@ -3367,7 +3340,9 @@ for (j = 0, len1 = restElements.length; j < len1; j++) { restElement = restElements[j]; value = new Call(new Value(new Literal(utility('objectWithoutKeys', o))), [restElement.source, restElement.excludeProps]); - result.push(new Assign(restElement.name, value)); + result.push(new Assign(new Value(restElement.name), value, null, { + param: this.param ? 'alwaysDeclare' : null + })); } fragments = result.compileToFragments(o); if (o.level === LEVEL_TOP) { @@ -3802,7 +3777,9 @@ ifTrue = new Assign(new Value(param.name), param.value); exprs.push(new If(condition, ifTrue)); } else { - exprs.push(new Assign(new Value(param.name), param.asReference(o))); + exprs.push(new Assign(new Value(param.name), param.asReference(o), null, { + param: 'alwaysDeclare' + })); } } // If this parameter comes before the splat or expansion, it will go @@ -3827,22 +3804,25 @@ if (param.name instanceof Arr || param.name instanceof Obj) { // This parameter is destructured. param.name.lhs = true; - param.name.eachName(function(prop) { - return o.scope.parameter(prop.value); - }); // Compile `foo({a, b...}) ->` to `foo(arg) -> {a, b...} = arg`. // Can be removed once ES proposal hits Stage 4. if (param.name instanceof Obj && param.name.hasSplat()) { splatParamName = o.scope.freeVariable('arg'); o.scope.parameter(splatParamName); ref = new Value(new IdentifierLiteral(splatParamName)); - exprs.push(new Assign(new Value(param.name), ref)); + exprs.push(new Assign(new Value(param.name), ref, null, { + param: 'alwaysDeclare' + })); // Compile `foo({a, b...} = {}) ->` to `foo(arg = {}) -> {a, b...} = arg`. if ((param.value != null) && !param.assignedInBody) { ref = new Assign(ref, param.value, null, { param: true }); } + } else if (!param.shouldCache()) { + param.name.eachName(function(prop) { + return o.scope.parameter(prop.value); + }); } } else { // This compilation of the parameter is only to get its name to add @@ -4077,12 +4057,12 @@ // as well as be a splat, gathering up a group of parameters into an array. exports.Param = Param = (function() { class Param extends Base { - constructor(name1, value1, splat1) { + constructor(name1, value1, splat) { var message, token; super(); this.name = name1; this.value = value1; - this.splat = splat1; + this.splat = splat; message = isUnassignable(this.name.unwrapAll().value); if (message) { this.name.error(message); @@ -5030,7 +5010,9 @@ fragments.push(this.makeCode('$')); } code = element.compileToFragments(o, LEVEL_PAREN); - if (!this.isNestedTag(element)) { + if (!this.isNestedTag(element) || code.some(function(fragment) { + return fragment.comments != null; + })) { code = this.wrapInBraces(code); // Flag the `{` and `}` fragments as having been generated by this // `StringWithInterpolations` node, so that `compileComments` knows diff --git a/lib/coffeescript/optparse.js b/lib/coffeescript/optparse.js index 07ad58fe37..358e86bfe0 100644 --- a/lib/coffeescript/optparse.js +++ b/lib/coffeescript/optparse.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { var LONG_FLAG, MULTI_FLAG, OPTIONAL, OptionParser, SHORT_FLAG, buildRule, buildRules, normalizeArguments, repeat, slice = [].slice; diff --git a/lib/coffeescript/parser.js b/lib/coffeescript/parser.js index 20688b4d67..4c5a4d6801 100644 --- a/lib/coffeescript/parser.js +++ b/lib/coffeescript/parser.js @@ -1,4 +1,4 @@ -/* parser generated by jison 0.4.17 */ +/* parser generated by jison 0.4.18 */ /* Returns a Parser object of the following structure: @@ -906,13 +906,9 @@ parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); } else { - function _parseError (msg, hash) { - this.message = msg; - this.hash = hash; - } - _parseError.prototype = Error; - - throw new _parseError(str, hash); + var error = new Error(str); + error.hash = hash; + throw error; } }, parse: function parse(input) { diff --git a/lib/coffeescript/register.js b/lib/coffeescript/register.js index 311d1d1a67..d1615536c5 100644 --- a/lib/coffeescript/register.js +++ b/lib/coffeescript/register.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { var CoffeeScript, Module, binary, child_process, ext, findExtension, fork, helpers, i, len, loadFile, path, ref; diff --git a/lib/coffeescript/repl.js b/lib/coffeescript/repl.js index 3bd198c5ff..05d26ea0a0 100644 --- a/lib/coffeescript/repl.js +++ b/lib/coffeescript/repl.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { var CoffeeScript, addHistory, addMultilineHandler, fs, getCommandId, merge, nodeREPL, path, replDefaults, runInContext, sawSIGINT, updateSyntaxError, vm; diff --git a/lib/coffeescript/rewriter.js b/lib/coffeescript/rewriter.js index 91954a60d2..f7ca120eab 100644 --- a/lib/coffeescript/rewriter.js +++ b/lib/coffeescript/rewriter.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // The CoffeeScript language has a good deal of optional syntax, implicit syntax, // and shorthand syntax. This can greatly complicate a grammar and bloat diff --git a/lib/coffeescript/scope.js b/lib/coffeescript/scope.js index 39f0b205c3..3a5bfc83dc 100644 --- a/lib/coffeescript/scope.js +++ b/lib/coffeescript/scope.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // The **Scope** class regulates lexical scoping within CoffeeScript. As you // generate code, you create a tree of scopes in the same shape as the nested diff --git a/lib/coffeescript/sourcemap.js b/lib/coffeescript/sourcemap.js index 90b906ccfe..90a703e0be 100644 --- a/lib/coffeescript/sourcemap.js +++ b/lib/coffeescript/sourcemap.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 2.0.0-beta5 +// Generated by CoffeeScript 2.0.0 (function() { // Source maps allow JavaScript runtimes to match running JavaScript back to // the original source code that corresponds to it. This can be minified @@ -150,7 +150,7 @@ names: [], mappings: buffer }; - if (options.inlineMap) { + if (options.sourceMap || options.inlineMap) { v3.sourcesContent = [code]; } return v3; diff --git a/package-lock.json b/package-lock.json index dc1acd15fe..7c2c98b38d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "coffeescript", - "version": "2.0.0-beta5", + "version": "2.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -17,9 +17,9 @@ "dev": true }, "acorn": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", + "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", "dev": true }, "acorn-dynamic-import": { @@ -88,13 +88,13 @@ "dev": true }, "anymatch": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", - "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" } }, "argparse": { @@ -127,12 +127,6 @@ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, "asn1.js": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", @@ -168,29 +162,6 @@ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", "dev": true }, - "babel-cli": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.24.1.tgz", - "integrity": "sha1-IHzXBbumFImy6kG1MSNBz2rKIoM=", - "dev": true, - "requires": { - "babel-core": "6.26.0", - "babel-polyfill": "6.23.0", - "babel-register": "6.24.1", - "babel-runtime": "6.23.0", - "chokidar": "1.7.0", - "commander": "2.11.0", - "convert-source-map": "1.5.0", - "fs-readdir-recursive": "1.0.0", - "glob": "7.1.2", - "lodash": "4.17.4", - "output-file-sync": "1.1.2", - "path-is-absolute": "1.0.1", - "slash": "1.0.0", - "source-map": "0.5.6", - "v8flags": "2.1.1" - } - }, "babel-code-frame": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", @@ -1026,17 +997,6 @@ "integrity": "sha1-/isdKU6wXodSTrk3JN6m4sPWb6E=", "dev": true }, - "babel-polyfill": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", - "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", - "dev": true, - "requires": { - "babel-runtime": "6.23.0", - "core-js": "2.4.1", - "regenerator-runtime": "0.10.5" - } - }, "babel-preset-babili": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/babel-preset-babili/-/babel-preset-babili-0.1.4.tgz", @@ -1106,19 +1066,240 @@ "semver": "5.3.0" } }, - "babel-register": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz", - "integrity": "sha1-fhDhOi9xBlvfrVoXh7pFvKbe118=", - "dev": true, - "requires": { - "babel-core": "6.26.0", - "babel-runtime": "6.23.0", - "core-js": "2.4.1", - "home-or-tmp": "2.0.0", - "lodash": "4.17.4", - "mkdirp": "0.5.1", - "source-map-support": "0.4.15" + "babel-preset-minify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.2.0.tgz", + "integrity": "sha512-mR8Q44RmMzm18bM2Lqd9uiPopzk5GDCtVuquNbLFmX6lOKnqWoenaNBxnWW0UhBFC75lEHTIgNGCbnsRI0pJVw==", + "dev": true, + "requires": { + "babel-plugin-minify-builtins": "0.2.0", + "babel-plugin-minify-constant-folding": "0.2.0", + "babel-plugin-minify-dead-code-elimination": "0.2.0", + "babel-plugin-minify-flip-comparisons": "0.2.0", + "babel-plugin-minify-guarded-expressions": "0.2.0", + "babel-plugin-minify-infinity": "0.2.0", + "babel-plugin-minify-mangle-names": "0.2.0", + "babel-plugin-minify-numeric-literals": "0.2.0", + "babel-plugin-minify-replace": "0.2.0", + "babel-plugin-minify-simplify": "0.2.0", + "babel-plugin-minify-type-constructors": "0.2.0", + "babel-plugin-transform-inline-consecutive-adds": "0.2.0", + "babel-plugin-transform-member-expression-literals": "6.8.5", + "babel-plugin-transform-merge-sibling-variables": "6.8.6", + "babel-plugin-transform-minify-booleans": "6.8.3", + "babel-plugin-transform-property-literals": "6.8.5", + "babel-plugin-transform-regexp-constructors": "0.2.0", + "babel-plugin-transform-remove-console": "6.8.5", + "babel-plugin-transform-remove-debugger": "6.8.5", + "babel-plugin-transform-remove-undefined": "0.2.0", + "babel-plugin-transform-simplify-comparison-operators": "6.8.5", + "babel-plugin-transform-undefined-to-void": "6.8.3", + "lodash.isplainobject": "4.0.6" + }, + "dependencies": { + "babel-helper-evaluate-path": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.2.0.tgz", + "integrity": "sha512-0EK9TUKMxHL549hWDPkQoS7R0Ozg1CDLheVBHYds2B2qoAvmr9ejY3zOXFsrICK73TN7bPhU14PBeKc8jcBTwg==", + "dev": true + }, + "babel-helper-flip-expressions": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.2.0.tgz", + "integrity": "sha512-rAsPA1pWBc7e2E6HepkP2e1sXugT+Oq/VCqhyuHJ8aJ2d/ifwnJfd4Qxjm21qlW43AN8tqaeByagKK6wECFMSw==", + "dev": true + }, + "babel-helper-is-void-0": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.2.0.tgz", + "integrity": "sha512-Axj1AYuD0E3Dl7nT3KxROP7VekEofz3XtEljzURf3fABalLpr8PamtgLFt+zuxtaCxRf9iuZmbAMMYWri5Bazw==", + "dev": true + }, + "babel-helper-mark-eval-scopes": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.2.0.tgz", + "integrity": "sha512-KJuwrOUcHbvbh6he4xRXZFLaivK9DF9o3CrvpWnK1Wp0B+1ANYABXBMgwrnNFIDK/AvicxQ9CNr8wsgivlp4Aw==", + "dev": true + }, + "babel-helper-remove-or-void": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.2.0.tgz", + "integrity": "sha512-1Z41upf/XR+PwY7Nd+F15Jo5BiQi5205ZXUuKed3yoyQgDkMyoM7vAdjEJS/T+M6jy32sXjskMUgms4zeiVtRA==", + "dev": true + }, + "babel-helper-to-multiple-sequence-expressions": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.2.0.tgz", + "integrity": "sha512-ij9lpfdP3+Zc/7kNwa+NXbTrUlsYEWPwt/ugmQO0qflzLrveTIkbfOqQztvitk81aG5NblYDQXDlRohzu3oa8Q==", + "dev": true + }, + "babel-plugin-minify-builtins": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.2.0.tgz", + "integrity": "sha512-4i+8ntaS8gwVUcOz5y+zE+55OVOl2nTbmHV51D4wAIiKcRI8U5K//ip1GHfhsgk/NJrrHK7h97Oy5jpqt0Iixg==", + "dev": true, + "requires": { + "babel-helper-evaluate-path": "0.2.0" + } + }, + "babel-plugin-minify-constant-folding": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.2.0.tgz", + "integrity": "sha512-B3ffQBEUQ8ydlIkYv2MkZtTCbV7FAkWAV7NkyhcXlGpD10PaCxNGQ/B9oguXGowR1m16Q5nGhvNn8Pkn1MO6Hw==", + "dev": true, + "requires": { + "babel-helper-evaluate-path": "0.2.0" + } + }, + "babel-plugin-minify-dead-code-elimination": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.2.0.tgz", + "integrity": "sha512-zE7y3pRyzA4zK5nBou0kTcwUTSQ/AiFrynt1cIEYN7vcO2gS9ZFZoI0aO9JYLUdct5fsC1vfB35408yrzTyVfg==", + "dev": true, + "requires": { + "babel-helper-evaluate-path": "0.2.0", + "babel-helper-mark-eval-scopes": "0.2.0", + "babel-helper-remove-or-void": "0.2.0", + "lodash.some": "4.6.0" + } + }, + "babel-plugin-minify-flip-comparisons": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.2.0.tgz", + "integrity": "sha512-QOqXSEmD/LhT3LpM1WCyzAGcQZYYKJF7oOHvS6QbpomHenydrV53DMdPX2mK01icBExKZcJAHF209wvDBa+CSg==", + "dev": true, + "requires": { + "babel-helper-is-void-0": "0.2.0" + } + }, + "babel-plugin-minify-guarded-expressions": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.2.0.tgz", + "integrity": "sha512-5+NSPdRQ9mnrHaA+zFj+D5OzmSiv90EX5zGH6cWQgR/OUqmCHSDqgTRPFvOctgpo8MJyO7Rt7ajs2UfLnlAwYg==", + "dev": true, + "requires": { + "babel-helper-flip-expressions": "0.2.0" + } + }, + "babel-plugin-minify-infinity": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.2.0.tgz", + "integrity": "sha512-U694vrla1lN6vDHWGrR832t3a/A2eh+kyl019LxEE2+sS4VTydyOPRsAOIYAdJegWRA4cMX1lm9azAN0cLIr8g==", + "dev": true + }, + "babel-plugin-minify-mangle-names": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.2.0.tgz", + "integrity": "sha512-Gixuak1/CO7VCdjn15/8Bxe/QsAtDG4zPbnsNoe1mIJGCIH/kcmSjFhMlGJtXDQZd6EKzeMfA5WmX9+jvGRefw==", + "dev": true, + "requires": { + "babel-helper-mark-eval-scopes": "0.2.0" + } + }, + "babel-plugin-minify-numeric-literals": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.2.0.tgz", + "integrity": "sha512-VcLpb+r1YS7+RIOXdRsFVLLqoh22177USpHf+JM/g1nZbzdqENmfd5v534MLAbRErhbz6SyK+NQViVzVtBxu8g==", + "dev": true + }, + "babel-plugin-minify-replace": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.2.0.tgz", + "integrity": "sha512-SEW6zoSVxh3OH6E1LCgyhhTWMnCv+JIRu5h5IlJDA11tU4ZeSF7uPQcO4vN/o52+FssRB26dmzJ/8D+z0QPg5Q==", + "dev": true + }, + "babel-plugin-minify-simplify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.2.0.tgz", + "integrity": "sha512-Mj3Mwy2zVosMfXDWXZrQH5/uMAyfJdmDQ1NVqit+ArbHC3LlXVzptuyC1JxTyai/wgFvjLaichm/7vSUshkWqw==", + "dev": true, + "requires": { + "babel-helper-flip-expressions": "0.2.0", + "babel-helper-is-nodes-equiv": "0.0.1", + "babel-helper-to-multiple-sequence-expressions": "0.2.0" + } + }, + "babel-plugin-minify-type-constructors": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.2.0.tgz", + "integrity": "sha512-NiOvvA9Pq6bki6nP4BayXwT5GZadw7DJFDDzHmkpnOQpENWe8RtHtKZM44MG1R6EQ5XxgbLdsdhswIzTkFlO5g==", + "dev": true, + "requires": { + "babel-helper-is-void-0": "0.2.0" + } + }, + "babel-plugin-transform-inline-consecutive-adds": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.2.0.tgz", + "integrity": "sha512-GlhOuLOQ28ua9prg0hT33HslCrEmz9xWXy9ZNZSACppCyRxxRW+haYtRgm7uYXCcd0q8ggCWD2pfWEJp5iiZfQ==", + "dev": true + }, + "babel-plugin-transform-member-expression-literals": { + "version": "6.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.8.5.tgz", + "integrity": "sha512-Ux3ligf+ukzWaCbBYOstDuFBhRgMiJHlpJBKV4P47qtzVkd0lg1ddPj9fqIJqAM0n+CvxipyrZrnNnw3CdtQCg==", + "dev": true + }, + "babel-plugin-transform-merge-sibling-variables": { + "version": "6.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.8.6.tgz", + "integrity": "sha512-o5Jioq553HtEAUN5uty7ELJMenXIxHI3PIs1yLqYWYQwP6mg6IPVAJ+U7i4zr9XGF/kb2RGsdehglGTV+vngqA==", + "dev": true + }, + "babel-plugin-transform-minify-booleans": { + "version": "6.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.8.3.tgz", + "integrity": "sha512-bPbUhkeN2Nc0KH0/A19GwQGj8w+CvdJzyu8t59VoEDgsNMQ9Bopzi5DrVkrSsVjbYUaZpzq/DYLrH+wD5K2Tig==", + "dev": true + }, + "babel-plugin-transform-property-literals": { + "version": "6.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.8.5.tgz", + "integrity": "sha512-MmiQsQ5AcIaRZMJD0zY5C4H3xuHm06/nWgtOsz7AXV44VEIXIlPiJ39IFYJ4Qx67/fEm8zJAedzR8t+B7d10Bg==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + }, + "babel-plugin-transform-regexp-constructors": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.2.0.tgz", + "integrity": "sha512-7IsQ6aQx6LAaOqy97/PthTf+5Nx9grZww3r6E62IdWe76Yr8KsuwVjxzqSPQvESJqTE3EMADQ9S0RtwWDGNG9Q==", + "dev": true + }, + "babel-plugin-transform-remove-console": { + "version": "6.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.8.5.tgz", + "integrity": "sha512-uuCKvtweCyIvvC8fi92EcWRtO2Kt5KMNMRK6BhpDXdeb3sxvGM7453RSmgeu4DlKns3OlvY9Ep5Q9m5a7RQAgg==", + "dev": true + }, + "babel-plugin-transform-remove-debugger": { + "version": "6.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.8.5.tgz", + "integrity": "sha512-InDQDdHPOLJKM+G6oXrEesf+P29QFBmcTXID+TAvZziVz+38xe2VO/Bn3FcRcRtnOOycbgsJkUNp9jIK+ist6g==", + "dev": true + }, + "babel-plugin-transform-remove-undefined": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.2.0.tgz", + "integrity": "sha512-O8v57tPMHkp89kA4ZfQEYds/pzgvz/QYerBJjIuL5/Jc7RnvMVRA5gJY9zFKP7WayW8WOSBV4vh8Y8FJRio+ow==", + "dev": true, + "requires": { + "babel-helper-evaluate-path": "0.2.0" + } + }, + "babel-plugin-transform-simplify-comparison-operators": { + "version": "6.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.8.5.tgz", + "integrity": "sha512-B3HlBZb+Uq86nRj5yNPO6pJ3noEdqHvzYkEYoUWtrsWTv48ZIRatYlumoOiif/v8llF13YjYjx9zhyznDx+N9g==", + "dev": true + }, + "babel-plugin-transform-undefined-to-void": { + "version": "6.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.8.3.tgz", + "integrity": "sha512-goYwp8dMrzHD6x9GjZ2M85Mk2vxf1h85CnUgAjfftUnlJvzF4uj5MrbReHBTbjQ96C8CuRzvhYZ3tv8H3Sc1ZA==", + "dev": true + } } }, "babel-runtime": { @@ -1173,16 +1354,6 @@ "to-fast-properties": "1.0.3" } }, - "babili": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/babili/-/babili-0.1.4.tgz", - "integrity": "sha1-Q7t2hmTTd96oS6l3q8WwG9WWbxE=", - "dev": true, - "requires": { - "babel-cli": "6.24.1", - "babel-preset-babili": "0.1.4" - } - }, "babylon": { "version": "6.17.4", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", @@ -1202,15 +1373,15 @@ "dev": true }, "big.js": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", - "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", "dev": true }, "binary-extensions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz", - "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", + "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", "dev": true }, "bn.js": { @@ -1247,16 +1418,17 @@ "dev": true }, "browserify-aes": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", - "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.8.tgz", + "integrity": "sha512-WYCMOT/PtGTlpOKFht0YJFYcPy6pLCR98CtWfzK13zoynLlBMvAdEMSRGmgnJCw2M2j/5qxBkinZQFobieM8dQ==", "dev": true, "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", "create-hash": "1.1.3", - "evp_bytestokey": "1.0.2", - "inherits": "2.0.3" + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.1" } }, "browserify-cipher": { @@ -1265,9 +1437,9 @@ "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "dev": true, "requires": { - "browserify-aes": "1.0.6", + "browserify-aes": "1.0.8", "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.2" + "evp_bytestokey": "1.0.3" } }, "browserify-des": { @@ -1395,7 +1567,7 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.0", + "anymatch": "1.3.2", "async-each": "1.0.1", "fsevents": "1.1.2", "glob-parent": "2.0.0", @@ -1448,6 +1620,12 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, + "codemirror": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.29.0.tgz", + "integrity": "sha512-nlG9m0YQ0gFhdEdnKDG+XJRB/bW+K6M9Axs01+LScjVamWtd4dEwgyohf/r4voW1efnGi6U6hHHvDQ9tt9BtoA==", + "dev": true + }, "colors": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", @@ -1559,7 +1737,7 @@ "create-hmac": "1.1.6", "diffie-hellman": "5.0.2", "inherits": "2.0.3", - "pbkdf2": "3.0.13", + "pbkdf2": "3.0.14", "public-encrypt": "4.0.0", "randombytes": "2.0.5" } @@ -1891,9 +2069,9 @@ "dev": true }, "evp_bytestokey": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.2.tgz", - "integrity": "sha512-ni0r0lrm7AOzsh2qC5mi9sj8S0gmj5fLNjfFpxN05FB4tAVZEKotbkjOtLPqTCX/CXT7NsUr6juZb4IFJeNNdA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { "md5.js": "1.3.4", @@ -2002,18 +2180,6 @@ "universalify": "0.1.0" } }, - "fs-readdir-recursive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz", - "integrity": "sha1-jNF0XItPiinIyuw5JHaSG6GV9WA=", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, "fsevents": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", @@ -2021,21 +2187,19 @@ "dev": true, "optional": true, "requires": { - "nan": "2.6.2", + "nan": "2.7.0", "node-pre-gyp": "0.6.36" }, "dependencies": { "abbrev": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", + "bundled": true, "dev": true, "optional": true }, "ajv": { "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2045,21 +2209,18 @@ }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "aproba": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", - "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", + "bundled": true, "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2069,49 +2230,42 @@ }, "asn1": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "bundled": true, "dev": true, "optional": true }, "assert-plus": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "bundled": true, "dev": true, "optional": true }, "asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "bundled": true, "dev": true, "optional": true }, "aws-sign2": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "bundled": true, "dev": true, "optional": true }, "aws4": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "bundled": true, "dev": true, "optional": true }, "balanced-match": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "bundled": true, "dev": true }, "bcrypt-pbkdf": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2120,8 +2274,7 @@ }, "block-stream": { "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "bundled": true, "dev": true, "requires": { "inherits": "2.0.3" @@ -2129,8 +2282,7 @@ }, "boom": { "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "bundled": true, "dev": true, "requires": { "hoek": "2.16.3" @@ -2138,8 +2290,7 @@ }, "brace-expansion": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", + "bundled": true, "dev": true, "requires": { "balanced-match": "0.4.2", @@ -2148,34 +2299,29 @@ }, "buffer-shims": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "bundled": true, "dev": true }, "caseless": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "bundled": true, "dev": true, "optional": true }, "co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "bundled": true, "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "combined-stream": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "bundled": true, "dev": true, "requires": { "delayed-stream": "1.0.0" @@ -2183,26 +2329,22 @@ }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "bundled": true, "dev": true }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "bundled": true, "dev": true }, "cryptiles": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2211,8 +2353,7 @@ }, "dashdash": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2221,8 +2362,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -2230,8 +2370,7 @@ }, "debug": { "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2240,28 +2379,24 @@ }, "deep-extend": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "bundled": true, "dev": true, "optional": true }, "delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "bundled": true, "dev": true }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "bundled": true, "dev": true, "optional": true }, "ecc-jsbn": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2270,28 +2405,24 @@ }, "extend": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "bundled": true, "dev": true, "optional": true }, "extsprintf": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "bundled": true, "dev": true }, "forever-agent": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "bundled": true, "dev": true, "optional": true }, "form-data": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2302,14 +2433,12 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "fstream": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -2320,8 +2449,7 @@ }, "fstream-ignore": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2332,8 +2460,7 @@ }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2349,8 +2476,7 @@ }, "getpass": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2359,8 +2485,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -2368,8 +2493,7 @@ }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -2382,21 +2506,18 @@ }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "har-schema": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "bundled": true, "dev": true, "optional": true }, "har-validator": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2406,15 +2527,13 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "bundled": true, "dev": true, "optional": true }, "hawk": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2426,14 +2545,12 @@ }, "hoek": { "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "bundled": true, "dev": true }, "http-signature": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2444,8 +2561,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { "once": "1.4.0", @@ -2454,21 +2570,18 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "ini": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "bundled": true, "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -2476,28 +2589,24 @@ }, "is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "bundled": true, "dev": true, "optional": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isstream": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "bundled": true, "dev": true, "optional": true }, "jodid25519": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2506,22 +2615,19 @@ }, "jsbn": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "bundled": true, "dev": true, "optional": true }, "json-schema": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "bundled": true, "dev": true, "optional": true }, "json-stable-stringify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2530,22 +2636,19 @@ }, "json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "bundled": true, "dev": true, "optional": true }, "jsonify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "bundled": true, "dev": true, "optional": true }, "jsprim": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2557,8 +2660,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -2566,14 +2668,12 @@ }, "mime-db": { "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", + "bundled": true, "dev": true }, "mime-types": { "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", + "bundled": true, "dev": true, "requires": { "mime-db": "1.27.0" @@ -2581,8 +2681,7 @@ }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { "brace-expansion": "1.1.7" @@ -2590,14 +2689,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -2605,15 +2702,13 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true, "optional": true }, "node-pre-gyp": { "version": "0.6.36", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz", - "integrity": "sha1-22BBEst04NR3VU6bUFsXq936t4Y=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2630,8 +2725,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2641,8 +2735,7 @@ }, "npmlog": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz", - "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2654,28 +2747,24 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "oauth-sign": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "bundled": true, "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1.0.2" @@ -2683,22 +2772,19 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "bundled": true, "dev": true, "optional": true }, "osenv": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2708,41 +2794,35 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "performance-now": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "bundled": true, "dev": true, "optional": true }, "process-nextick-args": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "bundled": true, "dev": true }, "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "bundled": true, "dev": true, "optional": true }, "qs": { "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "bundled": true, "dev": true, "optional": true }, "rc": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2754,8 +2834,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "bundled": true, "dev": true, "optional": true } @@ -2763,8 +2842,7 @@ }, "readable-stream": { "version": "2.2.9", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", - "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", + "bundled": true, "dev": true, "requires": { "buffer-shims": "1.0.0", @@ -2778,8 +2856,7 @@ }, "request": { "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2809,8 +2886,7 @@ }, "rimraf": { "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "bundled": true, "dev": true, "requires": { "glob": "7.1.2" @@ -2818,35 +2894,30 @@ }, "safe-buffer": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", + "bundled": true, "dev": true }, "semver": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "bundled": true, "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true, "optional": true }, "sntp": { "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2855,8 +2926,7 @@ }, "sshpk": { "version": "1.13.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", - "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2873,8 +2943,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -2882,8 +2951,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "1.1.0", @@ -2893,8 +2961,7 @@ }, "string_decoder": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", + "bundled": true, "dev": true, "requires": { "safe-buffer": "5.0.1" @@ -2902,15 +2969,13 @@ }, "stringstream": { "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "bundled": true, "dev": true, "optional": true }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -2918,15 +2983,13 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "bundled": true, "dev": true, "optional": true }, "tar": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "bundled": true, "dev": true, "requires": { "block-stream": "0.0.9", @@ -2936,8 +2999,7 @@ }, "tar-pack": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", - "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2953,8 +3015,7 @@ }, "tough-cookie": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2963,8 +3024,7 @@ }, "tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2973,35 +3033,30 @@ }, "tweetnacl": { "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "bundled": true, "dev": true, "optional": true }, "uid-number": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "bundled": true, "dev": true, "optional": true }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "bundled": true, "dev": true }, "uuid": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", + "bundled": true, "dev": true, "optional": true }, "verror": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3010,8 +3065,7 @@ }, "wide-align": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3020,8 +3074,7 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true } } @@ -3038,20 +3091,6 @@ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", @@ -3168,16 +3207,6 @@ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", "dev": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -3185,9 +3214,9 @@ "dev": true }, "interpret": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", - "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", + "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=", "dev": true }, "invariant": { @@ -3217,7 +3246,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.8.0" + "binary-extensions": "1.10.0" } }, "is-buffer": { @@ -3338,9 +3367,9 @@ } }, "jison": { - "version": "0.4.17", - "resolved": "https://registry.npmjs.org/jison/-/jison-0.4.17.tgz", - "integrity": "sha1-vBLUbFhF5v7onM81vSqMxz66F/M=", + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/jison/-/jison-0.4.18.tgz", + "integrity": "sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==", "dev": true, "requires": { "JSONSelect": "0.4.0", @@ -3490,7 +3519,7 @@ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "dev": true, "requires": { - "big.js": "3.1.3", + "big.js": "3.2.0", "emojis-list": "2.1.0", "json5": "0.5.1" } @@ -3632,7 +3661,7 @@ "normalize-path": "2.1.1", "object.omit": "2.0.1", "parse-glob": "3.0.4", - "regex-cache": "0.4.3" + "regex-cache": "0.4.4" } }, "miller-rabin": { @@ -3694,9 +3723,9 @@ "dev": true }, "nan": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", - "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", + "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", "dev": true, "optional": true }, @@ -3775,7 +3804,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.0.2" + "remove-trailing-separator": "1.1.0" } }, "npm-run-path": { @@ -3809,15 +3838,6 @@ "is-extendable": "0.1.1" } }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, "os-browserify": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", @@ -3847,17 +3867,6 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, - "output-file-sync": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", - "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "object-assign": "4.1.1" - } - }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -3892,10 +3901,10 @@ "dev": true, "requires": { "asn1.js": "4.9.1", - "browserify-aes": "1.0.6", + "browserify-aes": "1.0.8", "create-hash": "1.1.3", - "evp_bytestokey": "1.0.2", - "pbkdf2": "3.0.13" + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.14" } }, "parse-glob": { @@ -3953,9 +3962,9 @@ } }, "pbkdf2": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.13.tgz", - "integrity": "sha512-+dCHxDH+djNtjgWmvVC/my3SYBAKpKNqKSjLkp+GtWWYe4XPE+e/PSD2aCanlEZZnqPk2uekTKNC/ccbwd2X2Q==", + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", "dev": true, "requires": { "create-hash": "1.1.3", @@ -4160,13 +4169,12 @@ } }, "regex-cache": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3", - "is-primitive": "2.0.0" + "is-equal-shallow": "0.1.3" } }, "regexpu-core": { @@ -4204,9 +4212,9 @@ } }, "remove-trailing-separator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz", - "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, "repeat-element": { @@ -4585,12 +4593,6 @@ } } }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", @@ -4614,15 +4616,6 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "dev": true, - "requires": { - "user-home": "1.1.1" - } - }, "validate-npm-package-license": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", @@ -4654,19 +4647,19 @@ } }, "webpack": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.5.5.tgz", - "integrity": "sha512-qeUx4nIbeLL53qqNTs3kObPBMkUVDrOjEfp/hTvMlx21qL2MsGNr8/tXCoX/lS12dLl9qtZaXv2qfBEctPScDg==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.6.0.tgz", + "integrity": "sha512-OsHT3D0W0KmPPh60tC7asNnOmST6bKTiR90UyEdT9QYoaJ4OYN4Gg7WK1k3VxHK07ZoiYWPsKvlS/gAjwL/vRA==", "dev": true, "requires": { - "acorn": "5.1.1", + "acorn": "5.1.2", "acorn-dynamic-import": "2.0.2", "ajv": "5.2.2", "ajv-keywords": "2.1.0", "async": "2.5.0", "enhanced-resolve": "3.4.1", "escope": "3.6.0", - "interpret": "1.0.3", + "interpret": "1.0.4", "json-loader": "0.5.7", "json5": "0.5.1", "loader-runner": "2.3.0", @@ -4754,12 +4747,6 @@ } } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", diff --git a/package.json b/package.json index bad79dfdec..4f3b06a1ca 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "compiler" ], "author": "Jeremy Ashkenas", - "version": "2.0.0-beta5", + "version": "2.0.0", "license": "MIT", "engines": { "node": ">=6" @@ -42,13 +42,17 @@ "babel-core": "~6.26.0", "babel-preset-babili": "~0.1.4", "babel-preset-env": "~1.6.0", - "babili": "^0.1.4", + "babel-preset-minify": "^0.2.0", + "codemirror": "^5.29.0", "docco": "~0.7.0", "highlight.js": "~9.12.0", - "jison": ">=0.4.17", + "jison": ">=0.4.18", "markdown-it": "~8.4.0", "underscore": "~1.8.3", - "webpack": "~3.5.5" + "webpack": "~3.6.0" + }, + "optionalDependencies": { + "babel-core": "^6" }, "dependencies": {} } diff --git a/src/coffeescript.coffee b/src/coffeescript.coffee index b7eae3ac34..f9ab4972a4 100644 --- a/src/coffeescript.coffee +++ b/src/coffeescript.coffee @@ -64,9 +64,9 @@ sourceMaps = {} # in which case this returns a `{js, v3SourceMap, sourceMap}` # object, where sourceMap is a sourcemap.coffee#SourceMap object, handy for # doing programmatic lookups. -exports.compile = compile = withPrettyErrors (code, options) -> - {merge, extend} = helpers - options = extend {}, options +exports.compile = compile = withPrettyErrors (code, options = {}) -> + # Clone `options`, to avoid mutating the `options` object passed in. + options = Object.assign {}, options # Always generate a source map if no filename is passed in, since without a # a filename we have no way to retrieve this source later in the event that # we need to recompile it to get a source map for `prepareStackTrace`. @@ -129,6 +129,27 @@ exports.compile = compile = withPrettyErrors (code, options) -> sourceMaps[filename] ?= [] sourceMaps[filename].push map + if options.transpile + if typeof options.transpile isnt 'object' + # This only happens if run via the Node API and `transpile` is set to + # something other than an object. + throw new Error 'The transpile option must be given an object with options to pass to Babel' + + # Get the reference to Babel that we have been passed if this compiler + # is run via the CLI or Node API. + transpiler = options.transpile.transpile + delete options.transpile.transpile + + # See https://github.com/babel/babel/issues/827#issuecomment-77573107: + # Babel can take a v3 source map object as input in `inputSourceMap` + # and it will return an *updated* v3 source map object in its output. + if v3SourceMap and not options.transpile.inputSourceMap? + options.transpile.inputSourceMap = v3SourceMap + transpilerOutput = transpiler js, options.transpile + js = transpilerOutput.code + if v3SourceMap and transpilerOutput.map + v3SourceMap = transpilerOutput.map + if options.inlineMap encoded = base64encode JSON.stringify v3SourceMap sourceMapDataURI = "//# sourceMappingURL=data:application/json;base64,#{encoded}" diff --git a/src/command.coffee b/src/command.coffee index d9e62627e5..ca003efc30 100644 --- a/src/command.coffee +++ b/src/command.coffee @@ -48,7 +48,8 @@ SWITCHES = [ ['-r', '--require [MODULE*]', 'require the given module before eval or REPL'] ['-s', '--stdio', 'listen for and compile scripts over stdio'] ['-l', '--literate', 'treat stdio as literate style coffeescript'] - ['-t', '--tokens', 'print out the tokens that the lexer/rewriter produce'] + ['-t', '--transpile', 'pipe generated JavaScript through Babel'] + [ '--tokens', 'print out the tokens that the lexer/rewriter produce'] ['-v', '--version', 'display the version number'] ['-w', '--watch', 'watch scripts for changes and rerun commands'] ] @@ -441,14 +442,79 @@ parseOptions = -> # The compile-time options to pass to the CoffeeScript compiler. compileOptions = (filename, base) -> - answer = { - filename + if opts.transpile + # The user has requested that the CoffeeScript compiler also transpile + # via Babel. We use Babel as an `optionalDependency`; see + # https://docs.npmjs.com/files/package.json#optionaldependencies. + try + require 'babel-core' + catch + console.error ''' + To use --transpile, you must have Babel installed and configured. + See http://coffeescript.org/#transpilation + ''' + process.exit 1 + + # We’re giving Babel only a string, not a filename or path to a file, so + # it doesn’t know where to search to find a `.babelrc` file or a `babel` + # key in a `package.json`. So if `opts.transpile` is an object, use that + # as Babel’s options; otherwise figure out what the options should be. + unless typeof opts.transpile is 'object' + # Find the options based on the path to the file being compiled. + cantFindOptions = -> + console.error ''' + To use the transpile option, there must be a .babelrc file + (or a package.json file with a "babel" key) in the path of the file + to be compiled, or in the path of the current working directory. + If you are compiling a string via the Node API, the transpile option + must be an object with the options to pass to Babel. + See http://coffeescript.org/#transpilation + ''' + process.exit 1 + + checkPath = if filename + path.dirname filename + else if base + base + else if process? + process.cwd() + else + cantFindOptions() + + loop + try + opts.transpile = JSON.parse fs.readFileSync path.join(checkPath, '.babelrc'), 'utf-8' + break + catch + try + packageJson = JSON.parse fs.readFileSync(path.join(checkPath, 'package.json'), 'utf-8') + if packageJson.babel? + opts.transpile = packageJson.babel + break + + if checkPath is path.dirname checkPath # We’ve reached the root. + cantFindOptions() + break + else + checkPath = path.dirname checkPath + + # Pass a reference to Babel into the compiler, so that the transpile option + # is available for the CLI. We need to do this so that tools like Webpack + # can `require('coffeescript')` and build correctly, without trying to + # require Babel. + opts.transpile.transpile = CoffeeScript.transpile + else + opts.transpile = no + + answer = + filename: filename literate: opts.literate or helpers.isLiterate(filename) bare: opts.bare header: opts.compile and not opts['no-header'] + transpile: opts.transpile sourceMap: opts.map inlineMap: opts['inline-map'] - } + if filename if base cwd = process.cwd() diff --git a/src/index.coffee b/src/index.coffee index f2bec76eb3..5dd025c941 100644 --- a/src/index.coffee +++ b/src/index.coffee @@ -5,7 +5,27 @@ vm = require 'vm' path = require 'path' helpers = CoffeeScript.helpers -compile = CoffeeScript.compile + +CoffeeScript.transpile = (js, options) -> + try + babel = require 'babel-core' + catch + # This error is only for Node, as CLI users will see a different error + # earlier if they don’t have Babel installed. + throw new Error 'To use the transpile option, you must have the \'babel-core\' module installed' + babel.transform js, options + +# The `compile` method shared by the CLI, Node and browser APIs. +universalCompile = CoffeeScript.compile +# The `compile` method particular to the Node API. +CoffeeScript.compile = (code, options) -> + # Pass a reference to Babel into the compiler, so that the transpile option + # is available in the Node API. We need to do this so that tools like Webpack + # can `require('coffeescript')` and build correctly, without trying to + # require Babel. + if options?.transpile + options.transpile.transpile = CoffeeScript.transpile + universalCompile.call CoffeeScript, code, options # Compile and execute a string of CoffeeScript (on the server), correctly # setting `__filename`, `__dirname`, and relative `require()`. @@ -28,7 +48,7 @@ CoffeeScript.run = (code, options = {}) -> # Compile. if not helpers.isCoffee(mainModule.filename) or require.extensions - answer = compile code, options + answer = CoffeeScript.compile code, options code = answer.js ? answer mainModule._compile code, mainModule.filename @@ -68,7 +88,7 @@ CoffeeScript.eval = (code, options = {}) -> o = {} o[k] = v for own k, v of options o.bare = on # ensure return value - js = compile code, o + js = CoffeeScript.compile code, o if sandbox is global vm.runInThisContext js else @@ -90,7 +110,7 @@ CoffeeScript._compileFile = (filename, sourceMap = no, inlineMap = no) -> stripped = if raw.charCodeAt(0) is 0xFEFF then raw.substring 1 else raw try - answer = compile stripped, { + answer = CoffeeScript.compile stripped, { filename, sourceMap, inlineMap sourceFiles: [filename] literate: helpers.isLiterate filename diff --git a/src/nodes.coffee b/src/nodes.coffee index 3f946a44a9..ba03134295 100644 --- a/src/nodes.coffee +++ b/src/nodes.coffee @@ -1427,8 +1427,8 @@ exports.Obj = class Obj extends Base # Check if object contains splat. hasSplat: -> - splat = yes for prop in @properties when prop instanceof Splat - splat ? no + return yes for prop in @properties when prop instanceof Splat + no compileNode: (o) -> props = @properties @@ -1510,7 +1510,7 @@ exports.Obj = class Obj extends Base prop.eachName iterator if prop.eachName? # Object spread properties. https://github.com/tc39/proposal-object-rest-spread/blob/master/Spread.md - # `obj2 = {a: 1, obj..., c: 3, d: 4}` → `obj2 = Object.assign({}, {a: 1}, obj, {c: 3, d: 4})` + # `obj2 = {a: 1, obj..., c: 3, d: 4}` → `obj2 = _extends({}, {a: 1}, obj, {c: 3, d: 4})` compileSpread: (o) -> props = @properties # Store object spreads. @@ -2144,6 +2144,12 @@ exports.Assign = class Assign extends Base @checkAssignability o, name if @moduleDeclaration o.scope.add name.value, @moduleDeclaration + else if @param + o.scope.add name.value, + if @param is 'alwaysDeclare' + 'var' + else + 'param' else o.scope.find name.value @@ -2167,7 +2173,7 @@ exports.Assign = class Assign extends Base answer = compiledName.concat @makeCode(" #{ @context or '=' } "), val # Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Assignment_without_declaration, # if we’re destructuring without declaring, the destructuring assignment must be wrapped in parentheses. - if o.level > LEVEL_LIST or (o.level is LEVEL_TOP and isValue and @variable.base instanceof Obj and not @nestedLhs and not @param) + if o.level > LEVEL_LIST or o.level is LEVEL_TOP and isValue and @variable.base instanceof Obj and not @nestedLhs and not (@param is yes) @wrapInParentheses answer else answer @@ -2175,23 +2181,6 @@ exports.Assign = class Assign extends Base # Check object destructuring variable for rest elements; # can be removed once ES proposal hits Stage 4. compileObjectDestruct: (o) -> - # Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Assignment_without_declaration, - # if we’re destructuring without declaring, the destructuring assignment - # must be wrapped in parentheses: `({a, b} = obj)`. Helper function - # `setScopeVar()` declares variables `a` and `b` at the top of the - # current scope. - setScopeVar = (prop) -> - newVar = false - return if prop instanceof Assign and prop.value.base instanceof Obj - if prop instanceof Assign - if prop.value.base instanceof IdentifierLiteral - newVar = prop.value.base.compileWithoutComments o - else - newVar = prop.variable.base.compileWithoutComments o - else - newVar = prop.compileWithoutComments o - o.scope.add(newVar, 'var', true) if newVar - # Returns a safe (cached) reference to the key for a given property getPropKey = (prop) -> if prop instanceof Assign @@ -2220,7 +2209,6 @@ exports.Assign = class Assign extends Base for prop, index in properties nestedSourceDefault = nestedSource = nestedProperties = null - setScopeVar prop.unwrap() if prop instanceof Assign # prop is `k: expr`, we need to check `expr` for nested splats if prop.value.isObject?() @@ -2252,10 +2240,11 @@ exports.Assign = class Assign extends Base restElements # Cache the value for reuse with rest elements. - if @value.shouldCache() - valueRefTemp = new IdentifierLiteral o.scope.freeVariable 'ref', reserve: false - else - valueRefTemp = @value.base + valueRefTemp = + if @value.shouldCache() + new IdentifierLiteral o.scope.freeVariable 'ref', reserve: false + else + @value.base # Find all rest elements. restElements = traverseRest @variable.base.properties, valueRefTemp @@ -2266,7 +2255,7 @@ exports.Assign = class Assign extends Base for restElement in restElements value = new Call new Value(new Literal utility 'objectWithoutKeys', o), [restElement.source, restElement.excludeProps] - result.push new Assign restElement.name, value + result.push new Assign new Value(restElement.name), value, null, param: if @param then 'alwaysDeclare' else null fragments = result.compileToFragments o if o.level is LEVEL_TOP @@ -2600,7 +2589,7 @@ exports.Code = class Code extends Base ifTrue = new Assign new Value(param.name), param.value exprs.push new If condition, ifTrue else - exprs.push new Assign new Value(param.name), param.asReference(o) + exprs.push new Assign new Value(param.name), param.asReference(o), null, param: 'alwaysDeclare' # If this parameter comes before the splat or expansion, it will go # in the function definition parameter list. @@ -2620,18 +2609,19 @@ exports.Code = class Code extends Base if param.name instanceof Arr or param.name instanceof Obj # This parameter is destructured. param.name.lhs = yes - param.name.eachName (prop) -> - o.scope.parameter prop.value # Compile `foo({a, b...}) ->` to `foo(arg) -> {a, b...} = arg`. # Can be removed once ES proposal hits Stage 4. if param.name instanceof Obj and param.name.hasSplat() splatParamName = o.scope.freeVariable 'arg' o.scope.parameter splatParamName ref = new Value new IdentifierLiteral splatParamName - exprs.push new Assign new Value(param.name), ref + exprs.push new Assign new Value(param.name), ref, null, param: 'alwaysDeclare' # Compile `foo({a, b...} = {}) ->` to `foo(arg = {}) -> {a, b...} = arg`. - if param.value? and not param.assignedInBody + if param.value? and not param.assignedInBody ref = new Assign ref, param.value, null, param: yes + else unless param.shouldCache() + param.name.eachName (prop) -> + o.scope.parameter prop.value else # This compilation of the parameter is only to get its name to add # to the scope name tracking; since the compilation output here @@ -3413,7 +3403,7 @@ exports.StringWithInterpolations = class StringWithInterpolations extends Base else fragments.push @makeCode '$' unless @csx code = element.compileToFragments(o, LEVEL_PAREN) - unless @isNestedTag element + if not @isNestedTag(element) or code.some((fragment) -> fragment.comments?) code = @wrapInBraces code # Flag the `{` and `}` fragments as having been generated by this # `StringWithInterpolations` node, so that `compileComments` knows diff --git a/src/sourcemap.litcoffee b/src/sourcemap.litcoffee index 596ba67153..5eca15285b 100644 --- a/src/sourcemap.litcoffee +++ b/src/sourcemap.litcoffee @@ -133,7 +133,7 @@ Produce the canonical JSON object format for a "v3" source map. names: [] mappings: buffer - v3.sourcesContent = [code] if options.inlineMap + v3.sourcesContent = [code] if options.sourceMap or options.inlineMap v3 diff --git a/test/argument_parsing.coffee b/test/argument_parsing.coffee index 2ed4fdb8c7..6c613956e8 100644 --- a/test/argument_parsing.coffee +++ b/test/argument_parsing.coffee @@ -135,7 +135,8 @@ If called without options, `coffee` will run your script. -r, --require require the given module before eval or REPL -s, --stdio listen for and compile scripts over stdio -l, --literate treat stdio as literate style coffeescript - -t, --tokens print out the tokens that the lexer/rewriter produce + -t, --transpile pipe generated JavaScript through Babel + --tokens print out the tokens that the lexer/rewriter produce -v, --version display the version number -w, --watch watch scripts for changes and rerun commands diff --git a/test/assignment.coffee b/test/assignment.coffee index 752626e6d7..b62f6cd1a8 100644 --- a/test/assignment.coffee +++ b/test/assignment.coffee @@ -915,3 +915,15 @@ test "#4674: _extends utility for object spreads 2", -> e = {a..., c...} eq e.b, 1 eq e.d, 2 + +test "#4673: complex destructured object spread variables", -> + b = c: 1 + {{a...}...} = b + eq a.c, 1 + + d = {} + {d.e...} = f: 1 + eq d.e.f, 1 + + {{g}...} = g: 1 + eq g, 1 diff --git a/test/compilation.coffee b/test/compilation.coffee index 55941a9a0d..04bc50619a 100644 --- a/test/compilation.coffee +++ b/test/compilation.coffee @@ -1,10 +1,19 @@ # Compilation # ----------- -# helper to assert that a string should fail compilation +# Helper to assert that a string should fail compilation. cantCompile = (code) -> throws -> CoffeeScript.compile code +# Helper to pipe the CoffeeScript compiler’s output through a transpiler. +transpile = (method, code, options = {}) -> + # `method` should be 'compile' or 'eval' or 'run' + options.bare = yes + options.transpile = + # Target Internet Explorer 6, which supports no ES2015+ features. + presets: [['env', {targets: browsers: ['ie 6']}]] + CoffeeScript[method] code, options + test "ensure that carriage returns don't break compilation on Windows", -> doesNotThrow -> CoffeeScript.compile 'one\r\ntwo', bare: on @@ -123,3 +132,37 @@ test "#3001: `own` shouldn't be allowed in a `for`-`in` loop", -> test "#2994: single-line `if` requires `then`", -> cantCompile "if b else x" + +test "transpile option, for Node API CoffeeScript.compile", -> + return if global.testingBrowser + ok transpile('compile', "import fs from 'fs'").includes 'require' + +test "transpile option, for Node API CoffeeScript.eval", -> + return if global.testingBrowser + ok transpile 'eval', "import path from 'path'; path.sep in ['/', '\\\\']" + +test "transpile option, for Node API CoffeeScript.run", -> + return if global.testingBrowser + doesNotThrow -> transpile 'run', "import fs from 'fs'" + +test "transpile option has merged source maps", -> + return if global.testingBrowser + untranspiledOutput = CoffeeScript.compile "import path from 'path'\nconsole.log path.sep", sourceMap: yes + transpiledOutput = transpile 'compile', "import path from 'path'\nconsole.log path.sep", sourceMap: yes + untranspiledOutput.v3SourceMap = JSON.parse untranspiledOutput.v3SourceMap + transpiledOutput.v3SourceMap = JSON.parse transpiledOutput.v3SourceMap + ok untranspiledOutput.v3SourceMap.mappings isnt transpiledOutput.v3SourceMap.mappings + # Babel adds `'use strict';` to the top of files with the modules transform. + eq transpiledOutput.js.indexOf('use strict'), 1 + # The `'use strict';` followed by two newlines results in the first two lines + # of the source map mappings being two blank/skipped lines. + eq transpiledOutput.v3SourceMap.mappings.indexOf(';;'), 0 + # The number of lines in the transpiled code should match the number of lines + # in the source map. + eq transpiledOutput.js.split('\n').length, transpiledOutput.v3SourceMap.mappings.split(';').length + +test "using transpile from the Node API requires an object", -> + try + CoffeeScript.compile '', transpile: yes + catch exception + eq exception.message, 'The transpile option must be given an object with options to pass to Babel' diff --git a/test/csx.coffee b/test/csx.coffee index 61ede9cd8c..ae2d22657d 100644 --- a/test/csx.coffee +++ b/test/csx.coffee @@ -711,3 +711,34 @@ test 'unspaced less than after CSX works but is not encouraged', -> res = 2 < div; ''' + +test '#4686: comments inside interpolations that also contain CSX tags', -> + eqJS ''' +
              + { + # comment +
              + } +
              + ''', ''' +
              + { // comment +
              } +
              ; + ''' + +test '#4686: comments inside interpolations that also contain CSX attributes', -> + eqJS ''' +
              +
              +
              + ''', ''' +
              + { // comment +
              } +
              ; + ''' + diff --git a/test/functions.coffee b/test/functions.coffee index 75807bb47a..15b70834f4 100644 --- a/test/functions.coffee +++ b/test/functions.coffee @@ -549,3 +549,26 @@ test "#4413: expressions in function parameters that create generated variables g = (a = foo() ? bar()) -> a + 1 eq f(), 33 eq g(), 34 + +test "#4673: complex destructured object spread variables", -> + f = ({{a...}...}) -> + a + eq f(c: 1).c, 1 + + g = ({@y...}) -> + eq @y.b, 1 + g b: 1 + +test "#4657: destructured array param declarations", -> + a = 1 + b = 2 + f = ([a..., b]) -> + f [3, 4, 5] + eq a, 1 + eq b, 2 + +test "#4657: destructured array parameters", -> + f = ([a..., b]) -> {a, b} + result = f [1, 2, 3, 4] + arrayEq result.a, [1, 2, 3] + eq result.b, 4