Date: Wed, 30 Nov 2016 21:51:19 -0800
Subject: [PATCH 03/17] Convert eligible HTML entities to unicode characters (a
recommended practice: http://stackoverflow.com/a/436637/223225) and convert
straight quotes to curly quotes
---
documentation/index.html | 322 +++++++++++++++++++--------------------
1 file changed, 161 insertions(+), 161 deletions(-)
diff --git a/documentation/index.html b/documentation/index.html
index bd2bcaf608..dfe7cec5b6 100644
--- a/documentation/index.html
+++ b/documentation/index.html
@@ -28,7 +28,7 @@
Literals: Functions, Objects and Arrays
Lexical Scoping and Variable Safety
If, Else, Unless, and Conditional Assignment
- Splats...
+ Splats…
Loops and Comprehensions
Array Slicing and Splicing
Everything is an Expression
@@ -77,18 +77,18 @@
Annotated Source
@@ -104,7 +104,7 @@
- The golden rule of CoffeeScript is: "It's just JavaScript" . The code
+ 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
@@ -116,7 +116,7 @@
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
+ for…from
, or
tagged template literals only if you
know that your target
runtimes can support them . If you use modules ,
@@ -153,7 +153,7 @@
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", above).
+ browser (see “Try CoffeeScript”, above).
@@ -173,7 +173,7 @@
npm install --save coffee-script
- If you'd prefer to install the latest master version of CoffeeScript, you
+ If you’d prefer to install the latest master version of CoffeeScript, you
can clone the CoffeeScript
source repository
from GitHub, or download
@@ -185,7 +185,7 @@
npm install -g jashkenas/coffeescript
- Or, if you want to install to /usr/local
, and don't want to use
+ Or, if you want to install to /usr/local
, and don’t want to use
npm to manage it, open the coffee-script
directory and run:
@@ -334,7 +334,7 @@
--no-header
- Suppress the "Generated by CoffeeScript" header.
+ Suppress the “Generated by CoffeeScript” header.
@@ -378,10 +378,10 @@
Besides being used as an ordinary programming language, CoffeeScript may
- also be written in "literate" mode. If you name your file with a
- .litcoffee
extension, you can write it as a Markdown document —
+ also be written in “literate” mode. If you name your file with a
+ .litcoffee
extension, you can write it as a Markdown document —
a document that also happens to be executable CoffeeScript code. The compiler
- will treat any indented blocks (Markdown's way of indicating source code)
+ will treat any indented blocks (Markdown’s way of indicating source code)
as code, and ignore the rest as comments.
@@ -394,7 +394,7 @@
- I'm fairly excited about this direction for the language, and am looking
+ I’m fairly excited about this direction for the language, and am looking
forward to writing (and more importantly, reading) more programs in this style.
More information about Literate CoffeeScript, including an
example program ,
@@ -419,12 +419,12 @@
Many of the examples can be run (where it makes sense) by pressing the run
- button on the right, and can be loaded into the "Try CoffeeScript"
+ button on the right, and can be loaded into the “Try CoffeeScript”
console by pressing the load button on the left.
First, the basics: CoffeeScript uses significant whitespace to delimit blocks of code.
- You don't need to use semicolons ;
to terminate expressions,
+ You don’t need to use semicolons ;
to terminate expressions,
ending the line will do just as well (although semicolons can still
be used to fit multiple expressions onto a single line).
Instead of using curly braces
@@ -435,7 +435,7 @@
- You don't need to use parentheses to invoke a function if you're passing
+ You don’t need to use parentheses to invoke a function if you’re passing
arguments. The implicit call wraps forward to the end of the line or block expression.
console.log sys.inspect object
→ console.log(sys.inspect(object));
@@ -462,11 +462,11 @@
the commas are optional. Objects may be created using indentation instead
of explicit braces, similar to YAML .
- <%= codeFor('objects_and_arrays', 'song.join(" ... ")') %>
+ <%= codeFor('objects_and_arrays', 'song.join(" … ")') %>
- In JavaScript, you can't use reserved words, like class
, as properties
+ In JavaScript, you can’t use reserved words, like class
, as properties
of an object, without quoting them as strings. CoffeeScript notices reserved words
- used as keys in objects and quotes them for you, so you don't have to worry
+ used as keys in objects and quotes them for you, so you don’t have to worry
about it (say, when using jQuery).
<%= codeFor('objects_reserved') %>
@@ -480,34 +480,34 @@
The CoffeeScript compiler takes care to make sure that all of your variables
- are properly declared within lexical scope — you never need to write
+ are properly declared within lexical scope — you never need to write
var
yourself.
<%= codeFor('scope', 'inner') %>
Notice how all of the variable declarations have been pushed up to
the top of the closest scope, the first time they appear.
- outer is not redeclared within the inner function, because it's
+ outer is not redeclared within the inner function, because it’s
already in scope; inner within the function, on the other hand,
should not be able to change the value of the external variable of the same name, and
therefore has a declaration of its own.
- This behavior is effectively identical to Ruby's scope for local variables.
- Because you don't have direct access to the var
keyword,
- it's impossible to shadow an outer variable on purpose, you may only refer
- to it. So be careful that you're not reusing the name of an external
- variable accidentally, if you're writing a deeply nested function.
+ This behavior is effectively identical to Ruby’s scope for local variables.
+ Because you don’t have direct access to the var
keyword,
+ it’s impossible to shadow an outer variable on purpose, you may only refer
+ to it. So be careful that you’re not reusing the name of an external
+ variable accidentally, if you’re writing a deeply nested function.
Although suppressed within this documentation for clarity, all
CoffeeScript output is wrapped in an anonymous function:
- (function(){ ... })();
This safety wrapper, combined with the
+ (function(){ … })();
This safety wrapper, combined with the
automatic generation of the var
keyword, make it exceedingly difficult
to pollute the global namespace by accident.
- If you'd like to create top-level variables for other scripts to use,
+ If you’d like to create top-level variables for other scripts to use,
attach them as properties on window ; attach them as properties on the
exports object in CommonJS; or use an export
statement . If you’re targeting both CommonJS and the browser, the
@@ -520,20 +520,20 @@
If/else statements can be written without the use of parentheses and
curly brackets. As with functions and other block expressions,
- multi-line conditionals are delimited by indentation. There's also a handy
+ multi-line conditionals are delimited by indentation. There’s also a handy
postfix form, with the if
or unless
at the end.
CoffeeScript can compile if statements into JavaScript expressions,
using the ternary operator when possible, and closure wrapping otherwise. There
- is no explicit ternary statement in CoffeeScript — you simply use
+ is no explicit ternary statement in CoffeeScript — you simply use
a regular if statement on a single line.
<%= codeFor('conditionals') %>
-
+
The JavaScript arguments object is a useful way to work with
functions that accept variable numbers of arguments. CoffeeScript provides
splats ...
, both for function definition as well as invocation,
@@ -544,7 +544,7 @@
- Most of the loops you'll write in CoffeeScript will be comprehensions
+ Most of the loops you’ll write in CoffeeScript will be comprehensions
over arrays, objects, and ranges. Comprehensions replace (and compile into)
for loops, with optional guard clauses and the value of the current array index.
Unlike for loops, array comprehensions are expressions, and can be returned
@@ -564,9 +564,9 @@
Note how because we are assigning the value of the comprehensions to a
variable in the example above, CoffeeScript is collecting the result of
each iteration into an array. Sometimes functions end with loops that are
- intended to run only for their side-effects. Be careful that you're not
+ intended to run only for their side-effects. Be careful that you’re not
accidentally returning the results of the comprehension in these cases,
- by adding a meaningful return value — like true
— or null
,
+ by adding a meaningful return value — like true
— or null
,
to the bottom of your function.
@@ -575,7 +575,7 @@
evens = (x for x in [0..10] by 2)
- If you don't need the current iteration value you may omit it:
+ If you don’t need the current iteration value you may omit it:
browser.closeCurrentTab() for [0...count]
@@ -605,9 +605,9 @@
and the loop keyword is equivalent to while true
.
- When using a JavaScript loop to generate functions, it's common to insert
+ When using a JavaScript loop to generate functions, it’s common to insert
a closure wrapper in order to ensure that loop variables are closed over,
- and all the generated functions don't just share the final values. CoffeeScript
+ and all the generated functions don’t just share the final values. CoffeeScript
provides the do
keyword, which immediately invokes a passed function,
forwarding any arguments.
@@ -629,12 +629,12 @@
<%= codeFor('splices', 'numbers') %>
- Note that JavaScript strings are immutable, and can't be spliced.
+ Note that JavaScript strings are immutable, and can’t be spliced.
- You might have noticed how even though we don't add return statements
+ You might have noticed how even though we don’t add return statements
to CoffeeScript functions, they nonetheless return their final value.
The CoffeeScript compiler tries to make sure that all statements in the
language can be used as expressions. Watch how the return
gets
@@ -643,13 +643,13 @@
<%= codeFor('expressions', 'eldest') %>
- Even though functions will always return their final value, it's both possible
+ Even though functions will always return their final value, it’s both possible
and encouraged to return early from a function body writing out the explicit
- return (return value
), when you know that you're done.
+ return (return value
), when you know that you’re done.
Because variable declarations occur at the top of scope, assignment can
- be used within expressions, even for variables that haven't been seen before:
+ be used within expressions, even for variables that haven’t been seen before:
<%= codeFor('expressions_assignment', 'six') %>
@@ -665,10 +665,10 @@
<%= codeFor('expressions_try', true) %>
- There are a handful of statements in JavaScript that can't be meaningfully
+ There are a handful of statements in JavaScript that can’t be meaningfully
converted into expressions, namely break
, continue
,
and return
. If you make use of them within a block of code,
- CoffeeScript won't try to perform the conversion.
+ CoffeeScript won’t try to perform the conversion.
@@ -740,11 +740,11 @@
- It's a little difficult to check for the existence of a variable in
- JavaScript. if (variable) ...
comes close, but fails for zero,
- the empty string, and false. CoffeeScript's existential operator ?
returns true unless
+ It’s a little difficult to check for the existence of a variable in
+ JavaScript. if (variable) …
comes close, but fails for zero,
+ the empty string, and false. CoffeeScript’s existential operator ?
returns true unless
a variable is null or undefined , which makes it analogous
- to Ruby's nil?
+ to Ruby’s nil?
It can also be used for safer conditional assignment than ||=
@@ -755,13 +755,13 @@
The accessor variant of the existential operator ?.
can be used to soak
up null references in a chain of properties. Use it instead
of the dot accessor .
in cases where the base value may be null
- or undefined . If all of the properties exist then you'll get the expected
+ or undefined . If all of the properties exist then you’ll get the expected
result, if the chain is broken, undefined is returned instead of
the TypeError that would be raised otherwise.
<%= codeFor('soaks') %>
- Soaking up nulls is similar to Ruby's
+ Soaking up nulls is similar to Ruby’s
andand gem , and to the
safe navigation operator
in Groovy.
@@ -770,16 +770,16 @@
- JavaScript's prototypal inheritance has always been a bit of a
+ JavaScript’s prototypal inheritance has always been a bit of a
brain-bender, with a whole family tree of libraries that provide a cleaner
- syntax for classical inheritance on top of JavaScript's prototypes:
+ syntax for classical inheritance on top of JavaScript’s prototypes:
Base2 ,
Prototype.js ,
JS.Class , etc.
The libraries provide syntactic sugar, but the built-in inheritance would
- be completely usable if it weren't for a couple of small exceptions:
- it's awkward to call super (the prototype object's
- implementation of the current function), and it's awkward to correctly
+ be completely usable if it weren’t for a couple of small exceptions:
+ it’s awkward to call super (the prototype object’s
+ implementation of the current function), and it’s awkward to correctly
set the prototype chain.
@@ -794,12 +794,12 @@
<%= codeFor('classes', true) %>
- If structuring your prototypes classically isn't your cup of tea, CoffeeScript
+ If structuring your prototypes classically isn’t your cup of tea, CoffeeScript
provides a couple of lower-level conveniences. The extends
operator
helps with proper prototype setup, and can be used to create an inheritance
chain between any pair of constructor functions; ::
gives you
- quick access to an object's prototype; and super()
- is converted into a call against the immediate ancestor's method of the same name.
+ quick access to an object’s prototype; and super()
+ is converted into a call against the immediate ancestor’s method of the same name.
<%= codeFor('prototypes', '"one_two".dasherize()') %>
@@ -821,7 +821,7 @@
<%= codeFor('parallel_assignment', 'theBait') %>
- But it's also helpful for dealing with functions that return multiple
+ But it’s also helpful for dealing with functions that return multiple
values.
<%= codeFor('multiple_return_values', 'forecast') %>
@@ -856,7 +856,7 @@
In JavaScript, the this
keyword is dynamically scoped to mean the
object that the current function is attached to. If you pass a function as
a callback or attach it to a different object, the original value of this
- will be lost. If you're not familiar with this behavior,
+ will be lost. If you’re not familiar with this behavior,
this Digital Web article
gives a good overview of the quirks.
@@ -866,12 +866,12 @@
when using callback-based libraries like Prototype or jQuery, for creating
iterator functions to pass to each
, or event-handler functions
to use with on
. Functions created with the fat arrow are able to access
- properties of the this
where they're defined.
+ properties of the this
where they’re defined.
<%= codeFor('fat_arrow') %>
If we had used ->
in the callback above, @customer
would
- have referred to the undefined "customer" property of the DOM element,
+ have referred to the undefined “customer” property of the DOM element,
and trying to call purchase()
on it would have raised an exception.
@@ -883,24 +883,24 @@
CoffeeScript functions also support
ES2015 generator functions
- through the yield
keyword. There's no function*(){}
- nonsense — a generator in CoffeeScript is simply a function that yields.
+ through the yield
keyword. There’s no function*(){}
+ nonsense — a generator in CoffeeScript is simply a function that yields.
<%= codeFor('generators', 'ps.next().value') %>
yield*
is called yield from
, and yield return
- may be used if you need to force a generator that doesn't yield.
+ may be used if you need to force a generator that doesn’t yield.
- You can iterate over a generator function using for…from
.
+ You can iterate over a generator function using for…from
.
<%= codeFor('generator_iteration', 'getFibonacciNumbers(10)') %>
- Hopefully, you'll never need to use it, but if you ever need to intersperse
+ Hopefully, you’ll never need to use it, but if you ever need to intersperse
snippets of JavaScript within your CoffeeScript, you can
use backticks to pass it straight through.
@@ -914,7 +914,7 @@
<%= codeFor('embedded_escaped', 'markdown()') %>
- You can also embed blocks of JavaScript using triple backticks. That's easier
+ You can also embed blocks of JavaScript using triple backticks. That’s easier
than escaping backticks, if you need them inside your JavaScript block.
<%= codeFor('embedded_block', 'time()') %>
@@ -955,7 +955,7 @@
CoffeeScript borrows
chained comparisons
- from Python — making it easy to test if a value falls within a
+ from Python — making it easy to test if a value falls within a
certain range.
<%= codeFor('comparisons', 'healthy') %>
@@ -964,7 +964,7 @@
Ruby-style string interpolation is included in CoffeeScript. Double-quoted
- strings allow for interpolated values, using #{ ... }
,
+ strings allow for interpolated values, using #{ … }
,
and single-quoted strings are literal. You may even use interpolation in
object keys.
@@ -975,7 +975,7 @@
<%= codeFor('strings', 'mobyDick') %>
Block strings can be used to hold formatted or indentation-sensitive text
- (or, if you just don't feel like escaping quotes and apostrophes). The
+ (or, if you just don’t feel like escaping quotes and apostrophes). The
indentation level that begins the block is maintained throughout, so
you can keep it all aligned with the body of your code.
@@ -984,7 +984,7 @@
Double-quoted block strings, like other double-quoted strings, allow interpolation.
- Sometimes you'd like to pass a block comment through to the generated
+ Sometimes you’d like to pass a block comment through to the generated
JavaScript. For example, when you need to embed a licensing header at
the top of a file. Block comments, which mirror the syntax for block strings,
are preserved in the generated code.
@@ -998,7 +998,7 @@
ES2015 tagged template literals ,
which enable customized string interpolation. If you immediately prefix a string
with a function name (no space between the two), CoffeeScript will output this
- 'function plus string' combination as an ES2015 tagged template literal, which will
+ “function plus string” combination as an ES2015 tagged template literal, which will
behave accordingly :
the function is called, with the parameters being the input text and expression parts
that make up the interpolated string. The function can then assemble these parts
@@ -1016,9 +1016,9 @@
- Similar to block strings and comments, CoffeeScript supports block regexes —
+ Similar to block strings and comments, CoffeeScript supports block regexes —
extended regular expressions that ignore internal whitespace and can contain
- comments and interpolation. Modeled after Perl's /x
modifier, CoffeeScript's
+ comments and interpolation. Modeled after Perl’s /x
modifier, CoffeeScript’s
block regexes are delimited by ///
and go a long way towards making complex
regular expressions readable. To quote from the CoffeeScript source:
@@ -1058,7 +1058,7 @@
CoffeeScript includes a (very) simple build system similar to
Make and
Rake . Naturally,
- it's called Cake, and is used for the tasks that build and test the CoffeeScript
+ it’s called Cake, and is used for the tasks that build and test the CoffeeScript
language itself. Tasks are defined in a file named Cakefile
, and
can be invoked by running cake [task]
from within the directory.
To print a list of all the tasks and options, just type cake
.
@@ -1069,18 +1069,18 @@
in your Cakefile. Define a task with a name, a long description, and the
function to invoke when the task is run. If your task takes a command-line
option, you can define the option with short and long flags, and it will
- be made available in the options
object. Here's a task that uses
- the Node.js API to rebuild CoffeeScript's parser:
+ be made available in the options
object. Here’s a task that uses
+ the Node.js API to rebuild CoffeeScript’s parser:
<%= codeFor('cake_tasks') %>
- If you need to invoke one task before another — for example, running
+ 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.
+ 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.
@@ -1109,7 +1109,7 @@
- While it's not recommended for serious use, CoffeeScripts may be included
+ 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, 39k when gzipped )
@@ -1118,7 +1118,7 @@
- In fact, the little bit of glue script that runs "Try CoffeeScript" above,
+ 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()
@@ -1126,7 +1126,7 @@
- The usual caveats about CoffeeScript apply — your inline scripts will
+ 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.
@@ -1158,8 +1158,8 @@
CoffeeScript: Accelerated JavaScript Development
- is Trevor Burnham 's thorough
- introduction to the language. By the end of the book, you'll have built
+ is Trevor Burnham ’s thorough
+ introduction to the language. By the end of the book, you’ll have built
a fast-paced multiplayer word game, writing both the client-side and Node.js
portions in CoffeeScript.
@@ -1171,7 +1171,7 @@
CoffeeScript Ristretto
- is a deep dive into CoffeeScript's semantics from simple functions up through
+ is a deep dive into CoffeeScript’s semantics from simple functions up through
closures, higher-order functions, objects, classes, combinators, and decorators.
By Reg Braithwaite .
@@ -1185,7 +1185,7 @@
from Packt, introduces CoffeeScript while
walking through the process of building a demonstration web application.
A CoffeeScript Application Development Coookbook
- with over 90 "recipes" is also available.
+ with over 90 “recipes” is also available.
CoffeeScript in Action
@@ -1214,7 +1214,7 @@
into the equivalent JS.
- If you're looking for less of a time commitment, RailsCasts'
+ If you’re looking for less of a time commitment, RailsCasts’
CoffeeScript Basics
should have you covered, hitting all of the important notes about CoffeeScript
in 11 minutes.
@@ -1233,27 +1233,27 @@
- github 's Hubot ,
+ github ’s Hubot ,
a friendly IRC robot that can perform any number of useful and useless tasks.
- sstephenson 's Pow ,
+ sstephenson ’s Pow ,
a zero-configuration Rack server, with comprehensive annotated source.
- technoweenie 's Coffee-Resque ,
+ technoweenie ’s Coffee-Resque ,
a port of Resque for Node.js.
- assaf 's Zombie.js ,
+ assaf ’s Zombie.js ,
a headless, full-stack, faux-browser testing library for Node.js.
- stephank 's Orona , a remake of
+ stephank ’s Orona , a remake of
the Bolo tank game for modern browsers.
- github 's Atom ,
+ github ’s Atom ,
a hackable text editor built on web technologies.
@@ -1268,13 +1268,13 @@
Use bin/coffee
to test your changes,
bin/cake test
to run the test suite,
bin/cake build
to rebuild the CoffeeScript compiler, and
- bin/cake build:parser
to regenerate the Jison parser if you're
+ bin/cake build:parser
to regenerate the Jison parser if you’re
working on the grammar.
- 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 directory
+ 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 directory
(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.
+ they pass, there’s a good chance you’ve made a successful change.
CoffeeScript Issues
@@ -1282,11 +1282,11 @@
CoffeeScript Google Group
- If you'd like to ask a question, the mailing list is a good place to get help.
+ If you’d like to ask a question, the mailing list is a good place to get help.
The CoffeeScript Wiki
- If you've ever learned a neat CoffeeScript tip or trick, or ran into a gotcha — share it on the wiki.
+ If you’ve ever learned a neat CoffeeScript tip or trick, or ran into a gotcha — share it on the wiki.
The wiki also serves as a directory of handy
text editor extensions ,
web framework plugins ,
@@ -1298,9 +1298,9 @@
JS2Coffee
- Is a very well done reverse JavaScript-to-CoffeeScript compiler. It's
+ Is a very well done reverse JavaScript-to-CoffeeScript compiler. It’s
not going to be perfect (infer what your JavaScript classes are, when
- you need bound functions, and so on...) — but it's a great starting
+ you need bound functions, and so on…) — but it’s a great starting
point for converting simple scripts.
@@ -1343,15 +1343,15 @@
CoffeeScript now provides a
- for…from
+ for…from
syntax for outputting ES2015
- for…of
. (Sorry they couldn't match,
- but we came up with for…of
first for something
+ 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
+ object. Note that using for…from
in your code
makes you responsible for ensuring that either your runtime supports
- for…from
or that you transpile the output
+ for…from
or that you transpile the output
JavaScript further to a version your target runtime(s) support.
@@ -1365,13 +1365,13 @@
escaped via \`
.
- CoffeeScript's shorthand object
+ CoffeeScript’s shorthand object
notation is finally documented.
A note was added to the top of the documentation, explaining which
features are output with ES2015+ syntax. All such features are
- "opt in:" if you refrain from using them, your code will still
+ “opt in”: if you refrain from using them, your code will still
be compatible with all but the most ancient browsers.
@@ -1418,7 +1418,7 @@
Bugfix for indentation-stripping in """
strings.
- Bugfix for not being able to use the name "arguments" for a prototype
+ Bugfix for not being able to use the name “arguments” for a prototype
property of class.
@@ -1621,7 +1621,7 @@
Internal compiler variable names no longer start with underscores. This makes
the generated JavaScript a bit prettier, and also fixes an issue with
- the completely broken and ungodly way that AngularJS "parses" function
+ the completely broken and ungodly way that AngularJS “parses” function
arguments.
@@ -1710,7 +1710,7 @@
<%= releaseHeader('2014-01-28', '1.7.0', '1.6.3') %>
- When requiring CoffeeScript files in Node you must now explicitly register the compiler. This can be done with require 'coffee-script/register'
or CoffeeScript.register()
. Also for configuration such as Mocha's, use coffee-script/register .
+ When requiring CoffeeScript files in Node you must now explicitly register the compiler. This can be done with require 'coffee-script/register'
or CoffeeScript.register()
. Also for configuration such as Mocha’s, use coffee-script/register .
Improved error messages, source maps and stack traces. Source maps now use the updated //#
syntax.
@@ -1731,7 +1731,7 @@
Closing brackets can now be indented and therefore no longer cause unexpected error.
- Several breaking compilation fixes. Non-callable literals (strings, numbers etc.) don't compile in a call now and multiple postfix conditionals compile properly. Postfix conditionals and loops always bind object literals. Conditional assignment compiles properly in subexpressions. super
is disallowed outside of methods and works correctly inside for
loops.
+ Several breaking compilation fixes. Non-callable literals (strings, numbers etc.) don’t compile in a call now and multiple postfix conditionals compile properly. Postfix conditionals and loops always bind object literals. Conditional assignment compiles properly in subexpressions. super
is disallowed outside of methods and works correctly inside for
loops.
Formatting of compiled block comments has been improved.
@@ -1778,7 +1778,7 @@
running CoffeeScript directly via the coffee
command, and
for automatic line-mapping when running CoffeeScript directly in the
browser. Also, to provide better error messages for semantic errors
- thrown by the compiler —
+ thrown by the compiler —
with colors, even .
@@ -1807,8 +1807,8 @@
Fixed a 1.5.0 regression with multiple implicit calls against an
indented implicit object. Combinations of implicit function calls
- and implicit objects should generally be parsed better now —
- but it still isn't good style to nest them too heavily.
+ and implicit objects should generally be parsed better now —
+ but it still isn’t good style to nest them too heavily.
.coffee.md
is now also supported as a Literate CoffeeScript
@@ -1851,7 +1851,7 @@
<%= releaseHeader('2012-10-23', '1.4.0', '1.3.3') %>
- The CoffeeScript compiler now strips Microsoft's UTF-8 BOM if it
+ The CoffeeScript compiler now strips Microsoft’s UTF-8 BOM if it
exists, allowing you to compile BOM-borked source files.
@@ -1869,13 +1869,13 @@
<%= releaseHeader('2012-05-15', '1.3.3', '1.3.1') %>
- Due to the new semantics of JavaScript's strict mode, CoffeeScript no
+ Due to the new semantics of JavaScript’s strict mode, CoffeeScript no
longer guarantees that constructor functions have names in all runtimes.
See #2052
for discussion.
- Inside of a nested function inside of an instance method, it's now possible
+ Inside of a nested function inside of an instance method, it’s now possible
to call super
more reliably (walks recursively up).
@@ -1895,7 +1895,7 @@
<%= releaseHeader('2012-04-10', '1.3.1', '1.2.0') %>
- CoffeeScript now enforces all of JavaScript's Strict Mode early syntax
+ CoffeeScript now enforces all of JavaScript’s Strict Mode early syntax
errors at compile time. This includes old-style octal literals,
duplicate property names in object literals, duplicate parameters in
a function definition, deleting naked variables, setting the value of
@@ -1905,7 +1905,7 @@
The REPL now has a handy new multi-line mode for entering large
- blocks of code. It's useful when copy-and-pasting examples into the
+ blocks of code. It’s useful when copy-and-pasting examples into the
REPL. Enter multi-line mode with Ctrl-V
. You may also now
pipe input directly into the REPL.
@@ -1919,7 +1919,7 @@
A tweak to the semantics of do
, which can now be used to
- more easily simulate a namespace: do (x = 1, y = 2) -> ...
+ more easily simulate a namespace: do (x = 1, y = 2) -> …
Loop indices are now mutable within a loop iteration, and immutable
@@ -1931,7 +1931,7 @@
Additional tweaks and improvements to coffee --watch
under
- Node's "new" file watching API. Watch will now beep by default
+ Node’s “new” file watching API. Watch will now beep by default
if you introduce a syntax error into a watched script. We also now
ignore hidden directories by default when watching recursively.
@@ -1944,7 +1944,7 @@
Multiple improvements to coffee --watch
and --join
.
You may now use both together, as well as add and remove
- files and directories within a --watch
'd folder.
+ files and directories within a --watch
’d folder.
The throw
statement can now be used as part of an expression.
@@ -1966,7 +1966,7 @@
<%= releaseHeader('2011-11-08', '1.1.3', '1.1.2') %>
- Ahh, whitespace. CoffeeScript's compiled JS now tries to space things
+ Ahh, whitespace. CoffeeScript’s compiled JS now tries to space things
out and keep it readable, as you can see in the examples on this page.
@@ -1985,7 +1985,7 @@
folder to your path: require('coffee-script/lexer')
- There's a new "link" feature in Try CoffeeScript on this webpage. Use
+ There’s a new “link” feature in Try CoffeeScript on this webpage. Use
it to get a shareable permalink for your example script.
@@ -2024,10 +2024,10 @@
When running via the coffee
executable, process.argv
and
friends now report coffee
instead of node
.
Better compatibility with Node.js 0.4.x module lookup changes.
- The output in the REPL is now colorized, like Node's is.
+ The output in the REPL is now colorized, like Node’s is.
Giving your concatenated CoffeeScripts a name when using --join
is now mandatory.
Fix for lexing compound division /=
as a regex accidentally.
- All text/coffeescript
tags should now execute in the order they're included.
+ All text/coffeescript
tags should now execute in the order they’re included.
Fixed an issue with extended subclasses using external constructor functions.
Fixed an edge-case infinite loop in addImplicitParentheses
.
Fixed exponential slowdown with long chains of function calls.
@@ -2040,7 +2040,7 @@
Fixed a lexer bug with Unicode identifiers. Updated REPL for compatibility
with Node.js 0.3.7. Fixed requiring relative paths in the REPL. Trailing
return
and return undefined
are now optimized away.
- Stopped requiring the core Node.js "util"
module for
+ Stopped requiring the core Node.js util
module for
back-compatibility with Node.js 0.2.5. Fixed a case where a
conditional return
would cause fallthrough in a switch
statement. Optimized empty objects in destructuring assignment.
@@ -2074,14 +2074,14 @@
<%= releaseHeader('2010-11-21', '0.9.5', '0.9.4') %>
0.9.5 should be considered the first release candidate for CoffeeScript 1.0.
There have been a large number of internal changes since the previous release,
- many contributed from satyr 's Coco
+ many contributed from satyr ’s Coco
dialect of CoffeeScript. Heregexes (extended regexes) were added. Functions
can now have default arguments. Class bodies are now executable code.
Improved syntax errors for invalid CoffeeScript. undefined
now
works like null
, and cannot be assigned a new value.
There was a precedence change with respect to single-line comprehensions:
result = i for i in list
used to parse as result = (i for i in list)
- by default ... it now parses as (result = i) for i in list
.
+ by default … it now parses as (result = i) for i in list
.
@@ -2096,7 +2096,7 @@
<%= releaseHeader('2010-09-16', '0.9.3', '0.9.2') %>
CoffeeScript switch
statements now compile into JS switch
- statements — they previously compiled into if/else
chains
+ statements — they previously compiled into if/else
chains
for JavaScript 1.3 compatibility.
Soaking a function invocation is now supported. Users of the RubyMine
editor should now be able to use --watch
mode.
@@ -2111,7 +2111,7 @@
Added a custom jsl.conf
file for our preferred JavaScriptLint setup.
Sped up Jison grammar compilation time by flattening rules for operations.
Block comments can now be used with JavaScript-minifier-friendly syntax.
- Added JavaScript's compound assignment bitwise operators. Bugfixes to
+ Added JavaScript’s compound assignment bitwise operators. Bugfixes to
implicit object literals with leading number and string keys, as the subject
of implicit calls, and as part of compound assignment.
@@ -2120,7 +2120,7 @@
<%= releaseHeader('2010-08-11', '0.9.1', '0.9.0') %>
Bugfix release for 0.9.1 . Greatly improves the handling of mixed
implicit objects, implicit function calls, and implicit indentation.
- String and regex interpolation is now strictly #{ ... }
(Ruby style).
+ String and regex interpolation is now strictly #{ … }
(Ruby style).
The compiler now takes a --require
flag, which specifies scripts
to run before compilation.
@@ -2128,24 +2128,24 @@
<%= releaseHeader('2010-08-04', '0.9.0', '0.7.2') %>
The CoffeeScript 0.9 series is considered to be a release candidate
- for 1.0 ; let's give her a shakedown cruise. 0.9.0 introduces a massive
+ for 1.0 ; let’s give her a shakedown cruise. 0.9.0 introduces a massive
backwards-incompatible change: Assignment now uses =
, and object
literals use :
, as in JavaScript. This allows us to have implicit
object literals, and YAML-style object definitions. Half assignments are
removed, in favor of +=
, or=
, and friends.
Interpolation now uses a hash mark #
instead of the dollar sign
- $
— because dollar signs may be part of a valid JS identifier.
+ $
— because dollar signs may be part of a valid JS identifier.
Downwards range comprehensions are now safe again, and are optimized to
straight for loops when created with integer endpoints.
A fast, unguarded form of object comprehension was added:
for all key, value of object
. Mentioning the super
keyword
with no arguments now forwards all arguments passed to the function,
as in Ruby. If you extend class B
from parent class A
, if
- A
has an extended
method defined, it will be called, passing in B
—
+ A
has an extended
method defined, it will be called, passing in B
—
this enables static inheritance, among other things. Cleaner output for
functions bound with the fat arrow. @variables
can now be used
in parameter lists, with the parameter being automatically set as a property
- on the object — useful in constructors and setter functions.
+ on the object — useful in constructors and setter functions.
Constructor functions can now take splats.
@@ -2158,7 +2158,7 @@
<%= releaseHeader('2010-07-11', '0.7.1', '0.7.0') %>
Block-style comments are now passed through and printed as JavaScript block
- comments -- making them useful for licenses and copyright headers. Better
+ comments – making them useful for licenses and copyright headers. Better
support for running coffee scripts standalone via hashbangs.
Improved syntax errors for tokens that are not in the grammar.
@@ -2168,7 +2168,7 @@
Official CoffeeScript variable style is now camelCase, as in JavaScript.
Reserved words are now allowed as object keys, and will be quoted for you.
Range comprehensions now generate cleaner code, but you have to specify by -1
- if you'd like to iterate downward. Reporting of syntax errors is greatly
+ if you’d like to iterate downward. Reporting of syntax errors is greatly
improved from the previous release. Running coffee
with no arguments
now launches the REPL, with Readline support. The <-
bind operator
has been removed from CoffeeScript. The loop
keyword was added,
@@ -2185,7 +2185,7 @@
The coffee
command will now preserve directory structure when
compiling a directory full of scripts. Fixed two omissions that were preventing
the CoffeeScript compiler from running live within Internet Explorer.
- There's now a syntax for block comments, similar in spirit to CoffeeScript's heredocs.
+ There’s now a syntax for block comments, similar in spirit to CoffeeScript’s heredocs.
ECMA Harmony DRY-style pattern matching is now supported, where the name
of the property is the same as the name of the value: {name, length}: func
.
Pattern matching is now allowed within comprehension variables. unless
@@ -2225,7 +2225,7 @@
Stan Angeloff .
Since --run
has been the default since 0.5.3 , updating
--stdio
and --eval
to run by default, pass --compile
- as well if you'd like to print the result.
+ as well if you’d like to print the result.
@@ -2248,7 +2248,7 @@
<%= releaseHeader('2010-02-25', '0.5.2', '0.5.1') %>
Added a compressed version of the compiler for inclusion in web pages as
- v<%= majorVersion %>/browser-compiler/coffee-script.js
. It'll automatically run any script tags
+ v<%= majorVersion %>/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.
@@ -2273,7 +2273,7 @@
<%= releaseHeader('2010-02-08', '0.3.2', '0.3.0') %>
@property
is now a shorthand for this.property
.
Switched the default JavaScript engine from Narwhal to Node.js. Pass
- the --narwhal
flag if you'd like to continue using it.
+ the --narwhal
flag if you’d like to continue using it.
@@ -2302,7 +2302,7 @@
<%= releaseHeader('2010-01-13', '0.2.5', '0.2.4') %>
- The conditions in switch statements can now take multiple values at once —
+ The conditions in switch statements can now take multiple values at once —
If any of them are true, the case will run. Added the long arrow ==>
,
which defines and immediately binds a function to this
. While loops can
now be used as expressions, in the same way that comprehensions can. Splats
@@ -2330,17 +2330,17 @@
Added ::
as a shorthand for saying .prototype.
- The "splat" symbol has been changed from a prefix asterisk *
, to
+ The “splat” symbol has been changed from a prefix asterisk *
, to
a postfix ellipsis ...
- Added JavaScript's in
operator,
+ Added JavaScript’s in
operator,
empty return
statements, and empty while
loops.
Constructor functions that start with capital letters now include a
safety check to make sure that the new instance of the object is returned.
The extends
keyword now functions identically to goog.inherits
- in Google's Closure Library.
+ in Google’s Closure Library.
@@ -2354,7 +2354,7 @@
conversion. Splats. Splice literals. Object comprehensions. Blocks.
The existential operator. Many thanks to all the folks who posted issues,
with special thanks to
- Liam O'Connor-Davis for whitespace
+ Liam O’Connor-Davis for whitespace
and expression help.
From f187440bb86b9e0751de9f11701d73a1d70bf947 Mon Sep 17 00:00:00 2001
From: Geoffrey Booth
Date: Wed, 30 Nov 2016 22:06:22 -0800
Subject: [PATCH 04/17] Update size of browser compiler
---
documentation/index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/documentation/index.html b/documentation/index.html
index dfe7cec5b6..7ffce122ef 100644
--- a/documentation/index.html
+++ b/documentation/index.html
@@ -1112,7 +1112,7 @@
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, 39k when gzipped )
+ (Download current version here, 51k when gzipped )
as v<%= majorVersion %>/browser-compiler/coffee-script.js
. Include this file on a page with
inline CoffeeScript tags, and it will compile and evaluate them in order.
From 7d6a3b5fa4912f88d57b06e35dd73c6d5a4f341b Mon Sep 17 00:00:00 2001
From: Geoffrey Booth
Date: Wed, 30 Nov 2016 22:23:51 -0800
Subject: [PATCH 05/17] Docs examples with quotation marks were broken.
Properly escape the quotes. http://stackoverflow.com/a/1082558/223225
---
Cakefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Cakefile b/Cakefile
index 0d6ddf9f26..a1d7c3d479 100644
--- a/Cakefile
+++ b/Cakefile
@@ -146,14 +146,14 @@ task 'doc:site', 'watch and continually rebuild the documentation for the websit
if file in ['generator_iteration', 'generators', 'modules']
cshtml = cshtml.replace /(yield|import|export|from|as|default) /g, '$1 '
jshtml = "#{hljs.highlight('javascript', js).value}
"
- append = if executable is yes then '' else "alert(#{executable});"
+ 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 true then 'run' else "run: #{executable}"
name = "example#{counter}"
script = ""
load = if showLoad then "load
" else ''
- button = if executable then "#{run}
" else ''
+ button = if executable then """#{run}
""" else ''
"#{cshtml}#{jshtml}#{script}#{load}#{button}
"
monthNames = [
From 68938cda307e01f022d842fe670710ed75c9bc1e Mon Sep 17 00:00:00 2001
From: Geoffrey Booth
Date: Wed, 30 Nov 2016 22:27:21 -0800
Subject: [PATCH 06/17] Updated `lib` for 1.12.0
---
lib/coffee-script/browser.js | 2 +-
lib/coffee-script/cake.js | 2 +-
lib/coffee-script/coffee-script.js | 4 ++--
lib/coffee-script/command.js | 2 +-
lib/coffee-script/grammar.js | 2 +-
lib/coffee-script/helpers.js | 2 +-
lib/coffee-script/index.js | 2 +-
lib/coffee-script/lexer.js | 2 +-
lib/coffee-script/nodes.js | 2 +-
lib/coffee-script/optparse.js | 2 +-
lib/coffee-script/register.js | 2 +-
lib/coffee-script/repl.js | 2 +-
lib/coffee-script/rewriter.js | 2 +-
lib/coffee-script/scope.js | 2 +-
lib/coffee-script/sourcemap.js | 2 +-
15 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/lib/coffee-script/browser.js b/lib/coffee-script/browser.js
index 711b19318a..6274b1012e 100644
--- a/lib/coffee-script/browser.js
+++ b/lib/coffee-script/browser.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var CoffeeScript, compile, runScripts,
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
diff --git a/lib/coffee-script/cake.js b/lib/coffee-script/cake.js
index 9e1f3869b5..1345ebe950 100644
--- a/lib/coffee-script/cake.js
+++ b/lib/coffee-script/cake.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var CoffeeScript, cakefileDirectory, fatalError, fs, helpers, missingTask, oparse, options, optparse, path, printTasks, switches, tasks;
diff --git a/lib/coffee-script/coffee-script.js b/lib/coffee-script/coffee-script.js
index 4407864e8b..dec02ecf26 100644
--- a/lib/coffee-script/coffee-script.js
+++ b/lib/coffee-script/coffee-script.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var Lexer, SourceMap, base64encode, compile, ext, fn1, formatSourcePosition, fs, getSourceMap, helpers, i, len, lexer, parser, path, ref, sourceMaps, vm, withPrettyErrors,
hasProp = {}.hasOwnProperty;
@@ -17,7 +17,7 @@
SourceMap = require('./sourcemap');
- exports.VERSION = '1.11.1';
+ exports.VERSION = '1.12.0';
exports.FILE_EXTENSIONS = ['.coffee', '.litcoffee', '.coffee.md'];
diff --git a/lib/coffee-script/command.js b/lib/coffee-script/command.js
index c6b28f1f56..f06e7bb108 100644
--- a/lib/coffee-script/command.js
+++ b/lib/coffee-script/command.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var BANNER, CoffeeScript, EventEmitter, SWITCHES, compileJoin, compileOptions, compilePath, compileScript, compileStdio, exec, findDirectoryIndex, forkNode, fs, helpers, hidden, joinTimeout, makePrelude, mkdirp, notSources, optionParser, optparse, opts, outputPath, parseOptions, path, printLine, printTokens, printWarn, ref, removeSource, removeSourceDir, silentUnlink, sourceCode, sources, spawn, timeLog, usage, useWinPathSep, version, wait, watch, watchDir, watchedDirs, writeJs,
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
diff --git a/lib/coffee-script/grammar.js b/lib/coffee-script/grammar.js
index 2186d2e0ae..3357c6d0d6 100644
--- a/lib/coffee-script/grammar.js
+++ b/lib/coffee-script/grammar.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var Parser, alt, alternatives, grammar, name, o, operators, token, tokens, unwrap;
diff --git a/lib/coffee-script/helpers.js b/lib/coffee-script/helpers.js
index 5bf524e5db..a91a956d53 100644
--- a/lib/coffee-script/helpers.js
+++ b/lib/coffee-script/helpers.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var buildLocationData, extend, flatten, ref, repeat, syntaxErrorToString;
diff --git a/lib/coffee-script/index.js b/lib/coffee-script/index.js
index ce2c337a29..d2700b9782 100644
--- a/lib/coffee-script/index.js
+++ b/lib/coffee-script/index.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var key, ref, val;
diff --git a/lib/coffee-script/lexer.js b/lib/coffee-script/lexer.js
index c6309bc0c9..45856052fc 100644
--- a/lib/coffee-script/lexer.js
+++ b/lib/coffee-script/lexer.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var BOM, BOOL, CALLABLE, CODE, COFFEE_ALIASES, COFFEE_ALIAS_MAP, COFFEE_KEYWORDS, COMMENT, COMPARE, COMPOUND_ASSIGN, HERECOMMENT_ILLEGAL, HEREDOC_DOUBLE, HEREDOC_INDENT, HEREDOC_SINGLE, HEREGEX, HEREGEX_OMIT, HERE_JSTOKEN, IDENTIFIER, INDENTABLE_CLOSERS, INDEXABLE, INVALID_ESCAPE, INVERSES, JSTOKEN, JS_KEYWORDS, LEADING_BLANK_LINE, LINE_BREAK, LINE_CONTINUER, Lexer, MATH, MULTI_DENT, NOT_REGEX, NUMBER, OPERATOR, POSSIBLY_DIVISION, REGEX, REGEX_FLAGS, REGEX_ILLEGAL, RELATION, RESERVED, Rewriter, SHIFT, SIMPLE_STRING_OMIT, STRICT_PROSCRIBED, STRING_DOUBLE, STRING_OMIT, STRING_SINGLE, STRING_START, TRAILING_BLANK_LINE, TRAILING_SPACES, UNARY, UNARY_MATH, VALID_FLAGS, WHITESPACE, compact, count, invertLiterate, isUnassignable, key, locationDataToString, ref, ref1, repeat, starts, throwSyntaxError,
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
diff --git a/lib/coffee-script/nodes.js b/lib/coffee-script/nodes.js
index 1091bd4590..4addd2cf87 100644
--- a/lib/coffee-script/nodes.js
+++ b/lib/coffee-script/nodes.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var Access, Arr, Assign, Base, Block, BooleanLiteral, Call, Class, Code, CodeFragment, Comment, Existence, Expansion, ExportAllDeclaration, ExportDeclaration, ExportDefaultDeclaration, ExportNamedDeclaration, ExportSpecifier, ExportSpecifierList, Extends, For, IdentifierLiteral, If, ImportClause, ImportDeclaration, ImportDefaultSpecifier, ImportNamespaceSpecifier, ImportSpecifier, ImportSpecifierList, In, Index, InfinityLiteral, JS_FORBIDDEN, LEVEL_ACCESS, LEVEL_COND, LEVEL_LIST, LEVEL_OP, LEVEL_PAREN, LEVEL_TOP, Literal, ModuleDeclaration, ModuleSpecifier, ModuleSpecifierList, NEGATE, NO, NaNLiteral, NullLiteral, NumberLiteral, Obj, Op, Param, Parens, PassthroughLiteral, PropertyName, Range, RegexLiteral, RegexWithInterpolations, Return, SIMPLENUM, Scope, Slice, Splat, StatementLiteral, StringLiteral, StringWithInterpolations, SuperCall, Switch, TAB, THIS, TaggedTemplateCall, ThisLiteral, Throw, Try, UTILITIES, UndefinedLiteral, Value, While, YES, YieldReturn, addLocationDataFn, compact, del, ends, extend, flatten, fragmentsToText, isComplexOrAssignable, isLiteralArguments, isLiteralThis, isUnassignable, locationDataToString, merge, multident, ref1, ref2, some, starts, throwSyntaxError, unfoldSoak, utility,
extend1 = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
diff --git a/lib/coffee-script/optparse.js b/lib/coffee-script/optparse.js
index 60436c3158..4dd154160a 100644
--- a/lib/coffee-script/optparse.js
+++ b/lib/coffee-script/optparse.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var LONG_FLAG, MULTI_FLAG, OPTIONAL, OptionParser, SHORT_FLAG, buildRule, buildRules, normalizeArguments, repeat;
diff --git a/lib/coffee-script/register.js b/lib/coffee-script/register.js
index d1bc1d3446..447a8c79c8 100644
--- a/lib/coffee-script/register.js
+++ b/lib/coffee-script/register.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var CoffeeScript, Module, binary, child_process, ext, findExtension, fork, helpers, i, len, loadFile, path, ref;
diff --git a/lib/coffee-script/repl.js b/lib/coffee-script/repl.js
index b51565d61c..27c4532cf8 100644
--- a/lib/coffee-script/repl.js
+++ b/lib/coffee-script/repl.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var CoffeeScript, addHistory, addMultilineHandler, fs, getCommandId, merge, nodeREPL, path, ref, replDefaults, runInContext, updateSyntaxError, vm;
diff --git a/lib/coffee-script/rewriter.js b/lib/coffee-script/rewriter.js
index 804301dfd0..749a7a136c 100644
--- a/lib/coffee-script/rewriter.js
+++ b/lib/coffee-script/rewriter.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var BALANCED_PAIRS, CALL_CLOSERS, EXPRESSION_CLOSE, EXPRESSION_END, EXPRESSION_START, IMPLICIT_CALL, IMPLICIT_END, IMPLICIT_FUNC, IMPLICIT_UNSPACED_CALL, INVERSES, LINEBREAKS, SINGLE_CLOSERS, SINGLE_LINERS, generate, k, left, len, ref, rite,
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
diff --git a/lib/coffee-script/scope.js b/lib/coffee-script/scope.js
index 7e44465df5..22028adb84 100644
--- a/lib/coffee-script/scope.js
+++ b/lib/coffee-script/scope.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var Scope,
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
diff --git a/lib/coffee-script/sourcemap.js b/lib/coffee-script/sourcemap.js
index b7d3165bab..3e156551cb 100644
--- a/lib/coffee-script/sourcemap.js
+++ b/lib/coffee-script/sourcemap.js
@@ -1,4 +1,4 @@
-// Generated by CoffeeScript 1.11.1
+// Generated by CoffeeScript 1.12.0
(function() {
var LineMap, SourceMap;
From e6b1218ae1a34e4af30e41f4546a5f94bc17657f Mon Sep 17 00:00:00 2001
From: Geoffrey Booth
Date: Wed, 30 Nov 2016 22:28:00 -0800
Subject: [PATCH 07/17] Updated output docs for 1.12.0, including new browser
compiler
---
docs/v1/browser-compiler/coffee-script.js | 394 +-
docs/v1/index.html | 846 +-
docs/v1/test.html | 9865 +++++++++++++++++++++
3 files changed, 10821 insertions(+), 284 deletions(-)
create mode 100644 docs/v1/test.html
diff --git a/docs/v1/browser-compiler/coffee-script.js b/docs/v1/browser-compiler/coffee-script.js
index 5edf935e11..ba26f8abdd 100644
--- a/docs/v1/browser-compiler/coffee-script.js
+++ b/docs/v1/browser-compiler/coffee-script.js
@@ -1,12 +1,394 @@
/**
- * CoffeeScript Compiler v1.11.1
+ * CoffeeScript Compiler v1.12.0
* http://coffeescript.org
*
* Copyright 2011, Jeremy Ashkenas
* Released under the MIT License
*/
-(function(root){var CoffeeScript=function(){function require(e){return require[e]}return require["./helpers"]=function(){var e={},t={exports:e};return function(){var t,n,i,r,o,s;e.starts=function(e,t,n){return t===e.substr(n,t.length)},e.ends=function(e,t,n){var i;return i=t.length,t===e.substr(e.length-i-(n||0),i)},e.repeat=o=function(e,t){var n;for(n="";t>0;)1&t&&(n+=e),t>>>=1,e+=e;return n},e.compact=function(e){var t,n,i,r;for(r=[],t=0,i=e.length;i>t;t++)n=e[t],n&&r.push(n);return r},e.count=function(e,t){var n,i;if(n=i=0,!t.length)return 1/0;for(;i=1+e.indexOf(t,i);)n++;return n},e.merge=function(e,t){return n(n({},e),t)},n=e.extend=function(e,t){var n,i;for(n in t)i=t[n],e[n]=i;return e},e.flatten=i=function(e){var t,n,r,o;for(n=[],r=0,o=e.length;o>r;r++)t=e[r],"[object Array]"===Object.prototype.toString.call(t)?n=n.concat(i(t)):n.push(t);return n},e.del=function(e,t){var n;return n=e[t],delete e[t],n},e.some=null!=(r=Array.prototype.some)?r:function(e){var t,n,i,r;for(r=this,n=0,i=r.length;i>n;n++)if(t=r[n],e(t))return!0;return!1},e.invertLiterate=function(e){var t,n,i;return i=!0,n=function(){var n,r,o,s;for(o=e.split("\n"),s=[],n=0,r=o.length;r>n;n++)t=o[n],i&&/^([ ]{4}|[ ]{0,3}\t)/.test(t)?s.push(t):(i=/^\s*$/.test(t))?s.push(t):s.push("# "+t);return s}(),n.join("\n")},t=function(e,t){return t?{first_line:e.first_line,first_column:e.first_column,last_line:t.last_line,last_column:t.last_column}:e},e.addLocationDataFn=function(e,n){return function(i){return"object"==typeof i&&i.updateLocationDataIfMissing&&i.updateLocationDataIfMissing(t(e,n)),i}},e.locationDataToString=function(e){var t;return"2"in e&&"first_line"in e[2]?t=e[2]:"first_line"in e&&(t=e),t?t.first_line+1+":"+(t.first_column+1)+"-"+(t.last_line+1+":"+(t.last_column+1)):"No location data"},e.baseFileName=function(e,t,n){var i,r;return null==t&&(t=!1),null==n&&(n=!1),r=n?/\\|\//:/\//,i=e.split(r),e=i[i.length-1],t&&e.indexOf(".")>=0?(i=e.split("."),i.pop(),"coffee"===i[i.length-1]&&i.length>1&&i.pop(),i.join(".")):e},e.isCoffee=function(e){return/\.((lit)?coffee|coffee\.md)$/.test(e)},e.isLiterate=function(e){return/\.(litcoffee|coffee\.md)$/.test(e)},e.throwSyntaxError=function(e,t){var n;throw n=new SyntaxError(e),n.location=t,n.toString=s,n.stack=""+n,n},e.updateSyntaxError=function(e,t,n){return e.toString===s&&(e.code||(e.code=t),e.filename||(e.filename=n),e.stack=""+e),e},s=function(){var e,t,n,i,r,s,a,c,l,u,h,p,d,f,m;return this.code&&this.location?(h=this.location,a=h.first_line,s=h.first_column,l=h.last_line,c=h.last_column,null==l&&(l=a),null==c&&(c=s),r=this.filename||"[stdin]",e=this.code.split("\n")[a],m=s,i=a===l?c+1:e.length,u=e.slice(0,m).replace(/[^\s]/g," ")+o("^",i-m),"undefined"!=typeof process&&null!==process&&(n=(null!=(p=process.stdout)?p.isTTY:void 0)&&!(null!=(d=process.env)?d.NODE_DISABLE_COLORS:void 0)),(null!=(f=this.colorful)?f:n)&&(t=function(e){return"[1;31m"+e+"[0m"},e=e.slice(0,m)+t(e.slice(m,i))+e.slice(i),u=t(u)),r+":"+(a+1)+":"+(s+1)+": error: "+this.message+"\n"+e+"\n"+u):Error.prototype.toString.call(this)},e.nameWhitespaceCharacter=function(e){switch(e){case" ":return"space";case"\n":return"newline";case"\r":return"carriage return";case" ":return"tab";default:return e}}}.call(this),t.exports}(),require["./rewriter"]=function(){var e={},t={exports:e};return function(){var t,n,i,r,o,s,a,c,l,u,h,p,d,f,m,g,b,y,v,k=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},w=[].slice;for(f=function(e,t,n){var i;return i=[e,t],i.generated=!0,n&&(i.origin=n),i},e.Rewriter=function(){function e(){}return e.prototype.rewrite=function(e){return this.tokens=e,this.removeLeadingNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addLocationDataToGeneratedTokens(),this.tokens},e.prototype.scanTokens=function(e){var t,n,i;for(i=this.tokens,t=0;n=i[t];)t+=e.call(this,n,t,i);return!0},e.prototype.detectEnd=function(e,t,n){var i,s,a,c,l;for(l=this.tokens,i=0;c=l[e];){if(0===i&&t.call(this,c,e))return n.call(this,c,e);if(!c||0>i)return n.call(this,c,e-1);s=c[0],k.call(o,s)>=0?i+=1:(a=c[0],k.call(r,a)>=0&&(i-=1)),e+=1}return e-1},e.prototype.removeLeadingNewlines=function(){var e,t,n,i,r;for(i=this.tokens,e=t=0,n=i.length;n>t&&(r=i[e][0],"TERMINATOR"===r);e=++t);return e?this.tokens.splice(0,e):void 0},e.prototype.closeOpenCalls=function(){var e,t;return t=function(e,t){var n;return")"===(n=e[0])||"CALL_END"===n||"OUTDENT"===e[0]&&")"===this.tag(t-1)},e=function(e,t){return this.tokens["OUTDENT"===e[0]?t-1:t][0]="CALL_END"},this.scanTokens(function(n,i){return"CALL_START"===n[0]&&this.detectEnd(i+1,t,e),1})},e.prototype.closeOpenIndexes=function(){var e,t;return t=function(e){var t;return"]"===(t=e[0])||"INDEX_END"===t},e=function(e){return e[0]="INDEX_END"},this.scanTokens(function(n,i){return"INDEX_START"===n[0]&&this.detectEnd(i+1,t,e),1})},e.prototype.indexOfTag=function(){var e,t,n,i,r,o,s;for(t=arguments[0],r=arguments.length>=2?w.call(arguments,1):[],e=0,n=i=0,o=r.length;o>=0?o>i:i>o;n=o>=0?++i:--i){for(;"HERECOMMENT"===this.tag(t+n+e);)e+=2;if(null!=r[n]&&("string"==typeof r[n]&&(r[n]=[r[n]]),s=this.tag(t+n+e),0>k.call(r[n],s)))return-1}return t+n+e-1},e.prototype.looksObjectish=function(e){var t,n;return this.indexOfTag(e,"@",null,":")>-1||this.indexOfTag(e,null,":")>-1?!0:(n=this.indexOfTag(e,o),n>-1&&(t=null,this.detectEnd(n+1,function(e){var t;return t=e[0],k.call(r,t)>=0},function(e,n){return t=n}),":"===this.tag(t+1))?!0:!1)},e.prototype.findTagsBackwards=function(e,t){var n,i,s,a,c,l,u;for(n=[];e>=0&&(n.length||(a=this.tag(e),0>k.call(t,a)&&(c=this.tag(e),0>k.call(o,c)||this.tokens[e].generated)&&(l=this.tag(e),0>k.call(h,l))));)i=this.tag(e),k.call(r,i)>=0&&n.push(this.tag(e)),s=this.tag(e),k.call(o,s)>=0&&n.length&&n.pop(),e-=1;return u=this.tag(e),k.call(t,u)>=0},e.prototype.addImplicitBracesAndParens=function(){var e,t;return e=[],t=null,this.scanTokens(function(i,u,p){var d,m,g,b,y,v,w,T,N,L,C,F,E,D,_,x,S,I,R,A,O,$,P,M,j,B,V,U;if(U=i[0],C=(F=u>0?p[u-1]:[])[0],N=(p.length-1>u?p[u+1]:[])[0],P=function(){return e[e.length-1]},M=u,g=function(e){return u-M+e},b=function(){var e,t;return null!=(e=P())?null!=(t=e[2])?t.ours:void 0:void 0},y=function(){var e;return b()&&"("===(null!=(e=P())?e[0]:void 0)},w=function(){var e;return b()&&"{"===(null!=(e=P())?e[0]:void 0)},v=function(){var e;return b&&"CONTROL"===(null!=(e=P())?e[0]:void 0)},j=function(t){var n;return n=null!=t?t:u,e.push(["(",n,{ours:!0}]),p.splice(n,0,f("CALL_START","(")),null==t?u+=1:void 0},d=function(){return e.pop(),p.splice(u,0,f("CALL_END",")",["","end of input",i[2]])),u+=1},B=function(t,n){var r,o;return null==n&&(n=!0),r=null!=t?t:u,e.push(["{",r,{sameLine:!0,startsLine:n,ours:!0}]),o=new String("{"),o.generated=!0,p.splice(r,0,f("{",o,i)),null==t?u+=1:void 0},m=function(t){return t=null!=t?t:u,e.pop(),p.splice(t,0,f("}","}",i)),u+=1},y()&&("IF"===U||"TRY"===U||"FINALLY"===U||"CATCH"===U||"CLASS"===U||"SWITCH"===U))return e.push(["CONTROL",u,{ours:!0}]),g(1);if("INDENT"===U&&b()){if("=>"!==C&&"->"!==C&&"["!==C&&"("!==C&&","!==C&&"{"!==C&&"TRY"!==C&&"ELSE"!==C&&"="!==C)for(;y();)d();return v()&&e.pop(),e.push([U,u]),g(1)}if(k.call(o,U)>=0)return e.push([U,u]),g(1);if(k.call(r,U)>=0){for(;b();)y()?d():w()?m():e.pop();t=e.pop()}if((k.call(c,U)>=0&&i.spaced||"?"===U&&u>0&&!p[u-1].spaced)&&(k.call(s,N)>=0||k.call(l,N)>=0&&!(null!=(E=p[u+1])?E.spaced:void 0)&&!(null!=(D=p[u+1])?D.newLine:void 0)))return"?"===U&&(U=i[0]="FUNC_EXIST"),j(u+1),g(2);if(k.call(c,U)>=0&&this.indexOfTag(u+1,"INDENT")>-1&&this.looksObjectish(u+2)&&!this.findTagsBackwards(u,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return j(u+1),e.push(["INDENT",u+2]),g(3);if(":"===U){for(R=function(){var e;switch(!1){case e=this.tag(u-1),0>k.call(r,e):return t[1];case"@"!==this.tag(u-2):return u-2;default:return u-1}}.call(this);"HERECOMMENT"===this.tag(R-2);)R-=2;return this.insideForDeclaration="FOR"===N,V=0===R||(_=this.tag(R-1),k.call(h,_)>=0)||p[R-1].newLine,P()&&(x=P(),$=x[0],O=x[1],("{"===$||"INDENT"===$&&"{"===this.tag(O-1))&&(V||","===this.tag(R-1)||"{"===this.tag(R-1)))?g(1):(B(R,!!V),g(2))}if(w()&&k.call(h,U)>=0&&(P()[2].sameLine=!1),T="OUTDENT"===C||F.newLine,k.call(a,U)>=0||k.call(n,U)>=0&&T)for(;b();)if(S=P(),$=S[0],O=S[1],I=S[2],A=I.sameLine,V=I.startsLine,y()&&","!==C)d();else if(w()&&!this.insideForDeclaration&&A&&"TERMINATOR"!==U&&":"!==C)m();else{if(!w()||"TERMINATOR"!==U||","===C||V&&this.looksObjectish(u+1))break;if("HERECOMMENT"===N)return g(1);m()}if(!(","!==U||this.looksObjectish(u+1)||!w()||this.insideForDeclaration||"TERMINATOR"===N&&this.looksObjectish(u+2)))for(L="OUTDENT"===N?1:0;w();)m(u+L);return g(1)})},e.prototype.addLocationDataToGeneratedTokens=function(){return this.scanTokens(function(e,t,n){var i,r,o,s,a,c;return e[2]?1:e.generated||e.explicit?("{"===e[0]&&(o=null!=(a=n[t+1])?a[2]:void 0)?(r=o.first_line,i=o.first_column):(s=null!=(c=n[t-1])?c[2]:void 0)?(r=s.last_line,i=s.last_column):r=i=0,e[2]={first_line:r,first_column:i,last_line:r,last_column:i},1):1})},e.prototype.normalizeLines=function(){var e,t,r,o,s;return s=r=o=null,t=function(e,t){var r,o,a,c;return";"!==e[1]&&(r=e[0],k.call(p,r)>=0)&&!("TERMINATOR"===e[0]&&(o=this.tag(t+1),k.call(i,o)>=0))&&!("ELSE"===e[0]&&"THEN"!==s)&&!!("CATCH"!==(a=e[0])&&"FINALLY"!==a||"->"!==s&&"=>"!==s)||(c=e[0],k.call(n,c)>=0&&this.tokens[t-1].newLine)},e=function(e,t){return this.tokens.splice(","===this.tag(t-1)?t-1:t,0,o)},this.scanTokens(function(n,a,c){var l,u,h,p,f,m;if(m=n[0],"TERMINATOR"===m){if("ELSE"===this.tag(a+1)&&"OUTDENT"!==this.tag(a-1))return c.splice.apply(c,[a,1].concat(w.call(this.indentation()))),1;if(h=this.tag(a+1),k.call(i,h)>=0)return c.splice(a,1),0}if("CATCH"===m)for(l=u=1;2>=u;l=++u)if("OUTDENT"===(p=this.tag(a+l))||"TERMINATOR"===p||"FINALLY"===p)return c.splice.apply(c,[a+l,0].concat(w.call(this.indentation()))),2+l;return k.call(d,m)>=0&&"INDENT"!==this.tag(a+1)&&("ELSE"!==m||"IF"!==this.tag(a+1))?(s=m,f=this.indentation(c[a]),r=f[0],o=f[1],"THEN"===s&&(r.fromThen=!0),c.splice(a+1,0,r),this.detectEnd(a+2,t,e),"THEN"===m&&c.splice(a,1),1):1})},e.prototype.tagPostfixConditionals=function(){var e,t,n;return n=null,t=function(e,t){var n,i;return i=e[0],n=this.tokens[t-1][0],"TERMINATOR"===i||"INDENT"===i&&0>k.call(d,n)},e=function(e){return"INDENT"!==e[0]||e.generated&&!e.fromThen?n[0]="POST_"+n[0]:void 0},this.scanTokens(function(i,r){return"IF"!==i[0]?1:(n=i,this.detectEnd(r+1,t,e),1)})},e.prototype.indentation=function(e){var t,n;return t=["INDENT",2],n=["OUTDENT",2],e?(t.generated=n.generated=!0,t.origin=n.origin=e):t.explicit=n.explicit=!0,[t,n]},e.prototype.generate=f,e.prototype.tag=function(e){var t;return null!=(t=this.tokens[e])?t[0]:void 0},e}(),t=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["STRING_START","STRING_END"],["REGEX_START","REGEX_END"]],e.INVERSES=u={},o=[],r=[],m=0,b=t.length;b>m;m++)y=t[m],g=y[0],v=y[1],o.push(u[v]=g),r.push(u[g]=v);i=["CATCH","THEN","ELSE","FINALLY"].concat(r),c=["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"],s=["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","UNDEFINED","NULL","BOOL","UNARY","YIELD","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","--","++"],l=["+","-"],a=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],d=["ELSE","->","=>","TRY","FINALLY","THEN"],p=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],h=["TERMINATOR","INDENT","OUTDENT"],n=[".","?.","::","?::"]}.call(this),t.exports}(),require["./lexer"]=function(){var e={},t={exports:e};return function(){var t,n,i,r,o,s,a,c,l,u,h,p,d,f,m,g,b,y,v,k,w,T,N,L,C,F,E,D,_,x,S,I,R,A,O,$,P,M,j,B,V,U,H,G,q,Y,X,W,J,z,K,Q,Z,et,tt,nt,it,rt,ot,st,at,ct,lt,ut,ht=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},pt=[].slice;st=require("./rewriter"),B=st.Rewriter,w=st.INVERSES,at=require("./helpers"),tt=at.count,lt=at.starts,et=at.compact,ct=at.repeat,nt=at.invertLiterate,ot=at.locationDataToString,ut=at.throwSyntaxError,e.Lexer=D=function(){function e(){}return e.prototype.tokenize=function(e,t){var n,i,r,o;for(null==t&&(t={}),this.literate=t.literate,this.indent=0,this.baseIndent=0,this.indebt=0,this.outdebt=0,this.indents=[],this.ends=[],this.tokens=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.chunkLine=t.line||0,this.chunkColumn=t.column||0,e=this.clean(e),r=0;this.chunk=e.slice(r);)if(n=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken(),o=this.getLineAndColumnFromChunk(n),this.chunkLine=o[0],this.chunkColumn=o[1],r+=n,t.untilBalanced&&0===this.ends.length)return{tokens:this.tokens,index:r};return this.closeIndentation(),(i=this.ends.pop())&&this.error("missing "+i.tag,i.origin[2]),t.rewrite===!1?this.tokens:(new B).rewrite(this.tokens)},e.prototype.clean=function(e){return e.charCodeAt(0)===t&&(e=e.slice(1)),e=e.replace(/\r/g,"").replace(J,""),Z.test(e)&&(e="\n"+e,this.chunkLine--),this.literate&&(e=nt(e)),e},e.prototype.identifierToken=function(){var e,t,n,i,r,c,l,u,h,p,d,f,m,g,y;return(l=b.exec(this.chunk))?(c=l[0],i=l[1],t=l[2],r=i.length,u=void 0,"own"===i&&"FOR"===this.tag()?(this.token("OWN",i),i.length):"from"===i&&"YIELD"===this.tag()?(this.token("FROM",i),i.length):"as"!==i||!this.seenImport||"IDENTIFIER"!==this.tag()&&"*"!==this.value()?"as"===i&&this.seenExport&&"IDENTIFIER"===this.tag()?(this.token("AS",i),i.length):"default"===i&&this.seenExport?(this.token("DEFAULT",i),i.length):(p=this.tokens,h=p[p.length-1],g=t||null!=h&&("."===(d=h[0])||"?."===d||"::"===d||"?::"===d||!h.spaced&&"@"===h[0])?"PROPERTY":"IDENTIFIER","IDENTIFIER"===g&&(ht.call(N,i)>=0||ht.call(a,i)>=0)&&(g=i.toUpperCase(),"WHEN"===g&&(f=this.tag(),ht.call(C,f)>=0)?g="LEADING_WHEN":"FOR"===g?this.seenFor=!0:"UNLESS"===g?g="IF":"IMPORT"===g?this.seenImport=!0:"EXPORT"===g?this.seenExport=!0:ht.call(z,g)>=0?g="UNARY":ht.call(M,g)>=0&&("INSTANCEOF"!==g&&this.seenFor?(g="FOR"+g,this.seenFor=!1):(g="RELATION","!"===this.value()&&(u=this.tokens.pop(),i="!"+i)))),"IDENTIFIER"===g&&ht.call(j,i)>=0&&this.error("reserved word '"+i+"'",{length:i.length}),"PROPERTY"!==g&&(ht.call(o,i)>=0&&(e=i,i=s[i]),g=function(){switch(i){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"&&":case"||":return"LOGIC";case"true":case"false":return"BOOL";case"break":case"continue":case"debugger":return"STATEMENT";default:return g}}()),y=this.token(g,i,0,r),e&&(y.origin=[g,e,y[2]]),u&&(m=[u[2].first_line,u[2].first_column],y[2].first_line=m[0],y[2].first_column=m[1]),t&&(n=c.lastIndexOf(":"),this.token(":",":",n,t.length)),c.length):("*"===this.value()&&(this.tokens[this.tokens.length-1][0]="IMPORT_ALL"),this.token("AS",i),i.length)):0},e.prototype.numberToken=function(){var e,t,n,i,r,o,s;if(!(n=I.exec(this.chunk)))return 0;switch(i=n[0],t=i.length,!1){case!/^0[BOX]/.test(i):this.error("radix prefix in '"+i+"' must be lowercase",{offset:1});break;case!/^(?!0x).*E/.test(i):this.error("exponential notation in '"+i+"' must be indicated with a lowercase 'e'",{offset:i.indexOf("E")});break;case!/^0\d*[89]/.test(i):this.error("decimal literal '"+i+"' must not be prefixed with '0'",{length:t});break;case!/^0\d+/.test(i):this.error("octal literal '"+i+"' must be prefixed with '0o'",{length:t})}return e=function(){switch(i.charAt(1)){case"b":return 2;case"o":return 8;case"x":return 16;default:return null}}(),r=null!=e?parseInt(i.slice(2),e):parseFloat(i),("b"===(o=i.charAt(1))||"o"===o)&&(i="0x"+r.toString(16)),s=Infinity===r?"INFINITY":"NUMBER",this.token(s,i,0,t),t},e.prototype.stringToken=function(){var e,t,n,i,r,o,s,a,c,l,u,h,m,g,b,y;if(u=(X.exec(this.chunk)||[])[0],!u)return 0;if(this.tokens.length&&"from"===this.value()&&(this.seenImport||this.seenExport)&&(this.tokens[this.tokens.length-1][0]="FROM"),g=function(){switch(u){case"'":return Y;case'"':return G;case"'''":return f;case'"""':return p}}(),o=3===u.length,h=this.matchWithInterpolations(g,u),y=h.tokens,r=h.index,e=y.length-1,n=u.charAt(0),o){for(a=null,i=function(){var e,t,n;for(n=[],s=e=0,t=y.length;t>e;s=++e)b=y[s],"NEOSTRING"===b[0]&&n.push(b[1]);return n}().join("#{}");l=d.exec(i);)t=l[1],(null===a||(m=t.length)>0&&a.length>m)&&(a=t);a&&(c=RegExp("\\n"+a,"g")),this.mergeInterpolationTokens(y,{delimiter:n},function(t){return function(n,i){return n=t.formatString(n),c&&(n=n.replace(c,"\n")),0===i&&(n=n.replace(L,"")),i===e&&(n=n.replace(W,"")),n}}(this))}else this.mergeInterpolationTokens(y,{delimiter:n},function(t){return function(n,i){return n=t.formatString(n),n=n.replace(U,function(t,r){return 0===i&&0===r||i===e&&r+t.length===n.length?"":" "})}}(this));return r},e.prototype.commentToken=function(){var e,t,n;return(n=this.chunk.match(c))?(e=n[0],t=n[1],t&&((n=h.exec(e))&&this.error("block comments cannot contain "+n[0],{offset:n.index,length:n[0].length}),t.indexOf("\n")>=0&&(t=t.replace(RegExp("\\n"+ct(" ",this.indent),"g"),"\n")),this.token("HERECOMMENT",t,0,e.length)),e.length):0},e.prototype.jsToken=function(){var e,t;return"`"===this.chunk.charAt(0)&&(e=T.exec(this.chunk))?(this.token("JS",(t=e[0]).slice(1,-1),0,t.length),t.length):0},e.prototype.regexToken=function(){var e,t,n,r,o,s,a,c,l,u,h,p,d;switch(!1){case!(s=P.exec(this.chunk)):this.error("regular expressions cannot begin with "+s[2],{offset:s.index+s[1].length});break;case!(s=this.matchWithInterpolations(m,"///")):d=s.tokens,o=s.index;break;case!(s=O.exec(this.chunk)):if(p=s[0],e=s[1],t=s[2],this.validateEscapes(e,{isRegex:!0,offsetInChunk:1}),o=p.length,l=this.tokens,c=l[l.length-1],c)if(c.spaced&&(u=c[0],ht.call(i,u)>=0)){if(!t||A.test(p))return 0}else if(h=c[0],ht.call(S,h)>=0)return 0;t||this.error("missing / (unclosed regex)");break;default:return 0}switch(r=$.exec(this.chunk.slice(o))[0],n=o+r.length,a=this.makeToken("REGEX",null,0,n),!1){case!!Q.test(r):this.error("invalid regular expression flags "+r,{offset:o,length:r.length});break;case!(p||1===d.length):null==e&&(e=this.formatHeregex(d[0][1])),this.token("REGEX",""+this.makeDelimitedLiteral(e,{delimiter:"/"})+r,0,n,a);break;default:this.token("REGEX_START","(",0,0,a),this.token("IDENTIFIER","RegExp",0,0),this.token("CALL_START","(",0,0),this.mergeInterpolationTokens(d,{delimiter:'"',"double":!0},this.formatHeregex),r&&(this.token(",",",",o,0),this.token("STRING",'"'+r+'"',o,r.length)),this.token(")",")",n,0),this.token("REGEX_END",")",n,0)}return n},e.prototype.lineToken=function(){var e,t,n,i,r;if(!(n=x.exec(this.chunk)))return 0;if(t=n[0],this.seenFor=!1,r=t.length-1-t.lastIndexOf("\n"),i=this.unfinished(),r-this.indebt===this.indent)return i?this.suppressNewlines():this.newlineToken(0),t.length;if(r>this.indent){if(i)return this.indebt=r-this.indent,this.suppressNewlines(),t.length;if(!this.tokens.length)return this.baseIndent=this.indent=r,t.length;e=r-this.indent+this.outdebt,this.token("INDENT",e,t.length-r,r),this.indents.push(e),this.ends.push({tag:"OUTDENT"}),this.outdebt=this.indebt=0,this.indent=r}else this.baseIndent>r?this.error("missing indentation",{offset:t.length}):(this.indebt=0,this.outdentToken(this.indent-r,i,t.length));return t.length},e.prototype.outdentToken=function(e,t,n){var i,r,o,s;for(i=this.indent-e;e>0;)o=this.indents[this.indents.length-1],o?o===this.outdebt?(e-=this.outdebt,this.outdebt=0):this.outdebt>o?(this.outdebt-=o,e-=o):(r=this.indents.pop()+this.outdebt,n&&(s=this.chunk[n],ht.call(y,s)>=0)&&(i-=r-e,e=r),this.outdebt=0,this.pair("OUTDENT"),this.token("OUTDENT",e,0,n),e-=r):e=0;for(r&&(this.outdebt-=e);";"===this.value();)this.tokens.pop();return"TERMINATOR"===this.tag()||t||this.token("TERMINATOR","\n",n,0),this.indent=i,this},e.prototype.whitespaceToken=function(){var e,t,n,i;return(e=Z.exec(this.chunk))||(t="\n"===this.chunk.charAt(0))?(i=this.tokens,n=i[i.length-1],n&&(n[e?"spaced":"newLine"]=!0),e?e[0].length:0):0},e.prototype.newlineToken=function(e){for(;";"===this.value();)this.tokens.pop();return"TERMINATOR"!==this.tag()&&this.token("TERMINATOR","\n",e,0),this},e.prototype.suppressNewlines=function(){return"\\"===this.value()&&this.tokens.pop(),this},e.prototype.literalToken=function(){var e,t,n,o,s,a,c,h,p,d,f,m,g;if((e=R.exec(this.chunk))?(g=e[0],r.test(g)&&this.tagParameters()):g=this.chunk.charAt(0),f=g,s=this.tokens,o=s[s.length-1],o&&ht.call(["="].concat(pt.call(u)),g)>=0&&(d=!1,"="!==g||"||"!==(a=o[1])&&"&&"!==a||o.spaced||(o[0]="COMPOUND_ASSIGN",o[1]+="=",o=this.tokens[this.tokens.length-2],d=!0),o&&"PROPERTY"!==o[0]&&(n=null!=(c=o.origin)?c:o,t=it(o[1],n[1]),t&&this.error(t,n[2])),d))return g.length;if(";"===g)this.seenFor=this.seenImport=this.seenExport=!1,f="TERMINATOR";else if("*"===g&&"EXPORT"===o[0])f="EXPORT_ALL";else if(ht.call(_,g)>=0)f="MATH";else if(ht.call(l,g)>=0)f="COMPARE";else if(ht.call(u,g)>=0)f="COMPOUND_ASSIGN";else if(ht.call(z,g)>=0)f="UNARY";else if(ht.call(K,g)>=0)f="UNARY_MATH";else if(ht.call(V,g)>=0)f="SHIFT";else if(ht.call(E,g)>=0||"?"===g&&(null!=o?o.spaced:void 0))f="LOGIC";else if(o&&!o.spaced)if("("===g&&(h=o[0],ht.call(i,h)>=0))"?"===o[0]&&(o[0]="FUNC_EXIST"),f="CALL_START";else if("["===g&&(p=o[0],ht.call(v,p)>=0))switch(f="INDEX_START",o[0]){case"?":o[0]="INDEX_SOAK"}switch(m=this.makeToken(f,g),g){case"(":case"{":case"[":this.ends.push({tag:w[g],origin:m});break;case")":case"}":case"]":this.pair(g)}return this.tokens.push(m),g.length},e.prototype.tagParameters=function(){var e,t,n,i;if(")"!==this.tag())return this;for(t=[],i=this.tokens,e=i.length,i[--e][0]="PARAM_END";n=i[--e];)switch(n[0]){case")":t.push(n);break;case"(":case"CALL_START":if(!t.length)return"("===n[0]?(n[0]="PARAM_START",this):this;t.pop()}return this},e.prototype.closeIndentation=function(){return this.outdentToken(this.indent)},e.prototype.matchWithInterpolations=function(t,n){var i,r,o,s,a,c,l,u,h,p,d,f,m,g,b;if(b=[],u=n.length,this.chunk.slice(0,u)!==n)return null;for(m=this.chunk.slice(u);;){if(g=t.exec(m)[0],this.validateEscapes(g,{isRegex:"/"===n.charAt(0),offsetInChunk:u}),b.push(this.makeToken("NEOSTRING",g,u)),m=m.slice(g.length),u+=g.length,"#{"!==m.slice(0,2))break;p=this.getLineAndColumnFromChunk(u+1),c=p[0],r=p[1],d=(new e).tokenize(m.slice(1),{line:c,column:r,untilBalanced:!0}),l=d.tokens,s=d.index,s+=1,h=l[0],i=l[l.length-1],h[0]=h[1]="(",i[0]=i[1]=")",i.origin=["","end of interpolation",i[2]],"TERMINATOR"===(null!=(f=l[1])?f[0]:void 0)&&l.splice(1,1),b.push(["TOKENS",l]),m=m.slice(s),u+=s}return m.slice(0,n.length)!==n&&this.error("missing "+n,{length:n.length}),o=b[0],a=b[b.length-1],o[2].first_column-=n.length,a[2].last_column+=n.length,0===a[1].length&&(a[2].last_column-=1),{tokens:b,index:u+n.length}},e.prototype.mergeInterpolationTokens=function(e,t,n){var i,r,o,s,a,c,l,u,h,p,d,f,m,g,b,y;for(e.length>1&&(h=this.token("STRING_START","(",0,0)),o=this.tokens.length,s=a=0,l=e.length;l>a;s=++a){switch(g=e[s],m=g[0],y=g[1],m){case"TOKENS":if(2===y.length)continue;u=y[0],b=y;break;case"NEOSTRING":if(i=n(g[1],s),0===i.length){if(0!==s)continue;r=this.tokens.length}2===s&&null!=r&&this.tokens.splice(r,2),g[0]="STRING",g[1]=this.makeDelimitedLiteral(i,t),u=g,b=[g]}this.tokens.length>o&&(p=this.token("+","+"),p[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}),(d=this.tokens).push.apply(d,b)}return h?(c=e[e.length-1],h.origin=["STRING",null,{first_line:h[2].first_line,first_column:h[2].first_column,last_line:c[2].last_line,last_column:c[2].last_column}],f=this.token("STRING_END",")"),f[2]={first_line:c[2].last_line,first_column:c[2].last_column,last_line:c[2].last_line,last_column:c[2].last_column}):void 0},e.prototype.pair=function(e){var t,n,i,r,o;return i=this.ends,n=i[i.length-1],e!==(o=null!=n?n.tag:void 0)?("OUTDENT"!==o&&this.error("unmatched "+e),r=this.indents,t=r[r.length-1],this.outdentToken(t,!0),this.pair(e)):this.ends.pop()},e.prototype.getLineAndColumnFromChunk=function(e){var t,n,i,r,o;return 0===e?[this.chunkLine,this.chunkColumn]:(o=e>=this.chunk.length?this.chunk:this.chunk.slice(0,+(e-1)+1||9e9),i=tt(o,"\n"),t=this.chunkColumn,i>0?(r=o.split("\n"),n=r[r.length-1],t=n.length):t+=o.length,[this.chunkLine+i,t])},e.prototype.makeToken=function(e,t,n,i){var r,o,s,a,c;return null==n&&(n=0),null==i&&(i=t.length),o={},s=this.getLineAndColumnFromChunk(n),o.first_line=s[0],o.first_column=s[1],r=i>0?i-1:0,a=this.getLineAndColumnFromChunk(n+r),o.last_line=a[0],o.last_column=a[1],c=[e,t,o]},e.prototype.token=function(e,t,n,i,r){var o;return o=this.makeToken(e,t,n,i),r&&(o.origin=r),this.tokens.push(o),o},e.prototype.tag=function(){var e,t;return e=this.tokens,t=e[e.length-1],null!=t?t[0]:void 0},e.prototype.value=function(){var e,t;return e=this.tokens,t=e[e.length-1],null!=t?t[1]:void 0},e.prototype.unfinished=function(){var e;return F.test(this.chunk)||"\\"===(e=this.tag())||"."===e||"?."===e||"?::"===e||"UNARY"===e||"MATH"===e||"UNARY_MATH"===e||"+"===e||"-"===e||"**"===e||"SHIFT"===e||"RELATION"===e||"COMPARE"===e||"LOGIC"===e||"THROW"===e||"EXTENDS"===e},e.prototype.formatString=function(e){return e.replace(q,"$1")},e.prototype.formatHeregex=function(e){return e.replace(g,"$1$2")},e.prototype.validateEscapes=function(e,t){var n,i,r,o,s,a,c,l;return null==t&&(t={}),o=k.exec(e),!o||(o[0],n=o[1],a=o[2],i=o[3],l=o[4],t.isRegex&&a&&"0"!==a.charAt(0))?void 0:(s=a?"octal escape sequences are not allowed":"invalid escape sequence",r="\\"+(a||i||l),this.error(s+" "+r,{offset:(null!=(c=t.offsetInChunk)?c:0)+o.index+n.length,length:r.length}))},e.prototype.makeDelimitedLiteral=function(e,t){var n;return null==t&&(t={}),""===e&&"/"===t.delimiter&&(e="(?:)"),n=RegExp("(\\\\\\\\)|(\\\\0(?=[1-7]))|\\\\?("+t.delimiter+")|\\\\?(?:(\\n)|(\\r)|(\\u2028)|(\\u2029))|(\\\\.)","g"),e=e.replace(n,function(e,n,i,r,o,s,a,c,l){switch(!1){case!n:return t.double?n+n:n;case!i:return"\\x00";case!r:return"\\"+r;case!o:return"\\n";case!s:return"\\r";case!a:return"\\u2028";case!c:return"\\u2029";case!l:return t.double?"\\"+l:l}}),""+t.delimiter+e+t.delimiter},e.prototype.error=function(e,t){var n,i,r,o,s,a;return null==t&&(t={}),r="first_line"in t?t:(s=this.getLineAndColumnFromChunk(null!=(o=t.offset)?o:0),i=s[0],n=s[1],s,{first_line:i,first_column:n,last_column:n+(null!=(a=t.length)?a:1)-1}),ut(e,r)},e}(),it=function(e,t){switch(null==t&&(t=e),!1){case 0>ht.call(pt.call(N).concat(pt.call(a)),e):return"keyword '"+t+"' can't be assigned";case 0>ht.call(H,e):return"'"+t+"' can't be assigned";case 0>ht.call(j,e):return"reserved word '"+t+"' can't be assigned";default:return!1}},e.isUnassignable=it,N=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"],a=["undefined","Infinity","NaN","then","unless","until","loop","of","by","when"],s={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},o=function(){var e;e=[];for(rt in s)e.push(rt);return e}(),a=a.concat(o),j=["case","function","var","void","with","const","let","enum","native","implements","interface","package","private","protected","public","static"],H=["arguments","eval"],e.JS_FORBIDDEN=N.concat(j).concat(H),t=65279,b=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+)([^\n\S]*:(?!:))?/,I=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,R=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/,Z=/^[^\n\S]+/,c=/^###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/,r=/^[-=]>/,x=/^(?:\n[^\n\S]*)+/,T=/^`[^\\`]*(?:\\.[^\\`]*)*`/,X=/^(?:'''|"""|'|")/,Y=/^(?:[^\\']|\\[\s\S])*/,G=/^(?:[^\\"#]|\\[\s\S]|\#(?!\{))*/,f=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,p=/^(?:[^\\"#]|\\[\s\S]|"(?!"")|\#(?!\{))*/,q=/((?:\\\\)+)|\\[^\S\n]*\n\s*/g,U=/\s*\n\s*/g,d=/\n+([^\n\S]*)(?=\S)/g,O=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,$=/^\w*/,Q=/^(?!.*(.).*\1)[imgy]*$/,m=/^(?:[^\\\/#]|\\[\s\S]|\/(?!\/\/)|\#(?!\{))*/,g=/((?:\\\\)+)|\\(\s)|\s+(?:#.*)?/g,P=/^(\/|\/{3}\s*)(\*)/,A=/^\/=?\s/,h=/\*\//,F=/^\s*(?:,|\??\.(?![.\d])|::)/,k=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7]|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u(?![\da-fA-F]{4}).{0,4}))/,L=/^[^\n\S]*\n/,W=/\n[^\n\S]*$/,J=/\s+$/,u=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="],z=["NEW","TYPEOF","DELETE","DO"],K=["!","~"],E=["&&","||","&","|","^"],V=["<<",">>",">>>"],l=["==","!=","<",">","<=",">="],_=["*","/","%","//","%%"],M=["IN","OF","INSTANCEOF"],n=["TRUE","FALSE"],i=["IDENTIFIER","PROPERTY",")","]","?","@","THIS","SUPER"],v=i.concat(["NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","::"]),S=v.concat(["++","--"]),C=["INDENT","OUTDENT","TERMINATOR"],y=[")","}","]"]}.call(this),t.exports}(),require["./parser"]=function(){var e={},t={exports:e},n=function(){function e(){this.yy={}}var t=function(e,t,n,i){for(n=n||{},i=e.length;i--;n[e[i]]=t);return n},n=[1,22],i=[1,25],r=[1,83],o=[1,79],s=[1,84],a=[1,85],c=[1,81],l=[1,82],u=[1,56],h=[1,58],p=[1,59],d=[1,60],f=[1,61],m=[1,62],g=[1,49],b=[1,50],y=[1,32],v=[1,68],k=[1,69],w=[1,78],T=[1,47],N=[1,51],L=[1,52],C=[1,67],F=[1,65],E=[1,66],D=[1,64],_=[1,42],x=[1,48],S=[1,63],I=[1,73],R=[1,74],A=[1,75],O=[1,76],$=[1,46],P=[1,72],M=[1,34],j=[1,35],B=[1,36],V=[1,37],U=[1,38],H=[1,39],G=[1,86],q=[1,6,32,42,131],Y=[1,96],X=[1,89],W=[1,88],J=[1,87],z=[1,90],K=[1,91],Q=[1,92],Z=[1,93],et=[1,94],tt=[1,95],nt=[1,99],it=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],rt=[1,105],ot=[1,106],st=[1,107],at=[1,108],ct=[1,110],lt=[1,111],ut=[1,104],ht=[2,161],pt=[1,6,32,42,131,133,135,139,155],dt=[2,27],ft=[1,118],mt=[1,116],gt=[1,6,31,32,42,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],bt=[2,94],yt=[1,6,31,32,42,46,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],vt=[2,73],kt=[1,123],wt=[1,128],Tt=[1,129],Nt=[1,131],Lt=[1,6,31,32,42,55,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],Ct=[2,91],Ft=[1,6,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],Et=[2,63],Dt=[1,161],_t=[1,173],xt=[1,175],St=[1,170],It=[1,177],Rt=[1,179],At=[1,6,31,32,42,55,65,70,73,82,83,84,85,87,89,90,94,96,113,114,115,120,122,131,133,134,135,139,140,155,158,159,160,161,162,163,164,165,166,167,168,169],Ot=[2,110],$t=[1,6,31,32,42,58,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],Pt=[1,229],Mt=[1,228],jt=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155],Bt=[2,71],Vt=[1,238],Ut=[6,31,32,65,70],Ht=[6,31,32,55,65,70,73],Gt=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,158,159,163,165,166,167,168],qt=[82,83,84,85,87,90,113,114],Yt=[1,257],Xt=[2,62],Wt=[1,267],Jt=[1,273],zt=[2,182],Kt=[1,6,31,32,42,55,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,146,147,155,158,159,162,163,164,165,166,167,168],Qt=[1,283],Zt=[6,31,32,70,115,120],en=[1,6,31,32,42,55,58,65,70,73,82,83,84,85,87,89,90,94,96,113,114,115,120,122,131,133,134,135,139,140,146,147,155,158,159,160,161,162,163,164,165,166,167,168,169],tn=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,140,155],nn=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,134,140,155],rn=[146,147],on=[70,146,147],sn=[6,31,94],an=[1,296],cn=[6,31,32,70,94],ln=[6,31,32,58,70,94],un=[6,31,32,55,58,70,94],hn=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,158,159,165,166,167,168],pn=[12,28,34,38,40,41,44,45,48,49,50,51,52,53,61,62,63,67,68,89,92,95,97,104,112,117,118,119,125,129,130,133,135,137,139,148,154,156,157,158,159,160,161],dn=[2,171],fn=[6,31,32],mn=[2,72],gn=[1,308],bn=[1,309],yn=[1,6,31,32,42,65,70,73,89,94,115,120,122,127,128,131,133,134,135,139,140,150,152,155,158,159,162,163,164,165,166,167,168],vn=[32,150,152],kn=[1,6,32,42,65,70,73,89,94,115,120,122,131,134,140,155],wn=[1,335],Tn=[1,340],Nn=[1,6,32,42,131,155],Ln=[2,86],Cn=[1,350],Fn=[1,351],En=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,150,155,158,159,162,163,164,165,166,167,168],Dn=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,135,139,140,155],_n=[1,363],xn=[1,364],Sn=[6,31,32,94],In=[6,31,32,70],Rn=[1,6,31,32,42,65,70,73,89,94,115,120,122,127,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],An=[31,70],On=[1,390],$n=[1,391],Pn=[1,396],Mn=[1,397],jn={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,YieldReturn:9,Return:10,Comment:11,STATEMENT:12,Import:13,Export:14,Value:15,Invocation: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,Property:35,PROPERTY:36,AlphaNumeric:37,NUMBER:38,String:39,STRING:40,STRING_START:41,STRING_END:42,Regex:43,REGEX:44,REGEX_START:45,REGEX_END:46,Literal:47,JS:48,UNDEFINED:49,NULL:50,BOOL:51,INFINITY:52,NAN:53,Assignable:54,"=":55,AssignObj:56,ObjAssignable:57,":":58,SimpleObjAssignable:59,ThisProperty:60,RETURN:61,HERECOMMENT:62,PARAM_START:63,ParamList:64,PARAM_END:65,FuncGlyph:66,"->":67,"=>":68,OptComma:69,",":70,Param:71,ParamVar:72,"...":73,Array:74,Object:75,Splat:76,SimpleAssignable:77,Accessor:78,Parenthetical:79,Range:80,This:81,".":82,"?.":83,"::":84,"?::":85,Index:86,INDEX_START:87,IndexValue:88,INDEX_END:89,INDEX_SOAK:90,Slice:91,"{":92,AssignList:93,"}":94,CLASS:95,EXTENDS:96,IMPORT:97,ImportDefaultSpecifier:98,ImportNamespaceSpecifier:99,ImportSpecifierList:100,ImportSpecifier:101,AS:102,IMPORT_ALL:103,EXPORT:104,ExportSpecifierList:105,DEFAULT:106,EXPORT_ALL:107,ExportSpecifier:108,OptFuncExist:109,Arguments:110,Super:111,SUPER:112,FUNC_EXIST:113,CALL_START:114,CALL_END:115,ArgList:116,THIS:117,"@":118,"[":119,"]":120,RangeDots:121,"..":122,Arg:123,SimpleArgs:124,TRY:125,Catch:126,FINALLY:127,CATCH:128,THROW:129,"(":130,")":131,WhileSource:132,WHILE:133,WHEN:134,UNTIL:135,Loop:136,LOOP:137,ForBody:138,FOR:139,BY:140,ForStart:141,ForSource:142,ForVariables:143,OWN:144,ForValue:145,FORIN:146,FOROF:147,SWITCH:148,Whens:149,ELSE:150,When:151,LEADING_WHEN:152,IfBlock:153,IF:154,POST_IF:155,UNARY:156,UNARY_MATH:157,"-":158,"+":159,"--":160,"++":161,"?":162,MATH:163,"**":164,SHIFT:165,COMPARE:166,LOGIC:167,RELATION:168,COMPOUND_ASSIGN:169,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",12:"STATEMENT",28:"YIELD",29:"FROM",31:"INDENT",32:"OUTDENT",34:"IDENTIFIER",36:"PROPERTY",38:"NUMBER",40:"STRING",41:"STRING_START",42:"STRING_END",44:"REGEX",45:"REGEX_START",46:"REGEX_END",48:"JS",49:"UNDEFINED",50:"NULL",51:"BOOL",52:"INFINITY",53:"NAN",55:"=",58:":",61:"RETURN",62:"HERECOMMENT",63:"PARAM_START",65:"PARAM_END",67:"->",68:"=>",70:",",73:"...",82:".",83:"?.",84:"::",85:"?::",87:"INDEX_START",89:"INDEX_END",90:"INDEX_SOAK",92:"{",94:"}",95:"CLASS",96:"EXTENDS",97:"IMPORT",102:"AS",103:"IMPORT_ALL",104:"EXPORT",106:"DEFAULT",107:"EXPORT_ALL",112:"SUPER",113:"FUNC_EXIST",114:"CALL_START",115:"CALL_END",117:"THIS",118:"@",119:"[",120:"]",122:"..",125:"TRY",127:"FINALLY",128:"CATCH",129:"THROW",130:"(",131:")",133:"WHILE",134:"WHEN",135:"UNTIL",137:"LOOP",139:"FOR",140:"BY",144:"OWN",146:"FORIN",147:"FOROF",148:"SWITCH",150:"ELSE",152:"LEADING_WHEN",154:"IF",155:"POST_IF",156:"UNARY",157:"UNARY_MATH",158:"-",159:"+",160:"--",161:"++",162:"?",163:"MATH",164:"**",165:"SHIFT",166:"COMPARE",167:"LOGIC",168:"RELATION",169:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[5,1],[8,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],[7,1],[27,1],[27,2],[27,3],[30,2],[30,3],[33,1],[35,1],[37,1],[37,1],[39,1],[39,3],[43,1],[43,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[19,3],[19,4],[19,5],[56,1],[56,3],[56,5],[56,3],[56,5],[56,1],[59,1],[59,1],[59,1],[57,1],[57,1],[10,2],[10,1],[9,3],[9,2],[11,1],[17,5],[17,2],[66,1],[66,1],[69,0],[69,1],[64,0],[64,1],[64,3],[64,4],[64,6],[71,1],[71,2],[71,3],[71,1],[72,1],[72,1],[72,1],[72,1],[76,2],[77,1],[77,2],[77,2],[77,1],[54,1],[54,1],[54,1],[15,1],[15,1],[15,1],[15,1],[15,1],[78,2],[78,2],[78,2],[78,2],[78,1],[78,1],[86,3],[86,2],[88,1],[88,1],[75,4],[93,0],[93,1],[93,3],[93,4],[93,6],[25,1],[25,2],[25,3],[25,4],[25,2],[25,3],[25,4],[25,5],[13,2],[13,4],[13,4],[13,5],[13,7],[13,6],[13,9],[100,1],[100,3],[100,4],[100,4],[100,6],[101,1],[101,3],[98,1],[99,3],[14,3],[14,5],[14,2],[14,4],[14,5],[14,6],[14,3],[14,4],[14,7],[105,1],[105,3],[105,4],[105,4],[105,6],[108,1],[108,3],[108,3],[16,3],[16,3],[16,1],[111,1],[111,2],[109,0],[109,1],[110,2],[110,4],[81,1],[81,1],[60,2],[74,2],[74,4],[121,1],[121,1],[80,5],[91,3],[91,2],[91,2],[91,1],[116,1],[116,3],[116,4],[116,4],[116,6],[123,1],[123,1],[123,1],[124,1],[124,3],[21,2],[21,3],[21,4],[21,5],[126,3],[126,3],[126,2],[26,2],[79,3],[79,5],[132,2],[132,4],[132,2],[132,4],[22,2],[22,2],[22,2],[22,1],[136,2],[136,2],[23,2],[23,2],[23,2],[138,2],[138,4],[138,2],[141,2],[141,3],[145,1],[145,1],[145,1],[145,1],[143,1],[143,3],[142,2],[142,2],[142,4],[142,4],[142,4],[142,6],[142,6],[24,5],[24,7],[24,4],[24,6],[149,1],[149,2],[151,3],[151,4],[153,3],[153,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,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,5],[18,4],[18,3]],performAction:function(e,t,n,i,r,o,s){var a=o.length-1;
-switch(r){case 1:return this.$=i.addLocationDataFn(s[a],s[a])(new i.Block);case 2:return this.$=o[a];case 3:this.$=i.addLocationDataFn(s[a],s[a])(i.Block.wrap([o[a]]));break;case 4:this.$=i.addLocationDataFn(s[a-2],s[a])(o[a-2].push(o[a]));break;case 5:this.$=o[a-1];break;case 6:case 7:case 8:case 9:case 10:case 12: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 35:case 40:case 42:case 56:case 57:case 58:case 59:case 60:case 61:case 71:case 72:case 82:case 83:case 84:case 85:case 90:case 91:case 94:case 98:case 104:case 158:case 182:case 183:case 185:case 215:case 216:case 232:case 238:this.$=o[a];break;case 11:this.$=i.addLocationDataFn(s[a],s[a])(new i.StatementLiteral(o[a]));break;case 27:this.$=i.addLocationDataFn(s[a],s[a])(new i.Op(o[a],new i.Value(new i.Literal(""))));break;case 28:case 242:case 243:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op(o[a-1],o[a]));break;case 29:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Op(o[a-2].concat(o[a-1]),o[a]));break;case 30:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Block);break;case 31:case 105:this.$=i.addLocationDataFn(s[a-2],s[a])(o[a-1]);break;case 32:this.$=i.addLocationDataFn(s[a],s[a])(new i.IdentifierLiteral(o[a]));break;case 33:this.$=i.addLocationDataFn(s[a],s[a])(new i.PropertyName(o[a]));break;case 34:this.$=i.addLocationDataFn(s[a],s[a])(new i.NumberLiteral(o[a]));break;case 36:this.$=i.addLocationDataFn(s[a],s[a])(new i.StringLiteral(o[a]));break;case 37:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.StringWithInterpolations(o[a-1]));break;case 38:this.$=i.addLocationDataFn(s[a],s[a])(new i.RegexLiteral(o[a]));break;case 39:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.RegexWithInterpolations(o[a-1].args));break;case 41:this.$=i.addLocationDataFn(s[a],s[a])(new i.PassthroughLiteral(o[a]));break;case 43:this.$=i.addLocationDataFn(s[a],s[a])(new i.UndefinedLiteral);break;case 44:this.$=i.addLocationDataFn(s[a],s[a])(new i.NullLiteral);break;case 45:this.$=i.addLocationDataFn(s[a],s[a])(new i.BooleanLiteral(o[a]));break;case 46:this.$=i.addLocationDataFn(s[a],s[a])(new i.InfinityLiteral(o[a]));break;case 47:this.$=i.addLocationDataFn(s[a],s[a])(new i.NaNLiteral);break;case 48:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Assign(o[a-2],o[a]));break;case 49:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Assign(o[a-3],o[a]));break;case 50:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Assign(o[a-4],o[a-1]));break;case 51:case 87:case 92:case 93:case 95:case 96:case 97:case 217:case 218:this.$=i.addLocationDataFn(s[a],s[a])(new i.Value(o[a]));break;case 52:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Assign(i.addLocationDataFn(s[a-2])(new i.Value(o[a-2])),o[a],"object",{operatorToken:i.addLocationDataFn(s[a-1])(new i.Literal(o[a-1]))}));break;case 53:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Assign(i.addLocationDataFn(s[a-4])(new i.Value(o[a-4])),o[a-1],"object",{operatorToken:i.addLocationDataFn(s[a-3])(new i.Literal(o[a-3]))}));break;case 54:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Assign(i.addLocationDataFn(s[a-2])(new i.Value(o[a-2])),o[a],null,{operatorToken:i.addLocationDataFn(s[a-1])(new i.Literal(o[a-1]))}));break;case 55:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Assign(i.addLocationDataFn(s[a-4])(new i.Value(o[a-4])),o[a-1],null,{operatorToken:i.addLocationDataFn(s[a-3])(new i.Literal(o[a-3]))}));break;case 62:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Return(o[a]));break;case 63:this.$=i.addLocationDataFn(s[a],s[a])(new i.Return);break;case 64:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.YieldReturn(o[a]));break;case 65:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.YieldReturn);break;case 66:this.$=i.addLocationDataFn(s[a],s[a])(new i.Comment(o[a]));break;case 67:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Code(o[a-3],o[a],o[a-1]));break;case 68:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Code([],o[a],o[a-1]));break;case 69:this.$=i.addLocationDataFn(s[a],s[a])("func");break;case 70:this.$=i.addLocationDataFn(s[a],s[a])("boundfunc");break;case 73:case 110:this.$=i.addLocationDataFn(s[a],s[a])([]);break;case 74:case 111:case 130:case 148:case 177:case 219:this.$=i.addLocationDataFn(s[a],s[a])([o[a]]);break;case 75:case 112:case 131:case 149:case 178:this.$=i.addLocationDataFn(s[a-2],s[a])(o[a-2].concat(o[a]));break;case 76:case 113:case 132:case 150:case 179:this.$=i.addLocationDataFn(s[a-3],s[a])(o[a-3].concat(o[a]));break;case 77:case 114:case 134:case 152:case 181:this.$=i.addLocationDataFn(s[a-5],s[a])(o[a-5].concat(o[a-2]));break;case 78:this.$=i.addLocationDataFn(s[a],s[a])(new i.Param(o[a]));break;case 79:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Param(o[a-1],null,!0));break;case 80:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Param(o[a-2],o[a]));break;case 81:case 184:this.$=i.addLocationDataFn(s[a],s[a])(new i.Expansion);break;case 86:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Splat(o[a-1]));break;case 88:this.$=i.addLocationDataFn(s[a-1],s[a])(o[a-1].add(o[a]));break;case 89:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Value(o[a-1],[].concat(o[a])));break;case 99:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Access(o[a]));break;case 100:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Access(o[a],"soak"));break;case 101:this.$=i.addLocationDataFn(s[a-1],s[a])([i.addLocationDataFn(s[a-1])(new i.Access(new i.PropertyName("prototype"))),i.addLocationDataFn(s[a])(new i.Access(o[a]))]);break;case 102:this.$=i.addLocationDataFn(s[a-1],s[a])([i.addLocationDataFn(s[a-1])(new i.Access(new i.PropertyName("prototype"),"soak")),i.addLocationDataFn(s[a])(new i.Access(o[a]))]);break;case 103:this.$=i.addLocationDataFn(s[a],s[a])(new i.Access(new i.PropertyName("prototype")));break;case 106:this.$=i.addLocationDataFn(s[a-1],s[a])(i.extend(o[a],{soak:!0}));break;case 107:this.$=i.addLocationDataFn(s[a],s[a])(new i.Index(o[a]));break;case 108:this.$=i.addLocationDataFn(s[a],s[a])(new i.Slice(o[a]));break;case 109:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Obj(o[a-2],o[a-3].generated));break;case 115:this.$=i.addLocationDataFn(s[a],s[a])(new i.Class);break;case 116:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Class(null,null,o[a]));break;case 117:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Class(null,o[a]));break;case 118:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Class(null,o[a-1],o[a]));break;case 119:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Class(o[a]));break;case 120:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Class(o[a-1],null,o[a]));break;case 121:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Class(o[a-2],o[a]));break;case 122:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Class(o[a-3],o[a-1],o[a]));break;case 123:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.ImportDeclaration(null,o[a]));break;case 124:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.ImportDeclaration(new i.ImportClause(o[a-2],null),o[a]));break;case 125:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.ImportDeclaration(new i.ImportClause(null,o[a-2]),o[a]));break;case 126:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.ImportDeclaration(new i.ImportClause(null,new i.ImportSpecifierList([])),o[a]));break;case 127:this.$=i.addLocationDataFn(s[a-6],s[a])(new i.ImportDeclaration(new i.ImportClause(null,new i.ImportSpecifierList(o[a-4])),o[a]));break;case 128:this.$=i.addLocationDataFn(s[a-5],s[a])(new i.ImportDeclaration(new i.ImportClause(o[a-4],o[a-2]),o[a]));break;case 129:this.$=i.addLocationDataFn(s[a-8],s[a])(new i.ImportDeclaration(new i.ImportClause(o[a-7],new i.ImportSpecifierList(o[a-4])),o[a]));break;case 133:case 151:case 164:case 180:this.$=i.addLocationDataFn(s[a-3],s[a])(o[a-2]);break;case 135:this.$=i.addLocationDataFn(s[a],s[a])(new i.ImportSpecifier(o[a]));break;case 136:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ImportSpecifier(o[a-2],o[a]));break;case 137:this.$=i.addLocationDataFn(s[a],s[a])(new i.ImportDefaultSpecifier(o[a]));break;case 138:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ImportNamespaceSpecifier(new i.Literal(o[a-2]),o[a]));break;case 139:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ExportNamedDeclaration(new i.ExportSpecifierList([])));break;case 140:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.ExportNamedDeclaration(new i.ExportSpecifierList(o[a-2])));break;case 141:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.ExportNamedDeclaration(o[a]));break;case 142:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.ExportNamedDeclaration(new i.Assign(o[a-2],o[a],null,{moduleDeclaration:"export"})));break;case 143:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.ExportNamedDeclaration(new i.Assign(o[a-3],o[a],null,{moduleDeclaration:"export"})));break;case 144:this.$=i.addLocationDataFn(s[a-5],s[a])(new i.ExportNamedDeclaration(new i.Assign(o[a-4],o[a-1],null,{moduleDeclaration:"export"})));break;case 145:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ExportDefaultDeclaration(o[a]));break;case 146:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.ExportAllDeclaration(new i.Literal(o[a-2]),o[a]));break;case 147:this.$=i.addLocationDataFn(s[a-6],s[a])(new i.ExportNamedDeclaration(new i.ExportSpecifierList(o[a-4]),o[a]));break;case 153:this.$=i.addLocationDataFn(s[a],s[a])(new i.ExportSpecifier(o[a]));break;case 154:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ExportSpecifier(o[a-2],o[a]));break;case 155:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ExportSpecifier(o[a-2],new i.Literal(o[a])));break;case 156:case 157:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Call(o[a-2],o[a],o[a-1]));break;case 159:this.$=i.addLocationDataFn(s[a],s[a])(new i.SuperCall);break;case 160:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.SuperCall(o[a]));break;case 161:this.$=i.addLocationDataFn(s[a],s[a])(!1);break;case 162:this.$=i.addLocationDataFn(s[a],s[a])(!0);break;case 163:this.$=i.addLocationDataFn(s[a-1],s[a])([]);break;case 165:case 166:this.$=i.addLocationDataFn(s[a],s[a])(new i.Value(new i.ThisLiteral));break;case 167:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Value(i.addLocationDataFn(s[a-1])(new i.ThisLiteral),[i.addLocationDataFn(s[a])(new i.Access(o[a]))],"this"));break;case 168:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Arr([]));break;case 169:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Arr(o[a-2]));break;case 170:this.$=i.addLocationDataFn(s[a],s[a])("inclusive");break;case 171:this.$=i.addLocationDataFn(s[a],s[a])("exclusive");break;case 172:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Range(o[a-3],o[a-1],o[a-2]));break;case 173:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Range(o[a-2],o[a],o[a-1]));break;case 174:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Range(o[a-1],null,o[a]));break;case 175:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Range(null,o[a],o[a-1]));break;case 176:this.$=i.addLocationDataFn(s[a],s[a])(new i.Range(null,null,o[a]));break;case 186:this.$=i.addLocationDataFn(s[a-2],s[a])([].concat(o[a-2],o[a]));break;case 187:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Try(o[a]));break;case 188:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Try(o[a-1],o[a][0],o[a][1]));break;case 189:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Try(o[a-2],null,null,o[a]));break;case 190:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Try(o[a-3],o[a-2][0],o[a-2][1],o[a]));break;case 191:this.$=i.addLocationDataFn(s[a-2],s[a])([o[a-1],o[a]]);break;case 192:this.$=i.addLocationDataFn(s[a-2],s[a])([i.addLocationDataFn(s[a-1])(new i.Value(o[a-1])),o[a]]);break;case 193:this.$=i.addLocationDataFn(s[a-1],s[a])([null,o[a]]);break;case 194:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Throw(o[a]));break;case 195:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Parens(o[a-1]));break;case 196:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Parens(o[a-2]));break;case 197:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.While(o[a]));break;case 198:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.While(o[a-2],{guard:o[a]}));break;case 199:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.While(o[a],{invert:!0}));break;case 200:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.While(o[a-2],{invert:!0,guard:o[a]}));break;case 201:this.$=i.addLocationDataFn(s[a-1],s[a])(o[a-1].addBody(o[a]));break;case 202:case 203:this.$=i.addLocationDataFn(s[a-1],s[a])(o[a].addBody(i.addLocationDataFn(s[a-1])(i.Block.wrap([o[a-1]]))));break;case 204:this.$=i.addLocationDataFn(s[a],s[a])(o[a]);break;case 205:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.While(i.addLocationDataFn(s[a-1])(new i.BooleanLiteral("true"))).addBody(o[a]));break;case 206:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.While(i.addLocationDataFn(s[a-1])(new i.BooleanLiteral("true"))).addBody(i.addLocationDataFn(s[a])(i.Block.wrap([o[a]]))));break;case 207:case 208:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.For(o[a-1],o[a]));break;case 209:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.For(o[a],o[a-1]));break;case 210:this.$=i.addLocationDataFn(s[a-1],s[a])({source:i.addLocationDataFn(s[a])(new i.Value(o[a]))});break;case 211:this.$=i.addLocationDataFn(s[a-3],s[a])({source:i.addLocationDataFn(s[a-2])(new i.Value(o[a-2])),step:o[a]});break;case 212:this.$=i.addLocationDataFn(s[a-1],s[a])(function(){return o[a].own=o[a-1].own,o[a].name=o[a-1][0],o[a].index=o[a-1][1],o[a]}());break;case 213:this.$=i.addLocationDataFn(s[a-1],s[a])(o[a]);break;case 214:this.$=i.addLocationDataFn(s[a-2],s[a])(function(){return o[a].own=!0,o[a]}());break;case 220:this.$=i.addLocationDataFn(s[a-2],s[a])([o[a-2],o[a]]);break;case 221:this.$=i.addLocationDataFn(s[a-1],s[a])({source:o[a]});break;case 222:this.$=i.addLocationDataFn(s[a-1],s[a])({source:o[a],object:!0});break;case 223:this.$=i.addLocationDataFn(s[a-3],s[a])({source:o[a-2],guard:o[a]});break;case 224:this.$=i.addLocationDataFn(s[a-3],s[a])({source:o[a-2],guard:o[a],object:!0});break;case 225:this.$=i.addLocationDataFn(s[a-3],s[a])({source:o[a-2],step:o[a]});break;case 226:this.$=i.addLocationDataFn(s[a-5],s[a])({source:o[a-4],guard:o[a-2],step:o[a]});break;case 227:this.$=i.addLocationDataFn(s[a-5],s[a])({source:o[a-4],step:o[a-2],guard:o[a]});break;case 228:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Switch(o[a-3],o[a-1]));break;case 229:this.$=i.addLocationDataFn(s[a-6],s[a])(new i.Switch(o[a-5],o[a-3],o[a-1]));break;case 230:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Switch(null,o[a-1]));break;case 231:this.$=i.addLocationDataFn(s[a-5],s[a])(new i.Switch(null,o[a-3],o[a-1]));break;case 233:this.$=i.addLocationDataFn(s[a-1],s[a])(o[a-1].concat(o[a]));break;case 234:this.$=i.addLocationDataFn(s[a-2],s[a])([[o[a-1],o[a]]]);break;case 235:this.$=i.addLocationDataFn(s[a-3],s[a])([[o[a-2],o[a-1]]]);break;case 236:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.If(o[a-1],o[a],{type:o[a-2]}));break;case 237:this.$=i.addLocationDataFn(s[a-4],s[a])(o[a-4].addElse(i.addLocationDataFn(s[a-2],s[a])(new i.If(o[a-1],o[a],{type:o[a-2]}))));break;case 239:this.$=i.addLocationDataFn(s[a-2],s[a])(o[a-2].addElse(o[a]));break;case 240:case 241:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.If(o[a],i.addLocationDataFn(s[a-2])(i.Block.wrap([o[a-2]])),{type:o[a-1],statement:!0}));break;case 244:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("-",o[a]));break;case 245:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("+",o[a]));break;case 246:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("--",o[a]));break;case 247:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("++",o[a]));break;case 248:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("--",o[a-1],null,!0));break;case 249:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("++",o[a-1],null,!0));break;case 250:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Existence(o[a-1]));break;case 251:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Op("+",o[a-2],o[a]));break;case 252:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Op("-",o[a-2],o[a]));break;case 253:case 254:case 255:case 256:case 257:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Op(o[a-1],o[a-2],o[a]));break;case 258:this.$=i.addLocationDataFn(s[a-2],s[a])(function(){return"!"===o[a-1].charAt(0)?new i.Op(o[a-1].slice(1),o[a-2],o[a]).invert():new i.Op(o[a-1],o[a-2],o[a])}());break;case 259:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Assign(o[a-2],o[a],o[a-1]));break;case 260:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Assign(o[a-4],o[a-1],o[a-3]));break;case 261:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Assign(o[a-3],o[a],o[a-2]));break;case 262:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Extends(o[a-2],o[a]))}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:6,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:i,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{1:[3]},{1:[2,2],6:G},t(q,[2,3]),t(q,[2,6],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(q,[2,7],{141:77,132:100,138:101,133:I,135:R,139:O,155:nt}),t(q,[2,8]),t(it,[2,14],{109:102,78:103,86:109,82:rt,83:ot,84:st,85:at,87:ct,90:lt,113:ut,114:ht}),t(it,[2,15],{86:109,109:112,78:113,82:rt,83:ot,84:st,85:at,87:ct,90:lt,113:ut,114:ht}),t(it,[2,16]),t(it,[2,17]),t(it,[2,18]),t(it,[2,19]),t(it,[2,20]),t(it,[2,21]),t(it,[2,22]),t(it,[2,23]),t(it,[2,24]),t(it,[2,25]),t(it,[2,26]),t(pt,[2,9]),t(pt,[2,10]),t(pt,[2,11]),t(pt,[2,12]),t(pt,[2,13]),t([1,6,32,42,131,133,135,139,155,162,163,164,165,166,167,168],dt,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,7:115,8:117,12:n,28:ft,29:mt,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:[1,114],62:b,63:y,67:v,68:k,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,137:A,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),t(gt,bt,{55:[1,119]}),t(gt,[2,95]),t(gt,[2,96]),t(gt,[2,97]),t(gt,[2,98]),t(yt,[2,158]),t([6,31,65,70],vt,{64:120,71:121,72:122,33:124,60:125,74:126,75:127,34:r,73:kt,92:w,118:wt,119:Tt}),{30:130,31:Nt},{7:132,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:133,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:134,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:135,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{15:137,16:138,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:139,60:71,74:53,75:54,77:136,79:28,80:29,81:30,92:w,111:31,112:C,117:F,118:E,119:D,130:S},{15:137,16:138,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:139,60:71,74:53,75:54,77:140,79:28,80:29,81:30,92:w,111:31,112:C,117:F,118:E,119:D,130:S},t(Lt,Ct,{96:[1,144],160:[1,141],161:[1,142],169:[1,143]}),t(it,[2,238],{150:[1,145]}),{30:146,31:Nt},{30:147,31:Nt},t(it,[2,204]),{30:148,31:Nt},{7:149,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,150],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Ft,[2,115],{47:27,79:28,80:29,81:30,111:31,74:53,75:54,37:55,43:57,33:70,60:71,39:80,15:137,16:138,54:139,30:151,77:153,31:Nt,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,92:w,96:[1,152],112:C,117:F,118:E,119:D,130:S}),{7:154,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(pt,Et,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:117,7:155,12:n,28:ft,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:g,62:b,63:y,67:v,68:k,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,137:A,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),t([1,6,31,32,42,70,94,131,133,135,139,155],[2,66]),{33:160,34:r,39:156,40:s,41:a,92:[1,159],98:157,99:158,103:Dt},{25:163,33:164,34:r,92:[1,162],95:T,106:[1,165],107:[1,166]},t(Lt,[2,92]),t(Lt,[2,93]),t(gt,[2,40]),t(gt,[2,41]),t(gt,[2,42]),t(gt,[2,43]),t(gt,[2,44]),t(gt,[2,45]),t(gt,[2,46]),t(gt,[2,47]),{4:167,5:3,7:4,8:5,9:6,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:i,31:[1,168],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:169,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:_t,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,116:171,117:F,118:E,119:D,120:St,123:172,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(gt,[2,165]),t(gt,[2,166],{35:176,36:It}),t([1,6,31,32,42,46,65,70,73,82,83,84,85,87,89,90,94,113,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],[2,159],{110:178,114:Rt}),{31:[2,69]},{31:[2,70]},t(At,[2,87]),t(At,[2,90]),{7:180,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:181,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:182,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:184,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,30:183,31:Nt,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{33:189,34:r,60:190,74:191,75:192,80:185,92:w,118:wt,119:D,143:186,144:[1,187],145:188},{142:193,146:[1,194],147:[1,195]},t([6,31,70,94],Ot,{39:80,93:196,56:197,57:198,59:199,11:200,37:201,33:202,35:203,60:204,34:r,36:It,38:o,40:s,41:a,62:b,118:wt}),t($t,[2,34]),t($t,[2,35]),t(gt,[2,38]),{15:137,16:205,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:139,60:71,74:53,75:54,77:206,79:28,80:29,81:30,92:w,111:31,112:C,117:F,118:E,119:D,130:S},t([1,6,29,31,32,42,55,58,65,70,73,82,83,84,85,87,89,90,94,96,102,113,114,115,120,122,131,133,134,135,139,140,146,147,155,158,159,160,161,162,163,164,165,166,167,168,169],[2,32]),t($t,[2,36]),{4:207,5:3,7:4,8:5,9:6,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:i,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(q,[2,5],{7:4,8:5,9:6,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,5:208,12:n,28:i,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:g,62:b,63:y,67:v,68:k,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,133:I,135:R,137:A,139:O,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),t(it,[2,250]),{7:209,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:210,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:211,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:212,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:213,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:214,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:215,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:216,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:217,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(it,[2,203]),t(it,[2,208]),{7:218,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(it,[2,202]),t(it,[2,207]),{110:219,114:Rt},t(At,[2,88]),{114:[2,162]},{35:220,36:It},{35:221,36:It},t(At,[2,103],{35:222,36:It}),{35:223,36:It},t(At,[2,104]),{7:225,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:Pt,74:53,75:54,77:40,79:28,80:29,81:30,88:224,91:226,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,121:227,122:Mt,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{86:230,87:ct,90:lt},{110:231,114:Rt},t(At,[2,89]),t(q,[2,65],{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:117,7:232,12:n,28:ft,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:g,62:b,63:y,67:v,68:k,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,133:Et,135:Et,139:Et,155:Et,137:A,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),t(jt,[2,28],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:233,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{132:100,133:I,135:R,138:101,139:O,141:77,155:nt},t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,162,163,164,165,166,167,168],dt,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,7:115,8:117,12:n,28:ft,29:mt,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:g,62:b,63:y,67:v,68:k,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,137:A,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),{6:[1,235],7:234,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,236],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t([6,31],Bt,{69:239,65:[1,237],70:Vt}),t(Ut,[2,74]),t(Ut,[2,78],{55:[1,241],73:[1,240]}),t(Ut,[2,81]),t(Ht,[2,82]),t(Ht,[2,83]),t(Ht,[2,84]),t(Ht,[2,85]),{35:176,36:It},{7:242,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:_t,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,116:171,117:F,118:E,119:D,120:St,123:172,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(it,[2,68]),{4:244,5:3,7:4,8:5,9:6,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:i,32:[1,243],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,158,159,163,164,165,166,167,168],[2,242],{141:77,132:97,138:98,162:J}),t(Gt,[2,243],{141:77,132:97,138:98,162:J,164:K}),t(Gt,[2,244],{141:77,132:97,138:98,162:J,164:K}),t(Gt,[2,245],{141:77,132:97,138:98,162:J,164:K}),t(it,[2,246],{82:Ct,83:Ct,84:Ct,85:Ct,87:Ct,90:Ct,113:Ct,114:Ct}),{78:103,82:rt,83:ot,84:st,85:at,86:109,87:ct,90:lt,109:102,113:ut,114:ht},{78:113,82:rt,83:ot,84:st,85:at,86:109,87:ct,90:lt,109:112,113:ut,114:ht},t(qt,bt),t(it,[2,247],{82:Ct,83:Ct,84:Ct,85:Ct,87:Ct,90:Ct,113:Ct,114:Ct}),t(it,[2,248]),t(it,[2,249]),{6:[1,247],7:245,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,246],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:248,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{30:249,31:Nt,154:[1,250]},t(it,[2,187],{126:251,127:[1,252],128:[1,253]}),t(it,[2,201]),t(it,[2,209]),{31:[1,254],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{149:255,151:256,152:Yt},t(it,[2,116]),{7:258,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Ft,[2,119],{30:259,31:Nt,82:Ct,83:Ct,84:Ct,85:Ct,87:Ct,90:Ct,113:Ct,114:Ct,96:[1,260]}),t(jt,[2,194],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(pt,Xt,{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(pt,[2,123]),{29:[1,261],70:[1,262]},{29:[1,263]},{31:Wt,33:268,34:r,94:[1,264],100:265,101:266},t([29,70],[2,137]),{102:[1,269]},{31:Jt,33:274,34:r,94:[1,270],105:271,108:272},t(pt,[2,141]),{55:[1,275]},{7:276,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{29:[1,277]},{6:G,131:[1,278]},{4:279,5:3,7:4,8:5,9:6,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:i,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t([6,31,70,120],zt,{141:77,132:97,138:98,121:280,73:[1,281],122:Mt,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(Kt,[2,168]),t([6,31,120],Bt,{69:282,70:Qt}),t(Zt,[2,177]),{7:242,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:_t,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,116:284,117:F,118:E,119:D,123:172,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Zt,[2,183]),t(Zt,[2,184]),t(en,[2,167]),t(en,[2,33]),t(yt,[2,160]),{7:242,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:_t,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,115:[1,285],116:286,117:F,118:E,119:D,123:172,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{30:287,31:Nt,132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(tn,[2,197],{141:77,132:97,138:98,133:I,134:[1,288],135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(tn,[2,199],{141:77,132:97,138:98,133:I,134:[1,289],135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(it,[2,205]),t(nn,[2,206],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,155,158,159,162,163,164,165,166,167,168],[2,210],{140:[1,290]}),t(rn,[2,213]),{33:189,34:r,60:190,74:191,75:192,92:w,118:wt,119:Tt,143:291,145:188},t(rn,[2,219],{70:[1,292]}),t(on,[2,215]),t(on,[2,216]),t(on,[2,217]),t(on,[2,218]),t(it,[2,212]),{7:293,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:294,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(sn,Bt,{69:295,70:an}),t(cn,[2,111]),t(cn,[2,51],{58:[1,297]}),t(ln,[2,60],{55:[1,298]}),t(cn,[2,56]),t(ln,[2,61]),t(un,[2,57]),t(un,[2,58]),t(un,[2,59]),{46:[1,299],78:113,82:rt,83:ot,84:st,85:at,86:109,87:ct,90:lt,109:112,113:ut,114:ht},t(qt,Ct),{6:G,42:[1,300]},t(q,[2,4]),t(hn,[2,251],{141:77,132:97,138:98,162:J,163:z,164:K}),t(hn,[2,252],{141:77,132:97,138:98,162:J,163:z,164:K}),t(Gt,[2,253],{141:77,132:97,138:98,162:J,164:K}),t(Gt,[2,254],{141:77,132:97,138:98,162:J,164:K}),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,165,166,167,168],[2,255],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K}),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,166,167],[2,256],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,168:tt}),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,167],[2,257],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,168:tt}),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,166,167,168],[2,258],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q}),t(nn,[2,241],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(nn,[2,240],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(yt,[2,156]),t(At,[2,99]),t(At,[2,100]),t(At,[2,101]),t(At,[2,102]),{89:[1,301]},{73:Pt,89:[2,107],121:302,122:Mt,132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{89:[2,108]},{7:303,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,89:[2,176],92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(pn,[2,170]),t(pn,dn),t(At,[2,106]),t(yt,[2,157]),t(q,[2,64],{141:77,132:97,138:98,133:Xt,135:Xt,139:Xt,155:Xt,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(jt,[2,29],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(jt,[2,48],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:304,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:305,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{66:306,67:v,68:k},t(fn,mn,{72:122,33:124,60:125,74:126,75:127,71:307,34:r,73:kt,92:w,118:wt,119:Tt}),{6:gn,31:bn},t(Ut,[2,79]),{7:310,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Zt,zt,{141:77,132:97,138:98,73:[1,311],133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(yn,[2,30]),{6:G,32:[1,312]},t(jt,[2,259],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:313,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:314,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(jt,[2,262],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(it,[2,239]),{7:315,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(it,[2,188],{127:[1,316]}),{30:317,31:Nt},{30:320,31:Nt,33:318,34:r,75:319,92:w},{149:321,151:256,152:Yt},{32:[1,322],150:[1,323],151:324,152:Yt},t(vn,[2,232]),{7:326,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,124:325,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(kn,[2,117],{141:77,132:97,138:98,30:327,31:Nt,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(it,[2,120]),{7:328,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{39:329,40:s,41:a},{92:[1,331],99:330,103:Dt},{39:332,40:s,41:a},{29:[1,333]},t(sn,Bt,{69:334,70:wn}),t(cn,[2,130]),{31:Wt,33:268,34:r,100:336,101:266},t(cn,[2,135],{102:[1,337]}),{33:338,34:r},t(pt,[2,139]),t(sn,Bt,{69:339,70:Tn}),t(cn,[2,148]),{31:Jt,33:274,34:r,105:341,108:272},t(cn,[2,153],{102:[1,342]}),{6:[1,344],7:343,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,345],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Nn,[2,145],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{39:346,40:s,41:a},t(gt,[2,195]),{6:G,32:[1,347]},{7:348,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t([12,28,34,38,40,41,44,45,48,49,50,51,52,53,61,62,63,67,68,92,95,97,104,112,117,118,119,125,129,130,133,135,137,139,148,154,156,157,158,159,160,161],dn,{6:Ln,31:Ln,70:Ln,120:Ln}),{6:Cn,31:Fn,120:[1,349]},t([6,31,32,115,120],mn,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:117,76:174,7:242,123:352,12:n,28:ft,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:g,62:b,63:y,67:v,68:k,73:xt,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,133:I,135:R,137:A,139:O,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),t(fn,Bt,{69:353,70:Qt}),t(yt,[2,163]),t([6,31,115],Bt,{69:354,70:Qt}),t(En,[2,236]),{7:355,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:356,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:357,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(rn,[2,214]),{33:189,34:r,60:190,74:191,75:192,92:w,118:wt,119:Tt,145:358},t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,135,139,155],[2,221],{141:77,132:97,138:98,134:[1,359],140:[1,360],158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(Dn,[2,222],{141:77,132:97,138:98,134:[1,361],158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{6:_n,31:xn,94:[1,362]},t(Sn,mn,{39:80,57:198,59:199,11:200,37:201,33:202,35:203,60:204,56:365,34:r,36:It,38:o,40:s,41:a,62:b,118:wt}),{7:366,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,367],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:368,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,369],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(gt,[2,39]),t($t,[2,37]),t(At,[2,105]),{7:370,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,89:[2,174],92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{89:[2,175],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(jt,[2,49],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{32:[1,371],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{30:372,31:Nt},t(Ut,[2,75]),{33:124,34:r,60:125,71:373,72:122,73:kt,74:126,75:127,92:w,118:wt,119:Tt},t(In,vt,{71:121,72:122,33:124,60:125,74:126,75:127,64:374,34:r,73:kt,92:w,118:wt,119:Tt}),t(Ut,[2,80],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(Zt,Ln),t(yn,[2,31]),{32:[1,375],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(jt,[2,261],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{30:376,31:Nt,132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{30:377,31:Nt},t(it,[2,189]),{30:378,31:Nt},{30:379,31:Nt},t(Rn,[2,193]),{32:[1,380],150:[1,381],151:324,152:Yt},t(it,[2,230]),{30:382,31:Nt},t(vn,[2,233]),{30:383,31:Nt,70:[1,384]},t(An,[2,185],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(it,[2,118]),t(kn,[2,121],{141:77,132:97,138:98,30:385,31:Nt,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(pt,[2,124]),{29:[1,386]},{31:Wt,33:268,34:r,100:387,101:266},t(pt,[2,125]),{39:388,40:s,41:a},{6:On,31:$n,94:[1,389]},t(Sn,mn,{33:268,101:392,34:r}),t(fn,Bt,{69:393,70:wn}),{33:394,34:r},{29:[2,138]},{6:Pn,31:Mn,94:[1,395]},t(Sn,mn,{33:274,108:398,34:r}),t(fn,Bt,{69:399,70:Tn}),{33:400,34:r,106:[1,401]},t(Nn,[2,142],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:402,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:403,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(pt,[2,146]),{131:[1,404]},{120:[1,405],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(Kt,[2,169]),{7:242,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,123:406,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:242,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:_t,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,116:407,117:F,118:E,119:D,123:172,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Zt,[2,178]),{6:Cn,31:Fn,32:[1,408]},{6:Cn,31:Fn,115:[1,409]},t(nn,[2,198],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(nn,[2,200],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(nn,[2,211],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(rn,[2,220]),{7:410,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:411,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:412,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Kt,[2,109]),{11:200,33:202,34:r,35:203,36:It,37:201,38:o,39:80,40:s,41:a,56:413,57:198,59:199,60:204,62:b,118:wt},t(In,Ot,{39:80,56:197,57:198,59:199,11:200,37:201,33:202,35:203,60:204,93:414,34:r,36:It,38:o,40:s,41:a,62:b,118:wt}),t(cn,[2,112]),t(cn,[2,52],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:415,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(cn,[2,54],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:416,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{89:[2,173],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(it,[2,50]),t(it,[2,67]),t(Ut,[2,76]),t(fn,Bt,{69:417,70:Vt}),t(it,[2,260]),t(En,[2,237]),t(it,[2,190]),t(Rn,[2,191]),t(Rn,[2,192]),t(it,[2,228]),{30:418,31:Nt},{32:[1,419]},t(vn,[2,234],{6:[1,420]}),{7:421,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(it,[2,122]),{39:422,40:s,41:a},t(sn,Bt,{69:423,70:wn}),t(pt,[2,126]),{29:[1,424]},{33:268,34:r,101:425},{31:Wt,33:268,34:r,100:426,101:266},t(cn,[2,131]),{6:On,31:$n,32:[1,427]},t(cn,[2,136]),t(pt,[2,140],{29:[1,428]}),{33:274,34:r,108:429},{31:Jt,33:274,34:r,105:430,108:272},t(cn,[2,149]),{6:Pn,31:Mn,32:[1,431]},t(cn,[2,154]),t(cn,[2,155]),t(Nn,[2,143],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{32:[1,432],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(gt,[2,196]),t(gt,[2,172]),t(Zt,[2,179]),t(fn,Bt,{69:433,70:Qt}),t(Zt,[2,180]),t(yt,[2,164]),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,155],[2,223],{141:77,132:97,138:98,140:[1,434],158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(Dn,[2,225],{141:77,132:97,138:98,134:[1,435],158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(jt,[2,224],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(cn,[2,113]),t(fn,Bt,{69:436,70:an}),{32:[1,437],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{32:[1,438],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{6:gn,31:bn,32:[1,439]},{32:[1,440]},t(it,[2,231]),t(vn,[2,235]),t(An,[2,186],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(pt,[2,128]),{6:On,31:$n,94:[1,441]},{39:442,40:s,41:a},t(cn,[2,132]),t(fn,Bt,{69:443,70:wn}),t(cn,[2,133]),{39:444,40:s,41:a},t(cn,[2,150]),t(fn,Bt,{69:445,70:Tn}),t(cn,[2,151]),t(pt,[2,144]),{6:Cn,31:Fn,32:[1,446]},{7:447,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:448,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{6:_n,31:xn,32:[1,449]},t(cn,[2,53]),t(cn,[2,55]),t(Ut,[2,77]),t(it,[2,229]),{29:[1,450]},t(pt,[2,127]),{6:On,31:$n,32:[1,451]},t(pt,[2,147]),{6:Pn,31:Mn,32:[1,452]},t(Zt,[2,181]),t(jt,[2,226],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(jt,[2,227],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(cn,[2,114]),{39:453,40:s,41:a},t(cn,[2,134]),t(cn,[2,152]),t(pt,[2,129])],defaultActions:{68:[2,69],69:[2,70],104:[2,162],226:[2,108],338:[2,138]},parseError:function(e,t){function n(e,t){this.message=e,this.hash=t
-}if(!t.recoverable)throw n.prototype=Error,new n(e,t);this.trace(e)},parse:function(e){var t=this,n=[0],i=[null],r=[],o=this.table,s="",a=0,c=0,l=0,u=2,h=1,p=r.slice.call(arguments,1),d=Object.create(this.lexer),f={yy:{}};for(var m in this.yy)Object.prototype.hasOwnProperty.call(this.yy,m)&&(f.yy[m]=this.yy[m]);d.setInput(e,f.yy),f.yy.lexer=d,f.yy.parser=this,d.yylloc===void 0&&(d.yylloc={});var g=d.yylloc;r.push(g);var b=d.options&&d.options.ranges;this.parseError="function"==typeof f.yy.parseError?f.yy.parseError:Object.getPrototypeOf(this).parseError;for(var y,v,k,w,T,N,L,C,F,E=function(){var e;return e=d.lex()||h,"number"!=typeof e&&(e=t.symbols_[e]||e),e},D={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:((null===y||y===void 0)&&(y=E()),w=o[k]&&o[k][y]),w===void 0||!w.length||!w[0]){var _="";F=[];for(N in o[k])this.terminals_[N]&&N>u&&F.push("'"+this.terminals_[N]+"'");_=d.showPosition?"Parse error on line "+(a+1)+":\n"+d.showPosition()+"\nExpecting "+F.join(", ")+", got '"+(this.terminals_[y]||y)+"'":"Parse error on line "+(a+1)+": Unexpected "+(y==h?"end of input":"'"+(this.terminals_[y]||y)+"'"),this.parseError(_,{text:d.match,token:this.terminals_[y]||y,line:d.yylineno,loc:g,expected:F})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+k+", token: "+y);switch(w[0]){case 1:n.push(y),i.push(d.yytext),r.push(d.yylloc),n.push(w[1]),y=null,v?(y=v,v=null):(c=d.yyleng,s=d.yytext,a=d.yylineno,g=d.yylloc,l>0&&l--);break;case 2:if(L=this.productions_[w[1]][1],D.$=i[i.length-L],D._$={first_line:r[r.length-(L||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(L||1)].first_column,last_column:r[r.length-1].last_column},b&&(D._$.range=[r[r.length-(L||1)].range[0],r[r.length-1].range[1]]),T=this.performAction.apply(D,[s,c,a,f.yy,w[1],i,r].concat(p)),T!==void 0)return T;L&&(n=n.slice(0,2*-1*L),i=i.slice(0,-1*L),r=r.slice(0,-1*L)),n.push(this.productions_[w[1]][0]),i.push(D.$),r.push(D._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}};return e.prototype=jn,jn.Parser=e,new e}();return require!==void 0&&e!==void 0&&(e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=require("fs").readFileSync(require("path").normalize(t[1]),"utf8");return e.parser.parse(n)},t!==void 0&&require.main===t&&e.main(process.argv.slice(1))),t.exports}(),require["./scope"]=function(){var e={},t={exports:e};return function(){var t,n=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};e.Scope=t=function(){function e(e,t,n,i){var r,o;this.parent=e,this.expressions=t,this.method=n,this.referencedVars=i,this.variables=[{name:"arguments",type:"arguments"}],this.positions={},this.parent||(this.utilities={}),this.root=null!=(r=null!=(o=this.parent)?o.root:void 0)?r:this}return e.prototype.add=function(e,t,n){return this.shared&&!n?this.parent.add(e,t,n):Object.prototype.hasOwnProperty.call(this.positions,e)?this.variables[this.positions[e]].type=t:this.positions[e]=this.variables.push({name:e,type:t})-1},e.prototype.namedMethod=function(){var e;return(null!=(e=this.method)?e.name:void 0)||!this.parent?this.method:this.parent.namedMethod()},e.prototype.find=function(e){return this.check(e)?!0:(this.add(e,"var"),!1)},e.prototype.parameter=function(e){return this.shared&&this.parent.check(e,!0)?void 0:this.add(e,"param")},e.prototype.check=function(e){var t;return!!(this.type(e)||(null!=(t=this.parent)?t.check(e):void 0))},e.prototype.temporary=function(e,t,n){var i,r,o,s,a,c;return null==n&&(n=!1),n?(c=e.charCodeAt(0),r="z".charCodeAt(0),i=r-c,s=c+t%(i+1),o=String.fromCharCode(s),a=Math.floor(t/(i+1)),""+o+(a||"")):""+e+(t||"")},e.prototype.type=function(e){var t,n,i,r;for(i=this.variables,t=0,n=i.length;n>t;t++)if(r=i[t],r.name===e)return r.type;return null},e.prototype.freeVariable=function(e,t){var i,r,o;for(null==t&&(t={}),i=0;;){if(o=this.temporary(e,i,t.single),!(this.check(o)||n.call(this.root.referencedVars,o)>=0))break;i++}return(null!=(r=t.reserve)?r:!0)&&this.add(o,"var",!0),o},e.prototype.assign=function(e,t){return this.add(e,{value:t,assigned:!0},!0),this.hasAssignments=!0},e.prototype.hasDeclarations=function(){return!!this.declaredVariables().length},e.prototype.declaredVariables=function(){var e;return function(){var t,n,i,r;for(i=this.variables,r=[],t=0,n=i.length;n>t;t++)e=i[t],"var"===e.type&&r.push(e.name);return r}.call(this).sort()},e.prototype.assignedVariables=function(){var e,t,n,i,r;for(n=this.variables,i=[],e=0,t=n.length;t>e;e++)r=n[e],r.type.assigned&&i.push(r.name+" = "+r.type.value);return i},e}()}.call(this),t.exports}(),require["./nodes"]=function(){var e={},t={exports:e};return function(){var t,n,i,r,o,s,a,c,l,u,h,p,d,f,m,g,b,y,v,k,w,T,N,L,C,F,E,D,_,x,S,I,R,A,O,$,P,M,j,B,V,U,H,G,q,Y,X,W,J,z,K,Q,Z,et,tt,nt,it,rt,ot,st,at,ct,lt,ut,ht,pt,dt,ft,mt,gt,bt,yt,vt,kt,wt,Tt,Nt,Lt,Ct,Ft,Et,Dt,_t,xt,St,It,Rt,At,Ot,$t,Pt,Mt,jt,Bt,Vt,Ut,Ht,Gt,qt,Yt=function(e,t){function n(){this.constructor=e}for(var i in t)Xt.call(t,i)&&(e[i]=t[i]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},Xt={}.hasOwnProperty,Wt=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},Jt=[].slice;Error.stackTraceLimit=Infinity,st=require("./scope").Scope,jt=require("./lexer"),Ot=jt.isUnassignable,R=jt.JS_FORBIDDEN,Bt=require("./helpers"),Ft=Bt.compact,xt=Bt.flatten,_t=Bt.extend,Pt=Bt.merge,Et=Bt.del,Ut=Bt.starts,Dt=Bt.ends,Vt=Bt.some,Ct=Bt.addLocationDataFn,$t=Bt.locationDataToString,Ht=Bt.throwSyntaxError,e.extend=_t,e.addLocationDataFn=Ct,Nt=function(){return!0},q=function(){return!1},mt=function(){return this},G=function(){return this.negated=!this.negated,this},e.CodeFragment=u=function(){function e(e,t){var n;this.code=""+t,this.locationData=null!=e?e.locationData:void 0,this.type=(null!=e?null!=(n=e.constructor)?n.name:void 0:void 0)||"unknown"}return e.prototype.toString=function(){return""+this.code+(this.locationData?": "+$t(this.locationData):"")},e}(),St=function(e){var t;return function(){var n,i,r;for(r=[],n=0,i=e.length;i>n;n++)t=e[n],r.push(t.code);return r}().join("")},e.Base=r=function(){function e(){}return e.prototype.compile=function(e,t){return St(this.compileToFragments(e,t))},e.prototype.compileToFragments=function(e,t){var n;return e=_t({},e),t&&(e.level=t),n=this.unfoldSoak(e)||this,n.tab=e.indent,e.level!==j&&n.isStatement(e)?n.compileClosure(e):n.compileNode(e)},e.prototype.compileClosure=function(e){var n,i,r,s,c,u,h;return(s=this.jumps())&&s.error("cannot use a pure statement in an expression"),e.sharedScope=!0,r=new l([],o.wrap([this])),n=[],((i=this.contains(Rt))||this.contains(At))&&(n=[new gt],i?(c="apply",n.push(new T("arguments"))):c="call",r=new wt(r,[new t(new et(c))])),u=new a(r,n).compileNode(e),(r.isGenerator||(null!=(h=r.base)?h.isGenerator:void 0))&&(u.unshift(this.makeCode("(yield* ")),u.push(this.makeCode(")"))),u},e.prototype.cache=function(e,t,n){var r,o,s;return r=null!=n?n(this):this.isComplex(),r?(o=new T(e.scope.freeVariable("ref")),s=new i(o,this),t?[s.compileToFragments(e,t),[this.makeCode(o.value)]]:[s,o]):(o=t?this.compileToFragments(e,t):this,[o,o])},e.prototype.cacheToCodeFragments=function(e){return[St(e[0]),St(e[1])]},e.prototype.makeReturn=function(e){var t;return t=this.unwrapAll(),e?new a(new B(e+".push"),[t]):new rt(t)},e.prototype.contains=function(e){var t;return t=void 0,this.traverseChildren(!1,function(n){return e(n)?(t=n,!1):void 0}),t},e.prototype.lastNonComment=function(e){var t;for(t=e.length;t--;)if(!(e[t]instanceof h))return e[t];return null},e.prototype.toString=function(e,t){var n;return null==e&&(e=""),null==t&&(t=this.constructor.name),n="\n"+e+t,this.soak&&(n+="?"),this.eachChild(function(t){return n+=t.toString(e+ft)}),n},e.prototype.eachChild=function(e){var t,n,i,r,o,s,a,c;if(!this.children)return this;for(a=this.children,i=0,o=a.length;o>i;i++)if(t=a[i],this[t])for(c=xt([this[t]]),r=0,s=c.length;s>r;r++)if(n=c[r],e(n)===!1)return this;return this},e.prototype.traverseChildren=function(e,t){return this.eachChild(function(n){var i;return i=t(n),i!==!1?n.traverseChildren(e,t):void 0})},e.prototype.invert=function(){return new z("!",this)},e.prototype.unwrapAll=function(){var e;for(e=this;e!==(e=e.unwrap()););return e},e.prototype.children=[],e.prototype.isStatement=q,e.prototype.jumps=q,e.prototype.isComplex=Nt,e.prototype.isChainable=q,e.prototype.isAssignable=q,e.prototype.isNumber=q,e.prototype.unwrap=mt,e.prototype.unfoldSoak=q,e.prototype.assigns=q,e.prototype.updateLocationDataIfMissing=function(e){return this.locationData?this:(this.locationData=e,this.eachChild(function(t){return t.updateLocationDataIfMissing(e)}))},e.prototype.error=function(e){return Ht(e,this.locationData)},e.prototype.makeCode=function(e){return new u(this,e)},e.prototype.wrapInBraces=function(e){return[].concat(this.makeCode("("),e,this.makeCode(")"))},e.prototype.joinFragmentArrays=function(e,t){var n,i,r,o,s;for(n=[],r=o=0,s=e.length;s>o;r=++o)i=e[r],r&&n.push(this.makeCode(t)),n=n.concat(i);return n},e}(),e.Block=o=function(e){function t(e){this.expressions=Ft(xt(e||[]))}return Yt(t,e),t.prototype.children=["expressions"],t.prototype.push=function(e){return this.expressions.push(e),this},t.prototype.pop=function(){return this.expressions.pop()},t.prototype.unshift=function(e){return this.expressions.unshift(e),this},t.prototype.unwrap=function(){return 1===this.expressions.length?this.expressions[0]:this},t.prototype.isEmpty=function(){return!this.expressions.length},t.prototype.isStatement=function(e){var t,n,i,r;for(r=this.expressions,n=0,i=r.length;i>n;n++)if(t=r[n],t.isStatement(e))return!0;return!1},t.prototype.jumps=function(e){var t,n,i,r,o;for(o=this.expressions,n=0,r=o.length;r>n;n++)if(t=o[n],i=t.jumps(e))return i},t.prototype.makeReturn=function(e){var t,n;for(n=this.expressions.length;n--;)if(t=this.expressions[n],!(t instanceof h)){this.expressions[n]=t.makeReturn(e),t instanceof rt&&!t.expression&&this.expressions.splice(n,1);break}return this},t.prototype.compileToFragments=function(e,n){return null==e&&(e={}),e.scope?t.__super__.compileToFragments.call(this,e,n):this.compileRoot(e)},t.prototype.compileNode=function(e){var n,i,r,o,s,a,c,l,u;for(this.tab=e.indent,u=e.level===j,i=[],l=this.expressions,o=s=0,a=l.length;a>s;o=++s)c=l[o],c=c.unwrapAll(),c=c.unfoldSoak(e)||c,c instanceof t?i.push(c.compileNode(e)):u?(c.front=!0,r=c.compileToFragments(e),c.isStatement(e)||(r.unshift(this.makeCode(""+this.tab)),r.push(this.makeCode(";"))),i.push(r)):i.push(c.compileToFragments(e,$));return u?this.spaced?[].concat(this.joinFragmentArrays(i,"\n\n"),this.makeCode("\n")):this.joinFragmentArrays(i,"\n"):(n=i.length?this.joinFragmentArrays(i,", "):[this.makeCode("void 0")],i.length>1&&e.level>=$?this.wrapInBraces(n):n)},t.prototype.compileRoot=function(e){var t,n,i,r,o,s,a,c,l,u,p;for(e.indent=e.bare?"":ft,e.level=j,this.spaced=!0,e.scope=new st(null,this,null,null!=(l=e.referencedVars)?l:[]),u=e.locals||[],r=0,o=u.length;o>r;r++)s=u[r],e.scope.parameter(s);return a=[],e.bare||(c=function(){var e,n,r,o;for(r=this.expressions,o=[],i=e=0,n=r.length;n>e&&(t=r[i],t.unwrap()instanceof h);i=++e)o.push(t);return o}.call(this),p=this.expressions.slice(c.length),this.expressions=c,c.length&&(a=this.compileNode(Pt(e,{indent:""})),a.push(this.makeCode("\n"))),this.expressions=p),n=this.compileWithDeclarations(e),e.bare?n:[].concat(a,this.makeCode("(function() {\n"),n,this.makeCode("\n}).call(this);\n"))},t.prototype.compileWithDeclarations=function(e){var t,n,i,r,o,s,a,c,l,u,p,d,f,m;for(r=[],c=[],l=this.expressions,o=s=0,a=l.length;a>s&&(i=l[o],i=i.unwrap(),i instanceof h||i instanceof B);o=++s);return e=Pt(e,{level:j}),o&&(d=this.expressions.splice(o,9e9),u=[this.spaced,!1],m=u[0],this.spaced=u[1],p=[this.compileNode(e),m],r=p[0],this.spaced=p[1],this.expressions=d),c=this.compileNode(e),f=e.scope,f.expressions===this&&(n=e.scope.hasDeclarations(),t=f.hasAssignments,n||t?(o&&r.push(this.makeCode("\n")),r.push(this.makeCode(this.tab+"var ")),n&&r.push(this.makeCode(f.declaredVariables().join(", "))),t&&(n&&r.push(this.makeCode(",\n"+(this.tab+ft))),r.push(this.makeCode(f.assignedVariables().join(",\n"+(this.tab+ft))))),r.push(this.makeCode(";\n"+(this.spaced?"\n":"")))):r.length&&c.length&&r.push(this.makeCode("\n"))),r.concat(c)},t.wrap=function(e){return 1===e.length&&e[0]instanceof t?e[0]:new t(e)},t}(r),e.Literal=B=function(e){function t(e){this.value=e}return Yt(t,e),t.prototype.isComplex=q,t.prototype.assigns=function(e){return e===this.value},t.prototype.compileNode=function(){return[this.makeCode(this.value)]},t.prototype.toString=function(){return" "+(this.isStatement()?t.__super__.toString.apply(this,arguments):this.constructor.name)+": "+this.value},t}(r),e.NumberLiteral=W=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(B),e.InfinityLiteral=I=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.compileNode=function(){return[this.makeCode("2e308")]},t}(W),e.NaNLiteral=Y=function(e){function t(){t.__super__.constructor.call(this,"NaN")}return Yt(t,e),t.prototype.compileNode=function(e){var t;return t=[this.makeCode("0/0")],e.level>=P?this.wrapInBraces(t):t},t}(W),e.StringLiteral=ut=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(B),e.RegexLiteral=nt=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(B),e.PassthroughLiteral=Z=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(B),e.IdentifierLiteral=T=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.isAssignable=Nt,t}(B),e.PropertyName=et=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.isAssignable=Nt,t}(B),e.StatementLiteral=lt=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.isStatement=Nt,t.prototype.makeReturn=mt,t.prototype.jumps=function(e){return"break"!==this.value||(null!=e?e.loop:void 0)||(null!=e?e.block:void 0)?"continue"!==this.value||(null!=e?e.loop:void 0)?void 0:this:this},t.prototype.compileNode=function(){return[this.makeCode(""+this.tab+this.value+";")]},t}(B),e.ThisLiteral=gt=function(e){function t(){t.__super__.constructor.call(this,"this")}return Yt(t,e),t.prototype.compileNode=function(e){var t,n;return t=(null!=(n=e.scope.method)?n.bound:void 0)?e.scope.method.context:this.value,[this.makeCode(t)]},t}(B),e.UndefinedLiteral=kt=function(e){function t(){t.__super__.constructor.call(this,"undefined")}return Yt(t,e),t.prototype.compileNode=function(e){return[this.makeCode(e.level>=A?"(void 0)":"void 0")]},t}(B),e.NullLiteral=X=function(e){function t(){t.__super__.constructor.call(this,"null")}return Yt(t,e),t}(B),e.BooleanLiteral=s=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(B),e.Return=rt=function(e){function t(e){this.expression=e}return Yt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=Nt,t.prototype.makeReturn=mt,t.prototype.jumps=mt,t.prototype.compileToFragments=function(e,n){var i,r;return i=null!=(r=this.expression)?r.makeReturn():void 0,!i||i instanceof t?t.__super__.compileToFragments.call(this,e,n):i.compileToFragments(e,n)},t.prototype.compileNode=function(e){var t;return t=[],t.push(this.makeCode(this.tab+("return"+(this.expression?" ":"")))),this.expression&&(t=t.concat(this.expression.compileToFragments(e,M))),t.push(this.makeCode(";")),t},t}(r),e.YieldReturn=Lt=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.compileNode=function(e){return null==e.scope.parent&&this.error("yield can only occur inside functions"),t.__super__.compileNode.apply(this,arguments)},t}(rt),e.Value=wt=function(e){function t(e,n,i){return!n&&e instanceof t?e:(this.base=e,this.properties=n||[],i&&(this[i]=!0),this)}return Yt(t,e),t.prototype.children=["base","properties"],t.prototype.add=function(e){return this.properties=this.properties.concat(e),this},t.prototype.hasProperties=function(){return!!this.properties.length},t.prototype.bareLiteral=function(e){return!this.properties.length&&this.base instanceof e},t.prototype.isArray=function(){return this.bareLiteral(n)},t.prototype.isRange=function(){return this.bareLiteral(tt)},t.prototype.isComplex=function(){return this.hasProperties()||this.base.isComplex()},t.prototype.isAssignable=function(){return this.hasProperties()||this.base.isAssignable()},t.prototype.isNumber=function(){return this.bareLiteral(W)},t.prototype.isString=function(){return this.bareLiteral(ut)},t.prototype.isRegex=function(){return this.bareLiteral(nt)},t.prototype.isUndefined=function(){return this.bareLiteral(kt)},t.prototype.isNull=function(){return this.bareLiteral(X)},t.prototype.isBoolean=function(){return this.bareLiteral(s)},t.prototype.isAtomic=function(){var e,t,n,i;for(i=this.properties.concat(this.base),e=0,t=i.length;t>e;e++)if(n=i[e],n.soak||n instanceof a)return!1;return!0},t.prototype.isNotCallable=function(){return this.isNumber()||this.isString()||this.isRegex()||this.isArray()||this.isRange()||this.isSplice()||this.isObject()||this.isUndefined()||this.isNull()||this.isBoolean()},t.prototype.isStatement=function(e){return!this.properties.length&&this.base.isStatement(e)},t.prototype.assigns=function(e){return!this.properties.length&&this.base.assigns(e)},t.prototype.jumps=function(e){return!this.properties.length&&this.base.jumps(e)},t.prototype.isObject=function(e){return this.properties.length?!1:this.base instanceof J&&(!e||this.base.generated)},t.prototype.isSplice=function(){var e,t;return t=this.properties,e=t[t.length-1],e instanceof at},t.prototype.looksStatic=function(e){var t;return this.base.value===e&&1===this.properties.length&&"prototype"!==(null!=(t=this.properties[0].name)?t.value:void 0)},t.prototype.unwrap=function(){return this.properties.length?this:this.base},t.prototype.cacheReference=function(e){var n,r,o,s,a;return a=this.properties,o=a[a.length-1],2>this.properties.length&&!this.base.isComplex()&&!(null!=o?o.isComplex():void 0)?[this,this]:(n=new t(this.base,this.properties.slice(0,-1)),n.isComplex()&&(r=new T(e.scope.freeVariable("base")),n=new t(new Q(new i(r,n)))),o?(o.isComplex()&&(s=new T(e.scope.freeVariable("name")),o=new S(new i(s,o.index)),s=new S(s)),[n.add(o),new t(r||n.base,[s||o])]):[n,r])},t.prototype.compileNode=function(e){var t,n,i,r,o;for(this.base.front=this.front,o=this.properties,t=this.base.compileToFragments(e,o.length?A:null),o.length&&ot.test(St(t))&&t.push(this.makeCode(".")),n=0,i=o.length;i>n;n++)r=o[n],t.push.apply(t,r.compileToFragments(e));return t},t.prototype.unfoldSoak=function(e){return null!=this.unfoldedSoak?this.unfoldedSoak:this.unfoldedSoak=function(n){return function(){var r,o,s,a,c,l,u,h,d,f;if(s=n.base.unfoldSoak(e))return(h=s.body.properties).push.apply(h,n.properties),s;for(d=n.properties,o=a=0,c=d.length;c>a;o=++a)if(l=d[o],l.soak)return l.soak=!1,r=new t(n.base,n.properties.slice(0,o)),f=new t(n.base,n.properties.slice(o)),r.isComplex()&&(u=new T(e.scope.freeVariable("ref")),r=new Q(new i(u,r)),f.base=u),new N(new p(r),f,{soak:!0});return!1}}(this)()},t}(r),e.Comment=h=function(e){function t(e){this.comment=e}return Yt(t,e),t.prototype.isStatement=Nt,t.prototype.makeReturn=mt,t.prototype.compileNode=function(e,t){var n,i;return i=this.comment.replace(/^(\s*)#(?=\s)/gm,"$1 *"),n="/*"+Mt(i,this.tab)+(Wt.call(i,"\n")>=0?"\n"+this.tab:"")+" */",(t||e.level)===j&&(n=e.indent+n),[this.makeCode("\n"),this.makeCode(n)]},t}(r),e.Call=a=function(e){function t(e,t,n){this.variable=e,this.args=null!=t?t:[],this.soak=n,this.isNew=!1,this.variable instanceof wt&&this.variable.isNotCallable()&&this.variable.error("literal is not a function")}return Yt(t,e),t.prototype.children=["variable","args"],t.prototype.newInstance=function(){var e,n;return e=(null!=(n=this.variable)?n.base:void 0)||this.variable,e instanceof t&&!e.isNew?e.newInstance():this.isNew=!0,this},t.prototype.unfoldSoak=function(e){var n,i,r,o,s,a,c,l,u;if(this.soak){if(this instanceof pt)o=new B(this.superReference(e)),u=new wt(o);else{if(i=Gt(e,this,"variable"))return i;c=new wt(this.variable).cacheReference(e),o=c[0],u=c[1]}return u=new t(u,this.args),u.isNew=this.isNew,o=new B("typeof "+o.compile(e)+' === "function"'),new N(o,new wt(u),{soak:!0})}for(n=this,a=[];;)if(n.variable instanceof t)a.push(n),n=n.variable;else{if(!(n.variable instanceof wt))break;if(a.push(n),!((n=n.variable.base)instanceof t))break}for(l=a.reverse(),r=0,s=l.length;s>r;r++)n=l[r],i&&(n.variable instanceof t?n.variable=i:n.variable.base=i),i=Gt(e,n,"variable");return i},t.prototype.compileNode=function(e){var t,n,i,r,o,s,a,c,l,u;if(null!=(l=this.variable)&&(l.front=this.front),r=ct.compileSplattedArray(e,this.args,!0),r.length)return this.compileSplat(e,r);for(i=[],u=this.args,n=s=0,a=u.length;a>s;n=++s)t=u[n],n&&i.push(this.makeCode(", ")),i.push.apply(i,t.compileToFragments(e,$));return o=[],this instanceof pt?(c=this.superReference(e)+(".call("+this.superThis(e)),i.length&&(c+=", "),o.push(this.makeCode(c))):(this.isNew&&o.push(this.makeCode("new ")),o.push.apply(o,this.variable.compileToFragments(e,A)),o.push(this.makeCode("("))),o.push.apply(o,i),o.push(this.makeCode(")")),o},t.prototype.compileSplat=function(e,t){var n,i,r,o,s,a;return this instanceof pt?[].concat(this.makeCode(this.superReference(e)+".apply("+this.superThis(e)+", "),t,this.makeCode(")")):this.isNew?(o=this.tab+ft,[].concat(this.makeCode("(function(func, args, ctor) {\n"+o+"ctor.prototype = func.prototype;\n"+o+"var child = new ctor, result = func.apply(child, args);\n"+o+"return Object(result) === result ? result : child;\n"+this.tab+"})("),this.variable.compileToFragments(e,$),this.makeCode(", "),t,this.makeCode(", function(){})"))):(n=[],i=new wt(this.variable),(s=i.properties.pop())&&i.isComplex()?(a=e.scope.freeVariable("ref"),n=n.concat(this.makeCode("("+a+" = "),i.compileToFragments(e,$),this.makeCode(")"),s.compileToFragments(e))):(r=i.compileToFragments(e,A),ot.test(St(r))&&(r=this.wrapInBraces(r)),s?(a=St(r),r.push.apply(r,s.compileToFragments(e))):a="null",n=n.concat(r)),n=n.concat(this.makeCode(".apply("+a+", "),t,this.makeCode(")")))},t}(r),e.SuperCall=pt=function(e){function n(e){n.__super__.constructor.call(this,null,null!=e?e:[new ct(new T("arguments"))]),this.isBare=null!=e}return Yt(n,e),n.prototype.superReference=function(e){var n,r,o,s,a,c,l,u;return a=e.scope.namedMethod(),(null!=a?a.klass:void 0)?(s=a.klass,c=a.name,u=a.variable,s.isComplex()&&(o=new T(e.scope.parent.freeVariable("base")),r=new wt(new Q(new i(o,s))),u.base=r,u.properties.splice(0,s.properties.length)),(c.isComplex()||c instanceof S&&c.index.isAssignable())&&(l=new T(e.scope.parent.freeVariable("name")),c=new S(new i(l,c.index)),u.properties.pop(),u.properties.push(c)),n=[new t(new et("__super__"))],a["static"]&&n.push(new t(new et("constructor"))),n.push(null!=l?new S(l):c),new wt(null!=o?o:s,n).compile(e)):(null!=a?a.ctor:void 0)?a.name+".__super__.constructor":this.error("cannot call super outside of an instance method.")},n.prototype.superThis=function(e){var t;return t=e.scope.method,t&&!t.klass&&t.context||"this"},n}(a),e.RegexWithInterpolations=it=function(e){function t(e){null==e&&(e=[]),t.__super__.constructor.call(this,new wt(new T("RegExp")),e,!1)}return Yt(t,e),t}(a),e.Extends=k=function(e){function t(e,t){this.child=e,this.parent=t}return Yt(t,e),t.prototype.children=["child","parent"],t.prototype.compileToFragments=function(e){return new a(new wt(new B(qt("extend",e))),[this.child,this.parent]).compileToFragments(e)},t}(r),e.Access=t=function(e){function t(e,t){this.name=e,this.soak="soak"===t}return Yt(t,e),t.prototype.children=["name"],t.prototype.compileToFragments=function(e){var t,n,i;return t=this.name.compileToFragments(e),n=this.name.unwrap(),n instanceof et?(i=n.value,Wt.call(R,i)>=0?[this.makeCode('["')].concat(Jt.call(t),[this.makeCode('"]')]):[this.makeCode(".")].concat(Jt.call(t))):[this.makeCode("[")].concat(Jt.call(t),[this.makeCode("]")])},t.prototype.isComplex=q,t}(r),e.Index=S=function(e){function t(e){this.index=e}return Yt(t,e),t.prototype.children=["index"],t.prototype.compileToFragments=function(e){return[].concat(this.makeCode("["),this.index.compileToFragments(e,M),this.makeCode("]"))},t.prototype.isComplex=function(){return this.index.isComplex()},t}(r),e.Range=tt=function(e){function t(e,t,n){this.from=e,this.to=t,this.exclusive="exclusive"===n,this.equals=this.exclusive?"":"="}return Yt(t,e),t.prototype.children=["from","to"],t.prototype.compileVariables=function(e){var t,n,i,r,o;return e=Pt(e,{top:!0}),t=Et(e,"isComplex"),n=this.cacheToCodeFragments(this.from.cache(e,$,t)),this.fromC=n[0],this.fromVar=n[1],i=this.cacheToCodeFragments(this.to.cache(e,$,t)),this.toC=i[0],this.toVar=i[1],(o=Et(e,"step"))&&(r=this.cacheToCodeFragments(o.cache(e,$,t)),this.step=r[0],this.stepVar=r[1]),this.fromNum=this.from.isNumber()?Number(this.fromVar):null,this.toNum=this.to.isNumber()?Number(this.toVar):null,this.stepNum=(null!=o?o.isNumber():void 0)?Number(this.stepVar):null},t.prototype.compileNode=function(e){var t,n,i,r,o,s,a,c,l,u,h,p,d,f;return this.fromVar||this.compileVariables(e),e.index?(a=null!=this.fromNum&&null!=this.toNum,o=Et(e,"index"),s=Et(e,"name"),l=s&&s!==o,f=o+" = "+this.fromC,this.toC!==this.toVar&&(f+=", "+this.toC),this.step!==this.stepVar&&(f+=", "+this.step),u=[o+" <"+this.equals,o+" >"+this.equals],c=u[0],r=u[1],n=null!=this.stepNum?this.stepNum>0?c+" "+this.toVar:r+" "+this.toVar:a?(h=[this.fromNum,this.toNum],i=h[0],d=h[1],h,d>=i?c+" "+d:r+" "+d):(t=this.stepVar?this.stepVar+" > 0":this.fromVar+" <= "+this.toVar,t+" ? "+c+" "+this.toVar+" : "+r+" "+this.toVar),p=this.stepVar?o+" += "+this.stepVar:a?l?d>=i?"++"+o:"--"+o:d>=i?o+"++":o+"--":l?t+" ? ++"+o+" : --"+o:t+" ? "+o+"++ : "+o+"--",l&&(f=s+" = "+f),l&&(p=s+" = "+p),[this.makeCode(f+"; "+n+"; "+p)]):this.compileArray(e)},t.prototype.compileArray=function(e){var t,n,i,r,o,s,a,c,l,u,h,p,d,f;return a=null!=this.fromNum&&null!=this.toNum,a&&20>=Math.abs(this.fromNum-this.toNum)?(u=function(){d=[];for(var e=h=this.fromNum,t=this.toNum;t>=h?t>=e:e>=t;t>=h?e++:e--)d.push(e);return d}.apply(this),this.exclusive&&u.pop(),[this.makeCode("["+u.join(", ")+"]")]):(s=this.tab+ft,o=e.scope.freeVariable("i",{single:!0}),p=e.scope.freeVariable("results"),l="\n"+s+p+" = [];",a?(e.index=o,n=St(this.compileNode(e))):(f=o+" = "+this.fromC+(this.toC!==this.toVar?", "+this.toC:""),i=this.fromVar+" <= "+this.toVar,n="var "+f+"; "+i+" ? "+o+" <"+this.equals+" "+this.toVar+" : "+o+" >"+this.equals+" "+this.toVar+"; "+i+" ? "+o+"++ : "+o+"--"),c="{ "+p+".push("+o+"); }\n"+s+"return "+p+";\n"+e.indent,r=function(e){return null!=e?e.contains(Rt):void 0},(r(this.from)||r(this.to))&&(t=", arguments"),[this.makeCode("(function() {"+l+"\n"+s+"for ("+n+")"+c+"}).apply(this"+(null!=t?t:"")+")")])},t}(r),e.Slice=at=function(e){function t(e){this.range=e,t.__super__.constructor.call(this)}return Yt(t,e),t.prototype.children=["range"],t.prototype.compileNode=function(e){var t,n,i,r,o,s,a;return o=this.range,s=o.to,i=o.from,r=i&&i.compileToFragments(e,M)||[this.makeCode("0")],s&&(t=s.compileToFragments(e,M),n=St(t),(this.range.exclusive||-1!==+n)&&(a=", "+(this.range.exclusive?n:s.isNumber()?""+(+n+1):(t=s.compileToFragments(e,A),"+"+St(t)+" + 1 || 9e9")))),[this.makeCode(".slice("+St(r)+(a||"")+")")]},t}(r),e.Obj=J=function(e){function n(e,t){this.generated=null!=t?t:!1,this.objects=this.properties=e||[]}return Yt(n,e),n.prototype.children=["properties"],n.prototype.compileNode=function(e){var n,r,o,s,a,c,l,u,p,d,f,m,g,b,y,v,k,w,N,L,C;if(N=this.properties,this.generated)for(l=0,g=N.length;g>l;l++)v=N[l],v instanceof wt&&v.error("cannot have an implicit value in an implicit object");for(r=p=0,b=N.length;b>p&&(w=N[r],!((w.variable||w).base instanceof Q));r=++p);for(o=N.length>r,a=e.indent+=ft,m=this.lastNonComment(this.properties),n=[],o&&(k=e.scope.freeVariable("obj"),n.push(this.makeCode("(\n"+a+k+" = "))),n.push(this.makeCode("{"+(0===N.length||0===r?"}":"\n"))),s=f=0,y=N.length;y>f;s=++f)w=N[s],s===r&&(0!==s&&n.push(this.makeCode("\n"+a+"}")),n.push(this.makeCode(",\n"))),u=s===N.length-1||s===r-1?"":w===m||w instanceof h?"\n":",\n",c=w instanceof h?"":a,o&&r>s&&(c+=ft),w instanceof i&&("object"!==w.context&&w.operatorToken.error("unexpected "+w.operatorToken.value),w.variable instanceof wt&&w.variable.hasProperties()&&w.variable.error("invalid object key")),w instanceof wt&&w["this"]&&(w=new i(w.properties[0].name,w,"object")),w instanceof h||(r>s?w instanceof i||(w=new i(w,w,"object")):(w instanceof i?(d=w.variable,C=w.value):(L=w.base.cache(e),d=L[0],C=L[1],d instanceof T&&(d=new et(d.value))),w=new i(new wt(new T(k),[new t(d)]),C))),c&&n.push(this.makeCode(c)),n.push.apply(n,w.compileToFragments(e,j)),u&&n.push(this.makeCode(u));return o?n.push(this.makeCode(",\n"+a+k+"\n"+this.tab+")")):0!==N.length&&n.push(this.makeCode("\n"+this.tab+"}")),this.front&&!o?this.wrapInBraces(n):n},n.prototype.assigns=function(e){var t,n,i,r;for(r=this.properties,t=0,n=r.length;n>t;t++)if(i=r[t],i.assigns(e))return!0;return!1},n}(r),e.Arr=n=function(e){function t(e){this.objects=e||[]}return Yt(t,e),t.prototype.children=["objects"],t.prototype.compileNode=function(e){var t,n,i,r,o,s,a;if(!this.objects.length)return[this.makeCode("[]")];if(e.indent+=ft,t=ct.compileSplattedArray(e,this.objects),t.length)return t;for(t=[],n=function(){var t,n,i,r;for(i=this.objects,r=[],t=0,n=i.length;n>t;t++)a=i[t],r.push(a.compileToFragments(e,$));return r}.call(this),r=o=0,s=n.length;s>o;r=++o)i=n[r],r&&t.push(this.makeCode(", ")),t.push.apply(t,i);return St(t).indexOf("\n")>=0?(t.unshift(this.makeCode("[\n"+e.indent)),t.push(this.makeCode("\n"+this.tab+"]"))):(t.unshift(this.makeCode("[")),t.push(this.makeCode("]"))),t},t.prototype.assigns=function(e){var t,n,i,r;for(r=this.objects,t=0,n=r.length;n>t;t++)if(i=r[t],i.assigns(e))return!0;return!1},t}(r),e.Class=c=function(e){function n(e,t,n){this.variable=e,this.parent=t,this.body=null!=n?n:new o,this.boundFuncs=[],this.body.classBody=!0}return Yt(n,e),n.prototype.children=["variable","parent","body"],n.prototype.defaultClassVariableName="_Class",n.prototype.determineName=function(){var e,n,i,r,o;return this.variable?(r=this.variable.properties,o=r[r.length-1],i=o?o instanceof t&&o.name:this.variable.base,i instanceof T||i instanceof et?(n=i.value,o||(e=Ot(n),e&&this.variable.error(e)),Wt.call(R,n)>=0?"_"+n:n):this.defaultClassVariableName):this.defaultClassVariableName},n.prototype.setContext=function(e){return this.body.traverseChildren(!1,function(t){return t.classBody?!1:t instanceof gt?t.value=e:t instanceof l&&t.bound?t.context=e:void 0})},n.prototype.addBoundFunctions=function(e){var n,i,r,o,s;for(s=this.boundFuncs,i=0,r=s.length;r>i;i++)n=s[i],o=new wt(new gt,[new t(n)]).compile(e),this.ctor.body.unshift(new B(o+" = "+qt("bind",e)+"("+o+", this)"))},n.prototype.addProperties=function(e,n,r){var o,s,a,c,u,h;return h=e.base.properties.slice(0),c=function(){var e;for(e=[];s=h.shift();)s instanceof i&&(a=s.variable.base,delete s.context,u=s.value,"constructor"===a.value?(this.ctor&&s.error("cannot define more than one constructor in a class"),u.bound&&s.error("cannot define a constructor as a bound function"),u instanceof l?s=this.ctor=u:(this.externalCtor=r.classScope.freeVariable("ctor"),s=new i(new T(this.externalCtor),u))):s.variable["this"]?u["static"]=!0:(o=a.isComplex()?new S(a):new t(a),s.variable=new wt(new T(n),[new t(new et("prototype")),o]),u instanceof l&&u.bound&&(this.boundFuncs.push(a),u.bound=!1))),e.push(s);
-return e}.call(this),Ft(c)},n.prototype.walkBody=function(e,t){return this.traverseChildren(!1,function(r){return function(s){var a,c,l,u,h,p,d;if(a=!0,s instanceof n)return!1;if(s instanceof o){for(d=c=s.expressions,l=u=0,h=d.length;h>u;l=++u)p=d[l],p instanceof i&&p.variable.looksStatic(e)?p.value["static"]=!0:p instanceof wt&&p.isObject(!0)&&(a=!1,c[l]=r.addProperties(p,e,t));s.expressions=c=xt(c)}return a&&!(s instanceof n)}}(this))},n.prototype.hoistDirectivePrologue=function(){var e,t,n;for(t=0,e=this.body.expressions;(n=e[t])&&n instanceof h||n instanceof wt&&n.isString();)++t;return this.directives=e.splice(0,t)},n.prototype.ensureConstructor=function(e){return this.ctor||(this.ctor=new l,this.externalCtor?this.ctor.body.push(new B(this.externalCtor+".apply(this, arguments)")):this.parent&&this.ctor.body.push(new B(e+".__super__.constructor.apply(this, arguments)")),this.ctor.body.makeReturn(),this.body.expressions.unshift(this.ctor)),this.ctor.ctor=this.ctor.name=e,this.ctor.klass=null,this.ctor.noReturn=!0},n.prototype.compileNode=function(e){var t,n,r,s,c,u,h,p,d;return(s=this.body.jumps())&&s.error("Class bodies cannot contain pure statements"),(n=this.body.contains(Rt))&&n.error("Class bodies shouldn't reference arguments"),h=this.determineName(),u=new T(h),r=new l([],o.wrap([this.body])),t=[],e.classScope=r.makeScope(e.scope),this.hoistDirectivePrologue(),this.setContext(h),this.walkBody(h,e),this.ensureConstructor(h),this.addBoundFunctions(e),this.body.spaced=!0,this.body.expressions.push(u),this.parent&&(d=new T(e.classScope.freeVariable("superClass",{reserve:!1})),this.body.expressions.unshift(new k(u,d)),r.params.push(new K(d)),t.push(this.parent)),(p=this.body.expressions).unshift.apply(p,this.directives),c=new Q(new a(r,t)),this.variable&&(c=new i(this.variable,c,null,{moduleDeclaration:this.moduleDeclaration})),c.compileToFragments(e)},n}(r),e.ModuleDeclaration=V=function(e){function t(e,t){this.clause=e,this.source=t,this.checkSource()}return Yt(t,e),t.prototype.children=["clause","source"],t.prototype.isStatement=Nt,t.prototype.jumps=mt,t.prototype.makeReturn=mt,t.prototype.checkSource=function(){return null!=this.source&&this.source instanceof ht?this.source.error("the name of the module to be imported from must be an uninterpolated string"):void 0},t.prototype.checkScope=function(e,t){return 0!==e.indent.length?this.error(t+" statements must be at top-level scope"):void 0},t}(r),e.ImportDeclaration=C=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.compileNode=function(e){var t,n;return this.checkScope(e,"import"),e.importedSymbols=[],t=[],t.push(this.makeCode(this.tab+"import ")),null!=this.clause&&t.push.apply(t,this.clause.compileNode(e)),null!=(null!=(n=this.source)?n.value:void 0)&&(null!==this.clause&&t.push(this.makeCode(" from ")),t.push(this.makeCode(this.source.value))),t.push(this.makeCode(";")),t},t}(V),e.ImportClause=L=function(e){function t(e,t){this.defaultBinding=e,this.namedImports=t}return Yt(t,e),t.prototype.children=["defaultBinding","namedImports"],t.prototype.compileNode=function(e){var t;return t=[],null!=this.defaultBinding&&(t.push.apply(t,this.defaultBinding.compileNode(e)),null!=this.namedImports&&t.push(this.makeCode(", "))),null!=this.namedImports&&t.push.apply(t,this.namedImports.compileNode(e)),t},t}(r),e.ExportDeclaration=m=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.compileNode=function(e){var t,n;return this.checkScope(e,"export"),t=[],t.push(this.makeCode(this.tab+"export ")),this instanceof g&&t.push(this.makeCode("default ")),this instanceof g||!(this.clause instanceof i||this.clause instanceof c)||(t.push(this.makeCode("var ")),this.clause.moduleDeclaration="export"),t=null!=this.clause.body&&this.clause.body instanceof o?t.concat(this.clause.compileToFragments(e,j)):t.concat(this.clause.compileNode(e)),null!=(null!=(n=this.source)?n.value:void 0)&&t.push(this.makeCode(" from "+this.source.value)),t.push(this.makeCode(";")),t},t}(V),e.ExportNamedDeclaration=b=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(m),e.ExportDefaultDeclaration=g=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(m),e.ExportAllDeclaration=f=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(m),e.ModuleSpecifierList=H=function(e){function t(e){this.specifiers=e}return Yt(t,e),t.prototype.children=["specifiers"],t.prototype.compileNode=function(e){var t,n,i,r,o,s,a;if(t=[],e.indent+=ft,n=function(){var t,n,i,r;for(i=this.specifiers,r=[],t=0,n=i.length;n>t;t++)a=i[t],r.push(a.compileToFragments(e,$));return r}.call(this),0!==this.specifiers.length){for(t.push(this.makeCode("{\n"+e.indent)),r=o=0,s=n.length;s>o;r=++o)i=n[r],r&&t.push(this.makeCode(",\n"+e.indent)),t.push.apply(t,i);t.push(this.makeCode("\n}"))}else t.push(this.makeCode("{}"));return t},t}(r),e.ImportSpecifierList=_=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(H),e.ExportSpecifierList=v=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(H),e.ModuleSpecifier=U=function(e){function t(e,t,n){this.original=e,this.alias=t,this.moduleDeclarationType=n,this.identifier=null!=this.alias?this.alias.value:this.original.value}return Yt(t,e),t.prototype.children=["original","alias"],t.prototype.compileNode=function(e){var t;return e.scope.add(this.identifier,this.moduleDeclarationType),t=[],t.push(this.makeCode(this.original.value)),null!=this.alias&&t.push(this.makeCode(" as "+this.alias.value)),t},t}(r),e.ImportSpecifier=D=function(e){function t(e,n){t.__super__.constructor.call(this,e,n,"import")}return Yt(t,e),t.prototype.compileNode=function(e){var n;return n=this.identifier,Wt.call(e.importedSymbols,n)>=0||e.scope.check(this.identifier)?this.error("'"+this.identifier+"' has already been declared"):e.importedSymbols.push(this.identifier),t.__super__.compileNode.call(this,e)},t}(U),e.ImportDefaultSpecifier=F=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(D),e.ImportNamespaceSpecifier=E=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(D),e.ExportSpecifier=y=function(e){function t(e,n){t.__super__.constructor.call(this,e,n,"export")}return Yt(t,e),t}(U),e.Assign=i=function(e){function n(e,t,n,i){this.variable=e,this.value=t,this.context=n,null==i&&(i={}),this.param=i.param,this.subpattern=i.subpattern,this.operatorToken=i.operatorToken,this.moduleDeclaration=i.moduleDeclaration}return Yt(n,e),n.prototype.children=["variable","value"],n.prototype.isStatement=function(e){return(null!=e?e.level:void 0)===j&&null!=this.context&&(this.moduleDeclaration||Wt.call(this.context,"?")>=0)},n.prototype.checkAssignability=function(e,t){return Object.prototype.hasOwnProperty.call(e.scope.positions,t.value)&&"import"===e.scope.variables[e.scope.positions[t.value]].type?t.error("'"+t.value+"' is read-only"):void 0},n.prototype.assigns=function(e){return this["object"===this.context?"value":"variable"].assigns(e)},n.prototype.unfoldSoak=function(e){return Gt(e,this,"variable")},n.prototype.compileNode=function(e){var t,n,i,r,o,s,a,c,u,h,p,d,f,m,g;if(i=this.variable instanceof wt){if(this.variable.isArray()||this.variable.isObject())return this.compilePatternMatch(e);if(this.variable.isSplice())return this.compileSplice(e);if("||="===(c=this.context)||"&&="===c||"?="===c)return this.compileConditional(e);if("**="===(u=this.context)||"//="===u||"%%="===u)return this.compileSpecialMath(e)}return this.value instanceof l&&(this.value["static"]?(this.value.klass=this.variable.base,this.value.name=this.variable.properties[0],this.value.variable=this.variable):(null!=(h=this.variable.properties)?h.length:void 0)>=2&&(p=this.variable.properties,s=p.length>=3?Jt.call(p,0,r=p.length-2):(r=0,[]),a=p[r++],o=p[r++],"prototype"===(null!=(d=a.name)?d.value:void 0)&&(this.value.klass=new wt(this.variable.base,s),this.value.name=o,this.value.variable=this.variable))),this.context||(g=this.variable.unwrapAll(),g.isAssignable()||this.variable.error("'"+this.variable.compile(e)+"' can't be assigned"),("function"==typeof g.hasProperties?g.hasProperties():void 0)||(this.moduleDeclaration?(this.checkAssignability(e,g),e.scope.add(g.value,this.moduleDeclaration)):this.param?e.scope.add(g.value,"var"):(this.checkAssignability(e,g),e.scope.find(g.value)))),m=this.value.compileToFragments(e,$),i&&this.variable.base instanceof J&&(this.variable.front=!0),n=this.variable.compileToFragments(e,$),"object"===this.context?(f=St(n),Wt.call(R,f)>=0&&(n.unshift(this.makeCode('"')),n.push(this.makeCode('"'))),n.concat(this.makeCode(": "),m)):(t=n.concat(this.makeCode(" "+(this.context||"=")+" "),m),$>=e.level?t:this.wrapInBraces(t))},n.prototype.compilePatternMatch=function(e){var i,r,o,s,a,c,l,u,h,p,f,m,g,b,y,v,k,w,N,L,C,F,E,D,_,x,I,R;if(D=e.level===j,x=this.value,v=this.variable.base.objects,!(k=v.length))return o=x.compileToFragments(e),e.level>=P?this.wrapInBraces(o):o;if(y=v[0],1===k&&y instanceof d&&y.error("Destructuring assignment has no target"),h=this.variable.isObject(),D&&1===k&&!(y instanceof ct))return s=null,y instanceof n&&"object"===y.context?(N=y,L=N.variable,u=L.base,y=N.value,y instanceof n&&(s=y.value,y=y.variable)):(y instanceof n&&(s=y.value,y=y.variable),u=h?y["this"]?y.properties[0].name:new et(y.unwrap().value):new W(0)),i=u.unwrap()instanceof et,x=new wt(x),x.properties.push(new(i?t:S)(u)),g=Ot(y.unwrap().value),g&&y.error(g),s&&(x=new z("?",x,s)),new n(y,x,null,{param:this.param}).compileToFragments(e,j);for(I=x.compileToFragments(e,$),R=St(I),r=[],a=!1,x.unwrap()instanceof T&&!this.variable.assigns(R)||(r.push([this.makeCode((w=e.scope.freeVariable("ref"))+" = ")].concat(Jt.call(I))),I=[this.makeCode(w)],R=w),l=f=0,m=v.length;m>f;l=++f){if(y=v[l],u=l,!a&&y instanceof ct)b=y.name.unwrap().value,y=y.unwrap(),_=k+" <= "+R+".length ? "+qt("slice",e)+".call("+R+", "+l,(E=k-l-1)?(p=e.scope.freeVariable("i",{single:!0}),_+=", "+p+" = "+R+".length - "+E+") : ("+p+" = "+l+", [])"):_+=") : []",_=new B(_),a=p+"++";else{if(!a&&y instanceof d){(E=k-l-1)&&(1===E?a=R+".length - 1":(p=e.scope.freeVariable("i",{single:!0}),_=new B(p+" = "+R+".length - "+E),a=p+"++",r.push(_.compileToFragments(e,$))));continue}(y instanceof ct||y instanceof d)&&y.error("multiple splats/expansions are disallowed in an assignment"),s=null,y instanceof n&&"object"===y.context?(C=y,F=C.variable,u=F.base,y=C.value,y instanceof n&&(s=y.value,y=y.variable)):(y instanceof n&&(s=y.value,y=y.variable),u=h?y["this"]?y.properties[0].name:new et(y.unwrap().value):new B(a||u)),b=y.unwrap().value,i=u.unwrap()instanceof et,_=new wt(new B(R),[new(i?t:S)(u)]),s&&(_=new z("?",_,s))}null!=b&&(g=Ot(b),g&&y.error(g)),r.push(new n(y,_,null,{param:this.param,subpattern:!0}).compileToFragments(e,$))}return D||this.subpattern||r.push(I),c=this.joinFragmentArrays(r,", "),$>e.level?c:this.wrapInBraces(c)},n.prototype.compileConditional=function(e){var t,i,r,o;return r=this.variable.cacheReference(e),i=r[0],o=r[1],i.properties.length||!(i.base instanceof B)||i.base instanceof gt||e.scope.check(i.base.value)||this.variable.error('the variable "'+i.base.value+"\" can't be assigned with "+this.context+" because it has not been declared before"),Wt.call(this.context,"?")>=0?(e.isExistentialEquals=!0,new N(new p(i),o,{type:"if"}).addElse(new n(o,this.value,"=")).compileToFragments(e)):(t=new z(this.context.slice(0,-1),i,new n(o,this.value,"=")).compileToFragments(e),$>=e.level?t:this.wrapInBraces(t))},n.prototype.compileSpecialMath=function(e){var t,i,r;return i=this.variable.cacheReference(e),t=i[0],r=i[1],new n(t,new z(this.context.slice(0,-1),r,this.value)).compileToFragments(e)},n.prototype.compileSplice=function(e){var t,n,i,r,o,s,a,c,l,u,h,p;return a=this.variable.properties.pop().range,i=a.from,u=a.to,n=a.exclusive,s=this.variable.compile(e),i?(c=this.cacheToCodeFragments(i.cache(e,P)),r=c[0],o=c[1]):r=o="0",u?(null!=i?i.isNumber():void 0)&&u.isNumber()?(u=u.compile(e)-o,n||(u+=1)):(u=u.compile(e,A)+" - "+o,n||(u+=" + 1")):u="9e9",l=this.value.cache(e,$),h=l[0],p=l[1],t=[].concat(this.makeCode("[].splice.apply("+s+", ["+r+", "+u+"].concat("),h,this.makeCode(")), "),p),e.level>j?this.wrapInBraces(t):t},n}(r),e.Code=l=function(e){function t(e,t,n){this.params=e||[],this.body=t||new o,this.bound="boundfunc"===n,this.isGenerator=!!this.body.contains(function(e){return e instanceof z&&e.isYield()||e instanceof Lt})}return Yt(t,e),t.prototype.children=["params","body"],t.prototype.isStatement=function(){return!!this.ctor},t.prototype.jumps=q,t.prototype.makeScope=function(e){return new st(e,this.body,this)},t.prototype.compileNode=function(e){var r,s,c,l,u,h,p,f,m,g,b,y,v,k,w,L,C,F,E,D,_,x,S,I,R,O,$,P,M,j,V,U,H;if(this.bound&&(null!=(S=e.scope.method)?S.bound:void 0)&&(this.context=e.scope.method.context),this.bound&&!this.context)return this.context="_this",H=new t([new K(new T(this.context))],new o([this])),s=new a(H,[new gt]),s.updateLocationDataIfMissing(this.locationData),s.compileNode(e);for(e.scope=Et(e,"classScope")||this.makeScope(e.scope),e.scope.shared=Et(e,"sharedScope"),e.indent+=ft,delete e.bare,delete e.isExistentialEquals,E=[],l=[],I=this.params,h=0,m=I.length;m>h;h++)F=I[h],F instanceof d||e.scope.parameter(F.asReference(e));for(R=this.params,p=0,g=R.length;g>p;p++)if(F=R[p],F.splat||F instanceof d){for(O=this.params,f=0,b=O.length;b>f;f++)C=O[f],C instanceof d||!C.name.value||e.scope.add(C.name.value,"var",!0);M=new i(new wt(new n(function(){var t,n,i,r;for(i=this.params,r=[],n=0,t=i.length;t>n;n++)C=i[n],r.push(C.asReference(e));return r}.call(this))),new wt(new T("arguments")));break}for($=this.params,L=0,y=$.length;y>L;L++)F=$[L],F.isComplex()?(V=x=F.asReference(e),F.value&&(V=new z("?",x,F.value)),l.push(new i(new wt(F.name),V,"=",{param:!0}))):(x=F,F.value&&(w=new B(x.name.value+" == null"),V=new i(new wt(F.name),F.value,"="),l.push(new N(w,V)))),M||E.push(x);for(U=this.body.isEmpty(),M&&l.unshift(M),l.length&&(P=this.body.expressions).unshift.apply(P,l),u=D=0,v=E.length;v>D;u=++D)C=E[u],E[u]=C.compileToFragments(e),e.scope.parameter(St(E[u]));for(j=[],this.eachParamName(function(e,t){return Wt.call(j,e)>=0&&t.error("multiple parameters named "+e),j.push(e)}),U||this.noReturn||this.body.makeReturn(),c="function",this.isGenerator&&(c+="*"),this.ctor&&(c+=" "+this.name),c+="(",r=[this.makeCode(c)],u=_=0,k=E.length;k>_;u=++_)C=E[u],u&&r.push(this.makeCode(", ")),r.push.apply(r,C);return r.push(this.makeCode(") {")),this.body.isEmpty()||(r=r.concat(this.makeCode("\n"),this.body.compileWithDeclarations(e),this.makeCode("\n"+this.tab))),r.push(this.makeCode("}")),this.ctor?[this.makeCode(this.tab)].concat(Jt.call(r)):this.front||e.level>=A?this.wrapInBraces(r):r},t.prototype.eachParamName=function(e){var t,n,i,r,o;for(r=this.params,o=[],t=0,n=r.length;n>t;t++)i=r[t],o.push(i.eachName(e));return o},t.prototype.traverseChildren=function(e,n){return e?t.__super__.traverseChildren.call(this,e,n):void 0},t}(r),e.Param=K=function(e){function t(e,t,n){var i,r;this.name=e,this.value=t,this.splat=n,i=Ot(this.name.unwrapAll().value),i&&this.name.error(i),this.name instanceof J&&this.name.generated&&(r=this.name.objects[0].operatorToken,r.error("unexpected "+r.value))}return Yt(t,e),t.prototype.children=["name","value"],t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e,$)},t.prototype.asReference=function(e){var t,n;return this.reference?this.reference:(n=this.name,n["this"]?(t=n.properties[0].name.value,Wt.call(R,t)>=0&&(t="_"+t),n=new T(e.scope.freeVariable(t))):n.isComplex()&&(n=new T(e.scope.freeVariable("arg"))),n=new wt(n),this.splat&&(n=new ct(n)),n.updateLocationDataIfMissing(this.locationData),this.reference=n)},t.prototype.isComplex=function(){return this.name.isComplex()},t.prototype.eachName=function(e,t){var n,r,o,s,a,c,l;if(null==t&&(t=this.name),n=function(t){return e("@"+t.properties[0].name.value,t)},t instanceof B)return e(t.value,t);if(t instanceof wt)return n(t);for(l=null!=(c=t.objects)?c:[],r=0,o=l.length;o>r;r++)a=l[r],a instanceof i&&null==a.context&&(a=a.variable),a instanceof i?(a.value instanceof i&&(a=a.value),this.eachName(e,a.value.unwrap())):a instanceof ct?(s=a.name.unwrap(),e(s.value,s)):a instanceof wt?a.isArray()||a.isObject()?this.eachName(e,a.base):a["this"]?n(a):e(a.base.value,a.base):a instanceof d||a.error("illegal parameter "+a.compile())},t}(r),e.Splat=ct=function(e){function t(e){this.name=e.compile?e:new B(e)}return Yt(t,e),t.prototype.children=["name"],t.prototype.isAssignable=Nt,t.prototype.assigns=function(e){return this.name.assigns(e)},t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e)},t.prototype.unwrap=function(){return this.name},t.compileSplattedArray=function(e,n,i){var r,o,s,a,c,l,u,h,p,d,f;for(u=-1;(f=n[++u])&&!(f instanceof t););if(u>=n.length)return[];if(1===n.length)return f=n[0],c=f.compileToFragments(e,$),i?c:[].concat(f.makeCode(qt("slice",e)+".call("),c,f.makeCode(")"));for(r=n.slice(u),l=h=0,d=r.length;d>h;l=++h)f=r[l],s=f.compileToFragments(e,$),r[l]=f instanceof t?[].concat(f.makeCode(qt("slice",e)+".call("),s,f.makeCode(")")):[].concat(f.makeCode("["),s,f.makeCode("]"));return 0===u?(f=n[0],a=f.joinFragmentArrays(r.slice(1),", "),r[0].concat(f.makeCode(".concat("),a,f.makeCode(")"))):(o=function(){var t,i,r,o;for(r=n.slice(0,u),o=[],t=0,i=r.length;i>t;t++)f=r[t],o.push(f.compileToFragments(e,$));return o}(),o=n[0].joinFragmentArrays(o,", "),a=n[u].joinFragmentArrays(r,", "),p=n[n.length-1],[].concat(n[0].makeCode("["),o,n[u].makeCode("].concat("),a,p.makeCode(")")))},t}(r),e.Expansion=d=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.isComplex=q,t.prototype.compileNode=function(){return this.error("Expansion must be used inside a destructuring assignment or parameter list")},t.prototype.asReference=function(){return this},t.prototype.eachName=function(){},t}(r),e.While=Tt=function(e){function t(e,t){this.condition=(null!=t?t.invert:void 0)?e.invert():e,this.guard=null!=t?t.guard:void 0}return Yt(t,e),t.prototype.children=["condition","guard","body"],t.prototype.isStatement=Nt,t.prototype.makeReturn=function(e){return e?t.__super__.makeReturn.apply(this,arguments):(this.returns=!this.jumps({loop:!0}),this)},t.prototype.addBody=function(e){return this.body=e,this},t.prototype.jumps=function(){var e,t,n,i,r;if(e=this.body.expressions,!e.length)return!1;for(t=0,i=e.length;i>t;t++)if(r=e[t],n=r.jumps({loop:!0}))return n;return!1},t.prototype.compileNode=function(e){var t,n,i,r;return e.indent+=ft,r="",n=this.body,n.isEmpty()?n=this.makeCode(""):(this.returns&&(n.makeReturn(i=e.scope.freeVariable("results")),r=""+this.tab+i+" = [];\n"),this.guard&&(n.expressions.length>1?n.expressions.unshift(new N(new Q(this.guard).invert(),new lt("continue"))):this.guard&&(n=o.wrap([new N(this.guard,n)]))),n=[].concat(this.makeCode("\n"),n.compileToFragments(e,j),this.makeCode("\n"+this.tab))),t=[].concat(this.makeCode(r+this.tab+"while ("),this.condition.compileToFragments(e,M),this.makeCode(") {"),n,this.makeCode("}")),this.returns&&t.push(this.makeCode("\n"+this.tab+"return "+i+";")),t},t}(r),e.Op=z=function(e){function n(e,t,n,i){if("in"===e)return new x(t,n);if("do"===e)return this.generateDo(t);if("new"===e){if(t instanceof a&&!t["do"]&&!t.isNew)return t.newInstance();(t instanceof l&&t.bound||t["do"])&&(t=new Q(t))}return this.operator=r[e]||e,this.first=t,this.second=n,this.flip=!!i,this}var r,o;return Yt(n,e),r={"==":"===","!=":"!==",of:"in",yieldfrom:"yield*"},o={"!==":"===","===":"!=="},n.prototype.children=["first","second"],n.prototype.isNumber=function(){var e;return this.isUnary()&&("+"===(e=this.operator)||"-"===e)&&this.first instanceof wt&&this.first.isNumber()},n.prototype.isYield=function(){var e;return"yield"===(e=this.operator)||"yield*"===e},n.prototype.isUnary=function(){return!this.second},n.prototype.isComplex=function(){return!this.isNumber()},n.prototype.isChainable=function(){var e;return"<"===(e=this.operator)||">"===e||">="===e||"<="===e||"==="===e||"!=="===e},n.prototype.invert=function(){var e,t,i,r,s;if(this.isChainable()&&this.first.isChainable()){for(e=!0,t=this;t&&t.operator;)e&&(e=t.operator in o),t=t.first;if(!e)return new Q(this).invert();for(t=this;t&&t.operator;)t.invert=!t.invert,t.operator=o[t.operator],t=t.first;return this}return(r=o[this.operator])?(this.operator=r,this.first.unwrap()instanceof n&&this.first.invert(),this):this.second?new Q(this).invert():"!"===this.operator&&(i=this.first.unwrap())instanceof n&&("!"===(s=i.operator)||"in"===s||"instanceof"===s)?i:new n("!",this)},n.prototype.unfoldSoak=function(e){var t;return("++"===(t=this.operator)||"--"===t||"delete"===t)&&Gt(e,this,"first")},n.prototype.generateDo=function(e){var t,n,r,o,s,c,u,h;for(c=[],n=e instanceof i&&(u=e.value.unwrap())instanceof l?u:e,h=n.params||[],r=0,o=h.length;o>r;r++)s=h[r],s.value?(c.push(s.value),delete s.value):c.push(s);return t=new a(e,c),t["do"]=!0,t},n.prototype.compileNode=function(e){var t,n,i,r,o,s;if(n=this.isChainable()&&this.first.isChainable(),n||(this.first.front=this.front),"delete"===this.operator&&e.scope.check(this.first.unwrapAll().value)&&this.error("delete operand may not be argument or var"),("--"===(o=this.operator)||"++"===o)&&(r=Ot(this.first.unwrapAll().value),r&&this.first.error(r)),this.isYield())return this.compileYield(e);if(this.isUnary())return this.compileUnary(e);if(n)return this.compileChain(e);switch(this.operator){case"?":return this.compileExistence(e);case"**":return this.compilePower(e);case"//":return this.compileFloorDivision(e);case"%%":return this.compileModulo(e);default:return i=this.first.compileToFragments(e,P),s=this.second.compileToFragments(e,P),t=[].concat(i,this.makeCode(" "+this.operator+" "),s),P>=e.level?t:this.wrapInBraces(t)}},n.prototype.compileChain=function(e){var t,n,i,r;return i=this.first.second.cache(e),this.first.second=i[0],r=i[1],n=this.first.compileToFragments(e,P),t=n.concat(this.makeCode(" "+(this.invert?"&&":"||")+" "),r.compileToFragments(e),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(e,P)),this.wrapInBraces(t)},n.prototype.compileExistence=function(e){var t,n;return this.first.isComplex()?(n=new T(e.scope.freeVariable("ref")),t=new Q(new i(n,this.first))):(t=this.first,n=t),new N(new p(t),n,{type:"if"}).addElse(this.second).compileToFragments(e)},n.prototype.compileUnary=function(e){var t,i,r;return i=[],t=this.operator,i.push([this.makeCode(t)]),"!"===t&&this.first instanceof p?(this.first.negated=!this.first.negated,this.first.compileToFragments(e)):e.level>=A?new Q(this).compileToFragments(e):(r="+"===t||"-"===t,("new"===t||"typeof"===t||"delete"===t||r&&this.first instanceof n&&this.first.operator===t)&&i.push([this.makeCode(" ")]),(r&&this.first instanceof n||"new"===t&&this.first.isStatement(e))&&(this.first=new Q(this.first)),i.push(this.first.compileToFragments(e,P)),this.flip&&i.reverse(),this.joinFragmentArrays(i,""))},n.prototype.compileYield=function(e){var t,n,i;return n=[],t=this.operator,null==e.scope.parent&&this.error("yield can only occur inside functions"),Wt.call(Object.keys(this.first),"expression")>=0&&!(this.first instanceof bt)?null!=this.first.expression&&n.push(this.first.expression.compileToFragments(e,P)):(e.level>=M&&n.push([this.makeCode("(")]),n.push([this.makeCode(t)]),""!==(null!=(i=this.first.base)?i.value:void 0)&&n.push([this.makeCode(" ")]),n.push(this.first.compileToFragments(e,P)),e.level>=M&&n.push([this.makeCode(")")])),this.joinFragmentArrays(n,"")},n.prototype.compilePower=function(e){var n;return n=new wt(new T("Math"),[new t(new et("pow"))]),new a(n,[this.first,this.second]).compileToFragments(e)},n.prototype.compileFloorDivision=function(e){var i,r;return r=new wt(new T("Math"),[new t(new et("floor"))]),i=new n("/",this.first,this.second),new a(r,[i]).compileToFragments(e)},n.prototype.compileModulo=function(e){var t;return t=new wt(new B(qt("modulo",e))),new a(t,[this.first,this.second]).compileToFragments(e)},n.prototype.toString=function(e){return n.__super__.toString.call(this,e,this.constructor.name+" "+this.operator)},n}(r),e.In=x=function(e){function t(e,t){this.object=e,this.array=t}return Yt(t,e),t.prototype.children=["object","array"],t.prototype.invert=G,t.prototype.compileNode=function(e){var t,n,i,r,o;if(this.array instanceof wt&&this.array.isArray()&&this.array.base.objects.length){for(o=this.array.base.objects,n=0,i=o.length;i>n;n++)if(r=o[n],r instanceof ct){t=!0;break}if(!t)return this.compileOrTest(e)}return this.compileLoopTest(e)},t.prototype.compileOrTest=function(e){var t,n,i,r,o,s,a,c,l,u,h,p;for(c=this.object.cache(e,P),h=c[0],a=c[1],l=this.negated?[" !== "," && "]:[" === "," || "],t=l[0],n=l[1],p=[],u=this.array.base.objects,i=o=0,s=u.length;s>o;i=++o)r=u[i],i&&p.push(this.makeCode(n)),p=p.concat(i?a:h,this.makeCode(t),r.compileToFragments(e,A));return P>e.level?p:this.wrapInBraces(p)},t.prototype.compileLoopTest=function(e){var t,n,i,r;return i=this.object.cache(e,$),r=i[0],n=i[1],t=[].concat(this.makeCode(qt("indexOf",e)+".call("),this.array.compileToFragments(e,$),this.makeCode(", "),n,this.makeCode(") "+(this.negated?"< 0":">= 0"))),St(r)===St(n)?t:(t=r.concat(this.makeCode(", "),t),$>e.level?t:this.wrapInBraces(t))},t.prototype.toString=function(e){return t.__super__.toString.call(this,e,this.constructor.name+(this.negated?"!":""))},t}(r),e.Try=yt=function(e){function t(e,t,n,i){this.attempt=e,this.errorVariable=t,this.recovery=n,this.ensure=i}return Yt(t,e),t.prototype.children=["attempt","recovery","ensure"],t.prototype.isStatement=Nt,t.prototype.jumps=function(e){var t;return this.attempt.jumps(e)||(null!=(t=this.recovery)?t.jumps(e):void 0)},t.prototype.makeReturn=function(e){return this.attempt&&(this.attempt=this.attempt.makeReturn(e)),this.recovery&&(this.recovery=this.recovery.makeReturn(e)),this},t.prototype.compileNode=function(e){var t,n,r,o,s,a;return e.indent+=ft,a=this.attempt.compileToFragments(e,j),t=this.recovery?(r=e.scope.freeVariable("error",{reserve:!1}),s=new T(r),this.errorVariable?(o=Ot(this.errorVariable.unwrapAll().value),o?this.errorVariable.error(o):void 0,this.recovery.unshift(new i(this.errorVariable,s))):void 0,[].concat(this.makeCode(" catch ("),s.compileToFragments(e),this.makeCode(") {\n"),this.recovery.compileToFragments(e,j),this.makeCode("\n"+this.tab+"}"))):this.ensure||this.recovery?[]:(r=e.scope.freeVariable("error",{reserve:!1}),[this.makeCode(" catch ("+r+") {}")]),n=this.ensure?[].concat(this.makeCode(" finally {\n"),this.ensure.compileToFragments(e,j),this.makeCode("\n"+this.tab+"}")):[],[].concat(this.makeCode(this.tab+"try {\n"),a,this.makeCode("\n"+this.tab+"}"),t,n)},t}(r),e.Throw=bt=function(e){function t(e){this.expression=e}return Yt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=Nt,t.prototype.jumps=q,t.prototype.makeReturn=mt,t.prototype.compileNode=function(e){return[].concat(this.makeCode(this.tab+"throw "),this.expression.compileToFragments(e),this.makeCode(";"))},t}(r),e.Existence=p=function(e){function t(e){this.expression=e}return Yt(t,e),t.prototype.children=["expression"],t.prototype.invert=G,t.prototype.compileNode=function(e){var t,n,i,r;return this.expression.front=this.front,i=this.expression.compile(e,P),this.expression.unwrap()instanceof T&&!e.scope.check(i)?(r=this.negated?["===","||"]:["!==","&&"],t=r[0],n=r[1],i="typeof "+i+" "+t+' "undefined" '+n+" "+i+" "+t+" null"):i=i+" "+(this.negated?"==":"!=")+" null",[this.makeCode(O>=e.level?i:"("+i+")")]},t}(r),e.Parens=Q=function(e){function t(e){this.body=e}return Yt(t,e),t.prototype.children=["body"],t.prototype.unwrap=function(){return this.body},t.prototype.isComplex=function(){return this.body.isComplex()},t.prototype.compileNode=function(e){var t,n,i;return n=this.body.unwrap(),n instanceof wt&&n.isAtomic()?(n.front=this.front,n.compileToFragments(e)):(i=n.compileToFragments(e,M),t=P>e.level&&(n instanceof z||n instanceof a||n instanceof w&&n.returns),t?i:this.wrapInBraces(i))},t}(r),e.StringWithInterpolations=ht=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(Q),e.For=w=function(e){function t(e,t){var n;this.source=t.source,this.guard=t.guard,this.step=t.step,this.name=t.name,this.index=t.index,this.body=o.wrap([e]),this.own=!!t.own,this.object=!!t.object,this.object&&(n=[this.index,this.name],this.name=n[0],this.index=n[1]),this.index instanceof wt&&this.index.error("index cannot be a pattern matching expression"),this.range=this.source instanceof wt&&this.source.base instanceof tt&&!this.source.properties.length,this.pattern=this.name instanceof wt,this.range&&this.index&&this.index.error("indexes do not apply to range loops"),this.range&&this.pattern&&this.name.error("cannot pattern match over range loops"),this.own&&!this.object&&this.name.error("cannot use own with for-in"),this.returns=!1}return Yt(t,e),t.prototype.children=["body","source","guard","step"],t.prototype.compileNode=function(e){var t,n,r,s,a,c,l,u,h,p,d,f,m,g,b,y,v,k,w,L,C,F,E,D,_,x,S,I,R,A,O,P,M,V;return t=o.wrap([this.body]),E=t.expressions,k=E[E.length-1],(null!=k?k.jumps():void 0)instanceof rt&&(this.returns=!1),R=this.range?this.source.base:this.source,I=e.scope,this.pattern||(L=this.name&&this.name.compile(e,$)),g=this.index&&this.index.compile(e,$),L&&!this.pattern&&I.find(L),g&&I.find(g),this.returns&&(S=I.freeVariable("results")),b=this.object&&g||I.freeVariable("i",{single:!0}),y=this.range&&L||g||b,v=y!==b?y+" = ":"",this.step&&!this.range&&(D=this.cacheToCodeFragments(this.step.cache(e,$,It)),A=D[0],P=D[1],this.step.isNumber()&&(O=Number(P))),this.pattern&&(L=b),V="",d="",l="",f=this.tab+ft,this.range?p=R.compileToFragments(Pt(e,{index:b,name:L,step:this.step,isComplex:It})):(M=this.source.compile(e,$),!L&&!this.own||this.source.unwrap()instanceof T||(l+=""+this.tab+(F=I.freeVariable("ref"))+" = "+M+";\n",M=F),L&&!this.pattern&&(C=L+" = "+M+"["+y+"]"),this.object||(A!==P&&(l+=""+this.tab+A+";\n"),h=0>O,this.step&&null!=O&&h||(w=I.freeVariable("len")),a=""+v+b+" = 0, "+w+" = "+M+".length",c=""+v+b+" = "+M+".length - 1",r=b+" < "+w,s=b+" >= 0",this.step?(null!=O?h&&(r=s,a=c):(r=P+" > 0 ? "+r+" : "+s,a="("+P+" > 0 ? ("+a+") : "+c+")"),m=b+" += "+P):m=""+(y!==b?"++"+b:b+"++"),p=[this.makeCode(a+"; "+r+"; "+v+m)])),this.returns&&(_=""+this.tab+S+" = [];\n",x="\n"+this.tab+"return "+S+";",t.makeReturn(S)),this.guard&&(t.expressions.length>1?t.expressions.unshift(new N(new Q(this.guard).invert(),new lt("continue"))):this.guard&&(t=o.wrap([new N(this.guard,t)]))),this.pattern&&t.expressions.unshift(new i(this.name,new B(M+"["+y+"]"))),u=[].concat(this.makeCode(l),this.pluckDirectCall(e,t)),C&&(V="\n"+f+C+";"),this.object&&(p=[this.makeCode(y+" in "+M)],this.own&&(d="\n"+f+"if (!"+qt("hasProp",e)+".call("+M+", "+y+")) continue;")),n=t.compileToFragments(Pt(e,{indent:f}),j),n&&n.length>0&&(n=[].concat(this.makeCode("\n"),n,this.makeCode("\n"))),[].concat(u,this.makeCode(""+(_||"")+this.tab+"for ("),p,this.makeCode(") {"+d+V),n,this.makeCode(this.tab+"}"+(x||"")))},t.prototype.pluckDirectCall=function(e,t){var n,r,o,s,c,u,h,p,d,f,m,g,b,y,v,k;for(r=[],d=t.expressions,c=u=0,h=d.length;h>u;c=++u)o=d[c],o=o.unwrapAll(),o instanceof a&&(k=null!=(f=o.variable)?f.unwrapAll():void 0,(k instanceof l||k instanceof wt&&(null!=(m=k.base)?m.unwrapAll():void 0)instanceof l&&1===k.properties.length&&("call"===(g=null!=(b=k.properties[0].name)?b.value:void 0)||"apply"===g))&&(s=(null!=(y=k.base)?y.unwrapAll():void 0)||k,p=new T(e.scope.freeVariable("fn")),n=new wt(p),k.base&&(v=[n,k],k.base=v[0],n=v[1]),t.expressions[c]=new a(n,o.args),r=r.concat(this.makeCode(this.tab),new i(p,s).compileToFragments(e,j),this.makeCode(";\n"))));
-return r},t}(Tt),e.Switch=dt=function(e){function t(e,t,n){this.subject=e,this.cases=t,this.otherwise=n}return Yt(t,e),t.prototype.children=["subject","cases","otherwise"],t.prototype.isStatement=Nt,t.prototype.jumps=function(e){var t,n,i,r,o,s,a,c;for(null==e&&(e={block:!0}),s=this.cases,i=0,o=s.length;o>i;i++)if(a=s[i],n=a[0],t=a[1],r=t.jumps(e))return r;return null!=(c=this.otherwise)?c.jumps(e):void 0},t.prototype.makeReturn=function(e){var t,n,i,r,s;for(r=this.cases,t=0,n=r.length;n>t;t++)i=r[t],i[1].makeReturn(e);return e&&(this.otherwise||(this.otherwise=new o([new B("void 0")]))),null!=(s=this.otherwise)&&s.makeReturn(e),this},t.prototype.compileNode=function(e){var t,n,i,r,o,s,a,c,l,u,h,p,d,f,m,g;for(c=e.indent+ft,l=e.indent=c+ft,s=[].concat(this.makeCode(this.tab+"switch ("),this.subject?this.subject.compileToFragments(e,M):this.makeCode("false"),this.makeCode(") {\n")),f=this.cases,a=u=0,p=f.length;p>u;a=++u){for(m=f[a],r=m[0],t=m[1],g=xt([r]),h=0,d=g.length;d>h;h++)i=g[h],this.subject||(i=i.invert()),s=s.concat(this.makeCode(c+"case "),i.compileToFragments(e,M),this.makeCode(":\n"));if((n=t.compileToFragments(e,j)).length>0&&(s=s.concat(n,this.makeCode("\n"))),a===this.cases.length-1&&!this.otherwise)break;o=this.lastNonComment(t.expressions),o instanceof rt||o instanceof B&&o.jumps()&&"debugger"!==o.value||s.push(i.makeCode(l+"break;\n"))}return this.otherwise&&this.otherwise.expressions.length&&s.push.apply(s,[this.makeCode(c+"default:\n")].concat(Jt.call(this.otherwise.compileToFragments(e,j)),[this.makeCode("\n")])),s.push(this.makeCode(this.tab+"}")),s},t}(r),e.If=N=function(e){function t(e,t,n){this.body=t,null==n&&(n={}),this.condition="unless"===n.type?e.invert():e,this.elseBody=null,this.isChain=!1,this.soak=n.soak}return Yt(t,e),t.prototype.children=["condition","body","elseBody"],t.prototype.bodyNode=function(){var e;return null!=(e=this.body)?e.unwrap():void 0},t.prototype.elseBodyNode=function(){var e;return null!=(e=this.elseBody)?e.unwrap():void 0},t.prototype.addElse=function(e){return this.isChain?this.elseBodyNode().addElse(e):(this.isChain=e instanceof t,this.elseBody=this.ensureBlock(e),this.elseBody.updateLocationDataIfMissing(e.locationData)),this},t.prototype.isStatement=function(e){var t;return(null!=e?e.level:void 0)===j||this.bodyNode().isStatement(e)||(null!=(t=this.elseBodyNode())?t.isStatement(e):void 0)},t.prototype.jumps=function(e){var t;return this.body.jumps(e)||(null!=(t=this.elseBody)?t.jumps(e):void 0)},t.prototype.compileNode=function(e){return this.isStatement(e)?this.compileStatement(e):this.compileExpression(e)},t.prototype.makeReturn=function(e){return e&&(this.elseBody||(this.elseBody=new o([new B("void 0")]))),this.body&&(this.body=new o([this.body.makeReturn(e)])),this.elseBody&&(this.elseBody=new o([this.elseBody.makeReturn(e)])),this},t.prototype.ensureBlock=function(e){return e instanceof o?e:new o([e])},t.prototype.compileStatement=function(e){var n,i,r,o,s,a,c;return r=Et(e,"chainChild"),(s=Et(e,"isExistentialEquals"))?new t(this.condition.invert(),this.elseBodyNode(),{type:"if"}).compileToFragments(e):(c=e.indent+ft,o=this.condition.compileToFragments(e,M),i=this.ensureBlock(this.body).compileToFragments(Pt(e,{indent:c})),a=[].concat(this.makeCode("if ("),o,this.makeCode(") {\n"),i,this.makeCode("\n"+this.tab+"}")),r||a.unshift(this.makeCode(this.tab)),this.elseBody?(n=a.concat(this.makeCode(" else ")),this.isChain?(e.chainChild=!0,n=n.concat(this.elseBody.unwrap().compileToFragments(e,j))):n=n.concat(this.makeCode("{\n"),this.elseBody.compileToFragments(Pt(e,{indent:c}),j),this.makeCode("\n"+this.tab+"}")),n):a)},t.prototype.compileExpression=function(e){var t,n,i,r;return i=this.condition.compileToFragments(e,O),n=this.bodyNode().compileToFragments(e,$),t=this.elseBodyNode()?this.elseBodyNode().compileToFragments(e,$):[this.makeCode("void 0")],r=i.concat(this.makeCode(" ? "),n,this.makeCode(" : "),t),e.level>=O?this.wrapInBraces(r):r},t.prototype.unfoldSoak=function(){return this.soak&&this},t}(r),vt={extend:function(e){return"function(child, parent) { for (var key in parent) { if ("+qt("hasProp",e)+".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }"},bind:function(){return"function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"},indexOf:function(){return"[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"},modulo:function(){return"function(a, b) { return (+a % (b = +b) + b) % b; }"},hasProp:function(){return"{}.hasOwnProperty"},slice:function(){return"[].slice"}},j=1,M=2,$=3,O=4,P=5,A=6,ft=" ",ot=/^[+-]?\d+$/,qt=function(e,t){var n,i;return i=t.scope.root,e in i.utilities?i.utilities[e]:(n=i.freeVariable(e),i.assign(n,vt[e](t)),i.utilities[e]=n)},Mt=function(e,t){return e=e.replace(/\n/g,"$&"+t),e.replace(/\s+$/,"")},Rt=function(e){return e instanceof T&&"arguments"===e.value},At=function(e){return e instanceof gt||e instanceof l&&e.bound||e instanceof pt},It=function(e){return e.isComplex()||("function"==typeof e.isAssignable?e.isAssignable():void 0)},Gt=function(e,t,n){var i;if(i=t[n].unfoldSoak(e))return t[n]=i.body,i.body=new wt(t),i}}.call(this),t.exports}(),require["./sourcemap"]=function(){var e={},t={exports:e};return function(){var e,n;e=function(){function e(e){this.line=e,this.columns=[]}return e.prototype.add=function(e,t,n){var i,r;return r=t[0],i=t[1],null==n&&(n={}),this.columns[e]&&n.noReplace?void 0:this.columns[e]={line:this.line,column:e,sourceLine:r,sourceColumn:i}},e.prototype.sourceLocation=function(e){for(var t;!((t=this.columns[e])||0>=e);)e--;return t&&[t.sourceLine,t.sourceColumn]},e}(),n=function(){function t(){this.lines=[]}var n,i,r,o;return t.prototype.add=function(t,n,i){var r,o,s,a;return null==i&&(i={}),s=n[0],o=n[1],a=(r=this.lines)[s]||(r[s]=new e(s)),a.add(o,t,i)},t.prototype.sourceLocation=function(e){var t,n,i;for(n=e[0],t=e[1];!((i=this.lines[n])||0>=n);)n--;return i&&i.sourceLocation(t)},t.prototype.generate=function(e,t){var n,i,r,o,s,a,c,l,u,h,p,d,f,m,g,b;for(null==e&&(e={}),null==t&&(t=null),b=0,o=0,a=0,s=0,d=!1,n="",f=this.lines,h=i=0,c=f.length;c>i;h=++i)if(u=f[h])for(m=u.columns,r=0,l=m.length;l>r;r++)if(p=m[r]){for(;p.line>b;)o=0,d=!1,n+=";",b++;d&&(n+=",",d=!1),n+=this.encodeVlq(p.column-o),o=p.column,n+=this.encodeVlq(0),n+=this.encodeVlq(p.sourceLine-a),a=p.sourceLine,n+=this.encodeVlq(p.sourceColumn-s),s=p.sourceColumn,d=!0}return g={version:3,file:e.generatedFile||"",sourceRoot:e.sourceRoot||"",sources:e.sourceFiles||[""],names:[],mappings:n},e.inlineMap&&(g.sourcesContent=[t]),g},r=5,i=1<e?1:0,a=(Math.abs(e)<<1)+s;a||!t;)n=a&o,a>>=r,a&&(n|=i),t+=this.encodeBase64(n);return t},n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t.prototype.encodeBase64=function(e){return n[e]||function(){throw Error("Cannot Base64 encode value: "+e)}()},t}(),t.exports=n}.call(this),t.exports}(),require["./coffee-script"]=function(){var e={},t={exports:e};return function(){var t,n,i,r,o,s,a,c,l,u,h,p,d,f,m,g,b,y,v,k={}.hasOwnProperty;if(c=require("fs"),y=require("vm"),m=require("path"),t=require("./lexer").Lexer,f=require("./parser").parser,u=require("./helpers"),n=require("./sourcemap"),e.VERSION="1.11.1",e.FILE_EXTENSIONS=[".coffee",".litcoffee",".coffee.md"],e.helpers=u,i=function(e){switch(!1){case"function"!=typeof Buffer:return new Buffer(e).toString("base64");case"function"!=typeof btoa:return btoa(e);default:throw Error("Unable to base64 encode inline sourcemap.")}},v=function(e){return function(t,n){var i;null==n&&(n={});try{return e.call(this,t,n)}catch(r){if(i=r,"string"!=typeof t)throw i;throw u.updateSyntaxError(i,t,n.filename)}}},e.compile=r=v(function(e,t){var r,o,s,a,c,l,h,p,m,g,b,y,v,k,w,T,N,L,C,F,E,D,_;if(w=u.merge,a=u.extend,t=a({},t),h=t.sourceMap||t.inlineMap,h&&(k=new n),D=d.tokenize(e,t),t.referencedVars=function(){var e,t,n;for(n=[],e=0,t=D.length;t>e;e++)E=D[e],"IDENTIFIER"===E[0]&&n.push(E[1]);return n}(),null==t.bare||t.bare!==!0)for(m=0,y=D.length;y>m;m++)if(E=D[m],"IMPORT"===(N=E[0])||"EXPORT"===N){t.bare=!0;break}for(l=f.parse(D).compileToFragments(t),o=0,t.header&&(o+=1),t.shiftLine&&(o+=1),r=0,b="",g=0,v=l.length;v>g;g++)c=l[g],h&&(c.locationData&&!/^[;\s]*$/.test(c.code)&&k.add([c.locationData.first_line,c.locationData.first_column],[o,r],{noReplace:!0}),T=u.count(c.code,"\n"),o+=T,T?r=c.code.length-(c.code.lastIndexOf("\n")+1):r+=c.code.length),b+=c.code;return t.header&&(p="Generated by CoffeeScript "+this.VERSION,b="// "+p+"\n"+b),h&&(_=k.generate(t,e)),t.inlineMap&&(s=i(JSON.stringify(_)),C="//# sourceMappingURL=data:application/json;base64,"+s,F="//# sourceURL="+(null!=(L=t.filename)?L:"coffeescript"),b=b+"\n"+C+"\n"+F),t.sourceMap?{js:b,sourceMap:k,v3SourceMap:JSON.stringify(_,null,2)}:b}),e.tokens=v(function(e,t){return d.tokenize(e,t)}),e.nodes=v(function(e,t){return"string"==typeof e?f.parse(d.tokenize(e,t)):f.parse(e)}),e.run=function(e,t){var n,i,o,s;return null==t&&(t={}),o=require.main,o.filename=process.argv[1]=t.filename?c.realpathSync(t.filename):".",o.moduleCache&&(o.moduleCache={}),i=t.filename?m.dirname(c.realpathSync(t.filename)):c.realpathSync("."),o.paths=require("module")._nodeModulePaths(i),(!u.isCoffee(o.filename)||require.extensions)&&(n=r(e,t),e=null!=(s=n.js)?s:n),o._compile(e,o.filename)},e.eval=function(e,t){var n,i,o,s,a,c,l,u,h,p,d,f,g,b,v,w,T;if(null==t&&(t={}),e=e.trim()){if(s=null!=(f=y.Script.createContext)?f:y.createContext,c=null!=(g=y.isContext)?g:function(){return t.sandbox instanceof s().constructor},s){if(null!=t.sandbox){if(c(t.sandbox))w=t.sandbox;else{w=s(),b=t.sandbox;for(u in b)k.call(b,u)&&(T=b[u],w[u]=T)}w.global=w.root=w.GLOBAL=w}else w=global;if(w.__filename=t.filename||"eval",w.__dirname=m.dirname(w.__filename),w===global&&!w.module&&!w.require){for(n=require("module"),w.module=i=new n(t.modulename||"eval"),w.require=o=function(e){return n._load(e,i,!0)},i.filename=w.__filename,v=Object.getOwnPropertyNames(require),a=0,h=v.length;h>a;a++)d=v[a],"paths"!==d&&"arguments"!==d&&"caller"!==d&&(o[d]=require[d]);o.paths=i.paths=n._nodeModulePaths(process.cwd()),o.resolve=function(e){return n._resolveFilename(e,i)}}}p={};for(u in t)k.call(t,u)&&(T=t[u],p[u]=T);return p.bare=!0,l=r(e,p),w===global?y.runInThisContext(l):y.runInContext(l,w)}},e.register=function(){return require("./register")},require.extensions)for(g=this.FILE_EXTENSIONS,s=function(e){var t;return null!=(t=require.extensions)[e]?t[e]:t[e]=function(){throw Error("Use CoffeeScript.register() or require the coffee-script/register module to require "+e+" files.")}},h=0,p=g.length;p>h;h++)o=g[h],s(o);e._compileFile=function(e,t,n){var i,o,s,a;null==t&&(t=!1),null==n&&(n=!1),s=c.readFileSync(e,"utf8"),a=65279===s.charCodeAt(0)?s.substring(1):s;try{i=r(a,{filename:e,sourceMap:t,inlineMap:n,sourceFiles:[e],literate:u.isLiterate(e)})}catch(l){throw o=l,u.updateSyntaxError(o,a,e)}return i},d=new t,f.lexer={lex:function(){var e,t;return t=f.tokens[this.pos++],t?(e=t[0],this.yytext=t[1],this.yylloc=t[2],f.errorToken=t.origin||t,this.yylineno=this.yylloc.first_line):e="",e},setInput:function(e){return f.tokens=e,this.pos=0},upcomingInput:function(){return""}},f.yy=require("./nodes"),f.yy.parseError=function(e,t){var n,i,r,o,s,a;return s=t.token,o=f.errorToken,a=f.tokens,i=o[0],r=o[1],n=o[2],r=function(){switch(!1){case o!==a[a.length-1]:return"end of input";case"INDENT"!==i&&"OUTDENT"!==i:return"indentation";case"IDENTIFIER"!==i&&"NUMBER"!==i&&"INFINITY"!==i&&"STRING"!==i&&"STRING_START"!==i&&"REGEX"!==i&&"REGEX_START"!==i:return i.replace(/_START$/,"").toLowerCase();default:return u.nameWhitespaceCharacter(r)}}(),u.throwSyntaxError("unexpected "+r,n)},a=function(e,t){var n,i,r,o,s,a,c,l,u,h,p,d;return o=void 0,r="",e.isNative()?r="native":(e.isEval()?(o=e.getScriptNameOrSourceURL(),o||(r=e.getEvalOrigin()+", ")):o=e.getFileName(),o||(o=""),l=e.getLineNumber(),i=e.getColumnNumber(),h=t(o,l,i),r=h?o+":"+h[0]+":"+h[1]:o+":"+l+":"+i),s=e.getFunctionName(),a=e.isConstructor(),c=!(e.isToplevel()||a),c?(u=e.getMethodName(),d=e.getTypeName(),s?(p=n="",d&&s.indexOf(d)&&(p=d+"."),u&&s.indexOf("."+u)!==s.length-u.length-1&&(n=" [as "+u+"]"),""+p+s+n+" ("+r+")"):d+"."+(u||"")+" ("+r+")"):a?"new "+(s||"")+" ("+r+")":s?s+" ("+r+")":r},b={},l=function(t){var n,i,r,s;if(b[t])return b[t];for(s=e.FILE_EXTENSIONS,i=0,r=s.length;r>i;i++)if(o=s[i],u.ends(t,o))return n=e._compileFile(t,!0),b[t]=n.sourceMap;return null},Error.prepareStackTrace=function(t,n){var i,r,o;return o=function(e,t,n){var i,r;return r=l(e),r&&(i=r.sourceLocation([t-1,n-1])),i?[i[0]+1,i[1]+1]:null},r=function(){var t,r,s;for(s=[],t=0,r=n.length;r>t&&(i=n[t],i.getFunction()!==e.run);t++)s.push(" at "+a(i,o));return s}(),""+t+"\n"+r.join("\n")+"\n"}}.call(this),t.exports}(),require["./browser"]=function(){var exports={},module={exports:exports};return function(){var CoffeeScript,compile,runScripts,indexOf=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};CoffeeScript=require("./coffee-script"),CoffeeScript.require=require,compile=CoffeeScript.compile,CoffeeScript.eval=function(code,options){return null==options&&(options={}),null==options.bare&&(options.bare=!0),eval(compile(code,options))},CoffeeScript.run=function(e,t){return null==t&&(t={}),t.bare=!0,t.shiftLine=!0,Function(compile(e,t))()},"undefined"!=typeof window&&null!==window&&("undefined"!=typeof btoa&&null!==btoa&&"undefined"!=typeof JSON&&null!==JSON&&(compile=function(e,t){return null==t&&(t={}),t.inlineMap=!0,CoffeeScript.compile(e,t)}),CoffeeScript.load=function(e,t,n,i){var r;return null==n&&(n={}),null==i&&(i=!1),n.sourceFiles=[e],r=window.ActiveXObject?new window.ActiveXObject("Microsoft.XMLHTTP"):new window.XMLHttpRequest,r.open("GET",e,!0),"overrideMimeType"in r&&r.overrideMimeType("text/plain"),r.onreadystatechange=function(){var o,s;if(4===r.readyState){if(0!==(s=r.status)&&200!==s)throw Error("Could not load "+e);if(o=[r.responseText,n],i||CoffeeScript.run.apply(CoffeeScript,o),t)return t(o)}},r.send(null)},runScripts=function(){var e,t,n,i,r,o,s,a,c,l,u;for(u=window.document.getElementsByTagName("script"),t=["text/coffeescript","text/literate-coffeescript"],e=function(){var e,n,i,r;for(r=[],e=0,n=u.length;n>e;e++)c=u[e],i=c.type,indexOf.call(t,i)>=0&&r.push(c);return r}(),o=0,n=function(){var t;return t=e[o],t instanceof Array?(CoffeeScript.run.apply(CoffeeScript,t),o++,n()):void 0},i=function(i,r){var o,s;return o={literate:i.type===t[1]},s=i.src||i.getAttribute("data-src"),s?CoffeeScript.load(s,function(t){return e[r]=t,n()},o,!0):(o.sourceFiles=["embedded"],e[r]=[i.innerHTML,o])},r=s=0,a=e.length;a>s;r=++s)l=e[r],i(l,r);return n()},window.addEventListener?window.addEventListener("DOMContentLoaded",runScripts,!1):window.attachEvent("onload",runScripts))}.call(this),module.exports}(),require["./coffee-script"]}();"function"==typeof define&&define.amd?define(function(){return CoffeeScript}):root.CoffeeScript=CoffeeScript})(this);
\ No newline at end of file
+var $jscomp={scope:{},checkStringArgs:function(t,ya,pa){if(null==t)throw new TypeError("The 'this' value for String.prototype."+pa+" must not be null or undefined");if(ya instanceof RegExp)throw new TypeError("First argument to String.prototype."+pa+" must not be a regular expression");return t+""}};
+$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,ya,pa){if(pa.get||pa.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[ya]=pa.value)};$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t};$jscomp.global=$jscomp.getGlobal(this);
+$jscomp.polyfill=function(t,ya,pa,f){if(ya){pa=$jscomp.global;t=t.split(".");for(f=0;ft||1342177279>>=1)pa+=pa;return f}},"es6-impl","es3");$jscomp.findInternal=function(t,ya,pa){t instanceof String&&(t=String(t));for(var f=t.length,ta=0;ta>>=1,a+=a;return d};f.compact=function(a){var d,c,f,D;D=[];d=0;for(f=a.length;dh)return k.call(this,f,d-1);(r=f[0],0<=E.call(c,r))?
+h+=1:(g=f[0],0<=E.call(a,g))&&--h;d+=1}return d-1};g.prototype.removeLeadingNewlines=function(){var a,c,d,h,g;h=this.tokens;a=c=0;for(d=h.length;cf;d=0<=f?++h:--h){for(;"HERECOMMENT"===this.tag(c+d+a);)a+=2;if(null!=g[d]&&("string"===typeof g[d]&&
+(g[d]=[g[d]]),H=this.tag(c+d+a),0>E.call(g[d],H)))return-1}return c+d+a-1};g.prototype.looksObjectish=function(d){var g;if(-1E.call(g,q))&&((H=this.tag(d),0>
+E.call(c,H))||this.tokens[d].generated)&&(m=this.tag(d),0>E.call(F,m)));)(h=this.tag(d),0<=E.call(a,h))&&f.push(this.tag(d)),(r=this.tag(d),0<=E.call(c,r))&&f.length&&f.pop(),--d;return l=this.tag(d),0<=E.call(g,l)};g.prototype.addImplicitBracesAndParens=function(){var g,f;g=[];f=null;return this.scanTokens(function(q,h,r){var k,m,y,K,D,w,u,z,C,A,G,B,t,x,I,L,U,J;J=q[0];A=(G=0E.call(a,c):return f[1];case "@"!==this.tag(h-2):return h-2;default:return h-1}}.call(this);"HERECOMMENT"===this.tag(m-2);)m-=2;this.insideForDeclaration="FOR"===C;w=0===m||(x=this.tag(m-1),0<=E.call(F,x))||r[m-1].newLine;if(I()&&(u=I(),x=u[0],G=u[1],("{"===x||"INDENT"===x&&"{"===this.tag(G-1))&&(w||","===this.tag(m-1)||"{"===this.tag(m-1))))return y(1);z(m,!!w);return y(2)}u()&&0<=E.call(F,J)&&(I()[2].sameLine=
+!1);z="OUTDENT"===A||G.newLine;if(0<=E.call(d,J)||0<=E.call(wa,J)&&z)for(;K();)if(z=I(),x=z[0],G=z[1],x=z[2],z=x.sameLine,w=x.startsLine,D()&&","!==A)k();else if(u()&&!this.insideForDeclaration&&z&&"TERMINATOR"!==J&&":"!==A)m();else if(!u()||"TERMINATOR"!==J||","===A||w&&this.looksObjectish(h+1))break;else{if("HERECOMMENT"===C)return y(1);m()}if(!(","!==J||this.looksObjectish(h+1)||!u()||this.insideForDeclaration||"TERMINATOR"===C&&this.looksObjectish(h+2)))for(C="OUTDENT"===C?1:0;u();)m(h+C);return y(1)})};
+g.prototype.addLocationDataToGeneratedTokens=function(){return this.scanTokens(function(a,c,d){var h,g,f;if(a[2]||!a.generated&&!a.explicit)return 1;"{"===a[0]&&(h=null!=(f=d[c+1])?f[2]:void 0)?(g=h.first_line,h=h.first_column):(h=null!=(g=d[c-1])?g[2]:void 0)?(g=h.last_line,h=h.last_column):g=h=0;a[2]={first_line:g,first_column:h,last_line:g,last_column:h};return 1})};g.prototype.fixOutdentLocationData=function(){return this.scanTokens(function(a,c,d){if(!("OUTDENT"===a[0]||a.generated&&"CALL_END"===
+a[0]||a.generated&&"}"===a[0]))return 1;c=d[c-1][2];a[2]={first_line:c.last_line,first_column:c.last_column,last_line:c.last_line,last_column:c.last_column};return 1})};g.prototype.normalizeLines=function(){var a,c,d,h,g;g=d=h=null;c=function(a,c){var d,h,f,m;return";"!==a[1]&&(d=a[0],0<=E.call(x,d))&&!("TERMINATOR"===a[0]&&(h=this.tag(c+1),0<=E.call(D,h)))&&!("ELSE"===a[0]&&"THEN"!==g)&&!!("CATCH"!==(f=a[0])&&"FINALLY"!==f||"-\x3e"!==g&&"\x3d\x3e"!==g)||(m=a[0],0<=E.call(wa,m))&&this.tokens[c-1].newLine};
+a=function(a,c){return this.tokens.splice(","===this.tag(c-1)?c-1:c,0,h)};return this.scanTokens(function(f,q,r){var k,l,w;f=f[0];if("TERMINATOR"===f){if("ELSE"===this.tag(q+1)&&"OUTDENT"!==this.tag(q-1))return r.splice.apply(r,[q,1].concat(m.call(this.indentation()))),1;if(k=this.tag(q+1),0<=E.call(D,k))return r.splice(q,1),0}if("CATCH"===f)for(k=l=1;2>=l;k=++l)if("OUTDENT"===(w=this.tag(q+k))||"TERMINATOR"===w||"FINALLY"===w)return r.splice.apply(r,[q+k,0].concat(m.call(this.indentation()))),2+
+k;0<=E.call(z,f)&&"INDENT"!==this.tag(q+1)&&("ELSE"!==f||"IF"!==this.tag(q+1))&&(g=f,w=this.indentation(r[q]),d=w[0],h=w[1],"THEN"===g&&(d.fromThen=!0),r.splice(q+1,0,d),this.detectEnd(q+2,c,a),"THEN"===f&&r.splice(q,1));return 1})};g.prototype.tagPostfixConditionals=function(){var a,c,d;d=null;c=function(a,c){a=a[0];c=this.tokens[c-1][0];return"TERMINATOR"===a||"INDENT"===a&&0>E.call(z,c)};a=function(a,c){if("INDENT"!==a[0]||a.generated&&!a.fromThen)return d[0]="POST_"+d[0]};return this.scanTokens(function(h,
+g){if("IF"!==h[0])return 1;d=h;this.detectEnd(g+1,c,a);return 1})};g.prototype.indentation=function(a){var c,d;c=["INDENT",2];d=["OUTDENT",2];a?(c.generated=d.generated=!0,c.origin=d.origin=a):c.explicit=d.explicit=!0;return[c,d]};g.prototype.generate=n;g.prototype.tag=function(a){var c;return null!=(c=this.tokens[a])?c[0]:void 0};return g}();t=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["STRING_START","STRING_END"],
+["REGEX_START","REGEX_END"]];f.INVERSES=u={};c=[];a=[];G=0;for(I=t.length;Gthis.indent){if(a)return this.indebt=d-this.indent,this.suppressNewlines(),c.length;if(!this.tokens.length)return this.baseIndent=this.indent=d,c.length;a=d-this.indent+this.outdebt;this.token("INDENT",a,c.length-d,d);this.indents.push(a);this.ends.push({tag:"OUTDENT"});this.outdebt=this.indebt=0;this.indent=d}else dh&&(m=this.token("+","+"),m[2]={first_line:k[2].first_line,first_column:k[2].first_column,last_line:k[2].first_line,last_column:k[2].first_column});(l=this.tokens).push.apply(l,w)}if(n)return a=a[a.length-1],n.origin=["STRING",null,{first_line:n[2].first_line,first_column:n[2].first_column,last_line:a[2].last_line,last_column:a[2].last_column}],n=this.token("STRING_END",")"),n[2]=
+{first_line:a[2].last_line,first_column:a[2].last_column,last_line:a[2].last_line,last_column:a[2].last_column}};f.prototype.pair=function(a){var c;c=this.ends;c=c[c.length-1];return a!==(c=null!=c?c.tag:void 0)?("OUTDENT"!==c&&this.error("unmatched "+a),c=this.indents,c=c[c.length-1],this.outdentToken(c,!0),this.pair(a)):this.ends.pop()};f.prototype.getLineAndColumnFromChunk=function(a){var c,d;if(0===a)return[this.chunkLine,this.chunkColumn];d=a>=this.chunk.length?this.chunk:this.chunk.slice(0,
++(a-1)+1||9E9);a=da(d,"\n");c=this.chunkColumn;0ca.call(oa.call(q).concat(oa.call(Ca)),a):return"keyword '"+c+"' can't be assigned";case 0>ca.call(Y,a):return"'"+c+"' can't be assigned";case 0>ca.call(W,a):return"reserved word '"+c+"' can't be assigned";default:return!1}};f.isUnassignable=
+fa;q="true false null this new delete typeof in instanceof return throw break continue debugger yield if else switch for while do try catch finally class extends super import export default".split(" ");Ca="undefined Infinity NaN then unless until loop of by when".split(" ");c={and:"\x26\x26",or:"||",is:"\x3d\x3d",isnt:"!\x3d",not:"!",yes:"true",no:"false",on:"true",off:"false"};a=function(){var a;a=[];for(ka in c)a.push(ka);return a}();Ca=Ca.concat(a);W="case function var void with const let enum native implements interface package private protected public static".split(" ");
+Y=["arguments","eval"];f.JS_FORBIDDEN=q.concat(W).concat(Y);ta=65279;I=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+)([^\n\S]*:(?!:))?/;T=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i;S=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/;ba=/^[^\n\S]+/;d=/^###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/;D=/^[-=]>/;H=/^(?:\n[^\n\S]*)+/;r=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/;L=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/;aa=/^(?:'''|"""|'|")/;J=/^(?:[^\\']|\\[\s\S])*/;
+V=/^(?:[^\\"#]|\\[\s\S]|\#(?!\{))*/;z=/^(?:[^\\']|\\[\s\S]|'(?!''))*/;F=/^(?:[^\\"#]|\\[\s\S]|"(?!"")|\#(?!\{))*/;U=/((?:\\\\)+)|\\[^\S\n]*\n\s*/g;X=/\s*\n\s*/g;x=/\n+([^\n\S]*)(?=\S)/g;Z=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/;R=/^\w*/;ia=/^(?!.*(.).*\1)[imgy]*$/;n=/^(?:[^\\\/#]|\\[\s\S]|\/(?!\/\/)|\#(?!\{))*/;G=/((?:\\\\)+)|\\(\s)|\s+(?:#.*)?/g;C=/^(\/|\/{3}\s*)(\*)/;P=/^\/=?\s/;u=/\*\//;K=/^\s*(?:,|\??\.(?![.\d])|::)/;m=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7]|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u(?![\da-fA-F]{4}).{0,4}))/;
+k=/^[^\n\S]*\n/;Q=/\n[^\n\S]*$/;pa=/\s+$/;l="-\x3d +\x3d /\x3d *\x3d %\x3d ||\x3d \x26\x26\x3d ?\x3d \x3c\x3c\x3d \x3e\x3e\x3d \x3e\x3e\x3e\x3d \x26\x3d ^\x3d |\x3d **\x3d //\x3d %%\x3d".split(" ");ya=["NEW","TYPEOF","DELETE","DO"];Xa=["!","~"];N=["\x3c\x3c","\x3e\x3e","\x3e\x3e\x3e"];v="\x3d\x3d !\x3d \x3c \x3e \x3c\x3d \x3e\x3d".split(" ");O=["*","/","%","//","%%"];A=["IN","OF","INSTANCEOF"];wa="IDENTIFIER PROPERTY ) ] ? @ THIS SUPER".split(" ");E=wa.concat("NUMBER INFINITY NAN STRING STRING_END REGEX REGEX_END BOOL NULL UNDEFINED } ::".split(" "));
+y=E.concat(["++","--"]);h=["INDENT","OUTDENT","TERMINATOR"];w=[")","}","]"]}).call(this);return f}();t["./parser"]=function(){var f={},ta={exports:f},wa=function(){function f(){this.yy={}}var a=function(a,p,ra,b){ra=ra||{};for(b=a.length;b--;ra[a[b]]=p);return ra},c=[1,22],t=[1,25],d=[1,83],v=[1,79],l=[1,84],u=[1,85],F=[1,81],x=[1,82],z=[1,56],n=[1,58],G=[1,59],L=[1,60],I=[1,61],w=[1,62],E=[1,49],m=[1,50],g=[1,32],r=[1,68],q=[1,69],k=[1,78],h=[1,47],K=[1,51],O=[1,52],H=[1,67],y=[1,65],T=[1,66],S=
+[1,64],P=[1,42],Z=[1,48],R=[1,63],C=[1,73],A=[1,74],W=[1,75],B=[1,76],N=[1,46],X=[1,72],Y=[1,34],V=[1,35],U=[1,36],J=[1,37],aa=[1,38],Q=[1,39],wa=[1,86],ta=[1,6,32,42,131],pa=[1,101],ia=[1,89],ba=[1,88],da=[1,87],ga=[1,90],fa=[1,91],ka=[1,92],ja=[1,93],M=[1,94],ha=[1,95],ca=[1,96],oa=[1,97],na=[1,98],qa=[1,99],la=[1,100],ya=[1,104],sa=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],Ja=[2,162],Ta=[1,110],Ga=[1,111],Ua=[1,
+112],Fa=[1,113],Pa=[1,115],Qa=[1,116],Na=[1,109],za=[1,6,32,42,131,133,135,139,156],ma=[2,27],ea=[1,123],Ha=[1,121],Aa=[1,6,31,32,40,41,42,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],Ia=[2,94],b=[1,6,31,32,42,46,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],p=[2,73],ra=[1,128],ua=[1,133],e=[1,134],va=[1,136],Ka=[1,
+6,31,32,40,41,42,55,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],xa=[2,91],Eb=[1,6,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],$a=[2,63],Fb=[1,166],ab=[1,178],Wa=[1,180],Gb=[1,175],Oa=[1,182],sb=[1,184],La=[1,6,31,32,40,41,42,55,65,70,73,82,83,84,85,87,89,90,94,96,113,114,115,120,122,131,133,134,135,139,140,156,159,160,161,162,163,164,
+165,166,167,168,169,170,171,172,173,174,175],Hb=[2,110],Ib=[1,6,31,32,40,41,42,58,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],Jb=[1,6,31,32,40,41,42,46,58,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],Kb=[40,41,114],Lb=[1,241],tb=[1,240],Ma=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156],Ea=[2,
+71],Mb=[1,250],Va=[6,31,32,65,70],fb=[6,31,32,55,65,70,73],bb=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,159,160,164,166,167,168,169,170,171,172,173,174],Nb=[40,41,82,83,84,85,87,90,113,114],gb=[1,269],cb=[2,62],hb=[1,279],ub=[1,285],Ob=[2,183],vb=[1,6,31,32,40,41,42,55,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,146,147,148,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],ib=[1,295],Ra=[6,31,32,70,115,120],Pb=[1,6,31,32,40,41,
+42,55,58,65,70,73,82,83,84,85,87,89,90,94,96,113,114,115,120,122,131,133,134,135,139,140,146,147,148,156,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175],Qb=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,140,156],Ya=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,134,140,156],jb=[146,147,148],kb=[70,146,147,148],lb=[6,31,94],Rb=[1,309],Ba=[6,31,32,70,94],Sb=[6,31,32,58,70,94],wb=[6,31,32,55,58,70,94],Tb=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,159,160,166,
+167,168,169,170,171,172,173,174],Ub=[12,28,34,38,40,41,44,45,48,49,50,51,52,53,61,62,63,67,68,89,92,95,97,104,112,117,118,119,125,129,130,133,135,137,139,149,155,157,158,159,160,161,162],Vb=[2,172],Sa=[6,31,32],db=[2,72],Wb=[1,321],Xb=[1,322],Yb=[1,6,31,32,42,65,70,73,89,94,115,120,122,127,128,131,133,134,135,139,140,151,153,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],mb=[32,151,153],Zb=[1,6,32,42,65,70,73,89,94,115,120,122,131,134,140,156],nb=[1,348],xb=[1,353],yb=[1,6,32,42,131,
+156],eb=[2,86],ob=[1,363],pb=[1,364],$b=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,151,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],zb=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,135,139,140,156],ac=[1,377],bc=[1,378],Ab=[6,31,32,94],cc=[6,31,32,70],Bb=[1,6,31,32,42,65,70,73,89,94,115,120,122,127,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],dc=[31,70],qb=[1,404],rb=[1,405],Cb=[1,410],Db=[1,411],ec={trace:function(){},
+yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,YieldReturn:9,Return:10,Comment:11,STATEMENT:12,Import:13,Export:14,Value:15,Invocation: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,Property:35,PROPERTY:36,AlphaNumeric:37,NUMBER:38,String:39,STRING:40,STRING_START:41,STRING_END:42,Regex:43,REGEX:44,REGEX_START:45,REGEX_END:46,Literal:47,
+JS:48,UNDEFINED:49,NULL:50,BOOL:51,INFINITY:52,NAN:53,Assignable:54,"\x3d":55,AssignObj:56,ObjAssignable:57,":":58,SimpleObjAssignable:59,ThisProperty:60,RETURN:61,HERECOMMENT:62,PARAM_START:63,ParamList:64,PARAM_END:65,FuncGlyph:66,"-\x3e":67,"\x3d\x3e":68,OptComma:69,",":70,Param:71,ParamVar:72,"...":73,Array:74,Object:75,Splat:76,SimpleAssignable:77,Accessor:78,Parenthetical:79,Range:80,This:81,".":82,"?.":83,"::":84,"?::":85,Index:86,INDEX_START:87,IndexValue:88,INDEX_END:89,INDEX_SOAK:90,Slice:91,
+"{":92,AssignList:93,"}":94,CLASS:95,EXTENDS:96,IMPORT:97,ImportDefaultSpecifier:98,ImportNamespaceSpecifier:99,ImportSpecifierList:100,ImportSpecifier:101,AS:102,IMPORT_ALL:103,EXPORT:104,ExportSpecifierList:105,DEFAULT:106,EXPORT_ALL:107,ExportSpecifier:108,OptFuncExist:109,Arguments:110,Super:111,SUPER:112,FUNC_EXIST:113,CALL_START:114,CALL_END:115,ArgList:116,THIS:117,"@":118,"[":119,"]":120,RangeDots:121,"..":122,Arg:123,SimpleArgs:124,TRY:125,Catch:126,FINALLY:127,CATCH:128,THROW:129,"(":130,
+")":131,WhileSource:132,WHILE:133,WHEN:134,UNTIL:135,Loop:136,LOOP:137,ForBody:138,FOR:139,BY:140,ForStart:141,ForSource:142,ForVariables:143,OWN:144,ForValue:145,FORIN:146,FOROF:147,FORFROM:148,SWITCH:149,Whens:150,ELSE:151,When:152,LEADING_WHEN:153,IfBlock:154,IF:155,POST_IF:156,UNARY:157,UNARY_MATH:158,"-":159,"+":160,"--":161,"++":162,"?":163,MATH:164,"**":165,SHIFT:166,COMPARE:167,"\x26":168,"^":169,"|":170,"\x26\x26":171,"||":172,"BIN?":173,RELATION:174,COMPOUND_ASSIGN:175,$accept:0,$end:1},
+terminals_:{2:"error",6:"TERMINATOR",12:"STATEMENT",28:"YIELD",29:"FROM",31:"INDENT",32:"OUTDENT",34:"IDENTIFIER",36:"PROPERTY",38:"NUMBER",40:"STRING",41:"STRING_START",42:"STRING_END",44:"REGEX",45:"REGEX_START",46:"REGEX_END",48:"JS",49:"UNDEFINED",50:"NULL",51:"BOOL",52:"INFINITY",53:"NAN",55:"\x3d",58:":",61:"RETURN",62:"HERECOMMENT",63:"PARAM_START",65:"PARAM_END",67:"-\x3e",68:"\x3d\x3e",70:",",73:"...",82:".",83:"?.",84:"::",85:"?::",87:"INDEX_START",89:"INDEX_END",90:"INDEX_SOAK",92:"{",
+94:"}",95:"CLASS",96:"EXTENDS",97:"IMPORT",102:"AS",103:"IMPORT_ALL",104:"EXPORT",106:"DEFAULT",107:"EXPORT_ALL",112:"SUPER",113:"FUNC_EXIST",114:"CALL_START",115:"CALL_END",117:"THIS",118:"@",119:"[",120:"]",122:"..",125:"TRY",127:"FINALLY",128:"CATCH",129:"THROW",130:"(",131:")",133:"WHILE",134:"WHEN",135:"UNTIL",137:"LOOP",139:"FOR",140:"BY",144:"OWN",146:"FORIN",147:"FOROF",148:"FORFROM",149:"SWITCH",151:"ELSE",153:"LEADING_WHEN",155:"IF",156:"POST_IF",157:"UNARY",158:"UNARY_MATH",159:"-",160:"+",
+161:"--",162:"++",163:"?",164:"MATH",165:"**",166:"SHIFT",167:"COMPARE",168:"\x26",169:"^",170:"|",171:"\x26\x26",172:"||",173:"BIN?",174:"RELATION",175:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[5,1],[8,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],[7,1],[27,1],[27,2],[27,3],[30,2],[30,3],[33,1],[35,1],[37,1],[37,1],[39,1],[39,3],[43,1],[43,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[19,3],[19,
+4],[19,5],[56,1],[56,3],[56,5],[56,3],[56,5],[56,1],[59,1],[59,1],[59,1],[57,1],[57,1],[10,2],[10,1],[9,3],[9,2],[11,1],[17,5],[17,2],[66,1],[66,1],[69,0],[69,1],[64,0],[64,1],[64,3],[64,4],[64,6],[71,1],[71,2],[71,3],[71,1],[72,1],[72,1],[72,1],[72,1],[76,2],[77,1],[77,2],[77,2],[77,1],[54,1],[54,1],[54,1],[15,1],[15,1],[15,1],[15,1],[15,1],[78,2],[78,2],[78,2],[78,2],[78,1],[78,1],[86,3],[86,2],[88,1],[88,1],[75,4],[93,0],[93,1],[93,3],[93,4],[93,6],[25,1],[25,2],[25,3],[25,4],[25,2],[25,3],[25,
+4],[25,5],[13,2],[13,4],[13,4],[13,5],[13,7],[13,6],[13,9],[100,1],[100,3],[100,4],[100,4],[100,6],[101,1],[101,3],[98,1],[99,3],[14,3],[14,5],[14,2],[14,4],[14,5],[14,6],[14,3],[14,4],[14,7],[105,1],[105,3],[105,4],[105,4],[105,6],[108,1],[108,3],[108,3],[16,3],[16,3],[16,3],[16,1],[111,1],[111,2],[109,0],[109,1],[110,2],[110,4],[81,1],[81,1],[60,2],[74,2],[74,4],[121,1],[121,1],[80,5],[91,3],[91,2],[91,2],[91,1],[116,1],[116,3],[116,4],[116,4],[116,6],[123,1],[123,1],[123,1],[124,1],[124,3],[21,
+2],[21,3],[21,4],[21,5],[126,3],[126,3],[126,2],[26,2],[79,3],[79,5],[132,2],[132,4],[132,2],[132,4],[22,2],[22,2],[22,2],[22,1],[136,2],[136,2],[23,2],[23,2],[23,2],[138,2],[138,4],[138,2],[141,2],[141,3],[145,1],[145,1],[145,1],[145,1],[143,1],[143,3],[142,2],[142,2],[142,4],[142,4],[142,4],[142,6],[142,6],[142,2],[142,4],[24,5],[24,7],[24,4],[24,6],[150,1],[150,2],[152,3],[152,4],[154,3],[154,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,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],[18,3]],performAction:function(a,p,ra,b,ua,c,e){a=c.length-1;switch(ua){case 1:return this.$=b.addLocationDataFn(e[a],e[a])(new b.Block);case 2:return this.$=c[a];case 3:this.$=b.addLocationDataFn(e[a],e[a])(b.Block.wrap([c[a]]));break;case 4:this.$=b.addLocationDataFn(e[a-2],e[a])(c[a-2].push(c[a]));break;case 5:this.$=c[a-1];break;case 6:case 7:case 8:case 9:case 10:case 12: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 35:case 40:case 42:case 56:case 57:case 58:case 59:case 60:case 61:case 71:case 72:case 82:case 83:case 84:case 85:case 90:case 91:case 94:case 98:case 104:case 159:case 183:case 184:case 186:case 216:case 217:case 235:case 241:this.$=
+c[a];break;case 11:this.$=b.addLocationDataFn(e[a],e[a])(new b.StatementLiteral(c[a]));break;case 27:this.$=b.addLocationDataFn(e[a],e[a])(new b.Op(c[a],new b.Value(new b.Literal(""))));break;case 28:case 245:case 246:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op(c[a-1],c[a]));break;case 29:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Op(c[a-2].concat(c[a-1]),c[a]));break;case 30:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Block);break;case 31:case 105:this.$=b.addLocationDataFn(e[a-2],e[a])(c[a-
+1]);break;case 32:this.$=b.addLocationDataFn(e[a],e[a])(new b.IdentifierLiteral(c[a]));break;case 33:this.$=b.addLocationDataFn(e[a],e[a])(new b.PropertyName(c[a]));break;case 34:this.$=b.addLocationDataFn(e[a],e[a])(new b.NumberLiteral(c[a]));break;case 36:this.$=b.addLocationDataFn(e[a],e[a])(new b.StringLiteral(c[a]));break;case 37:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.StringWithInterpolations(c[a-1]));break;case 38:this.$=b.addLocationDataFn(e[a],e[a])(new b.RegexLiteral(c[a]));break;
+case 39:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.RegexWithInterpolations(c[a-1].args));break;case 41:this.$=b.addLocationDataFn(e[a],e[a])(new b.PassthroughLiteral(c[a]));break;case 43:this.$=b.addLocationDataFn(e[a],e[a])(new b.UndefinedLiteral);break;case 44:this.$=b.addLocationDataFn(e[a],e[a])(new b.NullLiteral);break;case 45:this.$=b.addLocationDataFn(e[a],e[a])(new b.BooleanLiteral(c[a]));break;case 46:this.$=b.addLocationDataFn(e[a],e[a])(new b.InfinityLiteral(c[a]));break;case 47:this.$=
+b.addLocationDataFn(e[a],e[a])(new b.NaNLiteral);break;case 48:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Assign(c[a-2],c[a]));break;case 49:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Assign(c[a-3],c[a]));break;case 50:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Assign(c[a-4],c[a-1]));break;case 51:case 87:case 92:case 93:case 95:case 96:case 97:case 218:case 219:this.$=b.addLocationDataFn(e[a],e[a])(new b.Value(c[a]));break;case 52:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Assign(b.addLocationDataFn(e[a-
+2])(new b.Value(c[a-2])),c[a],"object",{operatorToken:b.addLocationDataFn(e[a-1])(new b.Literal(c[a-1]))}));break;case 53:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Assign(b.addLocationDataFn(e[a-4])(new b.Value(c[a-4])),c[a-1],"object",{operatorToken:b.addLocationDataFn(e[a-3])(new b.Literal(c[a-3]))}));break;case 54:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Assign(b.addLocationDataFn(e[a-2])(new b.Value(c[a-2])),c[a],null,{operatorToken:b.addLocationDataFn(e[a-1])(new b.Literal(c[a-1]))}));
+break;case 55:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Assign(b.addLocationDataFn(e[a-4])(new b.Value(c[a-4])),c[a-1],null,{operatorToken:b.addLocationDataFn(e[a-3])(new b.Literal(c[a-3]))}));break;case 62:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Return(c[a]));break;case 63:this.$=b.addLocationDataFn(e[a],e[a])(new b.Return);break;case 64:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.YieldReturn(c[a]));break;case 65:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.YieldReturn);break;case 66:this.$=
+b.addLocationDataFn(e[a],e[a])(new b.Comment(c[a]));break;case 67:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Code(c[a-3],c[a],c[a-1]));break;case 68:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Code([],c[a],c[a-1]));break;case 69:this.$=b.addLocationDataFn(e[a],e[a])("func");break;case 70:this.$=b.addLocationDataFn(e[a],e[a])("boundfunc");break;case 73:case 110:this.$=b.addLocationDataFn(e[a],e[a])([]);break;case 74:case 111:case 130:case 148:case 178:case 220:this.$=b.addLocationDataFn(e[a],
+e[a])([c[a]]);break;case 75:case 112:case 131:case 149:case 179:this.$=b.addLocationDataFn(e[a-2],e[a])(c[a-2].concat(c[a]));break;case 76:case 113:case 132:case 150:case 180:this.$=b.addLocationDataFn(e[a-3],e[a])(c[a-3].concat(c[a]));break;case 77:case 114:case 134:case 152:case 182:this.$=b.addLocationDataFn(e[a-5],e[a])(c[a-5].concat(c[a-2]));break;case 78:this.$=b.addLocationDataFn(e[a],e[a])(new b.Param(c[a]));break;case 79:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Param(c[a-1],null,!0));
+break;case 80:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Param(c[a-2],c[a]));break;case 81:case 185:this.$=b.addLocationDataFn(e[a],e[a])(new b.Expansion);break;case 86:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Splat(c[a-1]));break;case 88:this.$=b.addLocationDataFn(e[a-1],e[a])(c[a-1].add(c[a]));break;case 89:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Value(c[a-1],[].concat(c[a])));break;case 99:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Access(c[a]));break;case 100:this.$=b.addLocationDataFn(e[a-
+1],e[a])(new b.Access(c[a],"soak"));break;case 101:this.$=b.addLocationDataFn(e[a-1],e[a])([b.addLocationDataFn(e[a-1])(new b.Access(new b.PropertyName("prototype"))),b.addLocationDataFn(e[a])(new b.Access(c[a]))]);break;case 102:this.$=b.addLocationDataFn(e[a-1],e[a])([b.addLocationDataFn(e[a-1])(new b.Access(new b.PropertyName("prototype"),"soak")),b.addLocationDataFn(e[a])(new b.Access(c[a]))]);break;case 103:this.$=b.addLocationDataFn(e[a],e[a])(new b.Access(new b.PropertyName("prototype")));
+break;case 106:this.$=b.addLocationDataFn(e[a-1],e[a])(b.extend(c[a],{soak:!0}));break;case 107:this.$=b.addLocationDataFn(e[a],e[a])(new b.Index(c[a]));break;case 108:this.$=b.addLocationDataFn(e[a],e[a])(new b.Slice(c[a]));break;case 109:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Obj(c[a-2],c[a-3].generated));break;case 115:this.$=b.addLocationDataFn(e[a],e[a])(new b.Class);break;case 116:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Class(null,null,c[a]));break;case 117:this.$=b.addLocationDataFn(e[a-
+2],e[a])(new b.Class(null,c[a]));break;case 118:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Class(null,c[a-1],c[a]));break;case 119:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Class(c[a]));break;case 120:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Class(c[a-1],null,c[a]));break;case 121:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Class(c[a-2],c[a]));break;case 122:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Class(c[a-3],c[a-1],c[a]));break;case 123:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.ImportDeclaration(null,
+c[a]));break;case 124:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.ImportDeclaration(new b.ImportClause(c[a-2],null),c[a]));break;case 125:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.ImportDeclaration(new b.ImportClause(null,c[a-2]),c[a]));break;case 126:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.ImportDeclaration(new b.ImportClause(null,new b.ImportSpecifierList([])),c[a]));break;case 127:this.$=b.addLocationDataFn(e[a-6],e[a])(new b.ImportDeclaration(new b.ImportClause(null,new b.ImportSpecifierList(c[a-
+4])),c[a]));break;case 128:this.$=b.addLocationDataFn(e[a-5],e[a])(new b.ImportDeclaration(new b.ImportClause(c[a-4],c[a-2]),c[a]));break;case 129:this.$=b.addLocationDataFn(e[a-8],e[a])(new b.ImportDeclaration(new b.ImportClause(c[a-7],new b.ImportSpecifierList(c[a-4])),c[a]));break;case 133:case 151:case 165:case 181:this.$=b.addLocationDataFn(e[a-3],e[a])(c[a-2]);break;case 135:this.$=b.addLocationDataFn(e[a],e[a])(new b.ImportSpecifier(c[a]));break;case 136:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ImportSpecifier(c[a-
+2],c[a]));break;case 137:this.$=b.addLocationDataFn(e[a],e[a])(new b.ImportDefaultSpecifier(c[a]));break;case 138:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ImportNamespaceSpecifier(new b.Literal(c[a-2]),c[a]));break;case 139:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ExportNamedDeclaration(new b.ExportSpecifierList([])));break;case 140:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.ExportNamedDeclaration(new b.ExportSpecifierList(c[a-2])));break;case 141:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.ExportNamedDeclaration(c[a]));
+break;case 142:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.ExportNamedDeclaration(new b.Assign(c[a-2],c[a],null,{moduleDeclaration:"export"})));break;case 143:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.ExportNamedDeclaration(new b.Assign(c[a-3],c[a],null,{moduleDeclaration:"export"})));break;case 144:this.$=b.addLocationDataFn(e[a-5],e[a])(new b.ExportNamedDeclaration(new b.Assign(c[a-4],c[a-1],null,{moduleDeclaration:"export"})));break;case 145:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ExportDefaultDeclaration(c[a]));
+break;case 146:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.ExportAllDeclaration(new b.Literal(c[a-2]),c[a]));break;case 147:this.$=b.addLocationDataFn(e[a-6],e[a])(new b.ExportNamedDeclaration(new b.ExportSpecifierList(c[a-4]),c[a]));break;case 153:this.$=b.addLocationDataFn(e[a],e[a])(new b.ExportSpecifier(c[a]));break;case 154:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ExportSpecifier(c[a-2],c[a]));break;case 155:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ExportSpecifier(c[a-2],new b.Literal(c[a])));
+break;case 156:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.TaggedTemplateCall(c[a-2],c[a],c[a-1]));break;case 157:case 158:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Call(c[a-2],c[a],c[a-1]));break;case 160:this.$=b.addLocationDataFn(e[a],e[a])(new b.SuperCall);break;case 161:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.SuperCall(c[a]));break;case 162:this.$=b.addLocationDataFn(e[a],e[a])(!1);break;case 163:this.$=b.addLocationDataFn(e[a],e[a])(!0);break;case 164:this.$=b.addLocationDataFn(e[a-
+1],e[a])([]);break;case 166:case 167:this.$=b.addLocationDataFn(e[a],e[a])(new b.Value(new b.ThisLiteral));break;case 168:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Value(b.addLocationDataFn(e[a-1])(new b.ThisLiteral),[b.addLocationDataFn(e[a])(new b.Access(c[a]))],"this"));break;case 169:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Arr([]));break;case 170:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Arr(c[a-2]));break;case 171:this.$=b.addLocationDataFn(e[a],e[a])("inclusive");break;case 172:this.$=
+b.addLocationDataFn(e[a],e[a])("exclusive");break;case 173:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Range(c[a-3],c[a-1],c[a-2]));break;case 174:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Range(c[a-2],c[a],c[a-1]));break;case 175:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Range(c[a-1],null,c[a]));break;case 176:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Range(null,c[a],c[a-1]));break;case 177:this.$=b.addLocationDataFn(e[a],e[a])(new b.Range(null,null,c[a]));break;case 187:this.$=b.addLocationDataFn(e[a-
+2],e[a])([].concat(c[a-2],c[a]));break;case 188:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Try(c[a]));break;case 189:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Try(c[a-1],c[a][0],c[a][1]));break;case 190:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Try(c[a-2],null,null,c[a]));break;case 191:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Try(c[a-3],c[a-2][0],c[a-2][1],c[a]));break;case 192:this.$=b.addLocationDataFn(e[a-2],e[a])([c[a-1],c[a]]);break;case 193:this.$=b.addLocationDataFn(e[a-2],
+e[a])([b.addLocationDataFn(e[a-1])(new b.Value(c[a-1])),c[a]]);break;case 194:this.$=b.addLocationDataFn(e[a-1],e[a])([null,c[a]]);break;case 195:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Throw(c[a]));break;case 196:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Parens(c[a-1]));break;case 197:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Parens(c[a-2]));break;case 198:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.While(c[a]));break;case 199:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.While(c[a-
+2],{guard:c[a]}));break;case 200:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.While(c[a],{invert:!0}));break;case 201:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.While(c[a-2],{invert:!0,guard:c[a]}));break;case 202:this.$=b.addLocationDataFn(e[a-1],e[a])(c[a-1].addBody(c[a]));break;case 203:case 204:this.$=b.addLocationDataFn(e[a-1],e[a])(c[a].addBody(b.addLocationDataFn(e[a-1])(b.Block.wrap([c[a-1]]))));break;case 205:this.$=b.addLocationDataFn(e[a],e[a])(c[a]);break;case 206:this.$=b.addLocationDataFn(e[a-
+1],e[a])((new b.While(b.addLocationDataFn(e[a-1])(new b.BooleanLiteral("true")))).addBody(c[a]));break;case 207:this.$=b.addLocationDataFn(e[a-1],e[a])((new b.While(b.addLocationDataFn(e[a-1])(new b.BooleanLiteral("true")))).addBody(b.addLocationDataFn(e[a])(b.Block.wrap([c[a]]))));break;case 208:case 209:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.For(c[a-1],c[a]));break;case 210:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.For(c[a],c[a-1]));break;case 211:this.$=b.addLocationDataFn(e[a-1],e[a])({source:b.addLocationDataFn(e[a])(new b.Value(c[a]))});
+break;case 212:this.$=b.addLocationDataFn(e[a-3],e[a])({source:b.addLocationDataFn(e[a-2])(new b.Value(c[a-2])),step:c[a]});break;case 213:b=b.addLocationDataFn(e[a-1],e[a]);c[a].own=c[a-1].own;c[a].ownTag=c[a-1].ownTag;c[a].name=c[a-1][0];c[a].index=c[a-1][1];this.$=b(c[a]);break;case 214:this.$=b.addLocationDataFn(e[a-1],e[a])(c[a]);break;case 215:ua=b.addLocationDataFn(e[a-2],e[a]);c[a].own=!0;c[a].ownTag=b.addLocationDataFn(e[a-1])(new b.Literal(c[a-1]));this.$=ua(c[a]);break;case 221:this.$=
+b.addLocationDataFn(e[a-2],e[a])([c[a-2],c[a]]);break;case 222:this.$=b.addLocationDataFn(e[a-1],e[a])({source:c[a]});break;case 223:this.$=b.addLocationDataFn(e[a-1],e[a])({source:c[a],object:!0});break;case 224:this.$=b.addLocationDataFn(e[a-3],e[a])({source:c[a-2],guard:c[a]});break;case 225:this.$=b.addLocationDataFn(e[a-3],e[a])({source:c[a-2],guard:c[a],object:!0});break;case 226:this.$=b.addLocationDataFn(e[a-3],e[a])({source:c[a-2],step:c[a]});break;case 227:this.$=b.addLocationDataFn(e[a-
+5],e[a])({source:c[a-4],guard:c[a-2],step:c[a]});break;case 228:this.$=b.addLocationDataFn(e[a-5],e[a])({source:c[a-4],step:c[a-2],guard:c[a]});break;case 229:this.$=b.addLocationDataFn(e[a-1],e[a])({source:c[a],from:!0});break;case 230:this.$=b.addLocationDataFn(e[a-3],e[a])({source:c[a-2],guard:c[a],from:!0});break;case 231:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Switch(c[a-3],c[a-1]));break;case 232:this.$=b.addLocationDataFn(e[a-6],e[a])(new b.Switch(c[a-5],c[a-3],c[a-1]));break;case 233:this.$=
+b.addLocationDataFn(e[a-3],e[a])(new b.Switch(null,c[a-1]));break;case 234:this.$=b.addLocationDataFn(e[a-5],e[a])(new b.Switch(null,c[a-3],c[a-1]));break;case 236:this.$=b.addLocationDataFn(e[a-1],e[a])(c[a-1].concat(c[a]));break;case 237:this.$=b.addLocationDataFn(e[a-2],e[a])([[c[a-1],c[a]]]);break;case 238:this.$=b.addLocationDataFn(e[a-3],e[a])([[c[a-2],c[a-1]]]);break;case 239:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.If(c[a-1],c[a],{type:c[a-2]}));break;case 240:this.$=b.addLocationDataFn(e[a-
+4],e[a])(c[a-4].addElse(b.addLocationDataFn(e[a-2],e[a])(new b.If(c[a-1],c[a],{type:c[a-2]}))));break;case 242:this.$=b.addLocationDataFn(e[a-2],e[a])(c[a-2].addElse(c[a]));break;case 243:case 244:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.If(c[a],b.addLocationDataFn(e[a-2])(b.Block.wrap([c[a-2]])),{type:c[a-1],statement:!0}));break;case 247:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op("-",c[a]));break;case 248:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op("+",c[a]));break;case 249:this.$=
+b.addLocationDataFn(e[a-1],e[a])(new b.Op("--",c[a]));break;case 250:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op("++",c[a]));break;case 251:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op("--",c[a-1],null,!0));break;case 252:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op("++",c[a-1],null,!0));break;case 253:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Existence(c[a-1]));break;case 254:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Op("+",c[a-2],c[a]));break;case 255:this.$=b.addLocationDataFn(e[a-
+2],e[a])(new b.Op("-",c[a-2],c[a]));break;case 256:case 257:case 258:case 259:case 260:case 261:case 262:case 263:case 264:case 265:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Op(c[a-1],c[a-2],c[a]));break;case 266:e=b.addLocationDataFn(e[a-2],e[a]);c="!"===c[a-1].charAt(0)?(new b.Op(c[a-1].slice(1),c[a-2],c[a])).invert():new b.Op(c[a-1],c[a-2],c[a]);this.$=e(c);break;case 267:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Assign(c[a-2],c[a],c[a-1]));break;case 268:this.$=b.addLocationDataFn(e[a-
+4],e[a])(new b.Assign(c[a-4],c[a-1],c[a-3]));break;case 269:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Assign(c[a-3],c[a],c[a-2]));break;case 270:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Extends(c[a-2],c[a]))}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:6,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:t,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,
+74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{1:[3]},{1:[2,2],6:wa},a(ta,[2,3]),a(ta,[2,6],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(ta,[2,7],{141:77,132:105,138:106,133:C,135:A,139:B,156:ya}),a(ta,[2,8]),a(sa,[2,14],{109:107,
+78:108,86:114,40:Ja,41:Ja,114:Ja,82:Ta,83:Ga,84:Ua,85:Fa,87:Pa,90:Qa,113:Na}),a(sa,[2,15],{86:114,109:117,78:118,82:Ta,83:Ga,84:Ua,85:Fa,87:Pa,90:Qa,113:Na,114:Ja}),a(sa,[2,16]),a(sa,[2,17]),a(sa,[2,18]),a(sa,[2,19]),a(sa,[2,20]),a(sa,[2,21]),a(sa,[2,22]),a(sa,[2,23]),a(sa,[2,24]),a(sa,[2,25]),a(sa,[2,26]),a(za,[2,9]),a(za,[2,10]),a(za,[2,11]),a(za,[2,12]),a(za,[2,13]),a([1,6,32,42,131,133,135,139,156,163,164,165,166,167,168,169,170,171,172,173,174],ma,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,
+23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,7:120,8:122,12:c,28:ea,29:Ha,34:d,38:v,40:l,41:u,44:F,45:x,48:z,49:n,50:G,51:L,52:I,53:w,61:[1,119],62:m,63:g,67:r,68:q,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,137:W,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),a(Aa,Ia,{55:[1,124]}),a(Aa,[2,95]),a(Aa,[2,96]),a(Aa,[2,97]),a(Aa,[2,98]),a(b,[2,
+159]),a([6,31,65,70],p,{64:125,71:126,72:127,33:129,60:130,74:131,75:132,34:d,73:ra,92:k,118:ua,119:e}),{30:135,31:va},{7:137,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,
+137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:138,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,
+154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:139,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,
+160:J,161:aa,162:Q},{7:140,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{15:142,16:143,
+33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:144,60:71,74:53,75:54,77:141,79:28,80:29,81:30,92:k,111:31,112:H,117:y,118:T,119:S,130:R},{15:142,16:143,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:144,60:71,74:53,75:54,77:145,79:28,80:29,81:30,92:k,111:31,112:H,117:y,118:T,119:S,130:R},a(Ka,xa,{96:[1,149],161:[1,146],162:[1,147],175:[1,148]}),a(sa,[2,241],{151:[1,150]}),{30:151,31:va},{30:152,31:va},a(sa,
+[2,205]),{30:153,31:va},{7:154,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,155],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},
+a(Eb,[2,115],{47:27,79:28,80:29,81:30,111:31,74:53,75:54,37:55,43:57,33:70,60:71,39:80,15:142,16:143,54:144,30:156,77:158,31:va,34:d,38:v,40:l,41:u,44:F,45:x,48:z,49:n,50:G,51:L,52:I,53:w,92:k,96:[1,157],112:H,117:y,118:T,119:S,130:R}),{7:159,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,
+77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(za,$a,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:122,7:160,12:c,28:ea,34:d,38:v,40:l,41:u,44:F,45:x,48:z,49:n,50:G,
+51:L,52:I,53:w,61:E,62:m,63:g,67:r,68:q,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,137:W,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),a([1,6,31,32,42,70,94,131,133,135,139,156],[2,66]),{33:165,34:d,39:161,40:l,41:u,92:[1,164],98:162,99:163,103:Fb},{25:168,33:169,34:d,92:[1,167],95:h,106:[1,170],107:[1,171]},a(Ka,[2,92]),a(Ka,[2,93]),a(Aa,[2,40]),a(Aa,[2,41]),a(Aa,[2,42]),a(Aa,[2,43]),a(Aa,[2,44]),a(Aa,[2,45]),a(Aa,[2,46]),a(Aa,[2,47]),{4:172,5:3,7:4,8:5,9:6,10:20,11:21,12:c,
+13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:t,31:[1,173],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:174,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,
+17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:ab,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,116:176,117:y,118:T,119:S,120:Gb,123:177,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Aa,[2,166]),a(Aa,[2,167],{35:181,36:Oa}),
+a([1,6,31,32,42,46,65,70,73,82,83,84,85,87,89,90,94,113,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],[2,160],{110:183,114:sb}),{31:[2,69]},{31:[2,70]},a(La,[2,87]),a(La,[2,90]),{7:185,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,
+79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:186,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,
+104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:187,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,
+119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:189,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,30:188,31:va,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,
+130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{33:194,34:d,60:195,74:196,75:197,80:190,92:k,118:ua,119:S,143:191,144:[1,192],145:193},{142:198,146:[1,199],147:[1,200],148:[1,201]},a([6,31,70,94],Hb,{39:80,93:202,56:203,57:204,59:205,11:206,37:207,33:208,35:209,60:210,34:d,36:Oa,38:v,40:l,41:u,62:m,118:ua}),a(Ib,[2,34]),a(Ib,[2,35]),a(Aa,[2,38]),{15:142,16:211,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,
+50:G,51:L,52:I,53:w,54:144,60:71,74:53,75:54,77:212,79:28,80:29,81:30,92:k,111:31,112:H,117:y,118:T,119:S,130:R},a([1,6,29,31,32,40,41,42,55,58,65,70,73,82,83,84,85,87,89,90,94,96,102,113,114,115,120,122,131,133,134,135,139,140,146,147,148,156,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175],[2,32]),a(Jb,[2,36]),{4:213,5:3,7:4,8:5,9:6,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:t,33:70,34:d,37:55,38:v,39:80,40:l,41:u,
+43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(ta,[2,5],{7:4,8:5,9:6,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,132:43,136:44,
+138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,5:214,12:c,28:t,34:d,38:v,40:l,41:u,44:F,45:x,48:z,49:n,50:G,51:L,52:I,53:w,61:E,62:m,63:g,67:r,68:q,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,133:C,135:A,137:W,139:B,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),a(sa,[2,253]),{7:215,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,
+50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:216,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,
+61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:217,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,
+74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:218,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,
+81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:219,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,
+112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:220,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,
+129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:221,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,
+136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:222,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,
+149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:223,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,
+159:U,160:J,161:aa,162:Q},{7:224,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:225,
+8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:226,8:122,10:20,11:21,12:c,13:23,14:24,
+15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:227,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,
+21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:228,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,
+26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(sa,[2,204]),a(sa,[2,209]),{7:229,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,
+27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(sa,[2,203]),a(sa,[2,208]),{39:230,40:l,41:u,110:231,114:sb},a(La,[2,88]),a(Kb,[2,163]),{35:232,36:Oa},{35:233,36:Oa},a(La,[2,103],{35:234,36:Oa}),
+{35:235,36:Oa},a(La,[2,104]),{7:237,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Lb,74:53,75:54,77:40,79:28,80:29,81:30,88:236,91:238,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,121:239,122:tb,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,
+158:V,159:U,160:J,161:aa,162:Q},{86:242,87:Pa,90:Qa},{110:243,114:sb},a(La,[2,89]),a(ta,[2,65],{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:122,7:244,12:c,28:ea,34:d,38:v,40:l,41:u,44:F,45:x,48:z,49:n,50:G,51:L,52:I,53:w,61:E,62:m,63:g,67:r,68:q,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,133:$a,135:$a,
+139:$a,156:$a,137:W,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),a(Ma,[2,28],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:245,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,
+95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{132:105,133:C,135:A,138:106,139:B,141:77,156:ya},a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,163,164,165,166,167,168,169,170,171,172,173,174],ma,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,
+132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,7:120,8:122,12:c,28:ea,29:Ha,34:d,38:v,40:l,41:u,44:F,45:x,48:z,49:n,50:G,51:L,52:I,53:w,61:E,62:m,63:g,67:r,68:q,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,137:W,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),{6:[1,247],7:246,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,248],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,
+47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a([6,31],Ea,{69:251,65:[1,249],70:Mb}),a(Va,[2,74]),a(Va,[2,78],{55:[1,253],73:[1,252]}),a(Va,[2,81]),a(fb,[2,82]),a(fb,[2,83]),a(fb,[2,84]),a(fb,[2,85]),{35:181,36:Oa},{7:254,8:122,10:20,11:21,12:c,13:23,14:24,
+15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:ab,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,116:176,117:y,118:T,119:S,120:Gb,123:177,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(sa,[2,68]),{4:256,5:3,7:4,8:5,
+9:6,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:t,32:[1,255],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a([1,6,31,32,42,65,70,73,89,94,
+115,120,122,131,133,134,135,139,140,156,159,160,164,165,166,167,168,169,170,171,172,173,174],[2,245],{141:77,132:102,138:103,163:da}),a(bb,[2,246],{141:77,132:102,138:103,163:da,165:fa}),a(bb,[2,247],{141:77,132:102,138:103,163:da,165:fa}),a(bb,[2,248],{141:77,132:102,138:103,163:da,165:fa}),a(sa,[2,249],{40:xa,41:xa,82:xa,83:xa,84:xa,85:xa,87:xa,90:xa,113:xa,114:xa}),a(Kb,Ja,{109:107,78:108,86:114,82:Ta,83:Ga,84:Ua,85:Fa,87:Pa,90:Qa,113:Na}),{78:118,82:Ta,83:Ga,84:Ua,85:Fa,86:114,87:Pa,90:Qa,109:117,
+113:Na,114:Ja},a(Nb,Ia),a(sa,[2,250],{40:xa,41:xa,82:xa,83:xa,84:xa,85:xa,87:xa,90:xa,113:xa,114:xa}),a(sa,[2,251]),a(sa,[2,252]),{6:[1,259],7:257,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,258],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,
+129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:260,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,
+136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{30:261,31:va,155:[1,262]},a(sa,[2,188],{126:263,127:[1,264],128:[1,265]}),a(sa,[2,202]),a(sa,[2,210]),{31:[1,266],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{150:267,152:268,153:gb},a(sa,[2,116]),{7:270,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,
+27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Eb,[2,119],{30:271,31:va,40:xa,41:xa,82:xa,83:xa,84:xa,85:xa,87:xa,90:xa,113:xa,114:xa,96:[1,272]}),a(Ma,[2,195],{141:77,132:102,138:103,159:ia,
+160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(za,cb,{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(za,[2,123]),{29:[1,273],70:[1,274]},{29:[1,275]},{31:hb,33:280,34:d,94:[1,276],100:277,101:278},a([29,70],[2,137]),{102:[1,281]},{31:ub,33:286,34:d,94:[1,282],105:283,108:284},a(za,[2,141]),{55:[1,287]},{7:288,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,
+21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{29:[1,289]},{6:wa,131:[1,290]},{4:291,5:3,7:4,8:5,9:6,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,
+19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:t,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a([6,31,70,120],Ob,{141:77,132:102,138:103,121:292,73:[1,293],122:tb,133:C,135:A,139:B,156:pa,
+159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(vb,[2,169]),a([6,31,120],Ea,{69:294,70:ib}),a(Ra,[2,178]),{7:254,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:ab,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,
+116:296,117:y,118:T,119:S,123:177,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ra,[2,184]),a(Ra,[2,185]),a(Pb,[2,168]),a(Pb,[2,33]),a(b,[2,161]),{7:254,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:ab,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,
+75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,115:[1,297],116:298,117:y,118:T,119:S,123:177,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{30:299,31:va,132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(Qb,[2,198],{141:77,132:102,138:103,133:C,134:[1,300],135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,
+166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Qb,[2,200],{141:77,132:102,138:103,133:C,134:[1,301],135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(sa,[2,206]),a(Ya,[2,207],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,156,159,160,163,164,165,166,167,168,169,
+170,171,172,173,174],[2,211],{140:[1,302]}),a(jb,[2,214]),{33:194,34:d,60:195,74:196,75:197,92:k,118:ua,119:e,143:303,145:193},a(jb,[2,220],{70:[1,304]}),a(kb,[2,216]),a(kb,[2,217]),a(kb,[2,218]),a(kb,[2,219]),a(sa,[2,213]),{7:305,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,
+80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:306,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,
+111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:307,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,
+125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(lb,Ea,{69:308,70:Rb}),a(Ba,[2,111]),a(Ba,[2,51],{58:[1,310]}),a(Sb,[2,60],{55:[1,311]}),a(Ba,[2,56]),a(Sb,[2,61]),a(wb,[2,57]),a(wb,[2,58]),a(wb,[2,59]),{46:[1,312],78:118,82:Ta,83:Ga,84:Ua,85:Fa,86:114,87:Pa,90:Qa,109:117,113:Na,114:Ja},a(Nb,xa),{6:wa,42:[1,313]},a(ta,[2,4]),a(Tb,[2,254],{141:77,132:102,138:103,163:da,164:ga,165:fa}),a(Tb,[2,255],{141:77,132:102,138:103,
+163:da,164:ga,165:fa}),a(bb,[2,256],{141:77,132:102,138:103,163:da,165:fa}),a(bb,[2,257],{141:77,132:102,138:103,163:da,165:fa}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,166,167,168,169,170,171,172,173,174],[2,258],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,167,168,169,170,171,172,173],[2,259],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,174:la}),a([1,6,31,32,
+42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,168,169,170,171,172,173],[2,260],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,169,170,171,172,173],[2,261],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,170,171,172,173],[2,262],{141:77,132:102,138:103,159:ia,160:ba,163:da,
+164:ga,165:fa,166:ka,167:ja,168:M,169:ha,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,171,172,173],[2,263],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,172,173],[2,264],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,
+140,156,173],[2,265],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,167,168,169,170,171,172,173,174],[2,266],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka}),a(Ya,[2,244],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ya,[2,243],{141:77,132:102,138:103,
+133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(b,[2,156]),a(b,[2,157]),a(La,[2,99]),a(La,[2,100]),a(La,[2,101]),a(La,[2,102]),{89:[1,314]},{73:Lb,89:[2,107],121:315,122:tb,132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{89:[2,108]},{7:316,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,
+25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,89:[2,177],92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ub,[2,171]),a(Ub,Vb),a(La,[2,106]),a(b,[2,158]),a(ta,[2,64],{141:77,132:102,138:103,133:cb,135:cb,139:cb,156:cb,159:ia,
+160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ma,[2,29],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ma,[2,48],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:317,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,
+38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:318,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,
+45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{66:319,67:r,68:q},a(Sa,db,{72:127,33:129,60:130,74:131,75:132,71:320,34:d,73:ra,92:k,118:ua,119:e}),{6:Wb,31:Xb},a(Va,[2,79]),{7:323,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,
+21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ra,Ob,{141:77,132:102,138:103,73:[1,324],133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,
+167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Yb,[2,30]),{6:wa,32:[1,325]},a(Ma,[2,267],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:326,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,
+80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:327,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,
+111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ma,[2,270],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(sa,[2,242]),{7:328,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,
+50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(sa,[2,189],{127:[1,329]}),{30:330,31:va},{30:333,31:va,33:331,34:d,75:332,92:k},{150:334,152:268,153:gb},{32:[1,335],151:[1,336],152:337,153:gb},a(mb,[2,235]),{7:339,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,
+19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,124:338,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Zb,[2,117],{141:77,132:102,138:103,30:340,31:va,133:C,135:A,139:B,159:ia,160:ba,163:da,
+164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(sa,[2,120]),{7:341,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,
+149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{39:342,40:l,41:u},{92:[1,344],99:343,103:Fb},{39:345,40:l,41:u},{29:[1,346]},a(lb,Ea,{69:347,70:nb}),a(Ba,[2,130]),{31:hb,33:280,34:d,100:349,101:278},a(Ba,[2,135],{102:[1,350]}),{33:351,34:d},a(za,[2,139]),a(lb,Ea,{69:352,70:xb}),a(Ba,[2,148]),{31:ub,33:286,34:d,105:354,108:284},a(Ba,[2,153],{102:[1,355]}),{6:[1,357],7:356,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,
+358],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(yb,[2,145],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),
+{39:359,40:l,41:u},a(Aa,[2,196]),{6:wa,32:[1,360]},{7:361,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,
+160:J,161:aa,162:Q},a([12,28,34,38,40,41,44,45,48,49,50,51,52,53,61,62,63,67,68,92,95,97,104,112,117,118,119,125,129,130,133,135,137,139,149,155,157,158,159,160,161,162],Vb,{6:eb,31:eb,70:eb,120:eb}),{6:ob,31:pb,120:[1,362]},a([6,31,32,115,120],db,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:122,76:179,7:254,123:365,
+12:c,28:ea,34:d,38:v,40:l,41:u,44:F,45:x,48:z,49:n,50:G,51:L,52:I,53:w,61:E,62:m,63:g,67:r,68:q,73:Wa,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,133:C,135:A,137:W,139:B,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),a(Sa,Ea,{69:366,70:ib}),a(b,[2,164]),a([6,31,115],Ea,{69:367,70:ib}),a($b,[2,239]),{7:368,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,
+48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:369,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,
+54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:370,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,
+67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(jb,[2,215]),{33:194,34:d,60:195,74:196,75:197,92:k,118:ua,119:e,145:371},a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,135,139,156],[2,222],{141:77,132:102,138:103,134:[1,372],140:[1,373],159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,
+173:qa,174:la}),a(zb,[2,223],{141:77,132:102,138:103,134:[1,374],159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(zb,[2,229],{141:77,132:102,138:103,134:[1,375],159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{6:ac,31:bc,94:[1,376]},a(Ab,db,{39:80,57:204,59:205,11:206,37:207,33:208,35:209,60:210,56:379,34:d,36:Oa,38:v,40:l,41:u,62:m,118:ua}),{7:380,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,
+18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,381],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:382,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,
+22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,383],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Aa,[2,39]),a(Jb,[2,37]),a(La,[2,105]),{7:384,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,
+19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,89:[2,175],92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{89:[2,176],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,
+165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(Ma,[2,49],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{32:[1,385],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{30:386,31:va},a(Va,[2,75]),{33:129,34:d,60:130,71:387,72:127,73:ra,74:131,75:132,92:k,118:ua,119:e},a(cc,p,{71:126,72:127,33:129,60:130,74:131,
+75:132,64:388,34:d,73:ra,92:k,118:ua,119:e}),a(Va,[2,80],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ra,eb),a(Yb,[2,31]),{32:[1,389],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(Ma,[2,269],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,
+173:qa,174:la}),{30:390,31:va,132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{30:391,31:va},a(sa,[2,190]),{30:392,31:va},{30:393,31:va},a(Bb,[2,194]),{32:[1,394],151:[1,395],152:337,153:gb},a(sa,[2,233]),{30:396,31:va},a(mb,[2,236]),{30:397,31:va,70:[1,398]},a(dc,[2,186],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,
+173:qa,174:la}),a(sa,[2,118]),a(Zb,[2,121],{141:77,132:102,138:103,30:399,31:va,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(za,[2,124]),{29:[1,400]},{31:hb,33:280,34:d,100:401,101:278},a(za,[2,125]),{39:402,40:l,41:u},{6:qb,31:rb,94:[1,403]},a(Ab,db,{33:280,101:406,34:d}),a(Sa,Ea,{69:407,70:nb}),{33:408,34:d},{29:[2,138]},{6:Cb,31:Db,94:[1,409]},a(Ab,db,{33:286,108:412,34:d}),a(Sa,Ea,{69:413,70:xb}),{33:414,34:d,106:[1,415]},
+a(yb,[2,142],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:416,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,
+129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:417,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,
+136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(za,[2,146]),{131:[1,418]},{120:[1,419],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(vb,[2,170]),{7:254,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,
+54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,123:420,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:254,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:ab,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,
+60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,116:421,117:y,118:T,119:S,123:177,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ra,[2,179]),{6:ob,31:pb,32:[1,422]},{6:ob,31:pb,115:[1,423]},a(Ya,[2,199],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ya,
+[2,201],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ya,[2,212],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(jb,[2,221]),{7:424,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,
+49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:425,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,
+60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:426,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,
+68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:427,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,
+81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(vb,[2,109]),{11:206,33:208,34:d,35:209,36:Oa,37:207,38:v,39:80,40:l,41:u,56:428,57:204,59:205,60:210,62:m,118:ua},a(cc,Hb,{39:80,56:203,57:204,59:205,11:206,37:207,33:208,35:209,60:210,93:429,34:d,36:Oa,38:v,40:l,41:u,62:m,118:ua}),a(Ba,[2,112]),a(Ba,[2,52],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,
+160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:430,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,
+149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ba,[2,54],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:431,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,
+81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{89:[2,174],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(sa,[2,50]),a(sa,[2,67]),a(Va,[2,76]),a(Sa,Ea,{69:432,70:Mb}),a(sa,[2,268]),a($b,[2,240]),a(sa,[2,191]),a(Bb,[2,192]),a(Bb,[2,193]),a(sa,[2,231]),{30:433,31:va},
+{32:[1,434]},a(mb,[2,237],{6:[1,435]}),{7:436,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,
+162:Q},a(sa,[2,122]),{39:437,40:l,41:u},a(lb,Ea,{69:438,70:nb}),a(za,[2,126]),{29:[1,439]},{33:280,34:d,101:440},{31:hb,33:280,34:d,100:441,101:278},a(Ba,[2,131]),{6:qb,31:rb,32:[1,442]},a(Ba,[2,136]),a(za,[2,140],{29:[1,443]}),{33:286,34:d,108:444},{31:ub,33:286,34:d,105:445,108:284},a(Ba,[2,149]),{6:Cb,31:Db,32:[1,446]},a(Ba,[2,154]),a(Ba,[2,155]),a(yb,[2,143],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),
+{32:[1,447],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(Aa,[2,197]),a(Aa,[2,173]),a(Ra,[2,180]),a(Sa,Ea,{69:448,70:ib}),a(Ra,[2,181]),a(b,[2,165]),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,156],[2,224],{141:77,132:102,138:103,140:[1,449],159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(zb,[2,226],{141:77,132:102,138:103,134:[1,
+450],159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ma,[2,225],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ma,[2,230],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ba,[2,113]),a(Sa,Ea,{69:451,70:Rb}),{32:[1,452],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,
+165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{32:[1,453],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{6:Wb,31:Xb,32:[1,454]},{32:[1,455]},a(sa,[2,234]),a(mb,[2,238]),a(dc,[2,187],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(za,[2,128]),{6:qb,31:rb,94:[1,456]},{39:457,40:l,
+41:u},a(Ba,[2,132]),a(Sa,Ea,{69:458,70:nb}),a(Ba,[2,133]),{39:459,40:l,41:u},a(Ba,[2,150]),a(Sa,Ea,{69:460,70:xb}),a(Ba,[2,151]),a(za,[2,144]),{6:ob,31:pb,32:[1,461]},{7:462,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,
+119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:463,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:x,47:27,48:z,49:n,50:G,51:L,52:I,53:w,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,
+133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{6:ac,31:bc,32:[1,464]},a(Ba,[2,53]),a(Ba,[2,55]),a(Va,[2,77]),a(sa,[2,232]),{29:[1,465]},a(za,[2,127]),{6:qb,31:rb,32:[1,466]},a(za,[2,147]),{6:Cb,31:Db,32:[1,467]},a(Ra,[2,182]),a(Ma,[2,227],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ma,[2,228],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,
+168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ba,[2,114]),{39:468,40:l,41:u},a(Ba,[2,134]),a(Ba,[2,152]),a(za,[2,129])],defaultActions:{68:[2,69],69:[2,70],238:[2,108],351:[2,138]},parseError:function(a,b){if(b.recoverable)this.trace(a);else{var e=function(a,b){this.message=a;this.hash=b};e.prototype=Error;throw new e(a,b);}},parse:function(a){var b=[0],e=[null],c=[],p=this.table,ra="",ua=0,d=0,f=0,g=c.slice.call(arguments,1),va=Object.create(this.lexer),h={},Ka;for(Ka in this.yy)Object.prototype.hasOwnProperty.call(this.yy,
+Ka)&&(h[Ka]=this.yy[Ka]);va.setInput(a,h);h.lexer=va;h.parser=this;"undefined"==typeof va.yylloc&&(va.yylloc={});Ka=va.yylloc;c.push(Ka);var m=va.options&&va.options.ranges;this.parseError="function"===typeof h.parseError?h.parseError:Object.getPrototypeOf(this).parseError;for(var q,r,Ia,k,n={},l,D;;){Ia=b[b.length-1];if(this.defaultActions[Ia])k=this.defaultActions[Ia];else{if(null===q||"undefined"==typeof q)q=va.lex()||1,"number"!==typeof q&&(q=this.symbols_[q]||q);k=p[Ia]&&p[Ia][q]}if("undefined"===
+typeof k||!k.length||!k[0]){var w;D=[];for(l in p[Ia])this.terminals_[l]&&2=h?this.wrapInBraces(c):c};b.prototype.compileRoot=function(a){var b,c,e,p,d;a.indent=a.bare?"":ba;a.level=H;this.spaced=!0;a.scope=new J(null,this,null,null!=(e=a.referencedVars)?e:[]);d=a.locals||[];e=0;for(c=d.length;e=K?this.wrapInBraces(b):b};return b}(R);f.StringLiteral=Za=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(y);f.RegexLiteral=Y=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(y);f.PassthroughLiteral=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(y);f.IdentifierLiteral=w=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}
+ma(b,a);b.prototype.isAssignable=ha;return b}(y);f.PropertyName=N=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);b.prototype.isAssignable=ha;return b}(y);f.StatementLiteral=ya=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);b.prototype.isStatement=ha;b.prototype.makeReturn=da;b.prototype.jumps=function(a){if("break"===this.value&&!(null!=a&&a.loop||null!=a&&a.block)||"continue"===this.value&&(null==a||!a.loop))return this};
+b.prototype.compileNode=function(a){return[this.makeCode(""+this.tab+this.value+";")]};return b}(y);f.ThisLiteral=ga=function(a){function b(){b.__super__.constructor.call(this,"this")}ma(b,a);b.prototype.compileNode=function(a){var b;a=null!=(b=a.scope.method)&&b.bound?a.scope.method.context:this.value;return[this.makeCode(a)]};return b}(y);f.UndefinedLiteral=ja=function(a){function b(){b.__super__.constructor.call(this,"undefined")}ma(b,a);b.prototype.compileNode=function(a){return[this.makeCode(a.level>=
+q?"(void 0)":"void 0")]};return b}(y);f.NullLiteral=Z=function(a){function b(){b.__super__.constructor.call(this,"null")}ma(b,a);return b}(y);f.BooleanLiteral=Ca=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(y);f.Return=V=function(a){function b(a){this.expression=a}ma(b,a);b.prototype.children=["expression"];b.prototype.isStatement=ha;b.prototype.makeReturn=da;b.prototype.jumps=da;b.prototype.compileToFragments=function(a,c){var p,e;p=null!=(e=this.expression)?
+e.makeReturn():void 0;return!p||p instanceof b?b.__super__.compileToFragments.call(this,a,c):p.compileToFragments(a,c)};b.prototype.compileNode=function(a){var b;b=[];b.push(this.makeCode(this.tab+("return"+(this.expression?" ":""))));this.expression&&(b=b.concat(this.expression.compileToFragments(a,O)));b.push(this.makeCode(";"));return b};return b}(a);f.YieldReturn=ca=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);b.prototype.compileNode=function(a){null==
+a.scope.parent&&this.error("yield can only occur inside functions");return b.__super__.compileNode.apply(this,arguments)};return b}(V);f.Value=M=function(a){function b(a,c,d){if(!c&&a instanceof b)return a;this.base=a;this.properties=c||[];d&&(this[d]=!0);return this}ma(b,a);b.prototype.children=["base","properties"];b.prototype.add=function(a){this.properties=this.properties.concat(a);return this};b.prototype.hasProperties=function(){return!!this.properties.length};b.prototype.bareLiteral=function(a){return!this.properties.length&&
+this.base instanceof a};b.prototype.isArray=function(){return this.bareLiteral(pa)};b.prototype.isRange=function(){return this.bareLiteral(X)};b.prototype.isComplex=function(){return this.hasProperties()||this.base.isComplex()};b.prototype.isAssignable=function(){return this.hasProperties()||this.base.isAssignable()};b.prototype.isNumber=function(){return this.bareLiteral(R)};b.prototype.isString=function(){return this.bareLiteral(Za)};b.prototype.isRegex=function(){return this.bareLiteral(Y)};b.prototype.isUndefined=
+function(){return this.bareLiteral(ja)};b.prototype.isNull=function(){return this.bareLiteral(Z)};b.prototype.isBoolean=function(){return this.bareLiteral(Ca)};b.prototype.isAtomic=function(){var a,b,c,e;e=this.properties.concat(this.base);a=0;for(b=e.length;athis.properties.length&&!this.base.isComplex()&&(null==e||!e.isComplex()))return[this,this];c=new b(this.base,this.properties.slice(0,-1));c.isComplex()&&(p=new w(a.scope.freeVariable("base")),c=
+new b(new B(new D(p,c))));if(!e)return[c,p];e.isComplex()&&(d=new w(a.scope.freeVariable("name")),e=new g(new D(d,e.index)),d=new g(d));return[c.add(e),new b(p||c.base,[d||e])]};b.prototype.compileNode=function(a){var b,c,e,p,d;this.base.front=this.front;d=this.properties;b=this.base.compileToFragments(a,d.length?q:null);d.length&&U.test(Da(b))&&b.push(this.makeCode("."));c=0;for(e=d.length;c=Math.abs(this.fromNum-this.toNum))return b=function(){h=[];for(var a=f=this.fromNum,b=this.toNum;f<=b?a<=b:a>=b;f<=b?a++:a--)h.push(a);return h}.apply(this),this.exclusive&&b.pop(),[this.makeCode("["+b.join(", ")+"]")];d=this.tab+ba;e=a.scope.freeVariable("i",{single:!0});g=a.scope.freeVariable("results");p="\n"+d+g+" \x3d [];";c?(a.index=e,c=Da(this.compileNode(a))):(m=e+" \x3d "+this.fromC+(this.toC!==this.toVar?", "+this.toC:""),c=this.fromVar+" \x3c\x3d "+
+this.toVar,c="var "+m+"; "+c+" ? "+e+" \x3c"+this.equals+" "+this.toVar+" : "+e+" \x3e"+this.equals+" "+this.toVar+"; "+c+" ? "+e+"++ : "+e+"--");e="{ "+g+".push("+e+"); }\n"+d+"return "+g+";\n"+a.indent;a=function(a){return null!=a?a.contains(Ja):void 0};if(a(this.from)||a(this.to))b=", arguments";return[this.makeCode("(function() {"+p+"\n"+d+"for ("+c+")"+e+"}).apply(this"+(null!=b?b:"")+")")]};return b}(a);f.Slice=aa=function(a){function b(a){this.range=a;b.__super__.constructor.call(this)}ma(b,
+a);b.prototype.children=["range"];b.prototype.compileNode=function(a){var b,c,e,d,p;b=this.range;d=b.to;e=(b=b.from)&&b.compileToFragments(a,O)||[this.makeCode("0")];d&&(b=d.compileToFragments(a,O),c=Da(b),this.range.exclusive||-1!==+c)&&(p=", "+(this.range.exclusive?c:d.isNumber()?""+(+c+1):(b=d.compileToFragments(a,q),"+"+Da(b)+" + 1 || 9e9")));return[this.makeCode(".slice("+Da(e)+(p||"")+")")]};return b}(a);f.Obj=C=function(a){function b(a,b){this.generated=null!=b?b:!1;this.objects=this.properties=
+a||[]}ma(b,a);b.prototype.children=["properties"];b.prototype.compileNode=function(a){var b,c,e,d,p,f,g,h,m,q,r,k,n;n=this.properties;if(this.generated)for(c=0,b=n.length;c=K?this.wrapInBraces(d):d;l=D[0];1===t&&l instanceof z&&l.error("Destructuring assignment has no target");
+m=this.variable.isObject();if(u&&1===t&&!(l instanceof Q))return e=null,l instanceof b&&"object"===l.context?(d=l,f=d.variable,p=f.base,l=d.value,l instanceof b&&(e=l.value,l=l.variable)):(l instanceof b&&(e=l.value,l=l.variable),p=m?l["this"]?l.properties[0].name:new N(l.unwrap().value):new R(0)),c=p.unwrap()instanceof N,k=new M(k),k.properties.push(new (c?ta:g)(p)),(n=Ga(l.unwrap().value))&&l.error(n),e&&(k=new A("?",k,e)),(new b(l,k,null,{param:this.param})).compileToFragments(a,H);B=k.compileToFragments(a,
+h);v=Da(B);d=[];f=!1;k.unwrap()instanceof w&&!this.variable.assigns(v)||(d.push([this.makeCode((e=a.scope.freeVariable("ref"))+" \x3d ")].concat(Aa.call(B))),B=[this.makeCode(e)],v=e);e=k=0;for(r=D.length;kH?this.wrapInBraces(b):b};return b}(a);f.Code=l=function(a){function b(a,b,d){this.params=a||[];this.body=b||new c;this.bound="boundfunc"===d;this.isGenerator=!!this.body.contains(function(a){return a instanceof A&&a.isYield()||a instanceof ca})}ma(b,a);b.prototype.children=["params","body"];b.prototype.isStatement=function(){return!!this.ctor};b.prototype.jumps=P;b.prototype.makeScope=function(a){return new J(a,this.body,this)};
+b.prototype.compileNode=function(a){var f,p,e,g,h,m,k,l,r,n,t,u,v;this.bound&&null!=(p=a.scope.method)&&p.bound&&(this.context=a.scope.method.context);if(this.bound&&!this.context)return this.context="_this",p=new b([new W(new w(this.context))],new c([this])),p=new d(p,[new ga]),p.updateLocationDataIfMissing(this.locationData),p.compileNode(a);a.scope=na(a,"classScope")||this.makeScope(a.scope);a.scope.shared=na(a,"sharedScope");a.indent+=ba;delete a.bare;delete a.isExistentialEquals;p=[];f=[];l=
+this.params;g=0;for(m=l.length;g=q?this.wrapInBraces(f):f};b.prototype.eachParamName=function(a){var b,c,e,d,f;d=this.params;f=[];b=0;for(c=d.length;b=c.length)return[];if(1===c.length)return e=c[0],c=e.compileToFragments(a,h),d?c:[].concat(e.makeCode(za("slice",a)+".call("),c,e.makeCode(")"));d=c.slice(p);g=k=0;for(m=d.length;k=q)return(new B(this)).compileToFragments(a);f="+"===c||"-"===c;("new"===c||"typeof"===c||"delete"===c||f&&this.first instanceof b&&this.first.operator===c)&&d.push([this.makeCode(" ")]);if(f&&this.first instanceof b||"new"===c&&this.first.isStatement(a))this.first=new B(this.first);
+d.push(this.first.compileToFragments(a,K));this.flip&&d.reverse();return this.joinFragmentArrays(d,"")};b.prototype.compileYield=function(a){var b,c,d;c=[];b=this.operator;null==a.scope.parent&&this.error("yield can only occur inside functions");0<=Ha.call(Object.keys(this.first),"expression")&&!(this.first instanceof fa)?null!=this.first.expression&&c.push(this.first.expression.compileToFragments(a,K)):(a.level>=O&&c.push([this.makeCode("(")]),c.push([this.makeCode(b)]),""!==(null!=(d=this.first.base)?
+d.value:void 0)&&c.push([this.makeCode(" ")]),c.push(this.first.compileToFragments(a,K)),a.level>=O&&c.push([this.makeCode(")")]));return this.joinFragmentArrays(c,"")};b.prototype.compilePower=function(a){var b;b=new M(new w("Math"),[new ta(new N("pow"))]);return(new d(b,[this.first,this.second])).compileToFragments(a)};b.prototype.compileFloorDivision=function(a){var c,f;f=new M(new w("Math"),[new ta(new N("floor"))]);c=new b("/",this.first,this.second);return(new d(f,[c])).compileToFragments(a)};
+b.prototype.compileModulo=function(a){var b;b=new M(new y(za("modulo",a)));return(new d(b,[this.first,this.second])).compileToFragments(a)};b.prototype.toString=function(a){return b.__super__.toString.call(this,a,this.constructor.name+" "+this.operator)};return b}(a);f.In=m=function(a){function b(a,b){this.object=a;this.array=b}ma(b,a);b.prototype.children=["object","array"];b.prototype.invert=S;b.prototype.compileNode=function(a){var b,c,e,d,f;if(this.array instanceof M&&this.array.isArray()&&this.array.base.objects.length){f=
+this.array.base.objects;c=0;for(e=f.length;cz,this.step&&null!=z&&m||(d=e.freeVariable("len")),f=""+t+r+" \x3d 0, "+d+" \x3d "+x+".length",g=""+t+r+" \x3d "+x+".length - 1",d=r+" \x3c "+d,e=r+" \x3e\x3d 0",this.step?(null!=z?m&&(d=e,f=g):(d=C+" \x3e 0 ? "+d+" : "+e,f="("+C+" \x3e 0 ? ("+f+") : "+g+")"),r=r+" +\x3d "+
+C):r=""+(n!==r?"++"+r:r+"++"),f=[this.makeCode(f+"; "+d+"; "+t+r)]));this.returns&&(K=""+this.tab+k+" \x3d [];\n",A="\n"+this.tab+"return "+k+";",b.makeReturn(k));this.guard&&(1=k?this.wrapInBraces(b):b};b.prototype.unfoldSoak=function(){return this.soak&&this};return b}(a);ka={extend:function(a){return"function(child, parent) { for (var key in parent) { if ("+
+za("hasProp",a)+".call(parent, key)) child[key] \x3d parent[key]; } function ctor() { this.constructor \x3d child; } ctor.prototype \x3d parent.prototype; child.prototype \x3d new ctor(); child.__super__ \x3d parent.prototype; return child; }"},bind:function(){return"function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"},indexOf:function(){return"[].indexOf || function(item) { for (var i \x3d 0, l \x3d this.length; i \x3c l; i++) { if (i in this \x26\x26 this[i] \x3d\x3d\x3d item) return i; } return -1; }"},
+modulo:function(){return"function(a, b) { return (+a % (b \x3d +b) + b) % b; }"},hasProp:function(){return"{}.hasOwnProperty"},slice:function(){return"[].slice"}};H=1;O=2;h=3;k=4;K=5;q=6;ba=" ";U=/^[+-]?\d+$/;za=function(a,b){var c,d;d=b.scope.root;if(a in d.utilities)return d.utilities[a];c=d.freeVariable(a);d.assign(c,ka[a](b));return d.utilities[a]=c};Pa=function(a,b){a=a.replace(/\n/g,"$\x26"+b);return a.replace(/\s+$/,"")};Ja=function(a){return a instanceof w&&"arguments"===a.value};Ta=function(a){return a instanceof
+ga||a instanceof l&&a.bound||a instanceof ia};sa=function(a){return a.isComplex()||("function"===typeof a.isAssignable?a.isAssignable():void 0)};Na=function(a,b,c){if(a=b[c].unfoldSoak(a))return b[c]=a.body,a.body=new M(b),a}}).call(this);return f}();t["./sourcemap"]=function(){var f={};(function(){var t;t=function(){function f(f){this.line=f;this.columns=[]}f.prototype.add=function(f,a,c){var t;t=a[0];a=a[1];null==c&&(c={});if(!this.columns[f]||!c.noReplace)return this.columns[f]={line:this.line,
+column:f,sourceLine:t,sourceColumn:a}};f.prototype.sourceLocation=function(f){for(var a;!((a=this.columns[f])||0>=f);)f--;return a&&[a.sourceLine,a.sourceColumn]};return f}();f=function(){function f(){this.lines=[]}f.prototype.add=function(f,a,c){var D,d;null==c&&(c={});d=a[0];a=a[1];return((D=this.lines)[d]||(D[d]=new t(d))).add(a,f,c)};f.prototype.sourceLocation=function(f){var a,c;a=f[0];for(f=f[1];!((c=this.lines[a])||0>=a);)a--;return c&&c.sourceLocation(f)};f.prototype.generate=function(f,a){var c,
+t,d,v,l,u,D,x,z,n,G,L,I;null==f&&(f={});null==a&&(a=null);l=u=v=I=0;n=!1;c="";G=this.lines;d=t=0;for(D=G.length;tf?1:0);c||!a;)f=c&31,(c>>=5)&&(f|=32),a+=this.encodeBase64(f);return a};f.prototype.encodeBase64=function(f){var a;if(!(a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[f]))throw Error("Cannot Base64 encode value: "+f);return a};return f}()}).call(this);return f}();t["./coffee-script"]=function(){var f={};(function(){var pa,wa,D,a,c,Ca,d,v,l,u,F,x,
+z,n,G,L,I,w,E={}.hasOwnProperty;v=t("fs");w=t("vm");G=t("path");pa=t("./lexer").Lexer;n=t("./parser").parser;u=t("./helpers");wa=t("./sourcemap");f.VERSION="1.12.0";f.FILE_EXTENSIONS=[".coffee",".litcoffee",".coffee.md"];f.helpers=u;D=function(a){switch(!1){case "function"!==typeof Buffer:return(new Buffer(a)).toString("base64");case "function"!==typeof btoa:return btoa(encodeURIComponent(a).replace(/%([0-9A-F]{2})/g,function(a,c){return String.fromCharCode("0x"+c)}));default:throw Error("Unable to base64 encode inline sourcemap.");
+}};Ca=function(a){return function(c,d){null==d&&(d={});try{return a.call(this,c,d)}catch(q){if("string"!==typeof c)throw q;throw u.updateSyntaxError(q,c,d.filename);}}};f.compile=a=Ca(function(a,c){var d,f,g,h,m,l,t,w,v,x,G,E;g=u.extend;c=g({},c);(g=c.sourceMap||c.inlineMap)&&(v=new wa);f=z.tokenize(a,c);h=c;w=[];m=0;for(l=f.length;mLiterals: Functions, Objects and Arrays
Lexical Scoping and Variable Safety
If, Else, Unless, and Conditional Assignment
- Splats...
+ Splats…
Loops and Comprehensions
Array Slicing and Splicing
Everything is an Expression
@@ -41,6 +41,7 @@
Switch and Try/Catch
Chained Comparisons
String Interpolation, Block Strings, and Block Comments
+ Tagged Template Literals
Block Regular Expressions
Modules
Cake, and Cakefiles
@@ -76,18 +77,18 @@
Annotated Source
@@ -103,17 +104,29 @@
- The golden rule of CoffeeScript is: "It's just JavaScript" . The code
+ 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 and pretty-printed, will work in every JavaScript runtime, and tends
- to run as fast or faster than the equivalent handwritten JavaScript.
+ 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.11.1
+ 1.12.0
npm install -g coffee-script
@@ -197,7 +210,7 @@
}
return results;
})();
- run: cubes
+;alert(cubes);">run: cubes
@@ -256,7 +269,7 @@
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", above).
+ browser (see “Try CoffeeScript”, above).
@@ -276,7 +289,7 @@
npm install --save coffee-script
- If you'd prefer to install the latest master version of CoffeeScript, you
+ If you’d prefer to install the latest master version of CoffeeScript, you
can clone the CoffeeScript
source repository
from GitHub, or download
@@ -288,7 +301,7 @@
npm install -g jashkenas/coffeescript
- Or, if you want to install to /usr/local
, and don't want to use
+ Or, if you want to install to /usr/local
, and don’t want to use
npm to manage it, open the coffee-script
directory and run:
@@ -437,7 +450,7 @@
--no-header
- Suppress the "Generated by CoffeeScript" header.
+ Suppress the “Generated by CoffeeScript” header.
@@ -481,10 +494,10 @@
Besides being used as an ordinary programming language, CoffeeScript may
- also be written in "literate" mode. If you name your file with a
- .litcoffee
extension, you can write it as a Markdown document —
+ also be written in “literate” mode. If you name your file with a
+ .litcoffee
extension, you can write it as a Markdown document —
a document that also happens to be executable CoffeeScript code. The compiler
- will treat any indented blocks (Markdown's way of indicating source code)
+ will treat any indented blocks (Markdown’s way of indicating source code)
as code, and ignore the rest as comments.
@@ -497,7 +510,7 @@
- I'm fairly excited about this direction for the language, and am looking
+ I’m fairly excited about this direction for the language, and am looking
forward to writing (and more importantly, reading) more programs in this style.
More information about Literate CoffeeScript, including an
example program ,
@@ -522,12 +535,12 @@
Many of the examples can be run (where it makes sense) by pressing the run
- button on the right, and can be loaded into the "Try CoffeeScript"
+ button on the right, and can be loaded into the “Try CoffeeScript”
console by pressing the load button on the left.
First, the basics: CoffeeScript uses significant whitespace to delimit blocks of code.
- You don't need to use semicolons ;
to terminate expressions,
+ You don’t need to use semicolons ;
to terminate expressions,
ending the line will do just as well (although semicolons can still
be used to fit multiple expressions onto a single line).
Instead of using curly braces
@@ -538,7 +551,7 @@
- You don't need to use parentheses to invoke a function if you're passing
+ You don’t need to use parentheses to invoke a function if you’re passing
arguments. The implicit call wraps forward to the end of the line or block expression.
console.log sys.inspect object
→ console.log(sys.inspect(object));
@@ -561,7 +574,7 @@
cube = function (x ) {
return square(x) * x;
};
- load
load
run: cube(5)
Functions may also have default values for arguments, which will be used
if the incoming argument is missing (null
or undefined
).
@@ -585,15 +598,15 @@
}
return "Filling the " + container + " with " + liquid + "..." ;
};
- load
load
run: fill("cup")
+;alert(fill("cup"));">run: fill("cup")
@@ -641,32 +654,32 @@
age : 9
}
};
- load
load
run: song.join(" ... ")
+;alert(song.join(" … "));">run: song.join(" … ")
- In JavaScript, you can't use reserved words, like class
, as properties
+ In JavaScript, you can’t use reserved words, like class
, as properties
of an object, without quoting them as strings. CoffeeScript notices reserved words
- used as keys in objects and quotes them for you, so you don't have to worry
+ used as keys in objects and quotes them for you, so you don’t have to worry
about it (say, when using jQuery).
$('.account').attr class: 'active'
@@ -678,12 +691,37 @@
log(object["class" ]);
load
+
+ CoffeeScript has a shortcut for creating objects when you want the key
+ to be set with a variable of the same name.
+
+ name = "Michelangelo"
+mask = "orange"
+weapon = "nunchuks"
+turtle = {name, mask, weapon}
+output = "#{turtle.name} wears an #{turtle.mask} mask. Watch out for his #{turtle.weapon} !"
+
var mask, name, output, turtle, weapon;
+
+name = "Michelangelo" ;
+
+mask = "orange" ;
+
+weapon = "nunchuks" ;
+
+turtle = {
+ name : name,
+ mask : mask,
+ weapon : weapon
+};
+
+output = turtle.name + " wears an " + turtle.mask + " mask. Watch out for his " + turtle.weapon + "!" ;
+
load
The CoffeeScript compiler takes care to make sure that all of your variables
- are properly declared within lexical scope — you never need to write
+ are properly declared within lexical scope — you never need to write
var
yourself.
outer = 1
@@ -702,7 +740,7 @@
};
inner = changeNumbers();
-
load
load
run: inner
Notice how all of the variable declarations have been pushed up to
the top of the closest scope, the first time they appear.
- outer is not redeclared within the inner function, because it's
+ outer is not redeclared within the inner function, because it’s
already in scope; inner within the function, on the other hand,
should not be able to change the value of the external variable of the same name, and
therefore has a declaration of its own.
- This behavior is effectively identical to Ruby's scope for local variables.
- Because you don't have direct access to the var
keyword,
- it's impossible to shadow an outer variable on purpose, you may only refer
- to it. So be careful that you're not reusing the name of an external
- variable accidentally, if you're writing a deeply nested function.
+ This behavior is effectively identical to Ruby’s scope for local variables.
+ Because you don’t have direct access to the var
keyword,
+ it’s impossible to shadow an outer variable on purpose, you may only refer
+ to it. So be careful that you’re not reusing the name of an external
+ variable accidentally, if you’re writing a deeply nested function.
Although suppressed within this documentation for clarity, all
CoffeeScript output is wrapped in an anonymous function:
- (function(){ ... })();
This safety wrapper, combined with the
+ (function(){ … })();
This safety wrapper, combined with the
automatic generation of the var
keyword, make it exceedingly difficult
to pollute the global namespace by accident.
- If you'd like to create top-level variables for other scripts to use,
+ If you’d like to create top-level variables for other scripts to use,
attach them as properties on window ; attach them as properties on the
exports object in CommonJS; or use an export
statement . If you’re targeting both CommonJS and the browser, the
@@ -750,13 +788,13 @@
If/else statements can be written without the use of parentheses and
curly brackets. As with functions and other block expressions,
- multi-line conditionals are delimited by indentation. There's also a handy
+ multi-line conditionals are delimited by indentation. There’s also a handy
postfix form, with the if
or unless
at the end.
CoffeeScript can compile if statements into JavaScript expressions,
using the ternary operator when possible, and closure wrapping otherwise. There
- is no explicit ternary statement in CoffeeScript — you simply use
+ is no explicit ternary statement in CoffeeScript — you simply use
a regular if statement on a single line.
mood = greatlyImproved if singing
@@ -782,11 +820,11 @@
}
date = friday ? sue : jill;
-
load
+load
-
+
The JavaScript arguments object is a useful way to work with
functions that accept variable numbers of arguments. CoffeeScript provides
splats ...
, both for function definition as well as invocation,
@@ -839,10 +877,10 @@
alert("Silver: " + silver);
alert("The Field: " + rest);
- load
load
return rest = others;
};
-contenders = ["Michael Phelps", "Liu Xiang", "Yao Ming", "Allyson Felix", "Shawn Johnson", "Roman Sebrle", "Guo Jingjing", "Tyson Gay", "Asafa Powell", "Usain Bolt"];
+contenders = ["Michael Phelps", "Liu Xiang", "Yao Ming", "Allyson Felix", "Shawn Johnson", "Roman Sebrle", "Guo Jingjing", "Tyson Gay", "Asafa Powell", "Usain Bolt"];
awardMedals.apply(null, contenders);
-alert("Gold: " + gold);
+alert("Gold: " + gold);
-alert("Silver: " + silver);
+alert("Silver: " + silver);
-alert("The Field: " + rest);
-;'>run
+alert("The Field: " + rest);
+;">run
- Most of the loops you'll write in CoffeeScript will be comprehensions
+ Most of the loops you’ll write in CoffeeScript will be comprehensions
over arrays, objects, and ranges. Comprehensions replace (and compile into)
for loops, with optional guard clauses and the value of the current array index.
Unlike for loops, array comprehensions are expressions, and can be returned
@@ -905,7 +943,7 @@
eat(food);
}
}
- load
+load
Comprehensions should be able to handle most places where you otherwise
would use a loop, each /forEach , map , or select /filter , for example:
@@ -925,7 +963,7 @@
}
return results;
})();
- load
load
run: countdown
Note how because we are assigning the value of the comprehensions to a
variable in the example above, CoffeeScript is collecting the result of
each iteration into an array. Sometimes functions end with loops that are
- intended to run only for their side-effects. Be careful that you're not
+ intended to run only for their side-effects. Be careful that you’re not
accidentally returning the results of the comprehension in these cases,
- by adding a meaningful return value — like true
— or null
,
+ by adding a meaningful return value — like true
— or null
,
to the bottom of your function.
@@ -951,7 +989,7 @@
evens = (x for x in [0..10] by 2)
- If you don't need the current iteration value you may omit it:
+ If you don’t need the current iteration value you may omit it:
browser.closeCurrentTab() for [0...count]
@@ -980,7 +1018,7 @@
}
return results;
})();
- load
load
run: ages.join(", ")
+;alert(ages.join(", "));">run: ages.join(", ")
If you would like to iterate over just the keys that are defined on the
object itself, by adding a hasOwnProperty
check to avoid properties that may be inherited from the prototype, use
for own key, value of object
+
+ To iterate a generator function, use from
.
+ See Generator Functions .
The only low-level loop that CoffeeScript provides is the while loop. The
main difference from JavaScript is that the while loop can be used
@@ -1041,7 +1082,7 @@
}
return results;
})();
- load
load
run: lyrics.join("\n")
+;alert(lyrics.join("\n"));">run: lyrics.join("\n")
For readability, the until keyword is equivalent to while not
,
and the loop keyword is equivalent to while true
.
- When using a JavaScript loop to generate functions, it's common to insert
+ When using a JavaScript loop to generate functions, it’s common to insert
a closure wrapper in order to ensure that loop variables are closed over,
- and all the generated functions don't just share the final values. CoffeeScript
+ and all the generated functions don’t just share the final values. CoffeeScript
provides the do
keyword, which immediately invokes a passed function,
forwarding any arguments.
@@ -1089,7 +1130,7 @@
filename = list[i];
fn(filename);
}
- load
+load
@@ -1120,7 +1161,7 @@
end = numbers.slice(-2 );
copy = numbers.slice(0 );
- load
load
run: middle
The same syntax can be used with assignment to replace a segment of an array
with new values, splicing it.
@@ -1144,19 +1185,19 @@
numbers = [0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ];
[].splice.apply(numbers, [3 , 4 ].concat(ref = [-3 , -4 , -5 , -6 ])), ref;
- load
load
run: numbers
- Note that JavaScript strings are immutable, and can't be spliced.
+ Note that JavaScript strings are immutable, and can’t be spliced.
- You might have noticed how even though we don't add return statements
+ You might have noticed how even though we don’t add return statements
to CoffeeScript functions, they nonetheless return their final value.
The CoffeeScript compiler tries to make sure that all statements in the
language can be used as expressions. Watch how the return
gets
@@ -1189,41 +1230,41 @@
};
eldest = 24 > 21 ? "Liz" : "Ike" ;
- load
load
21 ? "Liz" : "Ike";
-;alert(eldest);'>run: eldest
+eldest = 24 > 21 ? "Liz" : "Ike";
+;alert(eldest);">run: eldest
- Even though functions will always return their final value, it's both possible
+ Even though functions will always return their final value, it’s both possible
and encouraged to return early from a function body writing out the explicit
- return (return value
), when you know that you're done.
+ return (return value
), when you know that you’re done.
Because variable declarations occur at the top of scope, assignment can
- be used within expressions, even for variables that haven't been seen before:
+ be used within expressions, even for variables that haven’t been seen before:
six = (one = 1 ) + (two = 2 ) + (three = 3 )
var one, six, three, two;
six = (one = 1 ) + (two = 2 ) + (three = 3 );
-
load
load
run: six
Things that would otherwise be statements in JavaScript, when used
as part of an expression in CoffeeScript, are converted into expressions
@@ -1243,7 +1284,7 @@
}
return results;
})()).slice(0 , 10 );
- load
load
run: globals
As well as silly things, like passing a try/catch statement directly
into a function call:
@@ -1274,22 +1315,22 @@
return "And the error is ... " + error;
}
})());
- load
load
run
+;">run
- There are a handful of statements in JavaScript that can't be meaningfully
+ There are a handful of statements in JavaScript that can’t be meaningfully
converted into expressions, namely break
, continue
,
and return
. If you make use of them within a block of code,
- CoffeeScript won't try to perform the conversion.
+ CoffeeScript won’t try to perform the conversion.
@@ -1345,7 +1386,7 @@
modulo(-7 , 5 ) === 3 ;
tabs.selectTabAtIndex(modulo(tabs.currentIndex - count, tabs.length));
- load
+load
All together now:
@@ -1401,16 +1442,16 @@
}
print(inspect("My name is " + this .name));
- load
+load
- It's a little difficult to check for the existence of a variable in
- JavaScript. if (variable) ...
comes close, but fails for zero,
- the empty string, and false. CoffeeScript's existential operator ?
returns true unless
+ It’s a little difficult to check for the existence of a variable in
+ JavaScript. if (variable) …
comes close, but fails for zero,
+ the empty string, and false. CoffeeScript’s existential operator ?
returns true unless
a variable is null or undefined , which makes it analogous
- to Ruby's nil?
+ to Ruby’s nil?
It can also be used for safer conditional assignment than ||=
@@ -1435,9 +1476,9 @@
}
footprints = typeof yeti !== "undefined" && yeti !== null ? yeti : "bear" ;
- load
load
speed = 15;
}
-footprints = typeof yeti !== "undefined" && yeti !== null ? yeti : "bear";
-;alert(footprints);'>run: footprints
+footprints = typeof yeti !== "undefined" && yeti !== null ? yeti : "bear";
+;alert(footprints);">run: footprints
The accessor variant of the existential operator ?.
can be used to soak
up null references in a chain of properties. Use it instead
of the dot accessor .
in cases where the base value may be null
- or undefined . If all of the properties exist then you'll get the expected
+ or undefined . If all of the properties exist then you’ll get the expected
result, if the chain is broken, undefined is returned instead of
the TypeError that would be raised otherwise.
@@ -1461,9 +1502,9 @@
var ref, zip;
zip = typeof lottery.drawWinner === "function" ? (ref = lottery.drawWinner().address) != null ? ref.zipcode : void 0 : void 0 ;
-
load
+load
- Soaking up nulls is similar to Ruby's
+ Soaking up nulls is similar to Ruby’s
andand gem , and to the
safe navigation operator
in Groovy.
@@ -1472,16 +1513,16 @@
- JavaScript's prototypal inheritance has always been a bit of a
+ JavaScript’s prototypal inheritance has always been a bit of a
brain-bender, with a whole family tree of libraries that provide a cleaner
- syntax for classical inheritance on top of JavaScript's prototypes:
+ syntax for classical inheritance on top of JavaScript’s prototypes:
Base2 ,
Prototype.js ,
JS.Class , etc.
The libraries provide syntactic sugar, but the built-in inheritance would
- be completely usable if it weren't for a couple of small exceptions:
- it's awkward to call super (the prototype object's
- implementation of the current function), and it's awkward to correctly
+ be completely usable if it weren’t for a couple of small exceptions:
+ it’s awkward to call super (the prototype object’s
+ implementation of the current function), and it’s awkward to correctly
set the prototype chain.
@@ -1571,7 +1612,7 @@
sam.move();
tom.move();
- load
load
}
Snake.prototype.move = function() {
- alert("Slithering...");
+ alert("Slithering...");
return Snake.__super__.move.call(this, 5);
};
@@ -1612,7 +1653,7 @@
}
Horse.prototype.move = function() {
- alert("Galloping...");
+ alert("Galloping...");
return Horse.__super__.move.call(this, 45);
};
@@ -1620,31 +1661,31 @@
})(Animal);
-sam = new Snake("Sammy the Python");
+sam = new Snake("Sammy the Python");
-tom = new Horse("Tommy the Palomino");
+tom = new Horse("Tommy the Palomino");
sam.move();
tom.move();
-;'>run
+;">run
- If structuring your prototypes classically isn't your cup of tea, CoffeeScript
+ If structuring your prototypes classically isn’t your cup of tea, CoffeeScript
provides a couple of lower-level conveniences. The extends
operator
helps with proper prototype setup, and can be used to create an inheritance
chain between any pair of constructor functions; ::
gives you
- quick access to an object's prototype; and super()
- is converted into a call against the immediate ancestor's method of the same name.
+ quick access to an object’s prototype; and super()
+ is converted into a call against the immediate ancestor’s method of the same name.
String::dasherize = ->
this .replace /_/g , "-"
String .prototype.dasherize = function ( ) {
return this .replace(/_/g , "-" );
};
-
load
load
run: "one_two".dasherize()
+;alert("one_two".dasherize());">run: "one_two".dasherize()
Finally, class definitions are blocks of executable code, which make for interesting
metaprogramming possibilities. Because in the context of a class definition,
@@ -1673,16 +1714,16 @@
theSwitch = 0 ;
ref = [theSwitch, theBait], theBait = ref[0 ], theSwitch = ref[1 ];
- load
load
run: theBait
- But it's also helpful for dealing with functions that return multiple
+ But it’s also helpful for dealing with functions that return multiple
values.
weatherReport = (location) ->
@@ -1697,14 +1738,14 @@
};
ref = weatherReport("Berkeley, CA" ), city = ref[0 ], temp = ref[1 ], forecast = ref[2 ];
-
load
load
run: forecast
+ref = weatherReport("Berkeley, CA"), city = ref[0], temp = ref[1], forecast = ref[2];
+;alert(forecast);">run: forecast
Destructuring assignment can be used with any depth of array and object nesting,
to help pull out deeply nested properties.
@@ -1732,19 +1773,19 @@
};
ref = futurists.poet, name = ref.name, (ref1 = ref.address, street = ref1[0 ], city = ref1[1 ]);
- load
load
run: name + "-" + street
+;alert(name + "-" + street);">run: name + "-" + street
Destructuring assignment can even be combined with splats.
@@ -1757,13 +1798,13 @@
tag = "<impossible>" ;
ref = tag.split("" ), open = ref[0 ], contents = 3 <= ref.length ? slice.call(ref, 1 , i = ref.length - 1 ) : (i = 1 , []), close = ref[i++];
- load
load
";
+tag = "";
-ref = tag.split(""), open = ref[0], contents = 3 <= ref.length ? slice.call(ref, 1, i = ref.length - 1) : (i = 1, []), close = ref[i++];
-;alert(contents.join(""));'>run: contents.join("")
+ref = tag.split(""), open = ref[0], contents = 3 <= ref.length ? slice.call(ref, 1, i = ref.length - 1) : (i = 1, []), close = ref[i++];
+;alert(contents.join(""));">run: contents.join("")
Expansion can be used to retrieve elements from the end of an array without having to assign the rest of its values. It works in function parameter lists as well.
@@ -1776,12 +1817,12 @@
text = "Every literary critic believes he will outwit history and have the last word" ;
ref = text.split(" " ), first = ref[0 ], last = ref[ref.length - 1 ];
- load
load
run: first + " " + last
+ref = text.split(" "), first = ref[0], last = ref[ref.length - 1];
+;alert(first + " " + last);">run: first + " " + last
Destructuring assignment is also useful when combined with class constructors
to assign properties to your instance from an options object passed to the constructor.
@@ -1807,7 +1848,7 @@
name : 'Tim' ,
age : 4
});
- load
+;alert(tim.age + " " + tim.height);">run: tim.age + " " + tim.height
The above example also demonstrates that if properties are missing in the
destructured object or array, you can, just like in JavaScript, provide
@@ -1837,7 +1878,7 @@
In JavaScript, the this
keyword is dynamically scoped to mean the
object that the current function is attached to. If you pass a function as
a callback or attach it to a different object, the original value of this
- will be lost. If you're not familiar with this behavior,
+ will be lost. If you’re not familiar with this behavior,
this Digital Web article
gives a good overview of the quirks.
@@ -1847,7 +1888,7 @@
when using callback-based libraries like Prototype or jQuery, for creating
iterator functions to pass to each
, or event-handler functions
to use with on
. Functions created with the fat arrow are able to access
- properties of the this
where they're defined.
+ properties of the this
where they’re defined.
Account = (customer, cart) ->
@customer = customer
@@ -1866,10 +1907,10 @@
};
})(this ));
};
-
load
+ load
If we had used ->
in the callback above, @customer
would
- have referred to the undefined "customer" property of the DOM element,
+ have referred to the undefined “customer” property of the DOM element,
and trying to call purchase()
on it would have raised an exception.
@@ -1878,10 +1919,11 @@
constructed.
+
CoffeeScript functions also support
- ES6 generator functions
- through the yield
keyword. There's no function*(){}
- nonsense — a generator in CoffeeScript is simply a function that yields.
+ ES2015 generator functions
+ through the yield
keyword. There’s no function*(){}
+ nonsense — a generator in CoffeeScript is simply a function that yields.
perfectSquares = ->
num = 0
@@ -1903,7 +1945,7 @@
};
window .ps || (window .ps = perfectSquares());
-
load
load
run: ps.next().value
yield*
is called yield from
, and yield return
- may be used if you need to force a generator that doesn't yield.
+ may be used if you need to force a generator that doesn’t yield.
+
+
+
+ You can iterate over a generator function using for…from
.
+ fibonacci = ->
+ [previous, current] = [1 , 1 ]
+ loop
+ [previous, current] = [current, previous + current]
+ yield current
+ return
+
+getFibonacciNumbers = (length) ->
+ results = [1 ]
+ for n from fibonacci()
+ results.push n
+ break if results.length is length
+ results
+
var fibonacci, getFibonacciNumbers;
+
+fibonacci = function *( ) {
+ var current, previous, ref, ref1;
+ ref = [1 , 1 ], previous = ref[0 ], current = ref[1 ];
+ while (true ) {
+ ref1 = [current, previous + current], previous = ref1[0 ], current = ref1[1 ];
+ yield current;
+ }
+};
+
+getFibonacciNumbers = function (length ) {
+ var n, ref, results;
+ results = [1 ];
+ ref = fibonacci();
+ for (n of ref) {
+ results.push(n);
+ if (results.length === length) {
+ break ;
+ }
+ }
+ return results;
+};
+
load
run: getFibonacciNumbers(10)
- Hopefully, you'll never need to use it, but if you ever need to intersperse
+ Hopefully, you’ll never need to use it, but if you ever need to intersperse
snippets of JavaScript within your CoffeeScript, you can
use backticks to pass it straight through.
@@ -1936,12 +2042,55 @@
hi = function ( ) {
return [document .title, "Hello JavaScript" ].join(": " );
};
- load
load
run: hi()
+
+ Escape backticks with backslashes: \`
becomes `
.
+
+
+ Escape backslashes before backticks with more backslashes: \\\`
+ becomes \`
.
+
+ markdown = `function ( ) {
+ return \ `In Markdown, write code like \\\`this \\\ `\`;
+} `
+
var markdown;
+
+markdown = function ( ) {
+ return `In Markdown, write code like \`this\`` ;
};
-;alert(hi());'>run: hi()
+load
run: markdown()
+
+ You can also embed blocks of JavaScript using triple backticks. That’s easier
+ than escaping backticks, if you need them inside your JavaScript block.
+
+ ```
+function time ( ) {
+ return `The time is ${new Date ().toLocaleTimeString()} ` ;
+}
+ ```
+
+function time ( ) {
+ return `The time is ${new Date ().toLocaleTimeString()} ` ;
+}
+;
+
+
load
run: time()
@@ -1991,7 +2140,7 @@
default :
go(work);
}
- load
+load
Switch statements can also be used without a control expression, turning them in to a cleaner alternative to if/else chains.
@@ -2022,7 +2171,7 @@
return 'A' ;
}
})();
- load
+load
@@ -2049,14 +2198,14 @@
} finally {
cleanUp();
}
- load
+load
CoffeeScript borrows
chained comparisons
- from Python — making it easy to test if a value falls within a
+ from Python — making it easy to test if a value falls within a
certain range.
cholesterol = 127
@@ -2067,18 +2216,18 @@
cholesterol = 127 ;
healthy = (200 > cholesterol && cholesterol > 60 );
-
load
load
run: healthy
Ruby-style string interpolation is included in CoffeeScript. Double-quoted
- strings allow for interpolated values, using #{ ... }
,
+ strings allow for interpolated values, using #{ … }
,
and single-quoted strings are literal. You may even use interpolation in
object keys.
@@ -2093,14 +2242,14 @@
quote = "A picture is a fact. -- " + author;
sentence = (22 / 7 ) + " is a decent approximation of π" ;
- load
load
run: sentence
+sentence = (22 / 7) + " is a decent approximation of π";
+;alert(sentence);">run: sentence
Multiline strings are allowed in CoffeeScript. Lines are joined by a single space unless they end with a backslash. Indentation is ignored.
@@ -2113,13 +2262,13 @@
var mobyDick;
mobyDick = "Call me Ishmael. Some years ago -- never mind how long precisely -- having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world..." ;
-
load
load
run: mobyDick
+mobyDick = "Call me Ishmael. Some years ago -- never mind how long precisely -- having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world...";
+;alert(mobyDick);">run: mobyDick
Block strings can be used to hold formatted or indentation-sensitive text
- (or, if you just don't feel like escaping quotes and apostrophes). The
+ (or, if you just don’t feel like escaping quotes and apostrophes). The
indentation level that begins the block is maintained throughout, so
you can keep it all aligned with the body of your code.
@@ -2131,15 +2280,15 @@
var html;
html = "<strong>\n cup of coffeescript\n</strong>" ;
-
load
load
\n cup of coffeescript\n";
-;alert(html);'>run: html
+html = "\n cup of coffeescript\n ";
+;alert(html);">run: html
Double-quoted block strings, like other double-quoted strings, allow interpolation.
- Sometimes you'd like to pass a block comment through to the generated
+ Sometimes you’d like to pass a block comment through to the generated
JavaScript. For example, when you need to embed a licensing header at
the top of a file. Block comments, which mirror the syntax for block strings,
are preserved in the generated code.
@@ -2154,14 +2303,72 @@
Released under the MIT License
*/
- load
+load
+
+
+
+
+ CoffeeScript supports
+ ES2015 tagged template literals ,
+ which enable customized string interpolation. If you immediately prefix a string
+ with a function name (no space between the two), CoffeeScript will output this
+ “function plus string” combination as an ES2015 tagged template literal, which will
+ behave accordingly :
+ the function is called, with the parameters being the input text and expression parts
+ that make up the interpolated string. The function can then assemble these parts
+ into an output string, providing custom string interpolation.
+
+
+ Be aware that the CoffeeScript compiler is outputting ES2015 syntax for this feature,
+ so your target JavaScript runtime(s) must support this syntax for your code to work;
+ or you could use tools like Babel or
+ Traceur Compiler to convert
+ this ES2015 syntax into compatible JavaScript.
+
+ upperCaseExpr = (textParts, expressions...) ->
+ textParts.reduce (text, textPart, i) ->
+ text + expressions[i - 1 ].toUpperCase() + textPart
+
+greet = (name, adjective) ->
+ upperCaseExpr"""
+ Hi #{name} . You look #{adjective} !
+ """
+
var greet, upperCaseExpr,
+ slice = [].slice;
+
+upperCaseExpr = function ( ) {
+ var expressions, textParts;
+ textParts = arguments [0 ], expressions = 2 <= arguments .length ? slice.call(arguments , 1 ) : [];
+ return textParts.reduce(function (text, textPart, i ) {
+ return text + expressions[i - 1 ].toUpperCase() + textPart;
+ });
+};
+
+greet = function (name, adjective ) {
+ return upperCaseExpr`Hi ${name} . You look ${adjective} !` ;
+};
+
load
run: greet("greg", "awesome")
- Similar to block strings and comments, CoffeeScript supports block regexes —
+ Similar to block strings and comments, CoffeeScript supports block regexes —
extended regular expressions that ignore internal whitespace and can contain
- comments and interpolation. Modeled after Perl's /x
modifier, CoffeeScript's
+ comments and interpolation. Modeled after Perl’s /x
modifier, CoffeeScript’s
block regexes are delimited by ///
and go a long way towards making complex
regular expressions readable. To quote from the CoffeeScript source:
@@ -2177,7 +2384,7 @@
var OPERATOR;
OPERATOR = /^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?\.|\.{2,3})/ ;
-
load
+load
@@ -2203,7 +2410,7 @@
export { sqrt }
export { sqrt as squareRoot }
-export { Mathematics as default, sqrt as squareRoot }
+export { Mathematics as default , sqrt as squareRoot }
export * from 'underscore'
export { max, min } from 'underscore'
@@ -2272,8 +2479,9 @@
max,
min
} from 'underscore' ;
- load
+load
+
Note that the CoffeeScript compiler does not resolve modules ; writing an
import
or export
statement in CoffeeScript will produce an
import
or export
statement in the resulting output.
@@ -2299,7 +2507,7 @@
CoffeeScript includes a (very) simple build system similar to
Make and
Rake . Naturally,
- it's called Cake, and is used for the tasks that build and test the CoffeeScript
+ it’s called Cake, and is used for the tasks that build and test the CoffeeScript
language itself. Tasks are defined in a file named Cakefile
, and
can be invoked by running cake [task]
from within the directory.
To print a list of all the tasks and options, just type cake
.
@@ -2310,8 +2518,8 @@
in your Cakefile. Define a task with a name, a long description, and the
function to invoke when the task is run. If your task takes a command-line
option, you can define the option with short and long flags, and it will
- be made available in the options
object. Here's a task that uses
- the Node.js API to rebuild CoffeeScript's parser:
+ be made available in the options
object. Here’s a task that uses
+ the Node.js API to rebuild CoffeeScript’s parser:
fs = require 'fs'
@@ -2335,15 +2543,15 @@
dir = options.output || 'lib' ;
return fs.writeFile(dir + "/parser.js" , code);
});
-
load
+ load
- If you need to invoke one task before another — for example, running
+ 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.
+ 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.
@@ -2372,16 +2580,16 @@
- While it's not recommended for serious use, CoffeeScripts may be included
+ 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, 39k when gzipped )
+ (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.
- In fact, the little bit of glue script that runs "Try CoffeeScript" above,
+ 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()
@@ -2389,7 +2597,7 @@
- The usual caveats about CoffeeScript apply — your inline scripts will
+ 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.
@@ -2421,8 +2629,8 @@
CoffeeScript: Accelerated JavaScript Development
- is Trevor Burnham 's thorough
- introduction to the language. By the end of the book, you'll have built
+ is Trevor Burnham ’s thorough
+ introduction to the language. By the end of the book, you’ll have built
a fast-paced multiplayer word game, writing both the client-side and Node.js
portions in CoffeeScript.
@@ -2434,7 +2642,7 @@
CoffeeScript Ristretto
- is a deep dive into CoffeeScript's semantics from simple functions up through
+ is a deep dive into CoffeeScript’s semantics from simple functions up through
closures, higher-order functions, objects, classes, combinators, and decorators.
By Reg Braithwaite .
@@ -2448,7 +2656,7 @@
from Packt, introduces CoffeeScript while
walking through the process of building a demonstration web application.
A CoffeeScript Application Development Coookbook
- with over 90 "recipes" is also available.
+ with over 90 “recipes” is also available.
CoffeeScript in Action
@@ -2477,7 +2685,7 @@
into the equivalent JS.
- If you're looking for less of a time commitment, RailsCasts'
+ If you’re looking for less of a time commitment, RailsCasts’
CoffeeScript Basics
should have you covered, hitting all of the important notes about CoffeeScript
in 11 minutes.
@@ -2496,27 +2704,27 @@
- github 's Hubot ,
+ github ’s Hubot ,
a friendly IRC robot that can perform any number of useful and useless tasks.
- sstephenson 's Pow ,
+ sstephenson ’s Pow ,
a zero-configuration Rack server, with comprehensive annotated source.
- technoweenie 's Coffee-Resque ,
+ technoweenie ’s Coffee-Resque ,
a port of Resque for Node.js.
- assaf 's Zombie.js ,
+ assaf ’s Zombie.js ,
a headless, full-stack, faux-browser testing library for Node.js.
- stephank 's Orona , a remake of
+ stephank ’s Orona , a remake of
the Bolo tank game for modern browsers.
- github 's Atom ,
+ github ’s Atom ,
a hackable text editor built on web technologies.
@@ -2531,13 +2739,13 @@
Use bin/coffee
to test your changes,
bin/cake test
to run the test suite,
bin/cake build
to rebuild the CoffeeScript compiler, and
- bin/cake build:parser
to regenerate the Jison parser if you're
+ bin/cake build:parser
to regenerate the Jison parser if you’re
working on the grammar.
- 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 directory
+ 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 directory
(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.
+ they pass, there’s a good chance you’ve made a successful change.
CoffeeScript Issues
@@ -2545,11 +2753,11 @@
CoffeeScript Google Group
- If you'd like to ask a question, the mailing list is a good place to get help.
+ If you’d like to ask a question, the mailing list is a good place to get help.
The CoffeeScript Wiki
- If you've ever learned a neat CoffeeScript tip or trick, or ran into a gotcha — share it on the wiki.
+ If you’ve ever learned a neat CoffeeScript tip or trick, or ran into a gotcha — share it on the wiki.
The wiki also serves as a directory of handy
text editor extensions ,
web framework plugins ,
@@ -2561,9 +2769,9 @@
JS2Coffee
- Is a very well done reverse JavaScript-to-CoffeeScript compiler. It's
+ Is a very well done reverse JavaScript-to-CoffeeScript compiler. It’s
not going to be perfect (infer what your JavaScript classes are, when
- you need bound functions, and so on...) — but it's a great starting
+ you need bound functions, and so on…) — but it’s a great starting
point for converting simple scripts.
@@ -2593,6 +2801,88 @@
Change Log
+
+
+
+
+
+ CoffeeScript now supports ES2015
+ tagged template literals .
+ Note that using tagged template literals in your code
+ makes you responsible for ensuring that either your runtime supports
+ tagged template literals or that you transpile the output JavaScript
+ further to a version your target runtime(s) support.
+
+
+ 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…from
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 \`
.
+
+
+ CoffeeScript’s shorthand object
+ notation is finally documented.
+
+
+ A note was added to the top of the documentation, explaining which
+ features are output with ES2015+ syntax. All such features are
+ “opt in”: if you refrain from using them, your code will still
+ be compatible with all but the most ancient browsers.
+
+
+ The browser tests now run in the browser again, and are accessible
+ here if you would like
+ to test your browser.
+
+
+ The browser version of the compiler is now minified using the
+ JavaScript
+ version of the Google Closure Compiler , which produces a file
+ half the size that Uglify.js did.
+
+
+ CoffeeScript-only keywords in ES2015 import
s and
+ export
s are now ignored.
+
+
+ The compiler now throws an error on trying to export an anonymous class.
+
+
+ Updated various Node functions in the compiler to make Node 7+
+ deprecation warnings go away.
+
+
+ Bugfixes related to tokens and location data, for better source maps
+ and improved compatibility with downstream tools.
+
+
+ Many improvements to the documentation and its build process, with
+ an eye toward eventually creating separate documentation for
+ CoffeeScript 2.0.0 (coming soon!).
+
+
+
+
- Bugfix for not being able to use the name "arguments" for a prototype
+ Bugfix for not being able to use the name “arguments” for a prototype
property of class.
@@ -2726,7 +3016,7 @@
- CoffeeScript now supports ES6-style destructuring defaults.
+ CoffeeScript now supports ES2015-style destructuring defaults.
(offsetHeight: height) ->
no longer compiles. That
@@ -2830,7 +3120,7 @@
Internal compiler variable names no longer start with underscores. This makes
the generated JavaScript a bit prettier, and also fixes an issue with
- the completely broken and ungodly way that AngularJS "parses" function
+ the completely broken and ungodly way that AngularJS “parses” function
arguments.
@@ -2851,7 +3141,7 @@
- CoffeeScript now supports ES6 generators. A generator is simply a function
+ CoffeeScript now supports ES2015 generators. A generator is simply a function
that yield
s.
@@ -2935,7 +3225,7 @@
- When requiring CoffeeScript files in Node you must now explicitly register the compiler. This can be done with require 'coffee-script/register'
or CoffeeScript.register()
. Also for configuration such as Mocha's, use coffee-script/register .
+ When requiring CoffeeScript files in Node you must now explicitly register the compiler. This can be done with require 'coffee-script/register'
or CoffeeScript.register()
. Also for configuration such as Mocha’s, use coffee-script/register .
Improved error messages, source maps and stack traces. Source maps now use the updated //#
syntax.
@@ -2953,7 +3243,7 @@
$('body' ).click(function (e ) {
return $('.box' ).fadeIn('fast' ).addClass('.active' );
}).css('background' , 'white' );
-
load
+load
Added **
, //
and %%
operators and ...
expansion in parameter lists and destructuring expressions.
@@ -2965,7 +3255,7 @@
Closing brackets can now be indented and therefore no longer cause unexpected error.
- Several breaking compilation fixes. Non-callable literals (strings, numbers etc.) don't compile in a call now and multiple postfix conditionals compile properly. Postfix conditionals and loops always bind object literals. Conditional assignment compiles properly in subexpressions. super
is disallowed outside of methods and works correctly inside for
loops.
+ Several breaking compilation fixes. Non-callable literals (strings, numbers etc.) don’t compile in a call now and multiple postfix conditionals compile properly. Postfix conditionals and loops always bind object literals. Conditional assignment compiles properly in subexpressions. super
is disallowed outside of methods and works correctly inside for
loops.
Formatting of compiled block comments has been improved.
@@ -3020,7 +3310,7 @@
running CoffeeScript directly via the coffee
command, and
for automatic line-mapping when running CoffeeScript directly in the
browser. Also, to provide better error messages for semantic errors
- thrown by the compiler —
+ thrown by the compiler —
with colors, even .
@@ -3053,8 +3343,8 @@
Fixed a 1.5.0 regression with multiple implicit calls against an
indented implicit object. Combinations of implicit function calls
- and implicit objects should generally be parsed better now —
- but it still isn't good style to nest them too heavily.
+ and implicit objects should generally be parsed better now —
+ but it still isn’t good style to nest them too heavily.
.coffee.md
is now also supported as a Literate CoffeeScript
@@ -3105,7 +3395,7 @@
- The CoffeeScript compiler now strips Microsoft's UTF-8 BOM if it
+ The CoffeeScript compiler now strips Microsoft’s UTF-8 BOM if it
exists, allowing you to compile BOM-borked source files.
@@ -3127,13 +3417,13 @@
- Due to the new semantics of JavaScript's strict mode, CoffeeScript no
+ Due to the new semantics of JavaScript’s strict mode, CoffeeScript no
longer guarantees that constructor functions have names in all runtimes.
See #2052
for discussion.
- Inside of a nested function inside of an instance method, it's now possible
+ Inside of a nested function inside of an instance method, it’s now possible
to call super
more reliably (walks recursively up).
@@ -3157,7 +3447,7 @@
- CoffeeScript now enforces all of JavaScript's Strict Mode early syntax
+ CoffeeScript now enforces all of JavaScript’s Strict Mode early syntax
errors at compile time. This includes old-style octal literals,
duplicate property names in object literals, duplicate parameters in
a function definition, deleting naked variables, setting the value of
@@ -3167,7 +3457,7 @@
The REPL now has a handy new multi-line mode for entering large
- blocks of code. It's useful when copy-and-pasting examples into the
+ blocks of code. It’s useful when copy-and-pasting examples into the
REPL. Enter multi-line mode with Ctrl-V
. You may also now
pipe input directly into the REPL.
@@ -3181,7 +3471,7 @@
A tweak to the semantics of do
, which can now be used to
- more easily simulate a namespace: do (x = 1, y = 2) -> ...
+ more easily simulate a namespace: do (x = 1, y = 2) -> …
Loop indices are now mutable within a loop iteration, and immutable
@@ -3193,7 +3483,7 @@
Additional tweaks and improvements to coffee --watch
under
- Node's "new" file watching API. Watch will now beep by default
+ Node’s “new” file watching API. Watch will now beep by default
if you introduce a syntax error into a watched script. We also now
ignore hidden directories by default when watching recursively.
@@ -3210,7 +3500,7 @@
Multiple improvements to coffee --watch
and --join
.
You may now use both together, as well as add and remove
- files and directories within a --watch
'd folder.
+ files and directories within a --watch
’d folder.
The throw
statement can now be used as part of an expression.
@@ -3236,7 +3526,7 @@
- Ahh, whitespace. CoffeeScript's compiled JS now tries to space things
+ Ahh, whitespace. CoffeeScript’s compiled JS now tries to space things
out and keep it readable, as you can see in the examples on this page.
@@ -3255,7 +3545,7 @@
folder to your path: require('coffee-script/lexer')
- There's a new "link" feature in Try CoffeeScript on this webpage. Use
+ There’s a new “link” feature in Try CoffeeScript on this webpage. Use
it to get a shareable permalink for your example script.
@@ -3306,10 +3596,10 @@
When running via the coffee
executable, process.argv
and
friends now report coffee
instead of node
.
Better compatibility with Node.js 0.4.x module lookup changes.
- The output in the REPL is now colorized, like Node's is.
+ The output in the REPL is now colorized, like Node’s is.
Giving your concatenated CoffeeScripts a name when using --join
is now mandatory.
Fix for lexing compound division /=
as a regex accidentally.
- All text/coffeescript
tags should now execute in the order they're included.
+ All text/coffeescript
tags should now execute in the order they’re included.
Fixed an issue with extended subclasses using external constructor functions.
Fixed an edge-case infinite loop in addImplicitParentheses
.
Fixed exponential slowdown with long chains of function calls.
@@ -3326,7 +3616,7 @@
Fixed a lexer bug with Unicode identifiers. Updated REPL for compatibility
with Node.js 0.3.7. Fixed requiring relative paths in the REPL. Trailing
return
and return undefined
are now optimized away.
- Stopped requiring the core Node.js "util"
module for
+ Stopped requiring the core Node.js util
module for
back-compatibility with Node.js 0.2.5. Fixed a case where a
conditional return
would cause fallthrough in a switch
statement. Optimized empty objects in destructuring assignment.
@@ -3372,14 +3662,14 @@
0.9.5 should be considered the first release candidate for CoffeeScript 1.0.
There have been a large number of internal changes since the previous release,
- many contributed from satyr 's Coco
+ many contributed from satyr ’s Coco
dialect of CoffeeScript. Heregexes (extended regexes) were added. Functions
can now have default arguments. Class bodies are now executable code.
Improved syntax errors for invalid CoffeeScript. undefined
now
works like null
, and cannot be assigned a new value.
There was a precedence change with respect to single-line comprehensions:
result = i for i in list
used to parse as result = (i for i in list)
- by default ... it now parses as (result = i) for i in list
.
+ by default … it now parses as (result = i) for i in list
.
@@ -3402,7 +3692,7 @@
— September 16, 2010
CoffeeScript switch
statements now compile into JS switch
- statements — they previously compiled into if/else
chains
+ statements — they previously compiled into if/else
chains
for JavaScript 1.3 compatibility.
Soaking a function invocation is now supported. Users of the RubyMine
editor should now be able to use --watch
mode.
@@ -3421,7 +3711,7 @@
Added a custom jsl.conf
file for our preferred JavaScriptLint setup.
Sped up Jison grammar compilation time by flattening rules for operations.
Block comments can now be used with JavaScript-minifier-friendly syntax.
- Added JavaScript's compound assignment bitwise operators. Bugfixes to
+ Added JavaScript’s compound assignment bitwise operators. Bugfixes to
implicit object literals with leading number and string keys, as the subject
of implicit calls, and as part of compound assignment.
@@ -3434,7 +3724,7 @@
Bugfix release for 0.9.1 . Greatly improves the handling of mixed
implicit objects, implicit function calls, and implicit indentation.
- String and regex interpolation is now strictly #{ ... }
(Ruby style).
+ String and regex interpolation is now strictly #{ … }
(Ruby style).
The compiler now takes a --require
flag, which specifies scripts
to run before compilation.
@@ -3446,24 +3736,24 @@
— August 4, 2010
The CoffeeScript 0.9 series is considered to be a release candidate
- for 1.0 ; let's give her a shakedown cruise. 0.9.0 introduces a massive
+ for 1.0 ; let’s give her a shakedown cruise. 0.9.0 introduces a massive
backwards-incompatible change: Assignment now uses =
, and object
literals use :
, as in JavaScript. This allows us to have implicit
object literals, and YAML-style object definitions. Half assignments are
removed, in favor of +=
, or=
, and friends.
Interpolation now uses a hash mark #
instead of the dollar sign
- $
— because dollar signs may be part of a valid JS identifier.
+ $
— because dollar signs may be part of a valid JS identifier.
Downwards range comprehensions are now safe again, and are optimized to
straight for loops when created with integer endpoints.
A fast, unguarded form of object comprehension was added:
for all key, value of object
. Mentioning the super
keyword
with no arguments now forwards all arguments passed to the function,
as in Ruby. If you extend class B
from parent class A
, if
- A
has an extended
method defined, it will be called, passing in B
—
+ A
has an extended
method defined, it will be called, passing in B
—
this enables static inheritance, among other things. Cleaner output for
functions bound with the fat arrow. @variables
can now be used
in parameter lists, with the parameter being automatically set as a property
- on the object — useful in constructors and setter functions.
+ on the object — useful in constructors and setter functions.
Constructor functions can now take splats.
@@ -3484,7 +3774,7 @@
— July 11, 2010
Block-style comments are now passed through and printed as JavaScript block
- comments -- making them useful for licenses and copyright headers. Better
+ comments – making them useful for licenses and copyright headers. Better
support for running coffee scripts standalone via hashbangs.
Improved syntax errors for tokens that are not in the grammar.
@@ -3498,7 +3788,7 @@
Official CoffeeScript variable style is now camelCase, as in JavaScript.
Reserved words are now allowed as object keys, and will be quoted for you.
Range comprehensions now generate cleaner code, but you have to specify by -1
- if you'd like to iterate downward. Reporting of syntax errors is greatly
+ if you’d like to iterate downward. Reporting of syntax errors is greatly
improved from the previous release. Running coffee
with no arguments
now launches the REPL, with Readline support. The <-
bind operator
has been removed from CoffeeScript. The loop
keyword was added,
@@ -3519,7 +3809,7 @@
The coffee
command will now preserve directory structure when
compiling a directory full of scripts. Fixed two omissions that were preventing
the CoffeeScript compiler from running live within Internet Explorer.
- There's now a syntax for block comments, similar in spirit to CoffeeScript's heredocs.
+ There’s now a syntax for block comments, similar in spirit to CoffeeScript’s heredocs.
ECMA Harmony DRY-style pattern matching is now supported, where the name
of the property is the same as the name of the value: {name, length}: func
.
Pattern matching is now allowed within comprehension variables. unless
@@ -3575,7 +3865,7 @@
Stan Angeloff .
Since --run
has been the default since 0.5.3 , updating
--stdio
and --eval
to run by default, pass --compile
- as well if you'd like to print the result.
+ as well if you’d like to print the result.
@@ -3610,7 +3900,7 @@
— February 25, 2010
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
+ 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.
@@ -3647,7 +3937,7 @@
@property
is now a shorthand for this.property
.
Switched the default JavaScript engine from Narwhal to Node.js. Pass
- the --narwhal
flag if you'd like to continue using it.
+ the --narwhal
flag if you’d like to continue using it.
@@ -3688,7 +3978,7 @@
0.2.5
— January 13, 2010
- The conditions in switch statements can now take multiple values at once —
+ The conditions in switch statements can now take multiple values at once —
If any of them are true, the case will run. Added the long arrow ==>
,
which defines and immediately binds a function to this
. While loops can
now be used as expressions, in the same way that comprehensions can. Splats
@@ -3728,17 +4018,17 @@
Added ::
as a shorthand for saying .prototype.
- The "splat" symbol has been changed from a prefix asterisk *
, to
+ The “splat” symbol has been changed from a prefix asterisk *
, to
a postfix ellipsis ...
- Added JavaScript's in
operator,
+ Added JavaScript’s in
operator,
empty return
statements, and empty while
loops.
Constructor functions that start with capital letters now include a
safety check to make sure that the new instance of the object is returned.
The extends
keyword now functions identically to goog.inherits
- in Google's Closure Library.
+ in Google’s Closure Library.
@@ -3760,7 +4050,7 @@
conversion. Splats. Splice literals. Object comprehensions. Blocks.
The existential operator. Many thanks to all the folks who posted issues,
with special thanks to
- Liam O'Connor-Davis for whitespace
+ Liam O’Connor-Davis for whitespace
and expression help.
diff --git a/docs/v1/test.html b/docs/v1/test.html
new file mode 100644
index 0000000000..9d5e53a4bc
--- /dev/null
+++ b/docs/v1/test.html
@@ -0,0 +1,9865 @@
+
+
+
+
+ CoffeeScript Test Suite
+
+
+
+
+
+
+CoffeeScript Test Suite
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 4efd27ed28dae374709444bdd2984d95df14d0b4 Mon Sep 17 00:00:00 2001
From: Geoffrey Booth
Date: Wed, 30 Nov 2016 22:38:14 -0800
Subject: [PATCH 08/17] Update annotated source for 1.12.0
---
docs/v1/annotated-source/coffee-script.html | 150 +++--
docs/v1/annotated-source/grammar.html | 23 +-
docs/v1/annotated-source/lexer.html | 352 ++++++-----
docs/v1/annotated-source/nodes.html | 664 ++++++++++++--------
docs/v1/annotated-source/repl.html | 6 +-
docs/v1/annotated-source/rewriter.html | 91 ++-
6 files changed, 753 insertions(+), 533 deletions(-)
diff --git a/docs/v1/annotated-source/coffee-script.html b/docs/v1/annotated-source/coffee-script.html
index fdaed58382..8dc0b698b8 100644
--- a/docs/v1/annotated-source/coffee-script.html
+++ b/docs/v1/annotated-source/coffee-script.html
@@ -144,7 +144,7 @@ coffee-script.coffee
- exports.VERSION = '1.11.1'
+ exports.VERSION = '1.12.0'
exports.FILE_EXTENSIONS = ['.coffee' , '.litcoffee' , '.coffee.md' ]
@@ -179,10 +179,7 @@ coffee-script.coffee
base64encode = (src) -> switch
when typeof Buffer is 'function'
new Buffer(src).toString('base64' )
- when typeof btoa is 'function'
- btoa(src)
- else
- throw new Error('Unable to base64 encode inline sourcemap.' )
+ when typeof btoa is 'function'
@@ -193,6 +190,27 @@ coffee-script.coffee
+ The contents of a
From 2ca0f44cc8405fd9813b9c7bdbea16d665d10587 Mon Sep 17 00:00:00 2001
From: Geoffrey Booth
Date: Sat, 3 Dec 2016 23:14:08 -0800
Subject: [PATCH 16/17] Update 1.12.0 release date
---
docs/v1/index.html | 2 +-
documentation/index.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/v1/index.html b/docs/v1/index.html
index 605453e1e8..ab1fc6feeb 100644
--- a/docs/v1/index.html
+++ b/docs/v1/index.html
@@ -2812,7 +2812,7 @@
diff --git a/documentation/index.html b/documentation/index.html
index c71c60e1a8..e8aeefb99c 100644
--- a/documentation/index.html
+++ b/documentation/index.html
@@ -1338,7 +1338,7 @@
- <%= releaseHeader('2016-12-01', '1.12.0', '1.11.1') %>
+ <%= releaseHeader('2016-12-04', '1.12.0', '1.11.1') %>
CoffeeScript now supports ES2015
From b7dbee2402233b4c55bb8b157b91ca13360df80e Mon Sep 17 00:00:00 2001
From: Geoffrey Booth
Date: Sat, 3 Dec 2016 23:49:44 -0800
Subject: [PATCH 17/17] Update broken links
---
docs/v1/annotated-source/grammar.html | 2 +-
docs/v1/annotated-source/nodes.html | 2 +-
docs/v1/index.html | 2 +-
documentation/index.html | 2 +-
src/grammar.coffee | 2 +-
src/nodes.coffee | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/docs/v1/annotated-source/grammar.html b/docs/v1/annotated-source/grammar.html
index c8bf073682..5e77ca8347 100644
--- a/docs/v1/annotated-source/grammar.html
+++ b/docs/v1/annotated-source/grammar.html
@@ -1530,7 +1530,7 @@ Grammatical Rules
- The existential operator .
+ The existential operator .
diff --git a/docs/v1/annotated-source/nodes.html b/docs/v1/annotated-source/nodes.html
index 21a71396e0..8d1c78bcc9 100644
--- a/docs/v1/annotated-source/nodes.html
+++ b/docs/v1/annotated-source/nodes.html
@@ -1740,7 +1740,7 @@ Extends
Node to extend an object’s prototype with an ancestor object.
After goog.inherits
from the
-Closure Library .
+Closure Library .
diff --git a/docs/v1/index.html b/docs/v1/index.html
index ab1fc6feeb..47820e4a70 100644
--- a/docs/v1/index.html
+++ b/docs/v1/index.html
@@ -4104,7 +4104,7 @@
inheritance, with the re-addition of the extends
keyword.
Added experimental Narwhal
support (as a Tusk package), contributed by
- Tom Robinson , including
+ Tom Robinson , including
bin/cs as a CoffeeScript REPL and interpreter.
New --no-wrap
option to suppress the safety function
wrapper.
diff --git a/documentation/index.html b/documentation/index.html
index e8aeefb99c..13b9bc37e2 100644
--- a/documentation/index.html
+++ b/documentation/index.html
@@ -2388,7 +2388,7 @@
inheritance, with the re-addition of the extends
keyword.
Added experimental Narwhal
support (as a Tusk package), contributed by
- Tom Robinson , including
+ Tom Robinson , including
bin/cs as a CoffeeScript REPL and interpreter.
New --no-wrap
option to suppress the safety function
wrapper.
diff --git a/src/grammar.coffee b/src/grammar.coffee
index 97452ed221..9bdbdc37cb 100644
--- a/src/grammar.coffee
+++ b/src/grammar.coffee
@@ -653,7 +653,7 @@ grammar =
o 'SimpleAssignable --', -> new Op '--', $1, null, true
o 'SimpleAssignable ++', -> new Op '++', $1, null, true
- # [The existential operator](http://jashkenas.github.com/coffee-script/#existence).
+ # [The existential operator](http://coffeescript.org/#existential-operator).
o 'Expression ?', -> new Existence $1
o 'Expression + Expression', -> new Op '+' , $1, $3
diff --git a/src/nodes.coffee b/src/nodes.coffee
index ec90350b07..398c401b6b 100644
--- a/src/nodes.coffee
+++ b/src/nodes.coffee
@@ -803,7 +803,7 @@ exports.TaggedTemplateCall = class TaggedTemplateCall extends Call
# Node to extend an object's prototype with an ancestor object.
# After `goog.inherits` from the
-# [Closure Library](http://closure-library.googlecode.com/svn/docs/closureGoogBase.js.html).
+# [Closure Library](https://github.com/google/closure-library/blob/master/closure/goog/base.js).
exports.Extends = class Extends extends Base
constructor: (@child, @parent) ->